mshtml: Implement IHTMLWindow2::get_frames and add 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  *    IHTMLDocumentCompatibleInfo interface
3690  */
3691 [
3692     odl,
3693     oleautomation,
3694     dual,
3695     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
3696 ]
3697 interface IHTMLDocumentCompatibleInfo : IDispatch
3698 {
3699     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
3700     HRESULT userAgent([retval, out] BSTR *p);
3701
3702     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
3703     HRESULT version([retval, out] BSTR *p);
3704 }
3705
3706 /*****************************************************************************
3707  *    IHTMLDocumentCompatibleInfoCollection interface
3708  */
3709 [
3710     odl,
3711     oleautomation,
3712     dual,
3713     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
3714 ]
3715 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
3716 {
3717     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
3718     HRESULT length([retval, out] long *p);
3719
3720     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
3721     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
3722 }
3723
3724 /*****************************************************************************
3725  *    DispHTMLDOMTextNode dispinterface
3726  */
3727 [
3728     hidden,
3729     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3730 ]
3731 dispinterface DispHTMLDOMTextNode
3732 {
3733 properties:
3734 methods:
3735     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3736     void data(BSTR v);
3737
3738     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3739     BSTR data();
3740
3741     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3742     BSTR toString();
3743
3744     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3745     LONG length();
3746
3747     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3748     IHTMLDOMNode *splitText([in] LONG offset);
3749
3750     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3751     BSTR substringData(
3752             [in] LONG offset,
3753             [in] LONG Count);
3754
3755     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3756     void appendData([in] BSTR bstrstring);
3757
3758     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3759     void insertData(
3760             [in] LONG offset,
3761             [in] BSTR bstrstring);
3762
3763     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3764     void deleteData(
3765             [in] LONG offset,
3766             [in] LONG Count);
3767
3768     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3769     void replaceData(
3770             [in] LONG offset,
3771             [in] LONG Count,
3772             [in] BSTR bstrstring);
3773
3774     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
3775 }
3776
3777 /*****************************************************************************
3778  *    IHTMLAttributeCollection3 interface
3779  */
3780 [
3781     odl,
3782     oleautomation,
3783     dual,
3784     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
3785 ]
3786 interface IHTMLAttributeCollection3 : IDispatch
3787 {
3788     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
3789     HRESULT getNamedItem(
3790             [in] BSTR bstrName,
3791             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3792
3793     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
3794     HRESULT setNamedItem(
3795             [in] IHTMLDOMAttribute *pNodeIn,
3796             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3797
3798     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
3799     HRESULT removeNamedItem(
3800             [in] BSTR bstrName,
3801             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3802
3803     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
3804     HRESULT item(
3805             [in] long index,
3806             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3807
3808     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
3809     HRESULT length([retval, out] long *p);
3810 }
3811
3812 /*****************************************************************************
3813  *    IHTMLDOMChildrenCollection interface
3814  */
3815 [
3816     odl,
3817     oleautomation,
3818     dual,
3819     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3820 ]
3821 interface IHTMLDOMChildrenCollection : IDispatch
3822 {
3823     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3824     HRESULT length([out, retval] LONG *p);
3825
3826     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3827     HRESULT _newEnum([out, retval] IUnknown **p);
3828
3829     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3830     HRESULT item(
3831             [in] LONG index,
3832             [out, retval] IDispatch **ppItem);
3833 }
3834
3835 /*****************************************************************************
3836  *    DispDOMChildrenCollection dispinterface
3837  */
3838 [
3839     hidden,
3840     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3841 ]
3842 dispinterface DispDOMChildrenCollection
3843 {
3844 properties:
3845 methods:
3846     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3847     LONG length();
3848
3849     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3850     IUnknown *_newEnum();
3851
3852     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3853     IDispatch *item([in] LONG index);
3854 }
3855
3856 interface IHTMLElementCollection;
3857
3858 /*****************************************************************************
3859  *    IHTMLElement interface
3860  */
3861 [
3862     odl,
3863     dual,
3864     oleautomation,
3865     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3866 ]
3867 interface IHTMLElement : IDispatch
3868 {
3869     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3870     HRESULT setAttribute(
3871         [in] BSTR strAttributeName,
3872         [in] VARIANT AttributeValue,
3873         [defaultvalue(1), in] LONG lFlags);
3874
3875     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3876     HRESULT getAttribute(
3877         [in] BSTR strAttributeName,
3878         [defaultvalue(0), in] LONG lFlags,
3879         [retval, out] VARIANT *AttributeValue);
3880
3881     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3882     HRESULT removeAttribute(
3883         [in] BSTR strAttributeName,
3884         [defaultvalue(1), in] LONG lFlags,
3885         [retval, out] VARIANT_BOOL *pfSuccess);
3886
3887     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3888     HRESULT className([in] BSTR v);
3889
3890     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3891     HRESULT className([retval, out] BSTR *p);
3892
3893     [propput, id(DISPID_IHTMLELEMENT_ID)]
3894     HRESULT id([in] BSTR v);
3895
3896     [propget, id(DISPID_IHTMLELEMENT_ID)]
3897     HRESULT id([retval, out] BSTR *p);
3898
3899     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3900     HRESULT tagName([retval, out] BSTR *p);
3901
3902     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3903     HRESULT parentElement([retval, out] IHTMLElement **p);
3904
3905     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3906     HRESULT style([retval, out] IHTMLStyle **p);
3907
3908     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3909     HRESULT onhelp([in] VARIANT v);
3910
3911     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3912     HRESULT onhelp([retval, out] VARIANT *p);
3913
3914     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3915     HRESULT onclick([in] VARIANT v);
3916
3917     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3918     HRESULT onclick([retval, out] VARIANT *p);
3919
3920     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3921     HRESULT ondblclick([in] VARIANT v);
3922
3923     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3924     HRESULT ondblclick([retval, out] VARIANT *p);
3925
3926     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3927     HRESULT onkeydown([in] VARIANT v);
3928
3929     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3930     HRESULT onkeydown([retval, out] VARIANT *p);
3931
3932     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3933     HRESULT onkeyup([in] VARIANT v);
3934
3935     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3936     HRESULT onkeyup([retval, out] VARIANT *p);
3937
3938     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3939     HRESULT onkeypress([in] VARIANT v);
3940
3941     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3942     HRESULT onkeypress([retval, out] VARIANT *p);
3943
3944     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3945     HRESULT onmouseout([in] VARIANT v);
3946
3947     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3948     HRESULT onmouseout([retval, out] VARIANT *p);
3949
3950     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3951     HRESULT onmouseover([in] VARIANT v);
3952
3953     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3954     HRESULT onmouseover([retval, out] VARIANT *p);
3955
3956     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3957     HRESULT onmousemove([in] VARIANT v);
3958
3959     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3960     HRESULT onmousemove([retval, out] VARIANT *p);
3961
3962     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3963     HRESULT onmousedown([in] VARIANT v);
3964
3965     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3966     HRESULT onmousedown([retval, out] VARIANT *p);
3967
3968     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3969     HRESULT onmouseup([in] VARIANT v);
3970
3971     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3972     HRESULT onmouseup([retval, out] VARIANT *p);
3973
3974     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3975     HRESULT document([retval, out] IDispatch **p);
3976
3977     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3978     HRESULT title([in] BSTR v);
3979
3980     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3981     HRESULT title([retval, out] BSTR *p);
3982
3983     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3984     HRESULT language([in] BSTR v);
3985
3986     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3987     HRESULT language([retval, out] BSTR *p);
3988
3989     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3990     HRESULT onselectstart([in] VARIANT v);
3991
3992     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3993     HRESULT onselectstart([retval, out] VARIANT *p);
3994
3995     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3996     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3997
3998     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3999     HRESULT contains(
4000         [in] IHTMLElement *pChild,
4001         [retval, out] VARIANT_BOOL *pfResult);
4002
4003     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4004     HRESULT sourceIndex([retval, out] LONG *p);
4005
4006     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4007     HRESULT recordNumber([retval, out] VARIANT *p);
4008
4009     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4010     HRESULT lang([in] BSTR v);
4011
4012     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4013     HRESULT lang([retval, out] BSTR *p);
4014
4015     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4016     HRESULT offsetLeft([retval, out] LONG *p);
4017
4018     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4019     HRESULT offsetTop([retval, out] LONG *p);
4020
4021     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4022     HRESULT offsetWidth([retval, out] LONG *p);
4023
4024     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4025     HRESULT offsetHeight([retval, out] LONG *p);
4026
4027     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4028     HRESULT offsetParent([retval, out] IHTMLElement **p);
4029
4030     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4031     HRESULT innerHTML([in] BSTR v);
4032
4033     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4034     HRESULT innerHTML([retval, out] BSTR *p);
4035
4036     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4037     HRESULT innerText([in] BSTR v);
4038
4039     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4040     HRESULT innerText([retval, out] BSTR *p);
4041
4042     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4043     HRESULT outerHTML([in] BSTR v);
4044
4045     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4046     HRESULT outerHTML([retval, out] BSTR *p);
4047
4048     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4049     HRESULT outerText([in] BSTR v);
4050
4051     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4052     HRESULT outerText([retval, out] BSTR *p);
4053
4054     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4055     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4056
4057     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4058     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4059
4060     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4061     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4062
4063     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4064     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4065
4066     [id(DISPID_IHTMLELEMENT_CLICK)]
4067     HRESULT click();
4068
4069     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4070     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4071
4072     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4073     HRESULT ondragstart([in] VARIANT v);
4074
4075     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4076     HRESULT ondragstart([retval, out] VARIANT *p);
4077
4078     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4079     HRESULT toString([retval, out] BSTR *String);
4080
4081     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4082     HRESULT onbeforeupdate([in] VARIANT v);
4083
4084     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4085     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4086
4087     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4088     HRESULT onafterupdate([in] VARIANT v);
4089
4090     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4091     HRESULT onafterupdate([retval, out] VARIANT *p);
4092
4093     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4094     HRESULT onerrorupdate([in] VARIANT v);
4095
4096     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4097     HRESULT onerrorupdate([retval, out] VARIANT *p);
4098
4099     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4100     HRESULT onrowexit([in] VARIANT v);
4101
4102     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4103     HRESULT onrowexit([retval, out] VARIANT *p);
4104
4105     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4106     HRESULT onrowenter([in] VARIANT v);
4107
4108     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4109     HRESULT onrowenter([retval, out] VARIANT *p);
4110
4111     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4112     HRESULT ondatasetchanged([in] VARIANT v);
4113
4114     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4115     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4116
4117     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4118     HRESULT ondataavailable([in] VARIANT v);
4119
4120     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4121     HRESULT ondataavailable([retval, out] VARIANT *p);
4122
4123     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4124     HRESULT ondatasetcomplete([in] VARIANT v);
4125
4126     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4127     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4128
4129     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4130     HRESULT onfilterchange([in] VARIANT v);
4131
4132     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4133     HRESULT onfilterchange([retval, out] VARIANT *p);
4134
4135     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4136     HRESULT children([retval, out] IDispatch **p);
4137
4138     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4139     HRESULT all([retval, out] IDispatch **p);
4140 }
4141
4142 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4143     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4144     void setAttribute(                                                  \
4145         [in] BSTR strAttributeName,                                     \
4146         [in] VARIANT AttValue,                                          \
4147         [defaultvalue(1), in] LONG lFlags);                             \
4148                                                                         \
4149     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4150     VARIANT getAttribute(                                               \
4151         [in] BSTR strAttributeName,                                     \
4152         [defaultvalue(0), in] LONG lFlags);                             \
4153                                                                         \
4154     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4155     VARIANT_BOOL removeAttribute(                                       \
4156         [in] BSTR strAttributeName,                                     \
4157         [defaultvalue(1), in] LONG lFlags);                             \
4158                                                                         \
4159     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4160     void className(BSTR v);                                             \
4161                                                                         \
4162     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4163     BSTR className();                                                   \
4164                                                                         \
4165     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4166     void id(BSTR v);                                                    \
4167                                                                         \
4168     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4169     BSTR id();                                                          \
4170                                                                         \
4171     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4172     BSTR tagName();                                                     \
4173                                                                         \
4174     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4175     IHTMLElement *parentElement();                                      \
4176                                                                         \
4177     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4178     IHTMLStyle *style();                                                \
4179                                                                         \
4180     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4181     void onhelp(VARIANT v);                                             \
4182                                                                         \
4183     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4184     VARIANT onhelp();                                                   \
4185                                                                         \
4186     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4187     void onclick(VARIANT v);                                            \
4188                                                                         \
4189     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4190     VARIANT onclick();                                                  \
4191                                                                         \
4192     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4193     void ondblclick(VARIANT v);                                         \
4194                                                                         \
4195     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4196     VARIANT ondblclick();                                               \
4197                                                                         \
4198     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4199     void onkeydown(VARIANT v);                                          \
4200                                                                         \
4201     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4202     VARIANT onkeydown();                                                \
4203                                                                         \
4204     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4205     void onkeyup(VARIANT v);                                            \
4206                                                                         \
4207     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4208     VARIANT onkeyup();                                                  \
4209                                                                         \
4210     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4211     void onkeypress(VARIANT v);                                         \
4212                                                                         \
4213     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4214     VARIANT onkeypress();                                               \
4215                                                                         \
4216     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4217     void onmouseout(VARIANT v);                                         \
4218                                                                         \
4219     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4220     VARIANT onmouseout();                                               \
4221                                                                         \
4222     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4223     void onmouseover(VARIANT v);                                        \
4224                                                                         \
4225     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4226     VARIANT onmouseover();                                              \
4227                                                                         \
4228     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4229     void onmousemove(VARIANT v);                                        \
4230                                                                         \
4231     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4232     VARIANT onmousemove();                                              \
4233                                                                         \
4234     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4235     void onmousedown(VARIANT v);                                        \
4236                                                                         \
4237     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4238     VARIANT onmousedown();                                              \
4239                                                                         \
4240     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4241     void onmouseup(VARIANT v);                                          \
4242                                                                         \
4243     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4244     VARIANT onmouseup();                                                \
4245                                                                         \
4246     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4247                                                                         \
4248     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4249     void title(BSTR v);                                                 \
4250                                                                         \
4251     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4252     BSTR title();                                                       \
4253                                                                         \
4254     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4255     void language(BSTR v);                                              \
4256                                                                         \
4257     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4258     BSTR language();                                                    \
4259                                                                         \
4260     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4261     void onselectstart(VARIANT v);                                      \
4262                                                                         \
4263     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4264     VARIANT onselectstart();                                            \
4265                                                                         \
4266     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4267     void scrollIntoView([optional, in] VARIANT varargStart);            \
4268                                                                         \
4269     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4270     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4271                                                                         \
4272     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4273     LONG sourceIndex();                                                 \
4274                                                                         \
4275     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4276     VARIANT recordNumber();                                             \
4277                                                                         \
4278     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4279     void lang(BSTR v);                                                  \
4280                                                                         \
4281     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4282     BSTR lang();                                                        \
4283                                                                         \
4284     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4285     LONG offsetLeft();                                                  \
4286                                                                         \
4287     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4288     LONG offsetTop();                                                   \
4289                                                                         \
4290     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4291     LONG offsetWidth();                                                 \
4292                                                                         \
4293     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4294     LONG offsetHeight();                                                \
4295                                                                         \
4296     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4297     IHTMLElement* offsetParent();                                       \
4298                                                                         \
4299     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4300     void innerHTML(BSTR v);                                             \
4301                                                                         \
4302     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4303     BSTR innerHTML();                                                   \
4304                                                                         \
4305     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4306     void innerText(BSTR v);                                             \
4307                                                                         \
4308     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4309     BSTR innerText();                                                   \
4310                                                                         \
4311     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4312     void outerHTML(BSTR v);                                             \
4313                                                                         \
4314     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4315     BSTR outerHTML();                                                   \
4316                                                                         \
4317     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4318     void outerText(BSTR v);                                             \
4319                                                                         \
4320     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4321     BSTR outerText();                                                   \
4322                                                                         \
4323     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4324     void insertAdjacentHTML(                                            \
4325         [in] BSTR where,                                                \
4326         [in] BSTR html);                                                \
4327                                                                         \
4328     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4329     void insertAdjacentText(                                            \
4330         [in] BSTR where,                                                \
4331         [in] BSTR text);                                                \
4332                                                                         \
4333     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4334     IHTMLElement* parentTextEdit();                                     \
4335                                                                         \
4336     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4337     VARIANT_BOOL isTextEdit();                                          \
4338                                                                         \
4339     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4340     void click();                                                       \
4341                                                                         \
4342     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4343     IHTMLFiltersCollection* filters();                                  \
4344                                                                         \
4345     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4346     void ondragstart(VARIANT v);                                        \
4347                                                                         \
4348     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4349     VARIANT ondragstart();                                              \
4350                                                                         \
4351     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4352     BSTR toString();                                                    \
4353                                                                         \
4354     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4355     void onbeforeupdate(VARIANT v);                                     \
4356                                                                         \
4357     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4358     VARIANT onbeforeupdate();                                           \
4359                                                                         \
4360     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4361     void onafterupdate(VARIANT v);                                      \
4362                                                                         \
4363     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4364     VARIANT onafterupdate();                                            \
4365                                                                         \
4366     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4367     void onerrorupdate(VARIANT v);                                      \
4368                                                                         \
4369     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4370     VARIANT onerrorupdate();                                            \
4371                                                                         \
4372     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4373     void onrowexit(VARIANT v);                                          \
4374                                                                         \
4375     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4376     VARIANT onrowexit();                                                \
4377                                                                         \
4378     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4379     void onrowenter(VARIANT v);                                         \
4380                                                                         \
4381     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4382     VARIANT onrowenter();                                               \
4383                                                                         \
4384     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4385     void ondatasetchanged(VARIANT v);                                   \
4386                                                                         \
4387     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4388     VARIANT ondatasetchanged();                                         \
4389                                                                         \
4390     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4391     void ondataavailable(VARIANT v);                                    \
4392                                                                         \
4393     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4394     VARIANT ondataavailable();                                          \
4395                                                                         \
4396     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4397     void ondatasetcomplete(VARIANT v);                                  \
4398                                                                         \
4399     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4400     VARIANT ondatasetcomplete();                                        \
4401                                                                         \
4402     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4403     void onfilterchange(VARIANT v);                                     \
4404                                                                         \
4405     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4406     VARIANT onfilterchange();                                           \
4407                                                                         \
4408     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4409     IDispatch* children();                                              \
4410                                                                         \
4411     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4412     IDispatch* all()
4413
4414 /*****************************************************************************
4415  *    IHTMLElement2 interface
4416  */
4417 [
4418     odl,
4419     oleautomation,
4420     dual,
4421     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4422 ]
4423 interface IHTMLElement2 : IDispatch
4424 {
4425     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4426     HRESULT scopeName([retval, out] BSTR *p);
4427
4428     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4429     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4430
4431     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4432     HRESULT releaseCapture();
4433
4434     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4435     HRESULT onlosecapture([in] VARIANT v);
4436
4437     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4438     HRESULT onlosecapture([retval, out] VARIANT *p);
4439
4440     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4441     HRESULT componentFromPoint(
4442         [in] LONG x,
4443         [in] LONG y,
4444         [retval, out] BSTR *component);
4445
4446     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4447     HRESULT doScroll([optional, in] VARIANT component);
4448
4449     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4450     HRESULT onscroll([in] VARIANT v);
4451
4452     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4453     HRESULT onscroll([retval, out] VARIANT *p);
4454
4455     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4456     HRESULT ondrag([in] VARIANT v);
4457
4458     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4459     HRESULT ondrag([retval, out] VARIANT *p);
4460
4461     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4462     HRESULT ondragend([in] VARIANT v);
4463
4464     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4465     HRESULT ondragend([retval, out] VARIANT *p);
4466
4467     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4468     HRESULT ondragenter([in] VARIANT v);
4469
4470     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4471     HRESULT ondragenter([retval, out] VARIANT *p);
4472
4473     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4474     HRESULT ondragover([in] VARIANT v);
4475
4476     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4477     HRESULT ondragover([retval, out] VARIANT *p);
4478
4479     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4480     HRESULT ondragleave([in] VARIANT v);
4481
4482     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4483     HRESULT ondragleave([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4486     HRESULT ondrop([in] VARIANT v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4489     HRESULT ondrop([retval, out] VARIANT *p);
4490
4491     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4492     HRESULT onbeforecut([in] VARIANT v);
4493
4494     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4495     HRESULT onbeforecut([retval, out] VARIANT *p);
4496
4497     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4498     HRESULT oncut([in] VARIANT v);
4499
4500     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4501     HRESULT oncut([retval, out] VARIANT *p);
4502
4503     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4504     HRESULT onbeforecopy([in] VARIANT v);
4505
4506     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4507     HRESULT onbeforecopy([retval, out] VARIANT *p);
4508
4509     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4510     HRESULT oncopy([in] VARIANT v);
4511
4512     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4513     HRESULT oncopy([retval, out] VARIANT *p);
4514
4515     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4516     HRESULT onbeforepaste([in] VARIANT v);
4517
4518     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4519     HRESULT onbeforepaste([retval, out] VARIANT *p);
4520
4521     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4522     HRESULT onpaste([in] VARIANT v);
4523
4524     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4525     HRESULT onpaste([retval, out] VARIANT *p);
4526
4527     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4528     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4529
4530     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4531     HRESULT onpropertychange([in] VARIANT v);
4532
4533     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4534     HRESULT onpropertychange([retval, out] VARIANT *p);
4535
4536     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4537     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4538
4539     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4540     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4541
4542     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4543     HRESULT setExpression(
4544         [in] BSTR propname,
4545         [in] BSTR expression,
4546         [defaultvalue(""), in] BSTR language);
4547
4548     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4549     HRESULT getExpression(
4550         [in] BSTR propname,
4551         [retval, out] VARIANT *expression);
4552
4553     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4554     HRESULT removeExpression(
4555         [in] BSTR propname,
4556         [retval, out] VARIANT_BOOL *pfSuccess);
4557
4558     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4559     HRESULT tabIndex([in] short v);
4560
4561     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4562     HRESULT tabIndex([retval, out] short *p);
4563
4564     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4565     HRESULT focus();
4566
4567     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4568     HRESULT accessKey([in] BSTR v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4571     HRESULT accessKey([retval, out] BSTR *p);
4572
4573     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4574     HRESULT onblur([in] VARIANT v);
4575
4576     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4577     HRESULT onblur([retval, out] VARIANT *p);
4578
4579     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4580     HRESULT onfocus([in] VARIANT v);
4581
4582     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4583     HRESULT onfocus([retval, out] VARIANT *p);
4584
4585     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4586     HRESULT onresize([in] VARIANT v);
4587
4588     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4589     HRESULT onresize([retval, out] VARIANT *p);
4590
4591     [id(DISPID_IHTMLELEMENT2_BLUR)]
4592     HRESULT blur();
4593
4594     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4595     HRESULT addFilter([in] IUnknown *pUnk);
4596
4597     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4598     HRESULT removeFilter([in] IUnknown *pUnk);
4599
4600     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4601     HRESULT clientHeight([retval, out] LONG *p);
4602
4603     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4604     HRESULT clientWidth([retval, out] LONG *p);
4605
4606     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4607     HRESULT clientTop([retval, out] LONG *p);
4608
4609     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4610     HRESULT clientLeft([retval, out] LONG *p);
4611
4612     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4613     HRESULT attachEvent(
4614         [in] BSTR event,
4615         [in] IDispatch *pDisp,
4616         [retval, out] VARIANT_BOOL *pfResult);
4617
4618     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4619     HRESULT detachEvent(
4620         [in] BSTR event,
4621         [in] IDispatch *pDisp);
4622
4623     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4624     HRESULT readyState([retval, out] VARIANT *p);
4625
4626     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4627     HRESULT onreadystatechange([in] VARIANT v);
4628
4629     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4630     HRESULT onreadystatechange([retval, out] VARIANT *p);
4631
4632     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4633     HRESULT onrowsdelete([in] VARIANT v);
4634
4635     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4636     HRESULT onrowsdelete([retval, out] VARIANT *p);
4637
4638     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4639     HRESULT onrowsinserted([in] VARIANT v);
4640
4641     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4642     HRESULT onrowsinserted([retval, out] VARIANT *p);
4643
4644     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4645     HRESULT oncellchange([in] VARIANT v);
4646
4647     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4648     HRESULT oncellchange([retval, out] VARIANT *p);
4649
4650     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4651     HRESULT dir([in] BSTR v);
4652
4653     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4654     HRESULT dir([retval, out] BSTR *p);
4655
4656     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4657     HRESULT createControlRange([retval, out] IDispatch **range);
4658
4659     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4660     HRESULT scrollHeight([retval, out] LONG *p);
4661
4662     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4663     HRESULT scrollWidth([retval, out] LONG *p);
4664
4665     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4666     HRESULT scrollTop([in] LONG v);
4667
4668     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4669     HRESULT scrollTop([retval, out] LONG *p);
4670
4671     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4672     HRESULT scrollLeft([in] LONG v);
4673
4674     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4675     HRESULT scrollLeft([retval, out] LONG *p);
4676
4677     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4678     HRESULT clearAttributes();
4679
4680     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4681     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4682
4683     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4684     HRESULT oncontextmenu([in] VARIANT v);
4685
4686     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4687     HRESULT oncontextmenu([retval, out] VARIANT *p);
4688
4689     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4690     HRESULT insertAdjacentElement(
4691         [in] BSTR where,
4692         [in] IHTMLElement *insertedElement,
4693         [retval, out] IHTMLElement **inserted);
4694
4695     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4696     HRESULT applyElement(
4697         [in] IHTMLElement *apply,
4698         [in] BSTR where,
4699         [retval, out] IHTMLElement **applied);
4700
4701     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4702     HRESULT getAdjacentText(
4703         [in] BSTR where,
4704         [retval, out] BSTR *text);
4705
4706     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4707     HRESULT replaceAdjacentText(
4708         [in] BSTR where,
4709         [in] BSTR newText,
4710         [retval, out] BSTR *oldText);
4711
4712     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4713     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4714
4715     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4716     HRESULT addBehavior(
4717         [in] BSTR bstrUrl,
4718         [optional, in] VARIANT *pvarFactory,
4719         [retval, out] LONG *pCookie);
4720
4721     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4722     HRESULT removeBehavior(
4723         [in] LONG cookie,
4724         [retval, out] VARIANT_BOOL *pfResult);
4725
4726     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4727     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4728
4729     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4730     HRESULT behaviorUrns([retval, out] IDispatch **p);
4731
4732     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4733     HRESULT tagUrn([in] BSTR v);
4734
4735     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4736     HRESULT tagUrn([retval, out] BSTR *p);
4737
4738     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4739     HRESULT onbeforeeditfocus([in] VARIANT v);
4740
4741     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4742     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4743
4744     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4745     HRESULT readyStateValue([retval, out] LONG *p);
4746
4747     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4748     HRESULT getElementsByTagName(
4749         [in] BSTR v,
4750         [retval, out] IHTMLElementCollection **pelColl);
4751 }
4752
4753 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
4754     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
4755     BSTR scopeName();                                                   \
4756                                                                         \
4757     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
4758     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
4759                                                                         \
4760     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
4761     void releaseCapture();                                              \
4762                                                                         \
4763     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4764     void onlosecapture(VARIANT v);                                      \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4767     VARIANT onlosecapture();                                            \
4768                                                                         \
4769     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
4770     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
4771                                                                         \
4772     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
4773     void doScroll([optional, in] VARIANT component);                    \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4776     void onscroll(VARIANT v);                                           \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4779     VARIANT onscroll();                                                 \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4782     void ondrag(VARIANT v);                                             \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4785     VARIANT ondrag();                                                   \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4788     void ondragend(VARIANT v);                                          \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4791     VARIANT ondragend();                                                \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4794     void ondragenter(VARIANT v);                                        \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4797     VARIANT ondragenter();                                              \
4798                                                                         \
4799     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4800     void ondragover(VARIANT v);                                         \
4801                                                                         \
4802     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4803     VARIANT ondragover();                                               \
4804                                                                         \
4805     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4806     void ondragleave(VARIANT v);                                        \
4807                                                                         \
4808     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4809     VARIANT ondragleave();                                              \
4810                                                                         \
4811     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4812     void ondrop(VARIANT v);                                             \
4813                                                                         \
4814     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4815     VARIANT ondrop();                                                   \
4816                                                                         \
4817     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4818     void onbeforecut(VARIANT v);                                        \
4819                                                                         \
4820     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4821     VARIANT onbeforecut();                                              \
4822                                                                         \
4823     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4824     void oncut(VARIANT v);                                              \
4825                                                                         \
4826     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4827     VARIANT oncut();                                                    \
4828                                                                         \
4829     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4830     void onbeforecopy(VARIANT v);                                       \
4831                                                                         \
4832     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4833     VARIANT onbeforecopy();                                             \
4834                                                                         \
4835     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4836     void oncopy(VARIANT v);                                             \
4837                                                                         \
4838     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4839     VARIANT oncopy();                                                   \
4840                                                                         \
4841     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4842     void onbeforepaste(VARIANT v);                                      \
4843                                                                         \
4844     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4845     VARIANT onbeforepaste();                                            \
4846                                                                         \
4847     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4848     void onpaste(VARIANT v);                                            \
4849                                                                         \
4850     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4851     VARIANT onpaste();                                                  \
4852                                                                         \
4853     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
4854     IHTMLCurrentStyle* currentStyle();                                  \
4855                                                                         \
4856     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4857     void onpropertychange(VARIANT v);                                   \
4858                                                                         \
4859     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4860     VARIANT onpropertychange();                                         \
4861                                                                         \
4862     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
4863     IHTMLRectCollection* getClientRects();                              \
4864                                                                         \
4865     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
4866     IHTMLRect* getBoundingClientRect();                                 \
4867                                                                         \
4868     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
4869     void setExpression(                                                 \
4870         [in] BSTR propname,                                             \
4871         [in] BSTR expr,                                                 \
4872         [defaultvalue(""), in] BSTR lang);                              \
4873                                                                         \
4874     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
4875     VARIANT getExpression([in] BSTR propname);                          \
4876                                                                         \
4877     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
4878     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
4879                                                                         \
4880     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4881     void tabIndex(short v);                                             \
4882                                                                         \
4883     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4884     short tabIndex();                                                   \
4885                                                                         \
4886     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
4887     void focus();                                                       \
4888                                                                         \
4889     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4890     void accessKey(BSTR v);                                             \
4891                                                                         \
4892     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4893     BSTR accessKey();                                                   \
4894                                                                         \
4895     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4896     void onblur(VARIANT v);                                             \
4897                                                                         \
4898     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4899     VARIANT onblur();                                                   \
4900                                                                         \
4901     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4902     void onfocus(VARIANT v);                                            \
4903                                                                         \
4904     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4905     VARIANT onfocus();                                                  \
4906                                                                         \
4907     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4908     void onresize(VARIANT v);                                           \
4909                                                                         \
4910     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4911     VARIANT onresize();                                                 \
4912                                                                         \
4913     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
4914     void blur();                                                        \
4915                                                                         \
4916     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
4917     void addFilter([in] IUnknown* pUnk);                                \
4918                                                                         \
4919     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
4920     void removeFilter([in] IUnknown* pUnk);                             \
4921                                                                         \
4922     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
4923     LONG clientHeight();                                                \
4924                                                                         \
4925     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
4926     LONG clientWidth();                                                 \
4927                                                                         \
4928     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
4929     LONG clientTop();                                                   \
4930                                                                         \
4931     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
4932     LONG clientLeft();                                                  \
4933                                                                         \
4934     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
4935     VARIANT_BOOL attachEvent(                                           \
4936             [in] BSTR event,                                            \
4937             [in] IDispatch* pDisp);                                     \
4938                                                                         \
4939     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
4940     void detachEvent(                                                   \
4941             [in] BSTR event,                                            \
4942             [in] IDispatch* pDisp);                                     \
4943                                                                         \
4944     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
4945                                                                         \
4946     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4947     void onreadystatechange(VARIANT v);                                 \
4948                                                                         \
4949     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4950     VARIANT onreadystatechange();                                       \
4951                                                                         \
4952     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4953     void onrowsdelete(VARIANT v);                                       \
4954                                                                         \
4955     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4956     VARIANT onrowsdelete();                                             \
4957                                                                         \
4958     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4959     void onrowsinserted(VARIANT v);                                     \
4960                                                                         \
4961     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4962     VARIANT onrowsinserted();                                           \
4963                                                                         \
4964     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4965     void oncellchange(VARIANT v);                                       \
4966                                                                         \
4967     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4968     VARIANT oncellchange();                                             \
4969                                                                         \
4970     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4971     void dir(BSTR v);                                                   \
4972                                                                         \
4973     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4974     BSTR dir();                                                         \
4975                                                                         \
4976     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
4977     IDispatch* createControlRange();                                    \
4978                                                                         \
4979     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
4980     LONG scrollHeight();                                                \
4981                                                                         \
4982     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
4983     LONG scrollWidth();                                                 \
4984                                                                         \
4985     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4986     void scrollTop(LONG v);                                             \
4987                                                                         \
4988     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4989     LONG scrollTop();                                                   \
4990                                                                         \
4991     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4992     void scrollLeft(LONG v);                                            \
4993                                                                         \
4994     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4995     LONG scrollLeft();                                                  \
4996                                                                         \
4997     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
4998     void clearAttributes();                                             \
4999                                                                         \
5000     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5001     void oncontextmenu(VARIANT v);                                      \
5002                                                                         \
5003     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5004     VARIANT oncontextmenu();                                            \
5005                                                                         \
5006     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5007     IHTMLElement* insertAdjacentElement(                                \
5008         [in] BSTR where,                                                \
5009         [in] IHTMLElement* insertedElement);                            \
5010                                                                         \
5011     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5012     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5013                                                                         \
5014     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5015     BSTR getAdjacentText([in] BSTR where);                              \
5016                                                                         \
5017     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5018     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5019                                                                         \
5020     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5021     VARIANT_BOOL canHaveChildren();                                     \
5022                                                                         \
5023     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5024     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5025                                                                         \
5026     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5027     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5028                                                                         \
5029     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5030     IHTMLStyle* runtimeStyle();                                         \
5031                                                                         \
5032     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5033     IDispatch* behaviorUrns();                                          \
5034                                                                         \
5035     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5036     void tagUrn(BSTR v);                                                \
5037                                                                         \
5038     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5039     BSTR tagUrn();                                                      \
5040                                                                         \
5041     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5042     void onbeforeeditfocus(VARIANT v);                                  \
5043                                                                         \
5044     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5045     VARIANT onbeforeeditfocus();                                        \
5046                                                                         \
5047     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5048     LONG readyStateValue();                                             \
5049                                                                         \
5050     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5051     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5052
5053 /*****************************************************************************
5054  *    IHTMLElement3 interface
5055  */
5056 [
5057     odl,
5058     oleautomation,
5059     dual,
5060     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5061 ]
5062 interface IHTMLElement3 : IDispatch
5063 {
5064     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5065     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5066
5067     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5068     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5069
5070     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5071     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5072
5073     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5074     HRESULT onlayoutcomplete([in] VARIANT v);
5075
5076     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5077     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5078
5079     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5080     HRESULT onpage([in] VARIANT v);
5081
5082     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5083     HRESULT onpage([retval, out] VARIANT * p);
5084
5085     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5086     HRESULT inflateBlock([in] VARIANT_BOOL v);
5087
5088     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5089     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5090
5091     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5092     HRESULT onbeforedeactivate([in] VARIANT v);
5093
5094     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5095     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5096
5097     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5098
5099     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5100     HRESULT contentEditable([in] BSTR v);
5101
5102     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5103     HRESULT contentEditable([retval, out] BSTR * p);
5104
5105     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5106     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5107
5108     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5109     HRESULT hideFocus([in] VARIANT_BOOL v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5112     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5113
5114     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5115     HRESULT disabled([in] VARIANT_BOOL v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5118     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5119
5120     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5121     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5122
5123     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5124     HRESULT onmove([in] VARIANT v);
5125
5126     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5127     HRESULT onmove([retval, out] VARIANT * p);
5128
5129     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5130     HRESULT oncontrolselect([in] VARIANT v);
5131
5132     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5133     HRESULT oncontrolselect([retval, out] VARIANT * p);
5134
5135     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5136     HRESULT fireEvent(
5137         [in] BSTR bstrEventName,
5138         [optional, in] VARIANT* pvarEventObject,
5139         [retval, out] VARIANT_BOOL* pfCancelled);
5140
5141     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5142     HRESULT onresizestart([in] VARIANT v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5145     HRESULT onresizestart([retval, out] VARIANT * p);
5146
5147     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5148     HRESULT onresizeend([in] VARIANT v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5151     HRESULT onresizeend([retval, out] VARIANT * p);
5152
5153     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5154     HRESULT onmovestart([in] VARIANT v);
5155
5156     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5157     HRESULT onmovestart([retval, out] VARIANT * p);
5158
5159     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5160     HRESULT onmoveend([in] VARIANT v);
5161
5162     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5163     HRESULT onmoveend([retval, out] VARIANT * p);
5164
5165     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5166     HRESULT onmouseenter([in] VARIANT v);
5167
5168     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5169     HRESULT onmouseenter([retval, out] VARIANT * p);
5170
5171     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5172     HRESULT onmouseleave([in] VARIANT v);
5173
5174     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5175     HRESULT onmouseleave([retval, out] VARIANT * p);
5176
5177     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5178     HRESULT onactivate([in] VARIANT v);
5179
5180     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5181     HRESULT onactivate([retval, out] VARIANT * p);
5182
5183     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5184     HRESULT ondeactivate([in] VARIANT v);
5185
5186     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5187     HRESULT ondeactivate([retval, out] VARIANT * p);
5188
5189     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5190     VARIANT_BOOL* pfRet);
5191
5192     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5193     HRESULT glyphMode([retval, out] LONG * p);
5194 }
5195
5196 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5197                                                                         \
5198     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5199     void mergeAttributes(                                               \
5200             [in] IHTMLElement* mergeThis,                               \
5201             [optional, in] VARIANT* pvarFlags);                         \
5202                                                                         \
5203     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5204     VARIANT_BOOL isMultiLine();                                         \
5205                                                                         \
5206     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5207     VARIANT_BOOL canHaveHTML();                                         \
5208                                                                         \
5209     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5210     void onlayoutcomplete(VARIANT v);                                   \
5211                                                                         \
5212     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5213     VARIANT onlayoutcomplete();                                         \
5214                                                                         \
5215     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5216     void onpage(VARIANT v);                                             \
5217                                                                         \
5218     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5219     VARIANT onpage();                                                   \
5220                                                                         \
5221     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5222     void inflateBlock(VARIANT_BOOL v);                                  \
5223                                                                         \
5224     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5225     VARIANT_BOOL inflateBlock();                                        \
5226                                                                         \
5227     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5228     void onbeforedeactivate(VARIANT v);                                 \
5229                                                                         \
5230     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5231     VARIANT onbeforedeactivate();                                       \
5232                                                                         \
5233     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5234     void setActive();                                                   \
5235                                                                         \
5236     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5237     void contentEditable(BSTR v);                                       \
5238                                                                         \
5239     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5240     BSTR contentEditable();                                             \
5241                                                                         \
5242     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5243     VARIANT_BOOL isContentEditable();                                   \
5244                                                                         \
5245     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5246     void hideFocus(VARIANT_BOOL v);                                     \
5247                                                                         \
5248     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5249     VARIANT_BOOL hideFocus();                                           \
5250                                                                         \
5251     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5252     void disabled(VARIANT_BOOL v);                                      \
5253                                                                         \
5254     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5255     VARIANT_BOOL disabled();                                            \
5256                                                                         \
5257     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5258     VARIANT_BOOL isDisabled();                                          \
5259                                                                         \
5260     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5261     void onmove(VARIANT v);                                             \
5262                                                                         \
5263     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5264     VARIANT onmove();                                                   \
5265                                                                         \
5266     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5267     void oncontrolselect(VARIANT v);                                    \
5268                                                                         \
5269     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5270     VARIANT oncontrolselect();                                          \
5271                                                                         \
5272     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5273     VARIANT_BOOL fireEvent(                                             \
5274         [in] BSTR bstrEventName,                                        \
5275         [optional, in] VARIANT* pvarEventObject);                       \
5276                                                                         \
5277     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5278     void onresizestart(VARIANT v);                                      \
5279                                                                         \
5280     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5281     VARIANT onresizestart();                                            \
5282                                                                         \
5283     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5284     void onresizeend(VARIANT v);                                        \
5285                                                                         \
5286     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5287     VARIANT onresizeend();                                              \
5288                                                                         \
5289     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5290     void onmovestart(VARIANT v);                                        \
5291                                                                         \
5292     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5293     VARIANT onmovestart();                                              \
5294                                                                         \
5295     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5296     void onmoveend(VARIANT v);                                          \
5297                                                                         \
5298     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5299     VARIANT onmoveend();                                                \
5300                                                                         \
5301     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5302     void onmouseenter(VARIANT v);                                       \
5303                                                                         \
5304     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5305     VARIANT onmouseenter();                                             \
5306                                                                         \
5307     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5308     void onmouseleave(VARIANT v);                                       \
5309                                                                         \
5310     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5311     VARIANT onmouseleave();                                             \
5312                                                                         \
5313     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5314     void onactivate(VARIANT v);                                         \
5315                                                                         \
5316     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5317     VARIANT onactivate();                                               \
5318                                                                         \
5319     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5320     void ondeactivate(VARIANT v);                                       \
5321                                                                         \
5322     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5323     VARIANT ondeactivate();                                             \
5324                                                                         \
5325     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5326     VARIANT_BOOL dragDrop();                                            \
5327                                                                         \
5328     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5329     LONG glyphMode()
5330
5331 /*****************************************************************************
5332  *    IHTMLElement4 interface
5333  */
5334 [
5335     odl,
5336     oleautomation,
5337     dual,
5338     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5339 ]
5340 interface IHTMLElement4 : IDispatch
5341 {
5342     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5343     HRESULT onmousewheel([in] VARIANT v);
5344
5345     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5346     HRESULT onmousewheel([retval, out] VARIANT * p);
5347
5348     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5349     HRESULT normalize();
5350
5351     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5352     HRESULT getAttributeNode([in] BSTR bstrname,
5353         [retval, out] IHTMLDOMAttribute** ppAttribute);
5354
5355     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5356     HRESULT setAttributeNode(
5357         [in] IHTMLDOMAttribute* pattr,
5358         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5359
5360     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5361     HRESULT removeAttributeNode(
5362         [in] IHTMLDOMAttribute* pattr,
5363         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5364
5365     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5366     HRESULT onbeforeactivate([in] VARIANT v);
5367
5368     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5369     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5370
5371     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5372     HRESULT onfocusin([in] VARIANT v);
5373
5374     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5375     HRESULT onfocusin([retval, out] VARIANT * p);
5376
5377     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5378     HRESULT onfocusout([in] VARIANT v);
5379
5380     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5381     HRESULT onfocusout([retval, out] VARIANT * p);
5382 }
5383
5384 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5385     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5386     void onmousewheel(VARIANT v);                                       \
5387                                                                         \
5388     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5389     VARIANT onmousewheel();                                             \
5390                                                                         \
5391     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5392     void normalize();                                                   \
5393                                                                         \
5394     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5395     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5396                                                                         \
5397     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5398     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5399                                                                         \
5400     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5401     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5402                                                                         \
5403     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5404     void onbeforeactivate(VARIANT v);                                   \
5405                                                                         \
5406     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5407     VARIANT onbeforeactivate();                                         \
5408                                                                         \
5409     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5410     void onfocusin(VARIANT v);                                          \
5411                                                                         \
5412     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5413     VARIANT onfocusin();                                                \
5414                                                                         \
5415     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5416     void onfocusout(VARIANT v);                                         \
5417                                                                         \
5418     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5419     VARIANT onfocusout()
5420
5421 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5422     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5423     IHTMLElement *querySelector([in] BSTR v);                   \
5424                                                                 \
5425     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5426     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5427
5428 /*****************************************************************************
5429  *    IHTMLUniqueName interface
5430  */
5431 [
5432     odl,
5433     oleautomation,
5434     dual,
5435     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5436 ]
5437 interface IHTMLUniqueName : IDispatch
5438 {
5439     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5440     HRESULT uniqueNumber([retval, out] LONG * p);
5441
5442     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5443     HRESULT uniqueID([retval, out] BSTR * p);
5444 }
5445
5446 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5447     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5448     LONG uniqueNumber();                                        \
5449                                                                 \
5450     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5451     BSTR uniqueID()
5452
5453 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5454     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5455     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5456                                                                         \
5457     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5458     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5459                                                                         \
5460     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5461     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5462                                                                         \
5463     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5464     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5465                                                                         \
5466     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5467     void role(BSTR v);                                                  \
5468                                                                         \
5469     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5470     BSTR role();                                                        \
5471                                                                         \
5472     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5473     void ariaBusy(BSTR v);                                              \
5474                                                                         \
5475     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5476     BSTR ariaBusy();                                                    \
5477                                                                         \
5478     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5479     void ariaChecked(BSTR v);                                           \
5480                                                                         \
5481     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5482     BSTR ariaChecked();                                                 \
5483                                                                         \
5484     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5485     void ariaDisabled(BSTR v);                                          \
5486                                                                         \
5487     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5488     BSTR ariaDisabled();                                                \
5489                                                                         \
5490     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5491     void ariaExpanded(BSTR v);                                          \
5492                                                                         \
5493     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5494     BSTR ariaExpanded();                                                \
5495                                                                         \
5496     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5497     void ariaHaspopup(BSTR v);                                          \
5498                                                                         \
5499     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5500     BSTR ariaHaspopup();                                                \
5501                                                                         \
5502     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5503     void ariaHidden(BSTR v);                                            \
5504                                                                         \
5505     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5506     BSTR ariaHidden();                                                  \
5507                                                                         \
5508     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5509     void ariaInvalid(BSTR v);                                           \
5510                                                                         \
5511     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5512     BSTR ariaInvalid();                                                 \
5513                                                                         \
5514     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5515     void ariaMultiselectable(BSTR v);                                   \
5516                                                                         \
5517     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5518     BSTR ariaMultiselectable();                                         \
5519                                                                         \
5520     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5521     void ariaPressed(BSTR v);                                           \
5522                                                                         \
5523     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5524     BSTR ariaPressed();                                                 \
5525                                                                         \
5526     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5527     void ariaReadonly(BSTR v);                                          \
5528                                                                         \
5529     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5530     BSTR ariaReadonly();                                                \
5531                                                                         \
5532     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5533     void ariaRequired(BSTR v);                                          \
5534                                                                         \
5535     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5536     BSTR ariaRequired();                                                \
5537                                                                         \
5538     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5539     void ariaSecret(BSTR v);                                            \
5540                                                                         \
5541     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5542     BSTR ariaSecret();                                                  \
5543                                                                         \
5544     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5545     void ariaSelected(BSTR v);                                          \
5546                                                                         \
5547     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5548     BSTR ariaSelected();                                                \
5549                                                                         \
5550     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
5551     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
5552                                                                         \
5553     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
5554     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
5555                                                                         \
5556     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
5557     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
5558                                                                         \
5559     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
5560     IHTMLAttributeCollection3 *ie8_attributes();                        \
5561                                                                         \
5562     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5563     void ariaValuenow(BSTR v);                                          \
5564                                                                         \
5565     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5566     BSTR ariaValuenow();                                                \
5567                                                                         \
5568     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5569     void ariaPosinset(short v);                                         \
5570                                                                         \
5571     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5572     short ariaPosinset();                                               \
5573                                                                         \
5574     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5575     void ariaSetsize(short v);                                          \
5576                                                                         \
5577     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5578     short ariaSetsize();                                                \
5579                                                                         \
5580     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5581     void ariaLevel(short v);                                            \
5582                                                                         \
5583     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5584     short ariaLevel();                                                  \
5585                                                                         \
5586     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5587     void ariaValuemin(BSTR v);                                          \
5588                                                                         \
5589     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5590     BSTR ariaValuemin();                                                \
5591                                                                         \
5592     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5593     void ariaValuemax(BSTR v);                                          \
5594                                                                         \
5595     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5596     BSTR ariaValuemax();                                                \
5597                                                                         \
5598     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5599     void ariaControls(BSTR v);                                          \
5600                                                                         \
5601     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5602     BSTR ariaControls();                                                \
5603                                                                         \
5604     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5605     void ariaDescribedby(BSTR v);                                       \
5606                                                                         \
5607     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5608     BSTR ariaDescribedby();                                             \
5609                                                                         \
5610     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5611     void ariaFlowto(BSTR v);                                            \
5612                                                                         \
5613     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5614     BSTR ariaFlowto();                                                  \
5615                                                                         \
5616     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5617     void ariaLabelledby(BSTR v);                                        \
5618                                                                         \
5619     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5620     BSTR ariaLabelledby();                                              \
5621                                                                         \
5622     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5623     void ariaActivedescendant(BSTR v);                                  \
5624                                                                         \
5625     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5626     BSTR ariaActivedescendant();                                        \
5627                                                                         \
5628     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5629     void ariaOwns(BSTR v);                                              \
5630                                                                         \
5631     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5632     BSTR ariaOwns();                                                    \
5633                                                                         \
5634     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
5635     VARIANT_BOOL hasAttributes();                                       \
5636                                                                         \
5637     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5638     void ariaLive(BSTR v);                                              \
5639                                                                         \
5640     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5641     BSTR ariaLive();                                                    \
5642                                                                         \
5643     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5644     void ariaRelevant(BSTR v);                                          \
5645                                                                         \
5646     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5647     BSTR ariaRelevant()
5648
5649 [
5650     odl,
5651     oleautomation,
5652     dual,
5653     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
5654 ]
5655 interface IHTMLDatabinding : IDispatch
5656 {
5657     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5658     HRESULT dataFld([in] BSTR v);
5659
5660     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5661     HRESULT dataFld([retval, out] BSTR * p);
5662
5663     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5664     HRESULT dataSrc([in] BSTR v);
5665
5666     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5667     HRESULT dataSrc([retval, out] BSTR * p);
5668
5669     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5670     HRESULT dataFormatAs([in] BSTR v);
5671
5672     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5673     HRESULT dataFormatAs([retval, out] BSTR * p);
5674 }
5675
5676 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
5677     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5678     void dataFld(BSTR v);                               \
5679                                                         \
5680     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5681     BSTR dataFld();                                     \
5682                                                         \
5683     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5684     void dataSrc(BSTR v);                               \
5685                                                         \
5686     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5687     BSTR dataSrc();                                     \
5688                                                         \
5689     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5690     void dataFormatAs(BSTR v);                          \
5691                                                         \
5692     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5693     BSTR dataFormatAs()
5694
5695 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
5696     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5697     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5698     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5699     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5700     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5701     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5702     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5703     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5704
5705 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
5706     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5707     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5708     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5709     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5710     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5711     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5712     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
5713     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5714     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
5715     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5716
5717 /*****************************************************************************
5718  *    IHTMLGenericElement interface
5719  */
5720 [
5721     odl,
5722     oleautomation,
5723     dual,
5724     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
5725 ]
5726 interface IHTMLGenericElement : IDispatch
5727 {
5728     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5729     HRESULT recordset([out, retval] IDispatch **p);
5730
5731     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5732     HRESULT namedRecordset(
5733             [in] BSTR dataMember,
5734             [in, optional] VARIANT *hierarchy,
5735             [out, retval] IDispatch **ppRecordset);
5736 }
5737
5738 /*****************************************************************************
5739  *    DispHTMLGenericElement dispinterface
5740  */
5741 [
5742     hidden,
5743     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
5744 ]
5745 dispinterface DispHTMLGenericElement
5746 {
5747 properties:
5748 methods:
5749     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
5750
5751     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5752     IDispatch *recordset();
5753
5754     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5755     IDispatch *namedRecordset(
5756             [in] BSTR dataMember,
5757             [in, optional] VARIANT *hierarchy);
5758 }
5759
5760 /*****************************************************************************
5761  *    IHTMLStyleSheetRule interface
5762  */
5763 [
5764     odl,
5765     oleautomation,
5766     dual,
5767     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5768 ]
5769 interface IHTMLStyleSheetRule : IDispatch
5770 {
5771     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5772     HRESULT selectorText([in] BSTR v);
5773
5774     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5775     HRESULT selectorText([retval, out] BSTR *p);
5776
5777     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5778     HRESULT style([retval, out] IHTMLRuleStyle **p);
5779
5780     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5781     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5782 }
5783
5784 [
5785     hidden,
5786     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5787 ]
5788 dispinterface DispHTMLStyleSheetRule
5789 {
5790 properties:
5791 methods:
5792     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5793     void selectorText(BSTR v);
5794
5795     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5796     BSTR selectorText();
5797
5798     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5799     IHTMLRuleStyle* style();
5800
5801     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5802     VARIANT_BOOL readOnly();
5803
5804     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5805 }
5806
5807 [
5808     noncreatable,
5809     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5810 ]
5811 coclass HTMLStyleSheetRule
5812 {
5813     [default]           dispinterface DispHTMLStyleSheetRule;
5814                         interface IHTMLStyleSheetRule;
5815                         interface IHTMLDOMConstructor;
5816 }
5817
5818 /*****************************************************************************
5819  *    IHTMLStyleSheetRulesCollection interface
5820  */
5821 [
5822     odl,
5823     oleautomation,
5824     dual,
5825     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5826 ]
5827 interface IHTMLStyleSheetRulesCollection : IDispatch
5828 {
5829     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5830     HRESULT length([retval, out] LONG *p);
5831
5832     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5833     HRESULT item(
5834         [in] LONG index,
5835         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5836 }
5837
5838 [
5839     hidden,
5840     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5841 ]
5842 dispinterface DispHTMLStyleSheetRulesCollection
5843 {
5844 properties:
5845 methods:
5846     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5847     long length();
5848
5849     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5850     IHTMLStyleSheetRule* item([in] long index);
5851
5852     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5853 }
5854
5855 [
5856     noncreatable,
5857     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5858 ]
5859 coclass HTMLStyleSheetRulesCollection
5860 {
5861     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5862                         interface IHTMLStyleSheetRulesCollection;
5863                         interface IHTMLDOMConstructor;
5864 }
5865
5866 [
5867     odl,
5868     oleautomation,
5869     dual,
5870     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5871 ]
5872 interface IHTMLStyleSheetPage : IDispatch
5873 {
5874     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5875     HRESULT selector([retval, out] BSTR *p);
5876
5877     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5878     HRESULT pseudoClass([retval, out] BSTR *p);
5879 }
5880
5881 [
5882     hidden,
5883     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5884 ]
5885 dispinterface DispHTMLStyleSheetPage
5886 {
5887 properties:
5888 methods:
5889     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5890     BSTR selector();
5891
5892     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5893     BSTR pseudoClass();
5894
5895     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5896 }
5897 [
5898     noncreatable,
5899     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
5900 ]
5901 coclass HTMLStyleSheetPage
5902 {
5903     [default]           dispinterface DispHTMLStyleSheetPage;
5904                         interface IHTMLStyleSheetPage;
5905                         interface IHTMLDOMConstructor;
5906 };
5907
5908 [
5909     odl,
5910     oleautomation,
5911     dual,
5912     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5913 ]
5914 interface IHTMLStyleSheetPagesCollection : IDispatch
5915 {
5916     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5917     HRESULT length([retval, out] LONG *p);
5918
5919     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5920     HRESULT item(
5921         [in] LONG index,
5922         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5923 }
5924
5925 [
5926     hidden,
5927     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
5928 ]
5929 dispinterface DispHTMLStyleSheetPagesCollection
5930 {
5931 properties:
5932 methods:
5933     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5934     long length();
5935
5936     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5937     IHTMLStyleSheetPage* item([in] long index);
5938
5939     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5940 }
5941
5942 [
5943     noncreatable,
5944     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
5945 ]
5946 coclass HTMLStyleSheetPagesCollection
5947 {
5948     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
5949                         interface IHTMLStyleSheetPagesCollection;
5950                         interface IHTMLDOMConstructor;
5951 }
5952
5953 /*****************************************************************************
5954  *    IHTMLStyleSheet interface
5955  */
5956 [
5957     odl,
5958     oleautomation,
5959     dual,
5960     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5961 ]
5962 interface IHTMLStyleSheet : IDispatch
5963 {
5964     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5965     HRESULT title([in] BSTR v);
5966
5967     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5968     HRESULT title([retval, out] BSTR *p);
5969
5970     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5971     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5972
5973     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5974     HRESULT owningElement([retval, out] IHTMLElement **p);
5975
5976     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5977     HRESULT disabled([in] VARIANT_BOOL v);
5978
5979     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5980     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5981
5982     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5983     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5984
5985     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5986     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5987
5988     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5989     HRESULT href([in] BSTR v);
5990
5991     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5992     HRESULT href([retval, out] BSTR *p);
5993
5994     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5995     HRESULT type([retval, out] BSTR *p);
5996
5997     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5998     HRESULT id([retval, out] BSTR *p);
5999
6000     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6001     HRESULT addImport(
6002         [in] BSTR bstrURL,
6003         [defaultvalue(-1), in] LONG lIndex,
6004         [retval, out] LONG *plIndex);
6005
6006     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6007     HRESULT addRule(
6008         [in] BSTR bstrSelector,
6009         [in] BSTR bstrStyle,
6010         [defaultvalue(-1), in] LONG lIndex,
6011         [retval, out] LONG *plNewIndex);
6012
6013     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6014     HRESULT removeImport([in] LONG lIndex);
6015
6016     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6017     HRESULT removeRule([in] LONG lIndex);
6018
6019     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6020     HRESULT media([in] BSTR v);
6021
6022     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6023     HRESULT media([retval, out] BSTR *p);
6024
6025     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6026     HRESULT cssText([in] BSTR v);
6027
6028     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6029     HRESULT cssText([retval, out] BSTR *p);
6030
6031     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6032     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6033 }
6034
6035 /*****************************************************************************
6036  *    IHTMLStyleSheet2 interface
6037  */
6038 [
6039     odl,
6040     oleautomation,
6041     dual,
6042     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6043 ]
6044 interface IHTMLStyleSheet2 : IDispatch
6045 {
6046     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6047     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6048
6049     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6050     HRESULT addPageRule(
6051         [in] BSTR bstrSelector,
6052         [in] BSTR bstrStyle,
6053         [defaultvalue(-1), in] LONG lIndex,
6054         [retval, out] LONG *plNewIndex);
6055 }
6056
6057 [
6058     hidden,
6059     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6060 ]
6061 dispinterface DispHTMLStyleSheet
6062 {
6063 properties:
6064 methods:
6065     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6066     void title(BSTR v);
6067
6068     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6069     BSTR title();
6070
6071     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6072     IHTMLStyleSheet* parentStyleSheet();
6073
6074     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6075     IHTMLElement* owningElement();
6076
6077     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6078     void disabled(VARIANT_BOOL v);
6079
6080     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6081     VARIANT_BOOL disabled();
6082
6083     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6084     VARIANT_BOOL readOnly();
6085
6086     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6087     IHTMLStyleSheetsCollection* imports();
6088
6089     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6090     void href(BSTR v);
6091
6092     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6093     BSTR href();
6094
6095     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6096     BSTR type();
6097
6098     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6099     BSTR id();
6100
6101     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6102     LONG addImport(
6103         [in] BSTR bstrURL,
6104         [defaultvalue(-1), in] LONG lIndex);
6105
6106     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6107     LONG addRule(
6108         [in] BSTR bstrSelector,
6109         [in] BSTR bstrStyle,
6110         [defaultvalue(-1), in] LONG lIndex);
6111
6112     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6113     void removeImport([in] LONG lIndex);
6114
6115     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6116     void removeRule([in] LONG lIndex);
6117
6118     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6119     void media(BSTR v);
6120
6121     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6122     BSTR media();
6123
6124     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6125     void cssText(BSTR v);
6126
6127     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6128     BSTR cssText();
6129
6130     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6131     IHTMLStyleSheetRulesCollection* rules();
6132
6133     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6134     IHTMLStyleSheetPagesCollection* pages();
6135
6136     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6137     LONG addPageRule(
6138         [in] BSTR bstrSelector,
6139         [in] BSTR bstrStyle,
6140         [defaultvalue(-1), in] LONG lIndex);
6141 }
6142
6143 [
6144     noncreatable,
6145     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6146 ]
6147 coclass HTMLStyleSheet
6148 {
6149     [default]           dispinterface DispHTMLStyleSheet;
6150                         interface IHTMLStyleSheet;
6151                         interface IHTMLStyleSheet2;
6152 }
6153
6154 /*****************************************************************************
6155  *    IHTMLStyleSheetsCollection interface
6156  */
6157 [
6158     odl,
6159     oleautomation,
6160     dual,
6161     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6162 ]
6163 interface IHTMLStyleSheetsCollection : IDispatch
6164 {
6165     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6166     HRESULT length([retval, out] LONG *p);
6167
6168     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6169     HRESULT _newEnum([retval, out] IUnknown **p);
6170
6171     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6172     HRESULT item(
6173         [in] VARIANT *pvarIndex,
6174         [retval, out] VARIANT *pvarResult);
6175 }
6176
6177 /*****************************************************************************
6178  *    IHTMLTxtRange interface
6179  */
6180 [
6181     odl,
6182     oleautomation,
6183     dual,
6184     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6185 ]
6186 interface IHTMLTxtRange : IDispatch
6187 {
6188     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6189     HRESULT htmlText([retval, out] BSTR *p);
6190
6191     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6192     HRESULT text([in] BSTR v);
6193
6194     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6195     HRESULT text([retval, out] BSTR *p);
6196
6197     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6198     HRESULT parentElement([retval, out] IHTMLElement **parent);
6199
6200     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6201     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6202
6203     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6204     HRESULT inRange(
6205         [in] IHTMLTxtRange *Range,
6206         [retval, out] VARIANT_BOOL *InRange);
6207
6208     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6209     HRESULT isEqual(
6210         [in] IHTMLTxtRange *Range,
6211         [retval, out] VARIANT_BOOL *IsEqual);
6212
6213     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6214     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6215
6216     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6217     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6218
6219     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6220     HRESULT expand(
6221         [in] BSTR Unit,
6222         [retval, out] VARIANT_BOOL *Success);
6223
6224     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6225     HRESULT move(
6226         [in] BSTR Unit,
6227         [defaultvalue(1), in] LONG Count,
6228         [retval, out] LONG *ActualCount);
6229
6230     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6231     HRESULT moveStart(
6232         [in] BSTR Unit,
6233         [defaultvalue(1), in] LONG Count,
6234         [retval, out] LONG *ActualCount);
6235
6236     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6237     HRESULT moveEnd(
6238         [in] BSTR Unit,
6239         [defaultvalue(1), in] LONG Count,
6240         [retval, out] LONG *ActualCount);
6241
6242     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6243     HRESULT select();
6244
6245     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6246     HRESULT pasteHTML([in] BSTR html);
6247
6248     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6249     HRESULT moveToElementText([in] IHTMLElement *element);
6250
6251     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6252     HRESULT setEndPoint(
6253         [in] BSTR how,
6254         [in] IHTMLTxtRange *SourceRange);
6255
6256     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6257     HRESULT compareEndPoints(
6258         [in] BSTR how,
6259         [in] IHTMLTxtRange *SourceRange,
6260         [retval, out] LONG *ret);
6261
6262     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6263     HRESULT findText(
6264         [in] BSTR String,
6265         [defaultvalue(1073741823), in] LONG count,
6266         [defaultvalue(0), in] LONG Flags,
6267         [retval, out] VARIANT_BOOL *Success);
6268
6269     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6270     HRESULT moveToPoint(
6271         [in] LONG x,
6272         [in] LONG y);
6273
6274     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6275     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6276
6277     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6278     HRESULT moveToBookmark(
6279         [in] BSTR Bookmark,
6280         [retval, out] VARIANT_BOOL *Success);
6281
6282     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6283     HRESULT queryCommandSupported(
6284         [in] BSTR cmdID,
6285         [retval, out] VARIANT_BOOL *pfRet);
6286
6287     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6288     HRESULT queryCommandEnabled(
6289         [in] BSTR cmdID,
6290         [retval, out] VARIANT_BOOL *pfRet);
6291
6292     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6293     HRESULT queryCommandState(
6294         [in] BSTR cmdID,
6295         [retval, out] VARIANT_BOOL *pfRet);
6296
6297     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6298     HRESULT queryCommandIndeterm(
6299         [in] BSTR cmdID,
6300         [retval, out] VARIANT_BOOL *pfRet);
6301
6302     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6303     HRESULT queryCommandText(
6304         [in] BSTR cmdID,
6305         [retval, out] BSTR *pcmdText);
6306
6307     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6308     HRESULT queryCommandValue(
6309         [in] BSTR cmdID,
6310         [retval, out] VARIANT *pcmdValue);
6311
6312     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6313     HRESULT execCommand(
6314         [in] BSTR cmdID,
6315         [defaultvalue(0), in] VARIANT_BOOL showUI,
6316         [optional, in] VARIANT value,
6317         [retval, out] VARIANT_BOOL *pfRet);
6318
6319     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6320     HRESULT execCommandShowHelp(
6321         [in] BSTR cmdID,
6322         [retval, out] VARIANT_BOOL *pfRet);
6323 }
6324
6325 [
6326     noncreatable,
6327     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6328 ]
6329 coclass HTMLStyleSheetsCollection
6330 {
6331     [default]           interface IHTMLStyleSheetsCollection;
6332 }
6333
6334 /*****************************************************************************
6335  *    IHTMLFormElement interface
6336  */
6337 [
6338     odl,
6339     oleautomation,
6340     dual,
6341     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6342 ]
6343 interface IHTMLFormElement : IDispatch
6344 {
6345     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6346     HRESULT action([in] BSTR v);
6347
6348     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6349     HRESULT action([retval, out] BSTR *p);
6350
6351     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6352     HRESULT dir([in] BSTR v);
6353
6354     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6355     HRESULT dir([retval, out] BSTR *p);
6356
6357     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6358     HRESULT encoding([in] BSTR v);
6359
6360     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6361     HRESULT encoding([retval, out] BSTR *p);
6362
6363     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6364     HRESULT method([in] BSTR v);
6365
6366     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6367     HRESULT method([retval, out] BSTR *p);
6368
6369     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6370     HRESULT elements([retval, out] IDispatch **p);
6371
6372     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6373     HRESULT target([in] BSTR v);
6374
6375     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6376     HRESULT target([retval, out] BSTR *p);
6377
6378     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6379     HRESULT name([in] BSTR v);
6380
6381     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6382     HRESULT name([retval, out] BSTR *p);
6383
6384     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6385     HRESULT onsubmit([in] VARIANT v);
6386
6387     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6388     HRESULT onsubmit([retval, out] VARIANT *p);
6389
6390     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6391     HRESULT onreset([in] VARIANT v);
6392
6393     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6394     HRESULT onreset([retval, out] VARIANT *p);
6395
6396     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6397     HRESULT submit();
6398
6399     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6400     HRESULT reset();
6401
6402     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6403     HRESULT length([in] LONG v);
6404
6405     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6406     HRESULT length([retval, out] LONG *p);
6407
6408     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6409     HRESULT _newEnum([retval, out] IUnknown **p);
6410
6411     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6412     HRESULT item(
6413         [optional, in] VARIANT name,
6414         [optional, in] VARIANT index,
6415         [retval, out] IDispatch **pdisp);
6416
6417     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6418     HRESULT tags(
6419         [in] VARIANT tagName,
6420         [retval, out] IDispatch **pdisp);
6421 }
6422
6423 /*****************************************************************************
6424  *    IHTMLTextContainer interface
6425  */
6426 [
6427     odl,
6428     oleautomation,
6429     dual,
6430     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
6431 ]
6432 interface IHTMLTextContainer : IDispatch
6433 {
6434     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
6435     HRESULT createControlRange([retval, out] IDispatch **range);
6436
6437     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
6438     HRESULT scrollHeight([retval, out] LONG *p);
6439
6440     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
6441     HRESULT scrollWidth([retval, out] LONG *p);
6442
6443     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6444     HRESULT scrollTop([in] LONG v);
6445
6446     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6447     HRESULT scrollTop([retval, out] LONG *p);
6448
6449     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6450     HRESULT scrollLeft([in] LONG v);
6451
6452     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6453     HRESULT scrollLeft([retval, out] LONG *p);
6454
6455     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6456     HRESULT onscroll([in] VARIANT v);
6457
6458     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6459     HRESULT onscroll([retval, out] VARIANT *p);
6460 }
6461
6462 /*****************************************************************************
6463  *    IHTMLImgElement interface
6464  */
6465 [
6466     odl,
6467     oleautomation,
6468     dual,
6469     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
6470 ]
6471 interface IHTMLImgElement : IDispatch
6472 {
6473     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6474     HRESULT isMap([in] VARIANT_BOOL v);
6475
6476     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6477     HRESULT isMap([retval, out] VARIANT_BOOL *p);
6478
6479     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6480     HRESULT useMap([in] BSTR v);
6481
6482     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6483     HRESULT useMap([retval, out] BSTR *p);
6484
6485     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6486     HRESULT mimeType([retval, out] BSTR *p);
6487
6488     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6489     HRESULT fileSize([retval, out] BSTR *p);
6490
6491     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6492     HRESULT fileCreatedDate([retval, out] BSTR *p);
6493
6494     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6495     HRESULT fileModifiedDate([retval, out] BSTR *p);
6496
6497     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6498     HRESULT fileUpdatedDate([retval, out] BSTR *p);
6499
6500     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6501     HRESULT protocol([retval, out] BSTR *p);
6502
6503     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6504     HRESULT href([retval, out] BSTR *p);
6505
6506     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6507     HRESULT nameProp([retval, out] BSTR *p);
6508
6509     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6510     HRESULT border([in] VARIANT v);
6511
6512     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6513     HRESULT border([retval, out] VARIANT *p);
6514
6515     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6516     HRESULT vspace([in] LONG v);
6517
6518     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6519     HRESULT vspace([retval, out] LONG *p);
6520
6521     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6522     HRESULT hspace([in] LONG v);
6523
6524     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6525     HRESULT hspace([retval, out] LONG *p);
6526
6527     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
6528     HRESULT alt([in] BSTR v);
6529
6530     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
6531     HRESULT alt([retval, out] BSTR *p);
6532
6533     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
6534     HRESULT src([in] BSTR v);
6535
6536     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
6537     HRESULT src([retval, out] BSTR *p);
6538
6539     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6540     HRESULT lowsrc([in] BSTR v);
6541
6542     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6543     HRESULT lowsrc([retval, out] BSTR *p);
6544
6545     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
6546     HRESULT vrml([in] BSTR v);
6547
6548     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
6549     HRESULT vrml([retval, out] BSTR *p);
6550
6551     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6552     HRESULT dynsrc([in] BSTR v);
6553
6554     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6555     HRESULT dynsrc([retval, out] BSTR *p);
6556
6557     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
6558     HRESULT readyState([retval, out] BSTR *p);
6559
6560     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6561     HRESULT complete([retval, out] VARIANT_BOOL *p);
6562
6563     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6564     HRESULT loop([in] VARIANT v);
6565
6566     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6567     HRESULT loop([retval, out] VARIANT *p);
6568
6569     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6570     HRESULT align([in] BSTR v);
6571
6572     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6573     HRESULT align([retval, out] BSTR *p);
6574
6575     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6576     HRESULT onload([in] VARIANT v);
6577
6578     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6579     HRESULT onload([retval, out] VARIANT *p);
6580
6581     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6582     HRESULT onerror([in] VARIANT v);
6583
6584     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6585     HRESULT onerror([retval, out] VARIANT *p);
6586
6587     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6588     HRESULT onabort([in] VARIANT v);
6589
6590     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6591     HRESULT onabort([retval, out] VARIANT *p);
6592
6593     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
6594     HRESULT name([in] BSTR v);
6595
6596     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
6597     HRESULT name([retval, out] BSTR *p);
6598
6599     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6600     HRESULT width([in] LONG v);
6601
6602     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6603     HRESULT width([retval, out] LONG *p);
6604
6605     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6606     HRESULT height([in] LONG v);
6607
6608     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6609     HRESULT height([retval, out] LONG *p);
6610
6611     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
6612     HRESULT start([in] BSTR v);
6613
6614     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
6615     HRESULT start([retval, out] BSTR *p);
6616 }
6617
6618 /*****************************************************************************
6619  *    IHTMLImageElementFactory interface
6620  */
6621 [
6622     odl,
6623     oleautomation,
6624     dual,
6625     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
6626 ]
6627 interface IHTMLImageElementFactory : IDispatch
6628 {
6629     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
6630     HRESULT create(
6631         [optional, in] VARIANT width,
6632         [optional, in] VARIANT height,
6633         [retval, out]  IHTMLImgElement **elem);
6634 }
6635
6636 /*****************************************************************************
6637  *    DispHTMLImg interface
6638  */
6639 [
6640     hidden,
6641     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
6642 ]
6643 dispinterface DispHTMLImg
6644 {
6645 properties:
6646 methods:
6647     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6648
6649     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6650     void isMap(VARIANT_BOOL v);
6651
6652     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6653     VARIANT_BOOL isMap();
6654
6655     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6656     void useMap(BSTR v);
6657
6658     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6659     BSTR useMap();
6660
6661     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6662     BSTR mimeType();
6663
6664     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6665     BSTR fileSize();
6666
6667     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6668     BSTR fileCreatedDate();
6669
6670     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6671     BSTR fileModifiedDate();
6672
6673     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6674     BSTR fileUpdatedDate();
6675
6676     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6677     BSTR protocol();
6678
6679     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6680     BSTR href();
6681
6682     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6683     BSTR nameProp();
6684
6685     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6686     void border(VARIANT v);
6687
6688     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6689     VARIANT border();
6690
6691     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6692     void vspace(LONG v);
6693
6694     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6695     LONG vspace();
6696
6697     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6698     void hspace(LONG v);
6699
6700     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6701     LONG hspace();
6702
6703     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6704     void alt(BSTR v);
6705
6706     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6707     BSTR alt();
6708
6709     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6710     void src(BSTR v);
6711
6712     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6713     BSTR src();
6714
6715     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6716     void lowsrc(BSTR v);
6717
6718     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6719     BSTR lowsrc();
6720
6721     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6722     void vrml(BSTR v);
6723
6724     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6725     BSTR vrml();
6726
6727     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6728     void dynsrc(BSTR v);
6729
6730     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6731     BSTR dynsrc();
6732
6733     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6734     VARIANT_BOOL complete();
6735
6736     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6737     void loop(VARIANT v);
6738
6739     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6740     VARIANT loop();
6741
6742     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6743     void align(BSTR v);
6744
6745     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6746     BSTR align();
6747
6748     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6749     void onload(VARIANT v);
6750
6751     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6752     VARIANT onload();
6753
6754     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6755     void onerror(VARIANT v);
6756
6757     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6758     VARIANT onerror();
6759
6760     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6761     void onabort(VARIANT v);
6762
6763     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6764     VARIANT onabort();
6765
6766     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6767     void name(BSTR v);
6768
6769     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6770     BSTR name();
6771
6772     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6773     void width(LONG v);
6774
6775     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6776     LONG width();
6777
6778     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6779     void height(LONG v);
6780
6781     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6782     LONG height();
6783
6784     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6785     void start(BSTR v);
6786
6787     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6788     BSTR start();
6789
6790     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6791     void longDesc(BSTR v);
6792
6793     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6794     BSTR longDesc();
6795 }
6796
6797 /*****************************************************************************
6798  *    IHTMLControlElement interface
6799  */
6800 [
6801     odl,
6802     oleautomation,
6803     dual,
6804     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6805 ]
6806 interface IHTMLControlElement : IDispatch
6807 {
6808     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6809     HRESULT tabIndex([in] short v);
6810
6811     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6812     HRESULT tabIndex([retval, out] short * p);
6813
6814     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6815     HRESULT focus();
6816
6817     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6818     HRESULT accessKey([in] BSTR v);
6819
6820     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6821     HRESULT accessKey([retval, out] BSTR * p);
6822
6823     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6824     HRESULT onblur([in] VARIANT v);
6825
6826     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6827     HRESULT onblur([retval, out] VARIANT * p);
6828
6829     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6830     HRESULT onfocus([in] VARIANT v);
6831
6832     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6833     HRESULT onfocus([retval, out] VARIANT * p);
6834
6835     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6836     HRESULT onresize([in] VARIANT v);
6837
6838     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6839     HRESULT onresize([retval, out] VARIANT * p);
6840
6841     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6842     HRESULT blur();
6843
6844     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6845     HRESULT addFilter([in] IUnknown* pUnk);
6846
6847     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6848     HRESULT removeFilter([in] IUnknown* pUnk);
6849
6850     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6851     HRESULT clientHeight([retval, out] LONG * p);
6852
6853     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6854     HRESULT clientWidth([retval, out] LONG * p);
6855
6856     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6857     HRESULT clientTop([retval, out] LONG * p);
6858
6859     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6860     HRESULT clientLeft([retval, out] LONG * p);
6861 };
6862
6863 /*****************************************************************************
6864  *    IHTMLBodyElement interface
6865  */
6866 [
6867     odl,
6868     oleautomation,
6869     dual,
6870     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
6871 ]
6872 interface IHTMLBodyElement : IDispatch
6873 {
6874     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6875     HRESULT background([in] BSTR v);
6876
6877     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6878     HRESULT background([retval, out] BSTR *p);
6879
6880     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6881     HRESULT bgProperties([in] BSTR v);
6882
6883     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6884     HRESULT bgProperties([retval, out] BSTR *p);
6885
6886     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6887     HRESULT leftMargin([in] VARIANT v);
6888
6889     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6890     HRESULT leftMargin([retval, out] VARIANT *p);
6891
6892     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6893     HRESULT topMargin([in] VARIANT v);
6894
6895     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6896     HRESULT topMargin([retval, out] VARIANT *p);
6897
6898     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6899     HRESULT rightMargin([in] VARIANT v);
6900
6901     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6902     HRESULT rightMargin([retval, out] VARIANT *p);
6903
6904     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6905     HRESULT bottomMargin([in] VARIANT v);
6906
6907     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6908     HRESULT bottomMargin([retval, out] VARIANT *p);
6909
6910     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6911     HRESULT noWrap([in] VARIANT_BOOL v);
6912
6913     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6914     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
6915
6916     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6917     HRESULT bgColor([in] VARIANT v);
6918
6919     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6920     HRESULT bgColor([retval, out] VARIANT *p);
6921
6922     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6923     HRESULT text([in] VARIANT v);
6924
6925     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6926     HRESULT text([retval, out] VARIANT *p);
6927
6928     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6929     HRESULT link([in] VARIANT v);
6930
6931     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6932     HRESULT link([retval, out] VARIANT *p);
6933
6934     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6935     HRESULT vLink([in] VARIANT v);
6936
6937     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6938     HRESULT vLink([retval, out] VARIANT *p);
6939
6940     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6941     HRESULT aLink([in] VARIANT v);
6942
6943     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6944     HRESULT aLink([retval, out] VARIANT *p);
6945
6946     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6947     HRESULT onload([in] VARIANT v);
6948
6949     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6950     HRESULT onload([retval, out] VARIANT *p);
6951
6952     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6953     HRESULT onunload([in] VARIANT v);
6954
6955     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6956     HRESULT onunload([retval, out] VARIANT *p);
6957
6958     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6959     HRESULT scroll([in] BSTR v);
6960
6961     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6962     HRESULT scroll([retval, out] BSTR *p);
6963
6964     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6965     HRESULT onselect([in] VARIANT v);
6966
6967     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6968     HRESULT onselect([retval, out] VARIANT *p);
6969
6970     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6971     HRESULT onbeforeunload([in] VARIANT v);
6972
6973     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6974     HRESULT onbeforeunload([retval, out] VARIANT *p);
6975
6976     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6977     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
6978 }
6979
6980 /*****************************************************************************
6981  *    IHTMLBodyElement2 interface
6982  */
6983 [
6984     odl,
6985     oleautomation,
6986     dual,
6987     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
6988 ]
6989 interface IHTMLBodyElement2 : IDispatch
6990 {
6991     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6992     HRESULT onbeforeprint([in] VARIANT v);
6993
6994     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6995     HRESULT onbeforeprint([retval, out] VARIANT *p);
6996
6997     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6998     HRESULT onafterprint([in] VARIANT v);
6999
7000     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7001     HRESULT onafterprint([retval, out] VARIANT *p);
7002 }
7003
7004 [
7005     hidden,
7006     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7007 ]
7008 dispinterface DispHTMLBody
7009 {
7010 properties:
7011 methods:
7012     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7013
7014     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7015     void background(BSTR v);
7016
7017     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7018     BSTR background();
7019
7020     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7021     void bgProperties(BSTR v);
7022
7023     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7024     BSTR bgProperties();
7025
7026     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7027     void leftMargin(VARIANT v);
7028
7029     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7030     VARIANT leftMargin();
7031
7032     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7033     void topMargin(VARIANT v);
7034
7035     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7036     VARIANT topMargin();
7037
7038     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7039     void rightMargin(VARIANT v);
7040
7041     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7042     VARIANT rightMargin();
7043
7044     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7045     void bottomMargin(VARIANT v);
7046
7047     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7048     VARIANT bottomMargin();
7049
7050     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7051     void noWrap(VARIANT_BOOL v);
7052
7053     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7054     VARIANT_BOOL noWrap();
7055
7056     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7057     void bgColor(VARIANT v);
7058
7059     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7060     VARIANT bgColor();
7061
7062     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7063     void text(VARIANT v);
7064
7065     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7066     VARIANT text();
7067
7068     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7069     void link(VARIANT v);
7070
7071     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7072     VARIANT link();
7073
7074     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7075     void vLink(VARIANT v);
7076
7077     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7078     VARIANT vLink();
7079
7080     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7081     void aLink(VARIANT v);
7082
7083     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7084     VARIANT aLink();
7085
7086     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7087     void onload(VARIANT v);
7088
7089     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7090     VARIANT onload();
7091
7092     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7093     void onunload(VARIANT v);
7094
7095     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7096     VARIANT onunload();
7097
7098     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7099     void scroll(BSTR v);
7100
7101     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7102     BSTR scroll();
7103
7104     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7105     void onselect(VARIANT v);
7106
7107     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7108     VARIANT onselect();
7109
7110     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7111     void onbeforeunload(VARIANT v);
7112
7113     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7114     VARIANT onbeforeunload();
7115
7116     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7117     IHTMLTxtRange* createTextRange();
7118
7119     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7120     void onbeforeprint(VARIANT v);
7121
7122     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7123     VARIANT onbeforeprint();
7124
7125     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7126     void onafterprint(VARIANT v);
7127
7128     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7129     VARIANT onafterprint();
7130 };
7131
7132 [
7133     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7134 ]
7135 coclass HTMLBody
7136 {
7137     [default]           dispinterface DispHTMLBody;
7138     [source, default]   dispinterface HTMLTextContainerEvents;
7139     [source]            dispinterface HTMLTextContainerEvents2;
7140                         interface IHTMLElement;
7141                         interface IHTMLElement2;
7142                         interface IHTMLElement3;
7143                         interface IHTMLElement4;
7144                         interface IHTMLUniqueName;
7145                         interface IHTMLDOMNode;
7146                         interface IHTMLDOMNode2;
7147                         interface IHTMLControlElement;
7148                         interface IHTMLTextContainer;
7149                         interface IHTMLBodyElement;
7150                         interface IHTMLBodyElement2;
7151 };
7152
7153 /*****************************************************************************
7154  *    IHTMLAnchorElement interface
7155  */
7156 [
7157     odl,
7158     oleautomation,
7159     dual,
7160     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7161 ]
7162 interface IHTMLAnchorElement : IDispatch
7163 {
7164     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7165     HRESULT href([in] BSTR v);
7166
7167     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7168     HRESULT href([retval, out] BSTR *p);
7169
7170     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7171     HRESULT target([in] BSTR v);
7172
7173     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7174     HRESULT target([retval, out] BSTR *p);
7175
7176     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7177     HRESULT rel([in] BSTR v);
7178
7179     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7180     HRESULT rel([retval, out] BSTR *p);
7181
7182     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7183     HRESULT rev([in] BSTR v);
7184
7185     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7186     HRESULT rev([retval, out] BSTR *p);
7187
7188     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7189     HRESULT urn([in] BSTR v);
7190
7191     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7192     HRESULT urn([retval, out] BSTR *p);
7193
7194     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7195     HRESULT Methods([in] BSTR v);
7196
7197     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7198     HRESULT Methods([retval, out] BSTR *p);
7199
7200     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7201     HRESULT name([in] BSTR v);
7202
7203     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7204     HRESULT name([retval, out] BSTR *p);
7205
7206     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7207     HRESULT host([in] BSTR v);
7208
7209     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7210     HRESULT host([retval, out] BSTR *p);
7211
7212     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7213     HRESULT hostname([in] BSTR v);
7214
7215     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7216     HRESULT hostname([retval, out] BSTR *p);
7217
7218     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7219     HRESULT pathname([in] BSTR v);
7220
7221     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7222     HRESULT pathname([retval, out] BSTR *p);
7223
7224     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7225     HRESULT port([in] BSTR v);
7226
7227     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7228     HRESULT port([retval, out] BSTR *p);
7229
7230     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7231     HRESULT protocol([in] BSTR v);
7232
7233     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7234     HRESULT protocol([retval, out] BSTR *p);
7235
7236     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7237     HRESULT search([in] BSTR v);
7238
7239     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7240     HRESULT search([retval, out] BSTR *p);
7241
7242     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7243     HRESULT hash([in] BSTR v);
7244
7245     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7246     HRESULT hash([retval, out] BSTR *p);
7247
7248     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7249     HRESULT onblur([in] VARIANT v);
7250
7251     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7252     HRESULT onblur([retval, out] VARIANT *p);
7253
7254     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7255     HRESULT onfocus([in] VARIANT v);
7256
7257     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7258     HRESULT onfocus([retval, out] VARIANT *p);
7259
7260     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7261     HRESULT accessKey([in] BSTR v);
7262
7263     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7264     HRESULT accessKey([retval, out] BSTR *p);
7265
7266     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7267     HRESULT protocolLong([retval, out] BSTR *p);
7268
7269     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7270     HRESULT mimeType([retval, out] BSTR *p);
7271
7272     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7273     HRESULT nameProp([retval, out] BSTR *p);
7274
7275     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7276     HRESULT tabIndex([in] short v);
7277
7278     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7279     HRESULT tabIndex([retval, out] short *p);
7280
7281     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7282     HRESULT focus();
7283
7284     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7285     HRESULT blur();
7286 }
7287
7288 /*****************************************************************************
7289  *    DispHTMLAnchorElement dispinterface
7290  */
7291 [
7292     hidden,
7293     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7294 ]
7295 dispinterface DispHTMLAnchorElement
7296 {
7297 properties:
7298 methods:
7299     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7300
7301     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7302     void href(BSTR v);
7303
7304     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7305     BSTR href();
7306
7307     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7308     void target(BSTR v);
7309
7310     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7311     BSTR target();
7312
7313     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7314     void rel(BSTR v);
7315
7316     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7317     BSTR rel();
7318
7319     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7320     void rev(BSTR v);
7321
7322     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7323     BSTR rev();
7324
7325     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7326     void urn(BSTR v);
7327
7328     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7329     BSTR urn();
7330
7331     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7332     void Methods(BSTR v);
7333
7334     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7335     BSTR Methods();
7336
7337     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7338     void name(BSTR v);
7339
7340     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7341     BSTR name();
7342
7343     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7344     void host(BSTR v);
7345
7346     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7347     BSTR host();
7348
7349     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7350     void hostname(BSTR v);
7351
7352     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7353     BSTR hostname();
7354
7355     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7356     void pathname(BSTR v);
7357
7358     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7359     BSTR pathname();
7360
7361     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7362     void port(BSTR v);
7363
7364     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7365     BSTR port();
7366
7367     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7368     void protocol(BSTR v);
7369
7370     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7371     BSTR protocol();
7372
7373     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7374     void search(BSTR v);
7375
7376     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7377     BSTR search();
7378
7379     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7380     void hash(BSTR v);
7381
7382     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7383     BSTR hash();
7384
7385     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7386     BSTR protocolLong();
7387
7388     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7389     BSTR mimeType();
7390
7391     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7392     BSTR nameProp();
7393
7394     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7395     void charset(BSTR v);
7396
7397     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7398     BSTR charset();
7399
7400     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7401     void coords(BSTR v);
7402
7403     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7404     BSTR coords();
7405
7406     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7407     void hreflang(BSTR v);
7408
7409     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7410     BSTR hreflang();
7411
7412     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7413     void shape(BSTR v);
7414
7415     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7416     BSTR shape();
7417
7418     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7419     void type(BSTR v);
7420
7421     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7422     BSTR type();
7423
7424     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7425     void ie8_shape(BSTR v);
7426
7427     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7428     BSTR ie8_shape();
7429
7430     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7431     void ie8_coords(BSTR v);
7432
7433     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7434     BSTR ie8_coords();
7435
7436     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7437     void ie8_href(BSTR v);
7438
7439     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7440     BSTR ie8_href();
7441 }
7442
7443 /*****************************************************************************
7444  *    IHTMLElementCollection interface
7445  */
7446 [
7447     odl,
7448     oleautomation,
7449     dual,
7450     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7451 ]
7452 interface IHTMLElementCollection : IDispatch
7453 {
7454     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7455     HRESULT toString([retval, out] BSTR *String);
7456
7457     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7458     HRESULT length([in] LONG v);
7459
7460     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7461     HRESULT length([retval, out] LONG *p);
7462
7463     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7464     HRESULT _newEnum([retval, out] IUnknown **p);
7465
7466     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7467     HRESULT item(
7468         [optional, in] VARIANT name,
7469         [optional, in] VARIANT index,
7470         [retval,  out] IDispatch **pdisp);
7471
7472     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7473     HRESULT tags(
7474         [in] VARIANT tagName,
7475         [retval, out] IDispatch **pdisp);
7476 }
7477
7478 /*****************************************************************************
7479  *    DispHTMLElementCollection dispinterface
7480  */
7481 [
7482     hidden,
7483     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7484 ]
7485 dispinterface DispHTMLElementCollection
7486 {
7487 properties:
7488 methods:
7489     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7490     BSTR toString();
7491
7492     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7493     void length(LONG v);
7494
7495     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7496     LONG length();
7497
7498     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
7499     IUnknown *_newEnum();
7500
7501     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7502     IDispatch *item(
7503             [in, optional] VARIANT name,
7504             [in, optional] VARIANT index);
7505
7506     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7507     IDispatch *tags(
7508             [in] VARIANT tagName);
7509
7510     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
7511     IDispatch *urns([in] VARIANT urn);
7512
7513     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
7514     IDispatch *namedItem([in] BSTR name);
7515 }
7516
7517 /*****************************************************************************
7518  *    IHTMLSelectElement interface
7519  */
7520 [
7521     odl,
7522     oleautomation,
7523     dual,
7524     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
7525 ]
7526 interface IHTMLSelectElement : IDispatch
7527 {
7528     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7529     HRESULT size([in] LONG v);
7530
7531     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7532     HRESULT size([retval, out] LONG *p);
7533
7534     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7535     HRESULT multiple([in] VARIANT_BOOL v);
7536
7537     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7538     HRESULT multiple([retval, out] VARIANT_BOOL *p);
7539
7540     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7541     HRESULT name([in] BSTR v);
7542
7543     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7544     HRESULT name([retval, out] BSTR *p);
7545
7546     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7547     HRESULT options([retval, out] IDispatch **p);
7548
7549     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7550     HRESULT onchange([in] VARIANT v);
7551
7552     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7553     HRESULT onchange([retval, out] VARIANT *p);
7554
7555     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7556     HRESULT selectedIndex([in] LONG v);
7557
7558     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7559     HRESULT selectedIndex([retval, out] LONG *p);
7560
7561     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7562     HRESULT type([retval, out] BSTR *p);
7563
7564     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7565     HRESULT value([in] BSTR v);
7566
7567     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7568     HRESULT value([retval, out] BSTR *p);
7569
7570     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7571     HRESULT disabled([in] VARIANT_BOOL v);
7572
7573     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7574     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7575
7576     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7577     HRESULT form([retval, out] IHTMLFormElement **p);
7578
7579     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7580     HRESULT add(
7581         [in] IHTMLElement *element,
7582         [optional, in] VARIANT before);
7583
7584     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7585     HRESULT remove([defaultvalue(-1), in] LONG index);
7586
7587     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7588     HRESULT length([in] LONG v);
7589
7590     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7591     HRESULT length([retval, out] LONG *p);
7592
7593     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7594     HRESULT _newEnum([retval, out] IUnknown **p);
7595
7596     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7597     HRESULT item(
7598         [optional, in] VARIANT name,
7599         [optional, in] VARIANT index,
7600         [retval, out] IDispatch **pdisp);
7601
7602     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7603     HRESULT tags(
7604         [in] VARIANT tagName,
7605         [retval, out] IDispatch **pdisp);
7606 }
7607
7608 /*****************************************************************************
7609  *    DispHTMLSelectElement dispinterface
7610  */
7611 [
7612     hidden,
7613     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
7614 ]
7615 dispinterface DispHTMLSelectElement
7616 {
7617 properties:
7618 methods:
7619     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7620
7621     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7622     void size(LONG v);
7623
7624     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7625     LONG size();
7626
7627     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7628     void multiple(VARIANT_BOOL v);
7629
7630     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7631     VARIANT_BOOL multiple();
7632
7633     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7634     void name(BSTR v);
7635
7636     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7637     BSTR name();
7638
7639     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7640     IDispatch *options();
7641
7642     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7643     void onchange(VARIANT v);
7644
7645     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7646     VARIANT onchange();
7647
7648     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7649     void selectedIndex(LONG v);
7650
7651     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7652     LONG selectedIndex();
7653
7654     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7655     BSTR type();
7656
7657     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7658     void value(BSTR v);
7659
7660     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7661     BSTR value();
7662
7663     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7664     IHTMLFormElement *form();
7665
7666     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7667     void add(
7668             [in] IHTMLElement *element,
7669             [in, optional] VARIANT before);
7670
7671     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7672     void remove([in, defaultvalue(-1)] LONG index);
7673
7674     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7675     void length(LONG v);
7676
7677     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7678     LONG length();
7679
7680     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7681     IUnknown *_newEnum();
7682
7683     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7684     IDispatch *item(
7685             [in, optional] VARIANT name,
7686             [in, optional] VARIANT index);
7687
7688     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7689     IDispatch *tags([in] VARIANT tagName);
7690
7691     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
7692     IDispatch *urns([in] VARIANT urn);
7693
7694     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
7695     IDispatch *namedItem([in] BSTR name);
7696 }
7697
7698 /*****************************************************************************
7699  *    IHTMLSelectionObject interface
7700  */
7701 [
7702     odl,
7703     oleautomation,
7704     dual,
7705     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
7706 ]
7707 interface IHTMLSelectionObject : IDispatch
7708 {
7709     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
7710     HRESULT createRange([retval, out] IDispatch **range);
7711
7712     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
7713     HRESULT empty();
7714
7715     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
7716     HRESULT clear();
7717
7718     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
7719     HRESULT type([retval, out] BSTR *p);
7720 }
7721
7722 /*****************************************************************************
7723  *    IHTMLOptionElement interface
7724  */
7725 [
7726     odl,
7727     oleautomation,
7728     dual,
7729     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
7730 ]
7731 interface IHTMLOptionElement : IDispatch
7732 {
7733     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7734     HRESULT selected([in] VARIANT_BOOL v);
7735
7736     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7737     HRESULT selected([retval, out] VARIANT_BOOL *p);
7738
7739     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7740     HRESULT value([in] BSTR v);
7741
7742     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7743     HRESULT value([retval, out] BSTR *p);
7744
7745     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7746     HRESULT defaultSelected([in] VARIANT_BOOL v);
7747
7748     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7749     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
7750
7751     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7752     HRESULT index([in] LONG v);
7753
7754     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7755     HRESULT index([retval, out] LONG *p);
7756
7757     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7758     HRESULT text([in] BSTR v);
7759
7760     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7761     HRESULT text([retval, out] BSTR *p);
7762
7763     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7764     HRESULT form([retval, out] IHTMLFormElement **p);
7765 }
7766
7767 [
7768     odl,
7769     oleautomation,
7770     dual,
7771     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
7772 ]
7773 interface IHTMLOptionElement3 : IDispatch
7774 {
7775     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7776     HRESULT label([in] BSTR v);
7777
7778     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7779     HRESULT label([retval, out] BSTR * p);
7780 }
7781
7782 /*****************************************************************************
7783  *    IHTMLOptionElementFactory interface
7784  */
7785 [
7786     odl,
7787     oleautomation,
7788     dual,
7789     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
7790 ]
7791 interface IHTMLOptionElementFactory : IDispatch
7792 {
7793     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
7794     HRESULT create(
7795         [optional, in] VARIANT text,
7796         [optional, in] VARIANT value,
7797         [optional, in] VARIANT defaultselected,
7798         [optional, in] VARIANT selected,
7799         [retval, out] IHTMLOptionElement **optelem);
7800 }
7801
7802 /*****************************************************************************
7803  *    DispHTMLOptionElement dispinterface
7804  */
7805 [
7806     hidden,
7807     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
7808 ]
7809 dispinterface DispHTMLOptionElement
7810 {
7811 properties:
7812 methods:
7813     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7814
7815     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7816     void selected(VARIANT_BOOL v);
7817
7818     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7819     VARIANT_BOOL selected();
7820
7821     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7822     void value(BSTR v);
7823
7824     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7825     BSTR value();
7826
7827     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7828     void defaultSelected(VARIANT_BOOL v);
7829
7830     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7831     VARIANT_BOOL defaultSelected();
7832
7833     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7834     void index(LONG v);
7835
7836     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7837     LONG index();
7838
7839     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7840     void text(BSTR v);
7841
7842     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7843     BSTR text();
7844
7845     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7846     IHTMLFormElement *form();
7847
7848     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7849     void label(BSTR v);
7850
7851     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7852     BSTR label();
7853 }
7854
7855 [
7856     noncreatable,
7857     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
7858 ]
7859 coclass HTMLOptionElement
7860 {
7861     [default]           dispinterface DispHTMLOptionElement;
7862     [source, default]   dispinterface HTMLElementEvents;
7863     [source]            dispinterface HTMLElementEvents2;
7864                         interface IHTMLElement;
7865                         interface IHTMLElement2;
7866                         interface IHTMLElement3;
7867                         interface IHTMLElement4;
7868                         interface IHTMLUniqueName;
7869                         interface IHTMLDOMNode;
7870                         interface IHTMLDOMNode2;
7871                         interface IHTMLDatabinding;
7872                         interface IHTMLOptionElement;
7873                         interface IHTMLOptionElement3;
7874 }
7875
7876 /*****************************************************************************
7877  *    IHTMLInputElement interface
7878  */
7879 [
7880     odl,
7881     oleautomation,
7882     dual,
7883     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
7884 ]
7885 interface IHTMLInputElement : IDispatch
7886 {
7887     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7888     HRESULT type([in] BSTR v);
7889
7890     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7891     HRESULT type([retval, out] BSTR *p);
7892
7893     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7894     HRESULT value([in] BSTR v);
7895
7896     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7897     HRESULT value([retval, out] BSTR *p);
7898
7899     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7900     HRESULT name([in] BSTR v);
7901
7902     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7903     HRESULT name([retval, out] BSTR *p);
7904
7905     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7906     HRESULT status([in] VARIANT_BOOL v);
7907
7908     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7909     HRESULT status([retval, out] VARIANT_BOOL *p);
7910
7911     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7912     HRESULT disabled([in] VARIANT_BOOL v);
7913
7914     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7915     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7916
7917     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
7918     HRESULT form([retval, out] IHTMLFormElement **p);
7919
7920     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7921     HRESULT size([in] LONG v);
7922
7923     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7924     HRESULT size([retval, out] LONG *p);
7925
7926     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7927     HRESULT maxLength([in] LONG v);
7928
7929     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7930     HRESULT maxLength([retval, out] LONG *p);
7931
7932     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
7933     HRESULT select();
7934
7935     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7936     HRESULT onchange([in] VARIANT v);
7937
7938     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7939     HRESULT onchange([retval, out] VARIANT *p);
7940
7941     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7942     HRESULT onselect([in] VARIANT v);
7943
7944     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7945     HRESULT onselect([retval, out] VARIANT *p);
7946
7947     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7948     HRESULT defaultValue([in] BSTR v);
7949
7950     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7951     HRESULT defaultValue([retval, out] BSTR *p);
7952
7953     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7954     HRESULT readOnly([in] VARIANT_BOOL v);
7955
7956     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7957     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
7958
7959     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
7960     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7961
7962     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7963     HRESULT indeterminate([in] VARIANT_BOOL v);
7964
7965     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7966     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
7967
7968     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
7969     HRESULT defaultChecked([in] VARIANT_BOOL v);
7970
7971     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
7972     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
7973
7974     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
7975     HRESULT checked([in] VARIANT_BOOL v);
7976
7977     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
7978     HRESULT checked([retval, out] VARIANT_BOOL *p);
7979
7980     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
7981     HRESULT border([in] VARIANT v);
7982
7983     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
7984     HRESULT border([retval, out] VARIANT *p);
7985
7986     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
7987     HRESULT vspace([in] LONG v);
7988
7989     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
7990     HRESULT vspace([retval, out] LONG *p);
7991
7992     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
7993     HRESULT hspace([in] LONG v);
7994
7995     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
7996     HRESULT hspace([retval, out] LONG *p);
7997
7998     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
7999     HRESULT alt([in] BSTR v);
8000
8001     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8002     HRESULT alt([retval, out] BSTR *p);
8003
8004     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8005     HRESULT src([in] BSTR v);
8006
8007     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8008     HRESULT src([retval, out] BSTR *p);
8009
8010     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8011     HRESULT lowsrc([in] BSTR v);
8012
8013     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8014     HRESULT lowsrc([retval, out] BSTR *p);
8015
8016     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8017     HRESULT vrml([in] BSTR v);
8018
8019     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8020     HRESULT vrml([retval, out] BSTR *p);
8021
8022     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8023     HRESULT dynsrc([in] BSTR v);
8024
8025     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8026     HRESULT dynsrc([retval, out] BSTR *p);
8027
8028     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8029     HRESULT readyState([retval, out] BSTR *p);
8030
8031     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8032     HRESULT complete([retval, out] VARIANT_BOOL *p);
8033
8034     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8035     HRESULT loop([in] VARIANT v);
8036
8037     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8038     HRESULT loop([retval, out] VARIANT *p);
8039
8040     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8041     HRESULT align([in] BSTR v);
8042
8043     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8044     HRESULT align([retval, out] BSTR *p);
8045
8046     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8047     HRESULT onload([in] VARIANT v);
8048
8049     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8050     HRESULT onload([retval, out] VARIANT *p);
8051
8052     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8053     HRESULT onerror([in] VARIANT v);
8054
8055     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8056     HRESULT onerror([retval, out] VARIANT *p);
8057
8058     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8059     HRESULT onabort([in] VARIANT v);
8060
8061     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8062     HRESULT onabort([retval, out] VARIANT *p);
8063
8064     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8065     HRESULT width([in] LONG v);
8066
8067     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8068     HRESULT width([retval, out] LONG *p);
8069
8070     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8071     HRESULT height([in] LONG v);
8072
8073     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8074     HRESULT height([retval, out] LONG *p);
8075
8076     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8077     HRESULT start([in] BSTR v);
8078
8079     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8080     HRESULT start([retval, out] BSTR *p);
8081 }
8082
8083 /*****************************************************************************
8084  *    IHTMLInputTextElement interface
8085  */
8086 [
8087     odl,
8088     oleautomation,
8089     dual,
8090     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8091 ]
8092 interface IHTMLInputTextElement : IDispatch
8093 {
8094     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8095     HRESULT type([retval, out] BSTR *p);
8096
8097     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8098     HRESULT value([in] BSTR v);
8099
8100     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8101     HRESULT value([retval, out] BSTR *p);
8102
8103     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8104     HRESULT name([in] BSTR v);
8105
8106     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8107     HRESULT name([retval, out] BSTR *p);
8108
8109     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8110     HRESULT status([in] VARIANT v);
8111
8112     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8113     HRESULT status([retval, out] VARIANT *p);
8114
8115     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8116     HRESULT disabled([in] VARIANT_BOOL v);
8117
8118     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8119     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8120
8121     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8122     HRESULT form([retval, out] IHTMLFormElement **p);
8123
8124     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8125     HRESULT defaultValue([in] BSTR v);
8126
8127     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8128     HRESULT defaultValue([retval, out] BSTR *p);
8129
8130     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8131     HRESULT size([in] LONG v);
8132
8133     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8134     HRESULT size([retval, out] LONG *p);
8135
8136     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8137     HRESULT maxLength([in] LONG v);
8138
8139     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8140     HRESULT maxLength([retval, out] LONG *p);
8141
8142     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8143     HRESULT select();
8144
8145     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8146     HRESULT onchange([in] VARIANT v);
8147
8148     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8149     HRESULT onchange([retval, out] VARIANT *p);
8150
8151     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8152     HRESULT onselect([in] VARIANT v);
8153
8154     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8155     HRESULT onselect([retval, out] VARIANT *p);
8156
8157     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8158     HRESULT readOnly([in] VARIANT_BOOL v);
8159
8160     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8161     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8162
8163     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8164     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8165 }
8166
8167 [
8168     hidden,
8169     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8170 ]
8171 dispinterface DispHTMLInputElement
8172 {
8173 properties:
8174 methods:
8175     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8176
8177     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8178     void type(BSTR v);
8179
8180     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8181     BSTR type();
8182
8183     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8184     void value(BSTR v);
8185
8186     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8187     BSTR value();
8188
8189     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8190     void name(BSTR v);
8191
8192     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8193     BSTR name();
8194
8195     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8196     void status(VARIANT_BOOL v);
8197
8198     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8199     VARIANT_BOOL status();
8200
8201     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8202     IHTMLFormElement *form();
8203
8204     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8205     void size(LONG v);
8206
8207     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8208     LONG size();
8209
8210     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8211     void maxLength(LONG v);
8212
8213     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8214     LONG maxLength();
8215
8216     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8217     void select();
8218
8219     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8220     void onchange(VARIANT v);
8221
8222     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8223     VARIANT onchange();
8224
8225     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8226     void onselect(VARIANT v);
8227
8228     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8229     VARIANT onselect();
8230
8231     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8232     void defaultValue(BSTR v);
8233
8234     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8235     BSTR defaultValue();
8236
8237     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8238     void readOnly(VARIANT_BOOL v);
8239
8240     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8241     VARIANT_BOOL readOnly();
8242
8243     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8244     IHTMLTxtRange *createTextRange();
8245
8246     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8247     void indeterminate(VARIANT_BOOL v);
8248
8249     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8250     VARIANT_BOOL indeterminate();
8251
8252     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8253     void defaultChecked(VARIANT_BOOL v);
8254
8255     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8256     VARIANT_BOOL defaultChecked();
8257
8258     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8259     void checked(VARIANT_BOOL v);
8260
8261     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8262     VARIANT_BOOL checked();
8263
8264     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8265     void border(VARIANT v);
8266
8267     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8268     VARIANT border();
8269
8270     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8271     void vspace(LONG v);
8272
8273     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8274     LONG vspace();
8275
8276     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8277     void hspace(LONG v);
8278
8279     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8280     LONG hspace();
8281
8282     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8283     void alt(BSTR v);
8284
8285     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8286     BSTR alt();
8287
8288     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8289     void src(BSTR v);
8290
8291     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8292     BSTR src();
8293
8294     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8295     void lowsrc(BSTR v);
8296
8297     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8298     BSTR lowsrc();
8299
8300     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8301     void vrml(BSTR v);
8302
8303     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8304     BSTR vrml();
8305
8306     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8307     void dynsrc(BSTR v);
8308
8309     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8310     BSTR dynsrc();
8311
8312     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8313     VARIANT_BOOL complete();
8314
8315     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8316     void loop(VARIANT v);
8317
8318     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8319     VARIANT loop();
8320
8321     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8322     void align(BSTR v);
8323
8324     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8325     BSTR align();
8326
8327     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8328     void onload(VARIANT v);
8329
8330     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8331     VARIANT onload();
8332
8333     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8334     void onerror(VARIANT v);
8335
8336     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8337     VARIANT onerror();
8338
8339     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8340     void onabort(VARIANT v);
8341
8342     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8343     VARIANT onabort();
8344
8345     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8346     void width(LONG v);
8347
8348     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8349     LONG width();
8350
8351     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8352     void height(LONG v);
8353
8354     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8355     LONG height();
8356
8357     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8358     void start(BSTR v);
8359
8360     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8361     BSTR start();
8362
8363     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8364     void accept(BSTR v);
8365
8366     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8367     BSTR accept();
8368
8369     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8370     void useMap(BSTR v);
8371
8372     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8373     BSTR useMap();
8374 }
8375
8376 /*****************************************************************************
8377  *    IHTMLTextAreaElement interface
8378  */
8379 [
8380     odl,
8381     oleautomation,
8382     dual,
8383     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
8384 ]
8385 interface IHTMLTextAreaElement : IDispatch
8386 {
8387     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8388     HRESULT type([retval, out] BSTR *p);
8389
8390     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8391     HRESULT value([in] BSTR v);
8392
8393     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8394     HRESULT value([retval, out] BSTR *p);
8395
8396     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8397     HRESULT name([in] BSTR v);
8398
8399     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8400     HRESULT name([retval, out] BSTR *p);
8401
8402     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8403     HRESULT status([in] VARIANT v);
8404
8405     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8406     HRESULT status([retval, out] VARIANT *p);
8407
8408     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8409     HRESULT disabled([in] VARIANT_BOOL v);
8410
8411     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8412     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8413
8414     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
8415     HRESULT form([retval, out] IHTMLFormElement **p);
8416
8417     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8418     HRESULT defaultValue([in] BSTR v);
8419
8420     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8421     HRESULT defaultValue([retval, out] BSTR *p);
8422
8423     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
8424     HRESULT select();
8425
8426     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8427     HRESULT onchange([in] VARIANT v);
8428
8429     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8430     HRESULT onchange([retval, out] VARIANT *p);
8431
8432     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8433     HRESULT onselect([in] VARIANT v);
8434
8435     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8436     HRESULT onselect([retval, out] VARIANT *p);
8437
8438     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8439     HRESULT readOnly([in] VARIANT_BOOL v);
8440
8441     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8442     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8443
8444     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8445     HRESULT rows([in] LONG v);
8446
8447     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8448     HRESULT rows([retval, out] LONG *p);
8449
8450     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8451     HRESULT cols([in] LONG v);
8452
8453     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8454     HRESULT cols([retval, out] LONG *p);
8455
8456     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8457     HRESULT wrap([in] BSTR v);
8458
8459     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8460     HRESULT wrap([retval, out] BSTR *p);
8461
8462     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
8463     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8464 }
8465
8466 /*****************************************************************************
8467  *    DispHTMLUnknownElement interface
8468  */
8469 [
8470     hidden,
8471     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
8472 ]
8473 dispinterface DispHTMLUnknownElement
8474 {
8475 properties:
8476 methods:
8477     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
8478 }
8479
8480 /*****************************************************************************
8481  *    IOmHistory interface
8482  */
8483 [
8484     odl,
8485     oleautomation,
8486     dual,
8487     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
8488 ]
8489 interface IOmHistory : IDispatch
8490 {
8491     [propget, id(DISPID_IOMHISTORY_LENGTH)]
8492     HRESULT length([retval, out] short *p);
8493
8494     [id(DISPID_IOMHISTORY_BACK)]
8495     HRESULT back([optional, in] VARIANT *pvargdistance);
8496
8497     [id(DISPID_IOMHISTORY_FORWARD)]
8498     HRESULT forward([optional, in] VARIANT *pvargdistance);
8499
8500     [id(DISPID_IOMHISTORY_GO)]
8501     HRESULT go([optional, in] VARIANT *pvargdistance);
8502 }
8503
8504 [
8505     noncreatable,
8506     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
8507 ]
8508 coclass HTMLHistory
8509 {
8510     [default]           interface IOmHistory;
8511 }
8512
8513 /*****************************************************************************
8514  *    IHTMLMimeTypesCollection interface
8515  */
8516 [
8517     odl,
8518     oleautomation,
8519     dual,
8520     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
8521 ]
8522 interface IHTMLMimeTypesCollection : IDispatch
8523 {
8524     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
8525     HRESULT length([retval, out] LONG *p);
8526 }
8527
8528 [
8529     noncreatable,
8530     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
8531 ]
8532 coclass CMimeTypes
8533 {
8534     [default]           interface IHTMLMimeTypesCollection;
8535 }
8536
8537 /*****************************************************************************
8538  *    IHTMLPluginsCollection interface
8539  */
8540 [
8541     odl,
8542     oleautomation,
8543     dual,
8544     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
8545 ]
8546 interface IHTMLPluginsCollection : IDispatch
8547 {
8548     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
8549     HRESULT length([retval, out] LONG *p);
8550
8551     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
8552     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
8553 }
8554
8555 [
8556     noncreatable,
8557     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
8558 ]
8559 coclass CPlugins
8560 {
8561     [default]           interface IHTMLPluginsCollection;
8562 }
8563
8564 /*****************************************************************************
8565  *    IHTMLOpsProfile interface
8566  */
8567 [
8568     odl,
8569     oleautomation,
8570     dual,
8571     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
8572 ]
8573 interface IHTMLOpsProfile : IDispatch
8574 {
8575     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
8576     HRESULT addRequest(
8577         [in] BSTR name,
8578         [optional, in] VARIANT reserved,
8579         [retval, out] VARIANT_BOOL *success);
8580
8581     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
8582     HRESULT clearRequest();
8583
8584     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
8585     HRESULT doRequest(
8586         [in] VARIANT usage,
8587         [optional, in] VARIANT fname,
8588         [optional, in] VARIANT domain,
8589         [optional, in] VARIANT path,
8590         [optional, in] VARIANT expire,
8591         [optional, in] VARIANT reserved);
8592
8593     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
8594     HRESULT getAttribute(
8595         [in] BSTR name,
8596         [retval, out] BSTR *value);
8597
8598     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
8599     HRESULT setAttribute(
8600         [in] BSTR name,
8601         [in] BSTR value,
8602         [optional, in] VARIANT prefs,
8603         [retval, out] VARIANT_BOOL *success);
8604
8605     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
8606     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
8607
8608     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
8609     HRESULT addReadRequest(
8610         [in] BSTR name,
8611         [optional, in] VARIANT reserved,
8612         [retval, out] VARIANT_BOOL *success);
8613
8614     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
8615     HRESULT doReadRequest(
8616         [in] VARIANT usage,
8617         [optional, in] VARIANT fname,
8618         [optional, in] VARIANT domain,
8619         [optional, in] VARIANT path,
8620         [optional, in] VARIANT expire,
8621         [optional, in] VARIANT reserved);
8622
8623     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
8624     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
8625 }
8626
8627 [
8628     noncreatable,
8629     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
8630 ]
8631 coclass COpsProfile
8632 {
8633     [default]           interface IHTMLOpsProfile;
8634 }
8635
8636 /*****************************************************************************
8637  *    IOmNavigator interface
8638  */
8639 [
8640     odl,
8641     oleautomation,
8642     dual,
8643     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
8644 ]
8645 interface IOmNavigator : IDispatch
8646 {
8647     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
8648     HRESULT appCodeName([retval, out] BSTR *p);
8649
8650     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
8651     HRESULT appName([retval, out] BSTR *p);
8652
8653     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
8654     HRESULT appVersion([retval, out] BSTR *p);
8655
8656     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
8657     HRESULT userAgent([retval, out] BSTR *p);
8658
8659     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
8660     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
8661
8662     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
8663     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
8664
8665     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
8666     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
8667
8668     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
8669     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
8670
8671     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
8672     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
8673
8674     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
8675     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
8676
8677     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
8678     HRESULT toString([retval, out] BSTR *String);
8679
8680     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
8681     HRESULT cpuClass([retval, out] BSTR *p);
8682
8683     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
8684     HRESULT systemLanguage([retval, out] BSTR *p);
8685
8686     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
8687     HRESULT browserLanguage([retval, out] BSTR *p);
8688
8689     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
8690     HRESULT userLanguage([retval, out] BSTR *p);
8691
8692     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
8693     HRESULT platform([retval, out] BSTR *p);
8694
8695     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
8696     HRESULT appMinorVersion([retval, out] BSTR *p);
8697
8698     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
8699     HRESULT connectionSpeed([retval, out] LONG *p);
8700
8701     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
8702     HRESULT onLine([retval, out] VARIANT_BOOL *p);
8703
8704     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
8705     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
8706 }
8707
8708 /*****************************************************************************
8709  *    DispHTMLNavigator dispinterface
8710  */
8711 [
8712     hidden,
8713     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
8714 ]
8715 dispinterface DispHTMLNavigator
8716 {
8717 properties:
8718 methods:
8719     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
8720     BSTR appCodeName();
8721
8722     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
8723     BSTR appName();
8724
8725     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
8726     BSTR appVersion();
8727
8728     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
8729     BSTR userAgent();
8730
8731     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
8732     VARIANT_BOOL javaEnabled();
8733
8734     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
8735     VARIANT_BOOL taintEnabled();
8736
8737     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
8738     IHTMLMimeTypesCollection *mimeTypes();
8739
8740     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
8741     IHTMLPluginsCollection *plugins();
8742
8743     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
8744     VARIANT_BOOL cookieEnabled();
8745
8746     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
8747     IHTMLOpsProfile *opsProfile();
8748
8749     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
8750     BSTR toString();
8751
8752     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
8753     BSTR cpuClass();
8754
8755     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
8756     BSTR systemLanguage();
8757
8758     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
8759     BSTR browserLanguage();
8760
8761     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
8762     BSTR userLanguage();
8763
8764     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
8765     BSTR platform();
8766
8767     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
8768     BSTR appMinorVersion();
8769
8770     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
8771     LONG connectionSpeed();
8772
8773     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
8774     VARIANT_BOOL onLine();
8775
8776     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
8777     IHTMLOpsProfile *userProfile();
8778
8779     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
8780 }
8781
8782 [
8783     noncreatable,
8784     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
8785 ]
8786 coclass HTMLNavigator
8787 {
8788     [default]  dispinterface DispHTMLNavigator;
8789                interface IOmNavigator;
8790 }
8791
8792 /*****************************************************************************
8793  *    IHTMLLocation interface
8794  */
8795 [
8796     odl,
8797     oleautomation,
8798     dual,
8799     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
8800 ]
8801 interface IHTMLLocation : IDispatch
8802 {
8803     [propput, id(DISPID_IHTMLLOCATION_HREF)]
8804     HRESULT href([in] BSTR v);
8805
8806     [propget, id(DISPID_IHTMLLOCATION_HREF)]
8807     HRESULT href([retval, out] BSTR *p);
8808
8809     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8810     HRESULT protocol([in] BSTR v);
8811
8812     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8813     HRESULT protocol([retval, out] BSTR *p);
8814
8815     [propput, id(DISPID_IHTMLLOCATION_HOST)]
8816     HRESULT host([in] BSTR v);
8817
8818     [propget, id(DISPID_IHTMLLOCATION_HOST)]
8819     HRESULT host([retval, out] BSTR *p);
8820
8821     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8822     HRESULT hostname([in] BSTR v);
8823
8824     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8825     HRESULT hostname([retval, out] BSTR *p);
8826
8827     [propput, id(DISPID_IHTMLLOCATION_PORT)]
8828     HRESULT port([in] BSTR v);
8829
8830     [propget, id(DISPID_IHTMLLOCATION_PORT)]
8831     HRESULT port([retval, out] BSTR *p);
8832
8833     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
8834     HRESULT pathname([in] BSTR v);
8835
8836     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
8837     HRESULT pathname([retval, out] BSTR *p);
8838
8839     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
8840     HRESULT search([in] BSTR v);
8841
8842     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
8843     HRESULT search([retval, out] BSTR *p);
8844
8845     [propput, id(DISPID_IHTMLLOCATION_HASH)]
8846     HRESULT hash([in] BSTR v);
8847
8848     [propget, id(DISPID_IHTMLLOCATION_HASH)]
8849     HRESULT hash([retval, out] BSTR *p);
8850
8851     [id(DISPID_IHTMLLOCATION_RELOAD)]
8852     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
8853
8854     [id(DISPID_IHTMLLOCATION_REPLACE)]
8855     HRESULT replace([in] BSTR bstr);
8856
8857     [id(DISPID_IHTMLLOCATION_ASSIGN)]
8858     HRESULT assign([in] BSTR bstr);
8859
8860     [id(DISPID_IHTMLLOCATION_TOSTRING)]
8861     HRESULT toString([retval, out] BSTR *String);
8862 }
8863
8864 /*****************************************************************************
8865  *    DispHTMLLocation dispinterface
8866  */
8867 [
8868     hidden,
8869     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
8870 ]
8871 dispinterface DispHTMLLocation
8872 {
8873 properties:
8874 methods:
8875     [propput, id(DISPID_IHTMLLOCATION_HREF)]
8876     void href(BSTR v);
8877
8878     [propget, id(DISPID_IHTMLLOCATION_HREF)]
8879     BSTR href();
8880
8881     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8882     void protocol(BSTR v);
8883
8884     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8885     BSTR protocol();
8886
8887     [propput, id(DISPID_IHTMLLOCATION_HOST)]
8888     void host(BSTR v);
8889
8890     [propget, id(DISPID_IHTMLLOCATION_HOST)]
8891     BSTR host();
8892
8893     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8894     void hostname(BSTR v);
8895
8896     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8897     BSTR hostname();
8898
8899     [propput, id(DISPID_IHTMLLOCATION_PORT)]
8900     void port(BSTR v);
8901
8902     [propget, id(DISPID_IHTMLLOCATION_PORT)]
8903     BSTR port();
8904
8905     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
8906     void pathname(BSTR v);
8907
8908     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
8909     BSTR pathname();
8910
8911     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
8912     void search(BSTR v);
8913
8914     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
8915     BSTR search();
8916
8917     [propput, id(DISPID_IHTMLLOCATION_HASH)]
8918     void hash(BSTR v);
8919
8920     [propget, id(DISPID_IHTMLLOCATION_HASH)]
8921     BSTR hash();
8922
8923     [id(DISPID_IHTMLLOCATION_RELOAD)]
8924     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
8925
8926     [id(DISPID_IHTMLLOCATION_REPLACE)]
8927     void replace([in] BSTR bstr);
8928
8929     [id(DISPID_IHTMLLOCATION_ASSIGN)]
8930     void assign([in] BSTR bstr);
8931
8932     [id(DISPID_IHTMLLOCATION_TOSTRING)]
8933     BSTR toString();
8934
8935     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
8936 }
8937
8938 [
8939     noncreatable,
8940     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
8941 ]
8942 coclass HTMLLocation
8943 {
8944     [default]  dispinterface DispHTMLLocation;
8945                interface IHTMLLocation;
8946 }
8947
8948 [
8949     odl,
8950     oleautomation,
8951     dual,
8952     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
8953 ]
8954 interface IHTMLBookmarkCollection : IDispatch
8955 {
8956     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
8957     HRESULT length([out, retval] LONG *p);
8958
8959     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
8960     HRESULT _newEnum([out, retval] IUnknown **p);
8961
8962     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
8963     HRESULT item(
8964             [in] LONG index,
8965             [out, retval] VARIANT *pVarBookmark);
8966 }
8967
8968 /*****************************************************************************
8969  *    IHTMLDataTransfer interface
8970  */
8971 [
8972     odl,
8973     oleautomation,
8974     dual,
8975     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
8976 ]
8977 interface IHTMLDataTransfer : IDispatch
8978 {
8979     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
8980     HRESULT setData(
8981             [in] BSTR format,
8982             [in] VARIANT *data,
8983             [out, retval] VARIANT_BOOL *pret);
8984
8985     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
8986     HRESULT getData(
8987             [in] BSTR format,
8988             [out, retval] VARIANT *pvarRet);
8989
8990     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
8991     HRESULT clearData(
8992             [in] BSTR format,
8993             [out, retval] VARIANT_BOOL *pret);
8994
8995     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
8996     HRESULT dropEffect([in] BSTR v);
8997
8998     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
8999     HRESULT dropEffect([out, retval] BSTR *p);
9000
9001     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9002     HRESULT effectAllowed([in] BSTR v);
9003
9004     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9005     HRESULT effectAllowed([out, retval] BSTR *p);
9006 }
9007
9008 /*****************************************************************************
9009  *    IHTMLEventObj interface
9010  */
9011 [
9012     odl,
9013     oleautomation,
9014     dual,
9015     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9016 ]
9017 interface IHTMLEventObj : IDispatch
9018 {
9019     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9020     HRESULT srcElement([retval, out] IHTMLElement **p);
9021
9022     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9023     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9024
9025     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9026     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9027
9028     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9029     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9030
9031     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9032     HRESULT returnValue([in] VARIANT v);
9033
9034     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9035     HRESULT returnValue([retval, out] VARIANT *p);
9036
9037     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9038     HRESULT cancelBubble([in] VARIANT_BOOL v);
9039
9040     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9041     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9042
9043     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9044     HRESULT fromElement([retval, out] IHTMLElement **p);
9045
9046     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9047     HRESULT toElement([retval, out] IHTMLElement **p);
9048
9049     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9050     HRESULT keyCode([in] LONG v);
9051
9052     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9053     HRESULT keyCode([retval, out] LONG *p);
9054
9055     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9056     HRESULT button([retval, out] LONG *p);
9057
9058     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9059     HRESULT type([retval, out] BSTR *p);
9060
9061     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9062     HRESULT qualifier([retval, out] BSTR *p);
9063
9064     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9065     HRESULT reason([retval, out] LONG *p);
9066
9067     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9068     HRESULT x([retval, out] LONG *p);
9069
9070     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9071     HRESULT y([retval, out] LONG *p);
9072
9073     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9074     HRESULT clientX([retval, out] LONG *p);
9075
9076     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9077     HRESULT clientY([retval, out] LONG *p);
9078
9079     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9080     HRESULT offsetX([retval, out] LONG *p);
9081
9082     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9083     HRESULT offsetY([retval, out] LONG *p);
9084
9085     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9086     HRESULT screenX([retval, out] LONG *p);
9087
9088     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9089     HRESULT screenY([retval, out] LONG *p);
9090
9091     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9092     HRESULT srcFilter([retval, out] IDispatch **p);
9093 }
9094
9095 /*****************************************************************************
9096  *    DispCEventObj dispinterface
9097  */
9098 [
9099     hidden,
9100     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9101 ]
9102 dispinterface DispCEventObj
9103 {
9104 properties:
9105 methods:
9106     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9107     void returnValue(VARIANT v);
9108
9109     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9110     VARIANT returnValue();
9111
9112     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9113     void cancelBubble(VARIANT_BOOL v);
9114
9115     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9116     VARIANT_BOOL cancelBubble();
9117
9118     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9119     void keyCode(LONG v);
9120
9121     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9122     LONG keyCode();
9123
9124     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9125     void setAttribute(
9126             [in] BSTR strAttributeName,
9127             [in] VARIANT AttributeValue,
9128             [in, defaultvalue(1)] LONG lFlags);
9129
9130     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9131     VARIANT getAttribute(
9132             [in] BSTR strAttributeName,
9133             [in, defaultvalue(0)] LONG lFlags);
9134
9135     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9136     VARIANT_BOOL removeAttribute(
9137             [in] BSTR strAttributeName,
9138             [in, defaultvalue(1)] LONG lFlags);
9139
9140     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9141     void propertyName(BSTR v);
9142
9143     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9144     BSTR propertyName();
9145
9146     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9147     void bookmarks(IHTMLBookmarkCollection *v);
9148
9149     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9150     IHTMLBookmarkCollection *bookmarks();
9151
9152     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9153     void recordset(IDispatch *v);
9154
9155     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9156     IDispatch *recordset();
9157
9158     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9159     void dataFld(BSTR v);
9160
9161     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9162     BSTR dataFld();
9163
9164     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9165     void boundElements(IHTMLElementCollection *v);
9166
9167     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9168     IHTMLElementCollection *boundElements();
9169
9170     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9171     void repeat(VARIANT_BOOL v);
9172
9173     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9174     VARIANT_BOOL repeat();
9175
9176     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9177     void srcUrn(BSTR v);
9178
9179     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9180     BSTR srcUrn();
9181
9182     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9183     void srcElement(IHTMLElement *v);
9184
9185     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9186     IHTMLElement *srcElement();
9187
9188     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9189     void altKey(VARIANT_BOOL v);
9190
9191     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9192     VARIANT_BOOL altKey();
9193
9194     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9195     void ctrlKey(VARIANT_BOOL v);
9196
9197     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9198     VARIANT_BOOL ctrlKey();
9199
9200     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9201     void shiftKey(VARIANT_BOOL v);
9202
9203     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9204     VARIANT_BOOL shiftKey();
9205
9206     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9207     void fromElement(IHTMLElement *v);
9208
9209     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9210     IHTMLElement *fromElement();
9211
9212     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9213     void toElement(IHTMLElement *v);
9214
9215     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9216     IHTMLElement *toElement();
9217
9218     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9219     void button(LONG v);
9220
9221     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9222     LONG button();
9223
9224     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9225     void type(BSTR v);
9226
9227     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9228     BSTR type();
9229
9230     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9231     void qualifier(BSTR v);
9232
9233     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9234     BSTR qualifier();
9235
9236     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9237     void reason(LONG v);
9238
9239     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9240     LONG reason();
9241
9242     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
9243     void x(LONG v);
9244
9245     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
9246     LONG x();
9247
9248     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
9249     void y(LONG v);
9250
9251     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
9252     LONG y();
9253
9254     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9255     void clientX(LONG v);
9256
9257     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9258     LONG clientX();
9259
9260     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9261     void clientY(LONG v);
9262
9263     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9264     LONG clientY();
9265     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9266     void offsetX(LONG v);
9267
9268     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9269     LONG offsetX();
9270
9271     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9272     void offsetY(LONG v);
9273
9274     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9275     LONG offsetY();
9276
9277     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9278     void screenX(LONG v);
9279
9280     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9281     LONG screenX();
9282
9283     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9284     void screenY(LONG v);
9285
9286     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9287     LONG screenY();
9288
9289     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9290     void srcFilter(IDispatch *v);
9291
9292     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9293     IDispatch *srcFilter();
9294
9295     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
9296     IHTMLDataTransfer *dataTransfer();
9297
9298     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
9299     VARIANT_BOOL contentOverflow();
9300
9301     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9302     void shiftLeft(VARIANT_BOOL v);
9303
9304     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9305     VARIANT_BOOL shiftLeft();
9306
9307     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9308     void altLeft(VARIANT_BOOL v);
9309
9310     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9311     VARIANT_BOOL altLeft();
9312
9313     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9314     void ctrlLeft(VARIANT_BOOL v);
9315
9316     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9317     VARIANT_BOOL ctrlLeft();
9318
9319     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
9320     LONG_PTR imeCompositionChange();
9321
9322     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
9323     LONG_PTR imeNotifyCommand();
9324
9325     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
9326     LONG_PTR imeNotifyData();
9327
9328     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
9329     LONG_PTR imeRequest();
9330
9331     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
9332     LONG_PTR imeRequestData();
9333
9334     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
9335     LONG_PTR keyboardLayout();
9336
9337     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
9338     LONG behaviorCookie();
9339
9340     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
9341     LONG behaviorPart();
9342
9343     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
9344     BSTR nextPage();
9345
9346     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
9347     LONG wheelDelta();
9348 }
9349
9350 /*****************************************************************************
9351  *    IHTMLFramesCollection2 interface
9352  */
9353 [
9354     odl,
9355     oleautomation,
9356     dual,
9357     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
9358 ]
9359 interface IHTMLFramesCollection2 : IDispatch
9360 {
9361     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9362     HRESULT item(
9363         [in] VARIANT *pvarIndex,
9364         [retval, out] VARIANT *pvarResult);
9365
9366     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9367     HRESULT length([retval, out] LONG *p);
9368 }
9369
9370 /*****************************************************************************
9371  *    IHTMLScreen interface
9372  */
9373 [
9374     odl,
9375     oleautomation,
9376     dual,
9377     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
9378 ]
9379 interface IHTMLScreen : IDispatch
9380 {
9381     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
9382     HRESULT colorDepth([retval, out] LONG *p);
9383
9384     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9385     HRESULT bufferDepth([in] LONG v);
9386
9387     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9388     HRESULT bufferDepth([retval, out] LONG *p);
9389
9390     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
9391     HRESULT width([retval, out] LONG *p);
9392
9393     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
9394     HRESULT height([retval, out] LONG *p);
9395
9396     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9397     HRESULT updateInterval([in] LONG v);
9398
9399     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9400     HRESULT updateInterval([retval, out] LONG *p);
9401
9402     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
9403     HRESULT availHeight([retval, out] LONG *p);
9404
9405     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
9406     HRESULT availWidth([retval, out] LONG *p);
9407
9408     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
9409     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
9410 }
9411
9412 /*****************************************************************************
9413  *    IHTMLWindow2 interface
9414  */
9415 [
9416     odl,
9417     oleautomation,
9418     dual,
9419     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
9420 ]
9421 interface IHTMLWindow2 : IHTMLFramesCollection2
9422 {
9423     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
9424     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
9425
9426     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9427     HRESULT defaultStatus([in] BSTR v);
9428
9429     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9430     HRESULT defaultStatus([retval, out] BSTR *p);
9431
9432     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
9433     HRESULT status([in] BSTR v);
9434
9435     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
9436     HRESULT status([retval, out] BSTR *p);
9437
9438     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
9439     HRESULT setTimeout(
9440         [in] BSTR expression,
9441         [in] LONG msec,
9442         [optional, in] VARIANT *language,
9443         [retval, out] LONG *timerID);
9444
9445     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
9446     HRESULT clearTimeout([in] LONG timerID);
9447
9448     [id(DISPID_IHTMLWINDOW2_ALERT)]
9449     HRESULT alert([defaultvalue(""), in] BSTR message);
9450
9451     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
9452     HRESULT confirm(
9453         [defaultvalue(""), in] BSTR message,
9454         [retval, out] VARIANT_BOOL *confirmed);
9455
9456     [id(DISPID_IHTMLWINDOW2_PROMPT)]
9457     HRESULT prompt(
9458         [defaultvalue(""), in] BSTR message,
9459         [defaultvalue("undefined"), in] BSTR defstr,
9460         [retval, out] VARIANT *textdata);
9461
9462     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
9463     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
9464
9465     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
9466     HRESULT location([retval, out] IHTMLLocation **p);
9467
9468     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
9469     HRESULT history([retval, out] IOmHistory **p);
9470
9471     [id(DISPID_IHTMLWINDOW2_CLOSE)]
9472     HRESULT close();
9473
9474     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
9475     HRESULT opener([in] VARIANT v);
9476
9477     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
9478     HRESULT opener([retval, out] VARIANT *p);
9479
9480     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
9481     HRESULT navigator([retval, out] IOmNavigator **p);
9482
9483     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
9484     HRESULT name([in] BSTR v);
9485
9486     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
9487     HRESULT name([retval, out] BSTR *p);
9488
9489     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
9490     HRESULT parent([retval, out] IHTMLWindow2 **p);
9491
9492     [id(DISPID_IHTMLWINDOW2_OPEN)]
9493     HRESULT open(
9494         [defaultvalue(""), in] BSTR url,
9495         [defaultvalue(""), in] BSTR name,
9496         [defaultvalue(""), in] BSTR features,
9497         [defaultvalue(0), in] VARIANT_BOOL replace,
9498         [retval, out] IHTMLWindow2 **pomWindowResult);
9499
9500     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
9501     HRESULT self([retval, out] IHTMLWindow2 **p);
9502
9503     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
9504     HRESULT top([retval, out] IHTMLWindow2 **p);
9505
9506     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
9507     HRESULT window([retval, out] IHTMLWindow2 **p);
9508
9509     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
9510     HRESULT navigate([in] BSTR url);
9511
9512     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
9513     HRESULT onfocus([in] VARIANT v);
9514
9515     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
9516     HRESULT onfocus([retval, out] VARIANT *p);
9517
9518     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
9519     HRESULT onblur([in] VARIANT v);
9520
9521     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
9522     HRESULT onblur([retval, out] VARIANT *p);
9523
9524     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
9525     HRESULT onload([in] VARIANT v);
9526
9527     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
9528     HRESULT onload([retval, out] VARIANT *p);
9529
9530     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
9531     HRESULT onbeforeunload([in] VARIANT v);
9532
9533     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
9534     HRESULT onbeforeunload([retval, out] VARIANT *p);
9535
9536     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
9537     HRESULT onunload([in] VARIANT v);
9538
9539     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
9540     HRESULT onunload([retval, out] VARIANT *p);
9541
9542     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
9543     HRESULT onhelp([in] VARIANT v);
9544
9545     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
9546     HRESULT onhelp([retval, out] VARIANT *p);
9547
9548     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
9549     HRESULT onerror([in] VARIANT v);
9550
9551     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
9552     HRESULT onerror([retval, out] VARIANT *p);
9553
9554     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
9555     HRESULT onresize([in] VARIANT v);
9556
9557     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
9558     HRESULT onresize([retval, out] VARIANT *p);
9559
9560     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
9561     HRESULT onscroll([in] VARIANT v);
9562
9563     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
9564     HRESULT onscroll([retval, out] VARIANT *p);
9565
9566     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
9567     HRESULT document([retval, out] IHTMLDocument2 **p);
9568
9569     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
9570     HRESULT event([retval, out] IHTMLEventObj **p);
9571
9572     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
9573     HRESULT _newEnum([retval, out] IUnknown **p);
9574
9575     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
9576     HRESULT showModalDialog(
9577         [in] BSTR dialog,
9578         [optional, in] VARIANT *varArgIn,
9579         [optional, in] VARIANT *varOptions,
9580         [retval, out] VARIANT *varArgOut);
9581
9582     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
9583     HRESULT showHelp(
9584         [in] BSTR helpURL,
9585         [optional, in] VARIANT helpArg,
9586         [defaultvalue(""), in] BSTR features);
9587
9588     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
9589     HRESULT screen([retval, out] IHTMLScreen **p);
9590
9591     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
9592     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
9593
9594     [id(DISPID_IHTMLWINDOW2_FOCUS)]
9595     HRESULT focus();
9596
9597     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
9598     HRESULT closed([retval, out] VARIANT_BOOL *p);
9599
9600     [id(DISPID_IHTMLWINDOW2_BLUR)]
9601     HRESULT blur();
9602
9603     [id(DISPID_IHTMLWINDOW2_SCROLL)]
9604     HRESULT scroll([in] LONG x, [in] LONG y);
9605
9606     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
9607     HRESULT clientInformation([retval, out] IOmNavigator **p);
9608
9609     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
9610     HRESULT setInterval([
9611         in] BSTR expression,
9612         [in] LONG msec,
9613         [optional, in] VARIANT *language,
9614         [retval, out] LONG *timerID);
9615
9616     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
9617     HRESULT clearInterval([in] LONG timerID);
9618
9619     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9620     HRESULT offscreenBuffering([in] VARIANT v);
9621
9622     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9623     HRESULT offscreenBuffering([retval, out] VARIANT *p);
9624
9625     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
9626     HRESULT execScript(
9627         [in] BSTR scode,
9628         [defaultvalue("JScript"), in] BSTR language,
9629         [retval, out] VARIANT *pvarRet);
9630
9631     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
9632     HRESULT toString([retval, out] BSTR *String);
9633
9634     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
9635     HRESULT scrollBy([in] LONG x, [in] LONG y);
9636
9637     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
9638     HRESULT scrollTo([in] LONG x, [in] LONG y);
9639
9640     [id(DISPID_IHTMLWINDOW2_MOVETO)]
9641     HRESULT moveTo([in] LONG x, [in] LONG y);
9642
9643     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
9644     HRESULT moveBy([in] LONG x, [in] LONG y);
9645
9646     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
9647     HRESULT resizeTo([in] LONG x, [in] LONG y);
9648
9649     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
9650     HRESULT resizeBy([in] LONG x, [in] LONG y);
9651
9652     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
9653     HRESULT external([retval, out] IDispatch **p);
9654 }
9655
9656 /*****************************************************************************
9657  *    IHTMLWindow3 interface
9658  */
9659 [
9660     odl,
9661     oleautomation,
9662     dual,
9663     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
9664 ]
9665 interface IHTMLWindow3 : IDispatch
9666 {
9667     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
9668     HRESULT screenLeft([out, retval] LONG *p);
9669
9670     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
9671     HRESULT screenTop([out, retval] LONG *p);
9672
9673     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
9674     HRESULT attachEvent(
9675             [in] BSTR event,
9676             [in] IDispatch *pDisp,
9677             [out, retval] VARIANT_BOOL *pfResult);
9678
9679     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
9680     HRESULT detachEvent(
9681             [in] BSTR event,
9682             [in] IDispatch *pDisp);
9683
9684     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
9685     HRESULT setTimeout(
9686             [in] VARIANT *expression,
9687             [in] LONG msec,
9688             [in, optional] VARIANT *language,
9689             [out, retval] LONG *timerID);
9690
9691     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
9692     HRESULT setInterval(
9693             [in] VARIANT *expression,
9694             [in] LONG msec,
9695             [in, optional] VARIANT *language,
9696             [out, retval] LONG *timerID);
9697
9698     [id(DISPID_IHTMLWINDOW3_PRINT)]
9699     HRESULT print();
9700
9701     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9702     HRESULT onbeforeprint([in] VARIANT v);
9703
9704     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9705     HRESULT onbeforeprint([out, retval] VARIANT *p);
9706
9707     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9708     HRESULT onafterprint([in] VARIANT v);
9709
9710     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9711     HRESULT onafterprint([out, retval] VARIANT *p);
9712
9713     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
9714     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
9715
9716     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
9717     HRESULT showModelessDialog(
9718             [in, defaultvalue("")] BSTR url,
9719             [in, optional] VARIANT *varArgIn,
9720             [in, optional] VARIANT *options,
9721             [out, retval] IHTMLWindow2 **pDialog);
9722 }
9723
9724 /*****************************************************************************
9725  *    IHTMLWindow4 interface
9726  */
9727 [
9728     odl,
9729     oleautomation,
9730     dual,
9731     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
9732 ]
9733 interface IHTMLWindow4 : IDispatch
9734 {
9735     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
9736     HRESULT createPopup([optional, in] VARIANT* varArgIn,
9737                         [retval, out] IDispatch** ppPopup);
9738
9739     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
9740     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
9741 };
9742
9743 /*****************************************************************************
9744  *    IHTMLWindow5 interface
9745  */
9746 [
9747     odl,
9748     oleautomation,
9749     dual,
9750     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
9751 ]
9752 interface IHTMLWindow5 : IDispatch
9753 {
9754     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
9755     HRESULT XMLHttpRequest([in] VARIANT v);
9756
9757     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
9758     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
9759 };
9760
9761 /*****************************************************************************
9762  *    DispHTMLWindow2 dispinterface
9763  */
9764 [
9765     hidden,
9766     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
9767 ]
9768 dispinterface DispHTMLWindow2
9769 {
9770 properties:
9771 methods:
9772     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9773     VARIANT item([in] VARIANT *pvarIndex);
9774
9775     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9776     LONG length();
9777
9778     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
9779     IHTMLFramesCollection2 *frames();
9780
9781     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9782     void defaultStatus(BSTR v);
9783
9784     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9785     BSTR defaultStatus();
9786
9787     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
9788     void status(BSTR v);
9789
9790     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
9791     BSTR status();
9792
9793     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
9794     void clearTimeout([in] LONG timerID);
9795
9796     [id(DISPID_IHTMLWINDOW2_ALERT)]
9797     void alert([in, defaultvalue("")] BSTR message);
9798
9799     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
9800     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
9801
9802     [id(DISPID_IHTMLWINDOW2_PROMPT)]
9803     VARIANT prompt(
9804             [in, defaultvalue("")] BSTR message,
9805             [in, defaultvalue("undefined")] BSTR defstr);
9806
9807     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
9808     IHTMLImageElementFactory *Image();
9809
9810     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
9811     IHTMLLocation *location();
9812
9813     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
9814     IOmHistory *history();
9815
9816     [id(DISPID_IHTMLWINDOW2_CLOSE)]
9817     void close();
9818
9819     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
9820     void opener(VARIANT v);
9821
9822     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
9823     VARIANT opener();
9824
9825     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
9826     IOmNavigator *navigator();
9827
9828     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
9829     void name(BSTR v);
9830
9831     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
9832     BSTR name();
9833
9834     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
9835     IHTMLWindow2 *parent();
9836
9837     [id(DISPID_IHTMLWINDOW2_OPEN)]
9838     IHTMLWindow2 *open(
9839             [in, defaultvalue("")] BSTR url,
9840             [in, defaultvalue("")] BSTR name,
9841             [in, defaultvalue("")] BSTR features,
9842             [in, defaultvalue(0)]  VARIANT_BOOL replace);
9843
9844     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
9845     IHTMLWindow2 *self();
9846
9847     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
9848     IHTMLWindow2 *top();
9849
9850     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
9851     IHTMLWindow2 *window();
9852
9853     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
9854     void navigate([in] BSTR url);
9855
9856     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
9857     void onfocus(VARIANT v);
9858
9859     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
9860     VARIANT onfocus();
9861
9862     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
9863     void onblur(VARIANT v);
9864
9865     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
9866     VARIANT onblur();
9867
9868     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
9869     VARIANT onload();
9870
9871     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
9872     void onbeforeunload(VARIANT v);
9873
9874     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
9875     VARIANT onbeforeunload();
9876
9877     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
9878     void onunload(VARIANT v);
9879
9880     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
9881     VARIANT onunload();
9882
9883     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
9884     void onhelp(VARIANT v);
9885
9886     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
9887     VARIANT onhelp();
9888
9889     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
9890     void onerror(VARIANT v);
9891
9892     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
9893     VARIANT onerror();
9894
9895     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
9896     void onresize(VARIANT v);
9897
9898     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
9899     VARIANT onresize();
9900
9901     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
9902     void onscroll(VARIANT v);
9903
9904     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
9905     VARIANT onscroll();
9906
9907     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
9908     IHTMLDocument2 *document();
9909
9910     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
9911     IHTMLEventObj *event();
9912
9913     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
9914     IUnknown *_newEnum();
9915
9916     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
9917     VARIANT showModalDialog(
9918             [in] BSTR dialog,
9919             [in, optional] VARIANT *varArgIn,
9920             [in, optional] VARIANT *varOptions);
9921
9922     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
9923     void showHelp(
9924             [in] BSTR helpURL,
9925             [in, optional] VARIANT helpArg,
9926             [in, defaultvalue("")] BSTR features);
9927
9928     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
9929     IHTMLScreen *screen();
9930
9931     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
9932     IHTMLOptionElementFactory *Option();
9933
9934     [id(DISPID_IHTMLWINDOW2_FOCUS)]
9935     void focus();
9936
9937     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
9938     VARIANT_BOOL closed();
9939
9940     [id(DISPID_IHTMLWINDOW2_BLUR)]
9941     void blur();
9942
9943     [id(DISPID_IHTMLWINDOW2_SCROLL)]
9944     void scroll([in] LONG x, [in] LONG y);
9945
9946     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
9947     IOmNavigator *clientInformation();
9948
9949     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
9950     void clearInterval([in] LONG timerID);
9951
9952     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9953     void offscreenBuffering(VARIANT v);
9954
9955     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9956     VARIANT offscreenBuffering();
9957
9958     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
9959     VARIANT execScript(
9960             [in] BSTR _code,
9961             [in, defaultvalue("JScript")] BSTR language);
9962
9963     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
9964     BSTR toString();
9965
9966     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
9967     void scrollBy([in] LONG x, [in] LONG y);
9968
9969     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
9970     void scrollTo([in] LONG x, [in] LONG y);
9971
9972     [id(DISPID_IHTMLWINDOW2_MOVETO)]
9973     void moveTo([in] LONG x, [in] LONG y);
9974
9975     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
9976     void moveBy([in] LONG x, [in] LONG y);
9977
9978     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
9979     void resizeTo([in] LONG x, [in] LONG y);
9980
9981     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
9982     void resizeBy([in] LONG x, [in] LONG y);
9983
9984     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
9985     IDispatch *external();
9986
9987     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
9988     LONG screenLeft();
9989
9990     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
9991     LONG screenTop();
9992
9993     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
9994     VARIANT_BOOL attachEvent(
9995              [in] BSTR event,
9996              [in] IDispatch *pDisp);
9997
9998     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
9999     void detachEvent(
10000             [in] BSTR event,
10001             [in] IDispatch *pDisp);
10002
10003     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10004     LONG setTimeout(
10005             [in] VARIANT *expression,
10006             [in] LONG msec,
10007             [in, optional] VARIANT *language);
10008
10009     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10010     LONG setInterval(
10011             [in] VARIANT *expression,
10012             [in] LONG msec,
10013             [in, optional] VARIANT *language);
10014
10015     [id(DISPID_IHTMLWINDOW3_PRINT)]
10016     void print();
10017
10018     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10019     void onbeforeprint(VARIANT v);
10020
10021     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10022     VARIANT onbeforeprint();
10023
10024     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10025     void onafterprint(VARIANT v);
10026
10027     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10028     VARIANT onafterprint();
10029
10030     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10031     IHTMLDataTransfer *clipboardData();
10032
10033     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10034     IHTMLWindow2 *showModelessDialog(
10035             [in, defaultvalue("")] BSTR url,
10036             [in, optional] VARIANT *varArgIn,
10037             [in, optional] VARIANT *options);
10038
10039     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10040     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10041
10042     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10043     IHTMLFrameBase *frameElement();
10044 }
10045
10046 /*****************************************************************************
10047  *    DispHTMLWindowProxy dispinterface
10048  */
10049 [
10050     hidden,
10051     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10052 ]
10053 dispinterface DispHTMLWindowProxy
10054 {
10055 properties:
10056 methods:
10057     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10058     VARIANT item([in] VARIANT* pvarIndex);
10059
10060     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10061     LONG length();
10062
10063     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10064     IHTMLFramesCollection2* frames();
10065
10066     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10067     void defaultStatus(BSTR v);
10068
10069     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10070     BSTR defaultStatus();
10071
10072     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10073     void status(BSTR v);
10074
10075     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10076     BSTR status();
10077
10078     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10079     void clearTimeout([in] LONG timerID);
10080
10081     [id(DISPID_IHTMLWINDOW2_ALERT)]
10082     void alert([defaultvalue(""), in] BSTR message);
10083
10084     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10085     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10086
10087     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10088     VARIANT prompt([defaultvalue(""), in] BSTR message,
10089                    [defaultvalue("undefined"), in] BSTR defstr);
10090
10091     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10092     IHTMLImageElementFactory* Image();
10093
10094     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10095     IHTMLLocation* location();
10096
10097     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10098     IOmHistory* history();
10099
10100     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10101     void close();
10102
10103     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10104     void opener(VARIANT v);
10105
10106     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10107     VARIANT opener();
10108
10109     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10110     IOmNavigator* navigator();
10111
10112     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10113     void name(BSTR v);
10114
10115     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10116     BSTR name();
10117
10118     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10119     IHTMLWindow2* parent();
10120
10121     [id(DISPID_IHTMLWINDOW2_OPEN)]
10122     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
10123                        [defaultvalue(""), in] BSTR name,
10124                        [defaultvalue(""), in] BSTR features,
10125                        [defaultvalue(0), in] VARIANT_BOOL replace);
10126
10127     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10128     IHTMLWindow2* self();
10129
10130     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10131     IHTMLWindow2* top();
10132
10133     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10134     IHTMLWindow2* window();
10135
10136     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10137     void navigate([in] BSTR url);
10138
10139     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10140     void onfocus(VARIANT v);
10141
10142     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10143     VARIANT onfocus();
10144
10145     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10146     void onblur(VARIANT v);
10147
10148     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10149     VARIANT onblur();
10150
10151     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10152     void onload(VARIANT v);
10153
10154     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10155     VARIANT onload();
10156
10157     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10158     void onbeforeunload(VARIANT v);
10159
10160     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10161     VARIANT onbeforeunload();
10162
10163     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10164     void onunload(VARIANT v);
10165
10166     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10167     VARIANT onunload();
10168
10169     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10170     void onhelp(VARIANT v);
10171
10172     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10173     VARIANT onhelp();
10174
10175     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10176     void onerror(VARIANT v);
10177
10178     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10179     VARIANT onerror();
10180
10181     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10182     void onresize(VARIANT v);
10183
10184     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10185     VARIANT onresize();
10186
10187     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10188     void onscroll(VARIANT v);
10189
10190     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10191     VARIANT onscroll();
10192
10193     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10194     IHTMLDocument2* document();
10195
10196     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10197     IHTMLEventObj* event();
10198
10199     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10200     IUnknown* _newEnum();
10201
10202     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10203     VARIANT showModalDialog([in] BSTR dialog,
10204                             [optional, in] VARIANT* varArgIn,
10205                             [optional, in] VARIANT* varOptions);
10206
10207     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10208     void showHelp([in] BSTR helpURL,
10209                   [optional, in] VARIANT helpArg,
10210                   [defaultvalue(""), in] BSTR features);
10211
10212     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10213     IHTMLScreen* screen();
10214
10215     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10216     IHTMLOptionElementFactory* Option();
10217
10218     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10219     void focus();
10220
10221     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10222     VARIANT_BOOL closed();
10223
10224     [id(DISPID_IHTMLWINDOW2_BLUR)]
10225     void blur();
10226
10227     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10228     void scroll([in] LONG x,
10229                 [in] LONG y);
10230
10231     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10232     IOmNavigator* clientInformation();
10233
10234     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10235     void clearInterval([in] LONG timerID);
10236
10237     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10238     void offscreenBuffering(VARIANT v);
10239
10240     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10241     VARIANT offscreenBuffering();
10242
10243     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10244     VARIANT execScript([in] BSTR code,
10245                        [defaultvalue("JScript"), in] BSTR language);
10246
10247     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10248     BSTR toString();
10249
10250     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10251     void scrollBy([in] LONG x,
10252                   [in] LONG y);
10253
10254     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10255     void scrollTo([in] LONG x,
10256                   [in] LONG y);
10257
10258     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10259     void moveTo([in] LONG x,
10260                 [in] LONG y);
10261
10262     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10263     void moveBy([in] LONG x,
10264                 [in] LONG y);
10265
10266     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10267     void resizeTo([in] LONG x,
10268                   [in] LONG y);
10269
10270     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10271     void resizeBy([in] LONG x,
10272                   [in] LONG y);
10273
10274     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10275     IDispatch* external();
10276
10277     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10278     LONG screenLeft();
10279
10280     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10281     LONG screenTop();
10282
10283     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10284     VARIANT_BOOL attachEvent([in] BSTR event,
10285                              [in] IDispatch* pDisp);
10286
10287     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10288     void detachEvent([in] BSTR event,
10289                      [in] IDispatch* pDisp);
10290
10291     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10292     LONG setTimeout([in] VARIANT* expression,
10293                     [in] LONG msec,
10294                     [optional, in] VARIANT* language);
10295
10296     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10297     LONG setInterval([in] VARIANT* expression,
10298                      [in] LONG msec,
10299                      [optional, in] VARIANT* language);
10300
10301     [id(DISPID_IHTMLWINDOW3_PRINT)]
10302     void print();
10303
10304     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10305     void onbeforeprint(VARIANT v);
10306
10307     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10308     VARIANT onbeforeprint();
10309
10310     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10311     void onafterprint(VARIANT v);
10312
10313     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10314     VARIANT onafterprint();
10315
10316     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10317     IHTMLDataTransfer* clipboardData();
10318
10319     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10320     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
10321                                      [optional, in] VARIANT* varArgIn,
10322                                      [optional, in] VARIANT* options);
10323
10324     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10325     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
10326
10327     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10328     IHTMLFrameBase* frameElement();
10329
10330     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10331     void XMLHttpRequest(VARIANT v);
10332
10333     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10334     VARIANT XMLHttpRequest();
10335 };
10336
10337 /*****************************************************************************
10338  *    HTMLWindowEvents interface
10339  */
10340 [
10341     hidden,
10342     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
10343 ]
10344 dispinterface HTMLWindowEvents
10345 {
10346 properties:
10347 methods:
10348     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
10349     void onload();
10350
10351     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
10352     void onunload();
10353
10354     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
10355     VARIANT_BOOL onhelp();
10356
10357     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
10358     void onfocus();
10359
10360     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
10361     void onblur();
10362
10363     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
10364     void onerror([in] BSTR description,
10365                  [in] BSTR url,
10366                  [in] LONG line);
10367
10368     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
10369     void onresize();
10370
10371     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
10372     void onscroll();
10373
10374     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
10375     void onbeforeunload();
10376
10377     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
10378     void onbeforeprint();
10379
10380     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
10381     void onafterprint();
10382 };
10383
10384 /*****************************************************************************
10385  *    HTMLWindowEvents2 interface
10386  */
10387 [
10388     hidden,
10389     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
10390 ]
10391 dispinterface HTMLWindowEvents2
10392 {
10393 properties:
10394 methods:
10395     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
10396     void onload([in] IHTMLEventObj* pEvtObj);
10397
10398     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
10399     void onunload([in] IHTMLEventObj* pEvtObj);
10400
10401     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
10402     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
10403
10404     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
10405     void onfocus([in] IHTMLEventObj* pEvtObj);
10406
10407     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
10408     void onblur([in] IHTMLEventObj* pEvtObj);
10409
10410     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
10411     void onerror([in] BSTR description,
10412                  [in] BSTR url,
10413                  [in] LONG line);
10414
10415     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
10416     void onresize([in] IHTMLEventObj* pEvtObj);
10417
10418     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
10419     void onscroll([in] IHTMLEventObj* pEvtObj);
10420
10421     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
10422     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
10423
10424     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
10425     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
10426
10427     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
10428     void onafterprint([in] IHTMLEventObj* pEvtObj);
10429 };
10430
10431 /*****************************************************************************
10432  *    HTMLWindowProxy class
10433  */
10434 [
10435     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
10436 ]
10437 coclass HTMLWindowProxy
10438 {
10439     [default]           dispinterface DispHTMLWindowProxy;
10440     [source, default]   dispinterface HTMLWindowEvents;
10441     [source]            dispinterface HTMLWindowEvents2;
10442                         interface IHTMLWindow2;
10443                         interface IHTMLWindow3;
10444                         interface IHTMLWindow4;
10445                         interface IHTMLWindow5;
10446 };
10447
10448 /*****************************************************************************
10449  *    HTMLDocumentEvents2 interface
10450  */
10451 [
10452     hidden,
10453     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
10454 ]
10455 dispinterface HTMLDocumentEvents2
10456 {
10457     properties:
10458     methods:
10459     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
10460     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
10461
10462     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
10463     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
10464
10465     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
10466     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
10467
10468     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
10469     void onkeydown([in] IHTMLEventObj *pEvtObj);
10470
10471     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
10472     void onkeyup([in] IHTMLEventObj *pEvtObj);
10473
10474     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
10475     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
10476
10477     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
10478     void onmousedown([in] IHTMLEventObj *pEvtObj);
10479
10480     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
10481     void onmousemove([in] IHTMLEventObj *pEvtObj);
10482
10483     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
10484     void onmouseup([in] IHTMLEventObj *pEvtObj);
10485
10486     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
10487     void onmouseout([in] IHTMLEventObj *pEvtObj);
10488
10489     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
10490     void onmouseover([in] IHTMLEventObj *pEvtObj);
10491
10492     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
10493     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
10494
10495     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
10496     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
10497
10498     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
10499     void onafterupdate([in] IHTMLEventObj *pEvtObj);
10500
10501     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
10502     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
10503
10504     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
10505     void onrowenter([in] IHTMLEventObj *pEvtObj);
10506
10507     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
10508     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
10509
10510     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
10511     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
10512
10513     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
10514     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
10515
10516     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
10517     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
10518
10519     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
10520     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
10521
10522     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
10523     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
10524
10525     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
10526     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
10527
10528     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
10529     void oncellchange([in] IHTMLEventObj *pEvtObj);
10530
10531     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
10532     void onpropertychange([in] IHTMLEventObj *pEvtObj);
10533
10534     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
10535     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
10536
10537     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
10538     void ondataavailable([in] IHTMLEventObj *pEvtObj);
10539
10540     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
10541     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
10542
10543     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
10544     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
10545
10546     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
10547     void onselectionchange([in] IHTMLEventObj *pEvtObj);
10548
10549     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
10550     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
10551
10552     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
10553     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
10554
10555     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
10556     void onfocusin([in] IHTMLEventObj *pEvtObj);
10557
10558     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
10559     void onfocusout([in] IHTMLEventObj *pEvtObj);
10560
10561     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
10562     void onactivate([in] IHTMLEventObj *pEvtObj);
10563
10564     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
10565     void ondeactivate([in] IHTMLEventObj *pEvtObj);
10566
10567     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
10568     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
10569
10570     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
10571     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
10572 }
10573
10574 /*****************************************************************************
10575  *    HTMLDocumentEvents interface
10576  */
10577 [
10578     hidden,
10579     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
10580 ]
10581 dispinterface HTMLDocumentEvents
10582 {
10583     properties:
10584     methods:
10585     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
10586     VARIANT_BOOL onhelp();
10587
10588     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
10589     VARIANT_BOOL onclick();
10590
10591     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
10592     VARIANT_BOOL ondblclick();
10593
10594     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
10595     void onkeydown();
10596
10597     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
10598     void onkeyup();
10599
10600     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
10601     VARIANT_BOOL onkeypress();
10602
10603     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
10604     void onmousedown();
10605
10606     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
10607     void onmousemove();
10608
10609     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
10610     void onmouseup();
10611
10612     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
10613     void onmouseout();
10614
10615     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
10616     void onmouseover();
10617
10618     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
10619     void onreadystatechange();
10620
10621     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
10622     VARIANT_BOOL onbeforeupdate();
10623
10624     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
10625     void onafterupdate();
10626
10627     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
10628     VARIANT_BOOL onrowexit();
10629
10630     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
10631     void onrowenter();
10632
10633     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
10634     VARIANT_BOOL ondragstart();
10635
10636     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
10637     VARIANT_BOOL onselectstart();
10638
10639     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
10640     VARIANT_BOOL onerrorupdate();
10641
10642     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
10643     VARIANT_BOOL oncontextmenu();
10644
10645     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
10646     VARIANT_BOOL onstop();
10647
10648     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
10649     void onrowsdelete();
10650
10651     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
10652     void onrowsinserted();
10653
10654     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
10655     void oncellchange();
10656
10657     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
10658     void onpropertychange();
10659
10660     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
10661     void ondatasetchanged();
10662
10663     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
10664     void ondataavailable();
10665
10666     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
10667     void ondatasetcomplete();
10668
10669     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
10670     void onbeforeeditfocus();
10671
10672     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
10673     void onselectionchange();
10674
10675     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
10676     VARIANT_BOOL oncontrolselect();
10677
10678     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
10679     VARIANT_BOOL onmousewheel();
10680
10681     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
10682     void onfocusin();
10683
10684     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
10685     void onfocusout();
10686
10687     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
10688     void onactivate();
10689
10690     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
10691     void ondeactivate();
10692
10693     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
10694     VARIANT_BOOL onbeforeactivate();
10695
10696     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
10697     VARIANT_BOOL onbeforedeactivate();
10698 }
10699
10700 /*****************************************************************************
10701  *    HTMLTextContainerEvents interface
10702  */
10703 [
10704     hidden,
10705     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
10706 ]
10707 dispinterface HTMLTextContainerEvents
10708 {
10709 properties:
10710
10711 methods:
10712     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
10713     VARIANT_BOOL onhelp();
10714
10715     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
10716     VARIANT_BOOL onclick();
10717
10718     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
10719     VARIANT_BOOL ondblclick();
10720
10721     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
10722     VARIANT_BOOL onkeypress();
10723
10724     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
10725     void onkeydown();
10726
10727     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
10728     void onkeyup();
10729
10730     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
10731     void onmouseout();
10732
10733     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
10734     void onmouseover();
10735
10736     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
10737     void onmousemove();
10738
10739     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
10740     void onmousedown();
10741
10742     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
10743     void onmouseup();
10744
10745     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
10746     VARIANT_BOOL onselectstart();
10747
10748     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
10749     void onfilterchange();
10750
10751     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
10752     VARIANT_BOOL ondragstart();
10753
10754     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
10755     VARIANT_BOOL onbeforeupdate();
10756
10757     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
10758     void onafterupdate();
10759
10760     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
10761     VARIANT_BOOL onerrorupdate();
10762
10763     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
10764     VARIANT_BOOL onrowexit();
10765
10766     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
10767     void onrowenter();
10768
10769     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
10770     void ondatasetchanged();
10771
10772     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
10773     void ondataavailable();
10774
10775     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
10776     void ondatasetcomplete();
10777
10778     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
10779     void onlosecapture();
10780
10781     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
10782     void onpropertychange();
10783
10784     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
10785     void onscroll();
10786
10787     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
10788     void onfocus();
10789
10790     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
10791     void onblur();
10792
10793     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
10794     void onresize();
10795
10796     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
10797     VARIANT_BOOL ondrag();
10798
10799     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
10800     void ondragend();
10801
10802     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
10803     VARIANT_BOOL ondragenter();
10804
10805     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
10806     VARIANT_BOOL ondragover();
10807
10808     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
10809     void ondragleave();
10810
10811     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
10812     VARIANT_BOOL ondrop();
10813
10814     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
10815     VARIANT_BOOL onbeforecut();
10816
10817     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
10818     VARIANT_BOOL oncut();
10819
10820     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
10821     VARIANT_BOOL onbeforecopy();
10822
10823     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
10824     VARIANT_BOOL oncopy();
10825
10826     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
10827     VARIANT_BOOL onbeforepaste();
10828
10829     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
10830     VARIANT_BOOL onpaste();
10831
10832     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
10833     VARIANT_BOOL oncontextmenu();
10834
10835     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
10836     void onrowsdelete();
10837
10838     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
10839     void onrowsinserted();
10840
10841     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
10842     void oncellchange();
10843
10844     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
10845     void onreadystatechange();
10846
10847     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
10848     void onbeforeeditfocus();
10849
10850     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
10851     void onlayoutcomplete();
10852
10853     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
10854     void onpage();
10855
10856     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
10857     VARIANT_BOOL onbeforedeactivate();
10858
10859     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
10860     VARIANT_BOOL onbeforeactivate();
10861
10862     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
10863     void onmove();
10864
10865     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
10866     VARIANT_BOOL oncontrolselect();
10867
10868     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
10869     VARIANT_BOOL onmovestart();
10870
10871     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
10872     void onmoveend();
10873
10874     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
10875     VARIANT_BOOL onresizestart();
10876
10877     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
10878     void onresizeend();
10879
10880     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
10881     void onmouseenter();
10882
10883     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
10884     void onmouseleave();
10885
10886     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
10887     VARIANT_BOOL onmousewheel();
10888
10889     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
10890     void onactivate();
10891
10892     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
10893     void ondeactivate();
10894
10895     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
10896     void onfocusin();
10897
10898     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
10899     void onfocusout();
10900
10901     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
10902     void onchange();
10903
10904     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
10905     void onselect();
10906 };
10907
10908 /*****************************************************************************
10909  *    HTMLTextContainerEvents2 interface
10910  */
10911 [
10912     hidden,
10913     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
10914 ]
10915 dispinterface HTMLTextContainerEvents2
10916 {
10917 properties:
10918 methods:
10919     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
10920     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
10921
10922     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
10923     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
10924
10925     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
10926     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
10927
10928     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
10929     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
10930
10931     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
10932     void onkeydown([in] IHTMLEventObj* pEvtObj);
10933
10934     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
10935     void onkeyup([in] IHTMLEventObj* pEvtObj);
10936
10937     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
10938     void onmouseout([in] IHTMLEventObj* pEvtObj);
10939
10940     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
10941     void onmouseover([in] IHTMLEventObj* pEvtObj);
10942
10943     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
10944     void onmousemove([in] IHTMLEventObj* pEvtObj);
10945
10946     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
10947     void onmousedown([in] IHTMLEventObj* pEvtObj);
10948
10949     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
10950     void onmouseup([in] IHTMLEventObj* pEvtObj);
10951
10952     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
10953     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
10954
10955     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
10956     void onfilterchange([in] IHTMLEventObj* pEvtObj);
10957
10958     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
10959     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
10960
10961     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
10962     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
10963
10964     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
10965     void onafterupdate([in] IHTMLEventObj* pEvtObj);
10966
10967     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
10968     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
10969
10970     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
10971     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
10972
10973     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
10974     void onrowenter([in] IHTMLEventObj* pEvtObj);
10975
10976     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
10977     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
10978
10979     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
10980     void ondataavailable([in] IHTMLEventObj* pEvtObj);
10981
10982     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
10983     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
10984
10985     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
10986     void onlosecapture([in] IHTMLEventObj* pEvtObj);
10987
10988     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
10989     void onpropertychange([in] IHTMLEventObj* pEvtObj);
10990
10991     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
10992     void onscroll([in] IHTMLEventObj* pEvtObj);
10993
10994     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
10995     void onfocus([in] IHTMLEventObj* pEvtObj);
10996
10997     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
10998     void onblur([in] IHTMLEventObj* pEvtObj);
10999
11000     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
11001     void onresize([in] IHTMLEventObj* pEvtObj);
11002
11003     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
11004     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
11005
11006     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
11007     void ondragend([in] IHTMLEventObj* pEvtObj);
11008
11009     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
11010     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
11011
11012     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
11013     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
11014
11015     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
11016     void ondragleave([in] IHTMLEventObj* pEvtObj);
11017
11018     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
11019     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
11020
11021     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
11022     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
11023
11024     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
11025     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
11026
11027     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
11028     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
11029
11030     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
11031     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
11032
11033     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
11034     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
11035
11036     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11037     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11038
11039     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11040     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11041
11042     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11043     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11044
11045     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11046     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11047
11048     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11049     void oncellchange([in] IHTMLEventObj* pEvtObj);
11050
11051     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11052     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11053
11054     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11055     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11056
11057     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11058     void onpage([in] IHTMLEventObj* pEvtObj);
11059
11060     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11061     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11062
11063     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11064     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11065
11066     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11067     void onactivate([in] IHTMLEventObj* pEvtObj);
11068
11069     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11070     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11071
11072     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11073     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11074
11075     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11076     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11077
11078     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11079     void onfocusin([in] IHTMLEventObj* pEvtObj);
11080
11081     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11082     void onfocusout([in] IHTMLEventObj* pEvtObj);
11083
11084     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11085     void onmove([in] IHTMLEventObj* pEvtObj);
11086
11087     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11088     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11089
11090     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11091     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11092
11093     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
11094     void onmoveend([in] IHTMLEventObj* pEvtObj);
11095
11096     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
11097     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
11098
11099     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
11100     void onresizeend([in] IHTMLEventObj* pEvtObj);
11101
11102     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
11103     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
11104
11105     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
11106     void onchange([in] IHTMLEventObj* pEvtObj);
11107
11108     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
11109     void onselect([in] IHTMLEventObj* pEvtObj);
11110 };
11111
11112 /*****************************************************************************
11113  *    IHTMLDocument interface
11114  */
11115 [
11116     odl,
11117     oleautomation,
11118     dual,
11119     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11120 ]
11121 interface IHTMLDocument : IDispatch
11122 {
11123     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11124     HRESULT Script([retval, out] IDispatch **p);
11125 }
11126
11127 /*****************************************************************************
11128  *    IHTMLDocument2 interface
11129  */
11130 [
11131     odl,
11132     oleautomation,
11133     dual,
11134     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11135 ]
11136 interface IHTMLDocument2 : IHTMLDocument
11137 {
11138     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11139     HRESULT all([retval, out] IHTMLElementCollection **p);
11140
11141     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11142     HRESULT body([retval, out] IHTMLElement **p);
11143
11144     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11145     HRESULT activeElement([retval, out] IHTMLElement **p);
11146
11147     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11148     HRESULT images([retval, out] IHTMLElementCollection **p);
11149
11150     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11151     HRESULT applets([retval, out] IHTMLElementCollection **p);
11152
11153     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11154     HRESULT links([retval, out] IHTMLElementCollection **p);
11155
11156     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11157     HRESULT forms([retval, out] IHTMLElementCollection **p);
11158
11159     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11160     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11161
11162     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11163     HRESULT title([in] BSTR v);
11164
11165     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11166     HRESULT title([retval, out] BSTR *p);
11167
11168     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11169     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11170
11171     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11172     HRESULT designMode([in] BSTR v);
11173
11174     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11175     HRESULT designMode([retval, out] BSTR *p);
11176
11177     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11178     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11179
11180     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11181      HRESULT readyState([retval, out] BSTR *p);
11182
11183     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11184     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11185
11186     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11187     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11188
11189     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11190     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11191
11192     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11193     HRESULT alinkColor([in] VARIANT v);
11194
11195     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11196     HRESULT alinkColor([retval, out] VARIANT *p);
11197
11198     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11199     HRESULT bgColor([in] VARIANT v);
11200
11201     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11202     HRESULT bgColor([retval, out] VARIANT *p);
11203
11204     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11205     HRESULT fgColor([in] VARIANT v);
11206
11207     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11208     HRESULT fgColor([retval, out] VARIANT *p);
11209
11210     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11211     HRESULT linkColor([in] VARIANT v);
11212
11213     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11214     HRESULT linkColor([retval, out] VARIANT *p);
11215
11216     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11217     HRESULT vlinkColor([in] VARIANT v);
11218
11219     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11220     HRESULT vlinkColor([retval, out] VARIANT *p);
11221
11222     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11223     HRESULT referrer([retval, out] BSTR *p);
11224
11225     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11226     HRESULT location([retval, out] IHTMLLocation **p);
11227
11228     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11229     HRESULT lastModified([retval, out] BSTR *p);
11230
11231     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11232     HRESULT URL([in] BSTR v);
11233
11234     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11235     HRESULT URL([retval, out] BSTR *p);
11236
11237     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11238     HRESULT domain([in] BSTR v);
11239
11240     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11241     HRESULT domain([retval, out] BSTR *p);
11242
11243     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11244     HRESULT cookie([in] BSTR v);
11245
11246     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11247     HRESULT cookie([retval, out] BSTR *p);
11248
11249     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11250     HRESULT expando([in] VARIANT_BOOL v);
11251
11252     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11253     HRESULT expando([retval, out] VARIANT_BOOL *p);
11254
11255     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11256      HRESULT charset([in] BSTR v);
11257
11258     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11259     HRESULT charset([retval, out] BSTR *p);
11260
11261     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11262     HRESULT defaultCharset([in] BSTR v);
11263
11264     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11265     HRESULT defaultCharset([retval, out] BSTR *p);
11266
11267     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11268     HRESULT mimeType([retval, out] BSTR *p);
11269
11270     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11271     HRESULT fileSize([retval, out] BSTR *p);
11272
11273     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11274     HRESULT fileCreatedDate([retval, out] BSTR *p);
11275
11276     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11277     HRESULT fileModifiedDate([retval, out] BSTR *p);
11278
11279     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11280     HRESULT fileUpdatedDate([retval, out] BSTR *p);
11281
11282     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11283     HRESULT security([retval, out] BSTR *p);
11284
11285     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11286     HRESULT protocol([retval, out] BSTR *p);
11287
11288     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11289      HRESULT nameProp([retval, out] BSTR *p);
11290
11291     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11292     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
11293
11294     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11295     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
11296
11297     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11298     HRESULT open(
11299         [defaultvalue("text/html"), in] BSTR url,
11300         [optional, in] VARIANT name,
11301         [optional, in] VARIANT features,
11302         [optional, in] VARIANT replace,
11303         [retval, out]  IDispatch **pomWindowResult);
11304
11305     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11306     HRESULT close();
11307
11308     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11309     HRESULT clear();
11310
11311     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11312     HRESULT queryCommandSupported(
11313         [in] BSTR cmdID,
11314         [retval, out] VARIANT_BOOL *pfRet);
11315
11316     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11317     HRESULT queryCommandEnabled(
11318         [in] BSTR cmdID,
11319         [retval, out] VARIANT_BOOL *pfRet);
11320
11321     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11322     HRESULT queryCommandState(
11323         [in] BSTR cmdID,
11324         [retval, out] VARIANT_BOOL *pfRet);
11325
11326     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11327     HRESULT queryCommandIndeterm(
11328         [in] BSTR cmdID,
11329         [retval, out] VARIANT_BOOL *pfRet);
11330
11331     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11332     HRESULT queryCommandText(
11333         [in] BSTR cmdID,
11334         [retval, out] BSTR *pcmdText);
11335
11336     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11337     HRESULT queryCommandValue(
11338         [in] BSTR cmdID,
11339         [retval, out] VARIANT *pcmdValue);
11340
11341     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11342     HRESULT execCommand(
11343         [in] BSTR cmdID,
11344         [defaultvalue(0), in] VARIANT_BOOL showUI,
11345         [optional, in] VARIANT value,
11346         [retval, out] VARIANT_BOOL *pfRet);
11347
11348     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
11349     HRESULT execCommandShowHelp(
11350         [in] BSTR cmdID,
11351         [retval, out] VARIANT_BOOL *pfRet);
11352
11353     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
11354      HRESULT createElement(
11355         [in] BSTR eTag,
11356         [retval, out] IHTMLElement **newElem);
11357
11358     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11359     HRESULT onhelp([in] VARIANT v);
11360
11361     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11362     HRESULT onhelp([retval, out] VARIANT *p);
11363
11364     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11365     HRESULT onclick([in] VARIANT v);
11366
11367     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11368     HRESULT onclick([retval, out] VARIANT *p);
11369
11370     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11371     HRESULT ondblclick([in] VARIANT v);
11372
11373     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11374     HRESULT ondblclick([retval, out] VARIANT *p);
11375
11376     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11377     HRESULT onkeyup([in] VARIANT v);
11378
11379     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11380     HRESULT onkeyup([retval, out] VARIANT *p);
11381
11382     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11383     HRESULT onkeydown([in] VARIANT v);
11384
11385     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11386     HRESULT onkeydown([retval, out] VARIANT *p);
11387
11388     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11389      HRESULT onkeypress([in] VARIANT v);
11390
11391     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11392     HRESULT onkeypress([retval, out] VARIANT *p);
11393
11394     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11395     HRESULT onmouseup([in] VARIANT v);
11396
11397     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11398     HRESULT onmouseup([retval, out] VARIANT *p);
11399
11400     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11401     HRESULT onmousedown([in] VARIANT v);
11402
11403     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11404     HRESULT onmousedown([retval, out] VARIANT *p);
11405
11406     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11407     HRESULT onmousemove([in] VARIANT v);
11408
11409     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11410     HRESULT onmousemove([retval, out] VARIANT *p);
11411
11412     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11413     HRESULT onmouseout([in] VARIANT v);
11414
11415     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11416     HRESULT onmouseout([retval, out] VARIANT *p);
11417
11418     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11419     HRESULT onmouseover([in] VARIANT v);
11420
11421     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11422     HRESULT onmouseover([retval, out] VARIANT *p);
11423
11424     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11425     HRESULT onreadystatechange([in] VARIANT v);
11426
11427     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11428     HRESULT onreadystatechange([retval, out] VARIANT *p);
11429
11430     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11431     HRESULT onafterupdate([in] VARIANT v);
11432
11433     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11434     HRESULT onafterupdate([retval, out] VARIANT *p);
11435
11436     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11437     HRESULT onrowexit([in] VARIANT v);
11438
11439     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11440     HRESULT onrowexit([retval, out] VARIANT *p);
11441
11442     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11443     HRESULT onrowenter([in] VARIANT v);
11444
11445     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11446     HRESULT onrowenter([retval, out] VARIANT *p);
11447
11448     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11449     HRESULT ondragstart([in] VARIANT v);
11450
11451     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11452     HRESULT ondragstart([retval, out] VARIANT *p);
11453
11454     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11455     HRESULT onselectstart([in] VARIANT v);
11456
11457     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11458     HRESULT onselectstart([retval, out] VARIANT *p);
11459
11460     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
11461     HRESULT elementFromPoint(
11462         [in] LONG x,
11463         [in] LONG y,
11464         [retval, out] IHTMLElement **elementHit);
11465
11466     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
11467     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
11468
11469     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
11470     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
11471
11472     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11473     HRESULT onbeforeupdate([in] VARIANT v);
11474
11475     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11476     HRESULT onbeforeupdate([retval, out] VARIANT *p);
11477
11478     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11479     HRESULT onerrorupdate([in] VARIANT v);
11480
11481     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11482     HRESULT onerrorupdate([retval, out] VARIANT *p);
11483
11484     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
11485     HRESULT toString([retval, out] BSTR *String);
11486
11487     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
11488     HRESULT createStyleSheet(
11489         [defaultvalue(""), in] BSTR bstrHref,
11490         [defaultvalue(-1), in] LONG lIndex,
11491         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
11492 }
11493
11494 /*****************************************************************************
11495  *    IHTMLDocument3 interface
11496  */
11497 [
11498     odl,
11499     oleautomation,
11500     dual,
11501     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
11502 ]
11503 interface IHTMLDocument3 : IDispatch
11504 {
11505     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
11506     HRESULT releaseCapture();
11507
11508     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
11509     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
11510
11511     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
11512     HRESULT createTextNode(
11513         [in] BSTR text,
11514         [retval, out] IHTMLDOMNode **newTextNode);
11515
11516     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
11517     HRESULT documentElement([retval, out] IHTMLElement **p);
11518
11519     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
11520     HRESULT uniqueID([retval, out] BSTR *p);
11521
11522     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
11523     HRESULT attachEvent(
11524         [in] BSTR event,
11525         [in] IDispatch* pDisp,
11526         [retval, out] VARIANT_BOOL *pfResult);
11527
11528     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
11529     HRESULT detachEvent(
11530         [in] BSTR event,
11531         [in] IDispatch *pDisp);
11532
11533     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11534     HRESULT onrowsdelete([in] VARIANT v);
11535
11536     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11537     HRESULT onrowsdelete([retval, out] VARIANT *p);
11538
11539     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11540     HRESULT onrowsinserted([in] VARIANT v);
11541
11542     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11543     HRESULT onrowsinserted([retval, out] VARIANT *p);
11544
11545     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11546     HRESULT oncellchange([in] VARIANT v);
11547
11548     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11549     HRESULT oncellchange([retval, out] VARIANT *p);
11550
11551     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11552     HRESULT ondatasetchanged([in] VARIANT v);
11553
11554     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11555     HRESULT ondatasetchanged([retval, out] VARIANT *p);
11556
11557     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11558     HRESULT ondataavailable([in] VARIANT v);
11559
11560     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11561     HRESULT ondataavailable([retval, out] VARIANT * p);
11562
11563     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11564     HRESULT ondatasetcomplete([in] VARIANT v);
11565
11566     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11567     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
11568
11569     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11570     HRESULT onpropertychange([in] VARIANT v);
11571
11572     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11573     HRESULT onpropertychange([retval, out] VARIANT *p);
11574
11575     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
11576     HRESULT dir([in] BSTR v);
11577
11578     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
11579     HRESULT dir([retval, out] BSTR *p);
11580
11581     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11582     HRESULT oncontextmenu([in] VARIANT v);
11583
11584     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11585     HRESULT oncontextmenu([retval, out] VARIANT *p);
11586
11587     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11588     HRESULT onstop([in] VARIANT v);
11589
11590     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11591     HRESULT onstop([retval, out] VARIANT *p);
11592
11593     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
11594     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
11595
11596     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
11597     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
11598
11599     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11600     HRESULT enableDownload([in] VARIANT_BOOL v);
11601
11602     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11603     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
11604
11605     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11606     HRESULT baseUrl([in] BSTR v);
11607
11608     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11609     HRESULT baseUrl([retval, out] BSTR *p);
11610
11611     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
11612     HRESULT childNodes([retval, out] IDispatch **p);
11613
11614     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11615     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
11616
11617     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11618     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
11619
11620     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11621     HRESULT onbeforeeditfocus([in] VARIANT v);
11622
11623     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11624     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
11625
11626     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
11627     HRESULT getElementsByName(
11628         [in] BSTR v,
11629         [retval, out] IHTMLElementCollection **pelColl);
11630
11631     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
11632     HRESULT getElementById(
11633         [in] BSTR v,
11634         [retval, out] IHTMLElement **pel);
11635
11636     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
11637     HRESULT getElementsByTagName(
11638         [in] BSTR v,
11639         [retval, out] IHTMLElementCollection **pelColl);
11640 }
11641
11642 /*****************************************************************************
11643  *    IHTMLDocument4 interface
11644  */
11645 [
11646     odl,
11647     oleautomation,
11648     dual,
11649     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
11650 ]
11651 interface IHTMLDocument4 : IDispatch
11652 {
11653     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
11654     HRESULT focus();
11655
11656     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
11657     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
11658
11659     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11660     HRESULT onselectionchange([in] VARIANT v);
11661
11662     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11663     HRESULT onselectionchange([retval, out] VARIANT *p);
11664
11665     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
11666     HRESULT namespaces([retval, out] IDispatch **p);
11667
11668     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
11669     HRESULT createDocumentFromUrl(
11670         [in] BSTR bstrUrl,
11671         [in] BSTR bstrOptions,
11672         [retval, out] IHTMLDocument2 **newDoc);
11673
11674     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11675     HRESULT media([in] BSTR v);
11676
11677     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11678     HRESULT media([retval, out] BSTR *p);
11679
11680     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
11681     HRESULT createEventObject(
11682         [optional, in] VARIANT *pvarEventObject,
11683         [retval, out] IHTMLEventObj **ppEventObj);
11684
11685     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
11686     HRESULT fireEvent(
11687         [in] BSTR bstrEventName,
11688         [optional, in] VARIANT *pvarEventObject,
11689         [retval, out] VARIANT_BOOL *pfCancelled);
11690
11691     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
11692     HRESULT createRenderStyle(
11693         [in] BSTR v,
11694         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
11695
11696     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11697     HRESULT oncontrolselect([in] VARIANT v);
11698
11699     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11700     HRESULT oncontrolselect([retval, out] VARIANT *p);
11701
11702     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
11703     HRESULT URLUnencoded([retval, out] BSTR *p);
11704 }
11705
11706 /*****************************************************************************
11707  *    IHTMLDocument5 interface
11708  */
11709 [
11710     odl,
11711     oleautomation,
11712     dual,
11713     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
11714 ]
11715 interface IHTMLDocument5 : IDispatch
11716 {
11717     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11718     HRESULT onmousewheel([in] VARIANT v);
11719
11720     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11721     HRESULT onmousewheel([retval, out] VARIANT *p);
11722
11723     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
11724     HRESULT doctype([retval, out] IHTMLDOMNode **p);
11725
11726     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
11727     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
11728
11729     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
11730     HRESULT createAttribute(
11731         [in] BSTR bstrattrName,
11732         [retval, out] IHTMLDOMAttribute **ppattribute);
11733
11734     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
11735     HRESULT createComment(
11736         [in] BSTR bstrdata,
11737         [retval, out] IHTMLDOMNode **ppRetNode);
11738
11739     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11740     HRESULT onfocusin([in] VARIANT v);
11741
11742     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11743     HRESULT onfocusin([retval, out] VARIANT *p);
11744
11745     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11746     HRESULT onfocusout([in] VARIANT v);
11747
11748     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11749     HRESULT onfocusout([retval, out] VARIANT *p);
11750
11751     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11752     HRESULT onactivate([in] VARIANT v);
11753
11754     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11755     HRESULT onactivate([retval, out] VARIANT *p);
11756
11757     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11758     HRESULT ondeactivate([in] VARIANT v);
11759
11760     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11761     HRESULT ondeactivate([retval, out] VARIANT *p);
11762
11763     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11764     HRESULT onbeforeactivate([in] VARIANT v);
11765
11766     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11767     HRESULT onbeforeactivate([retval, out] VARIANT *p);
11768
11769     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11770     HRESULT onbeforedeactivate([in] VARIANT v);
11771
11772     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11773     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
11774
11775     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
11776     HRESULT compatMode([retval, out] BSTR *p);
11777 }
11778
11779 /*****************************************************************************
11780  *    IHTMLDocument6 interface
11781  */
11782 [
11783     odl,
11784     oleautomation,
11785     dual,
11786     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
11787 ]
11788 interface IHTMLDocument6 : IDispatch
11789 {
11790     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
11791     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
11792
11793     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
11794     HRESULT documentMode([retval, out] VARIANT *p);
11795
11796     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
11797     HRESULT onstorage([in] VARIANT v);
11798
11799     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
11800     HRESULT onstorage([out] VARIANT *p);
11801
11802     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
11803     HRESULT onstoragecommit([in] VARIANT v);
11804
11805     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
11806     HRESULT onstoragecommit([out] VARIANT *p);
11807
11808     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
11809     HRESULT getElementById(
11810         [in] BSTR bstrId,
11811         [retval, out] IHTMLElement2 **p);
11812
11813     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
11814     HRESULT updateSettings();
11815 }
11816
11817 /*****************************************************************************
11818  *    DispHTMLDocument dispinterface
11819  */
11820 [
11821     hidden,
11822     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
11823 ]
11824 dispinterface DispHTMLDocument
11825 {
11826 properties:
11827 methods:
11828     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
11829     IDispatch *Script();
11830
11831     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11832     IHTMLElementCollection *all();
11833
11834     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11835     IHTMLElement *body();
11836
11837     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11838     IHTMLElement *activeElement();
11839
11840     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11841     IHTMLElementCollection *images();
11842
11843     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11844     IHTMLElementCollection *applets();
11845
11846     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11847     IHTMLElementCollection *links();
11848
11849     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11850     IHTMLElementCollection *forms();
11851
11852     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11853     IHTMLElementCollection *anchors();
11854
11855     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11856     void title(BSTR v);
11857
11858     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11859     BSTR title();
11860
11861     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11862     IHTMLElementCollection *scripts();
11863
11864     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11865     void designMode(BSTR v);
11866
11867     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11868     BSTR designMode();
11869
11870     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11871     IHTMLSelectionObject *selection();
11872
11873     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
11874     BSTR readyState();
11875
11876     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11877     IHTMLFramesCollection2 *frames();
11878
11879     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11880     IHTMLElementCollection *embeds();
11881
11882     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11883     IHTMLElementCollection *plugins();
11884
11885     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11886     void alinkColor(VARIANT v);
11887
11888     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11889     VARIANT alinkColor();
11890
11891     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11892     void bgColor(VARIANT v);
11893
11894     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11895     VARIANT bgColor();
11896
11897     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11898     void fgColor(VARIANT v);
11899
11900     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11901     VARIANT fgColor();
11902
11903     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11904     void linkColor(VARIANT v);
11905
11906     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11907     VARIANT linkColor();
11908
11909     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11910     void vlinkColor(VARIANT v);
11911
11912     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11913     VARIANT vlinkColor();
11914
11915     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11916     BSTR referrer();
11917
11918     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11919     IHTMLLocation *location();
11920
11921     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11922     BSTR lastModified();
11923
11924     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11925     void URL(BSTR v);
11926
11927     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11928     BSTR URL();
11929
11930     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11931     void domain(BSTR v);
11932
11933     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11934     BSTR domain();
11935
11936     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11937     void cookie(BSTR v);
11938
11939     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11940     BSTR cookie();
11941
11942     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11943     void expando(VARIANT_BOOL v);
11944
11945     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11946     VARIANT_BOOL expando();
11947
11948     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11949     void charset(BSTR v);
11950
11951     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11952     BSTR charset();
11953
11954     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11955     void defaultCharset(BSTR v);
11956
11957     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11958     BSTR defaultCharset();
11959
11960     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11961     BSTR mimeType();
11962
11963     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11964     BSTR fileSize();
11965
11966     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11967     BSTR fileCreatedDate();
11968
11969     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11970     BSTR fileModifiedDate();
11971
11972     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11973     BSTR fileUpdatedDate();
11974
11975     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11976     BSTR security();
11977
11978     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11979     BSTR protocol();
11980
11981     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11982     BSTR nameProp();
11983
11984     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11985     void write([in] SAFEARRAY(VARIANT) psarray);
11986
11987     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11988     void writeln([in] SAFEARRAY(VARIANT) psarray);
11989
11990     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11991     IDispatch *open(
11992         [defaultvalue("text/html"), in] BSTR url,
11993         [optional, in] VARIANT name,
11994         [optional, in] VARIANT features,
11995         [optional, in] VARIANT replace);
11996
11997     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11998     void close();
11999
12000     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12001     void clear();
12002
12003     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12004     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12005
12006     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12007     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12008
12009     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12010     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12011
12012     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12013     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12014
12015     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12016     BSTR queryCommandText([in] BSTR cmdID);
12017
12018     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12019     VARIANT queryCommandValue([in] BSTR cmdID);
12020
12021     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12022     VARIANT_BOOL execCommand(
12023         [in] BSTR cmdID,
12024         [defaultvalue(0), in] VARIANT_BOOL showUI,
12025         [optional, in] VARIANT value);
12026
12027     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12028     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12029
12030     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12031     IHTMLElement *createElement([in] BSTR eTag);
12032
12033     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12034     void onhelp(VARIANT v);
12035
12036     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12037     VARIANT onhelp();
12038
12039     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12040     void onclick(VARIANT v);
12041
12042     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12043     VARIANT onclick();
12044
12045     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12046     void ondblclick(VARIANT v);
12047
12048     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12049     VARIANT ondblclick();
12050
12051     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12052     void onkeyup(VARIANT v);
12053
12054     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12055     VARIANT onkeyup();
12056
12057     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12058     void onkeydown(VARIANT v);
12059
12060     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12061     VARIANT onkeydown();
12062
12063     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12064     void onkeypress(VARIANT v);
12065
12066     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12067     VARIANT onkeypress();
12068
12069     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12070     void onmouseup(VARIANT v);
12071
12072     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12073     VARIANT onmouseup();
12074
12075     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12076     void onmousedown(VARIANT v);
12077
12078     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12079     VARIANT onmousedown();
12080
12081     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12082     void onmousemove(VARIANT v);
12083
12084     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12085     VARIANT onmousemove();
12086
12087     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12088     void onmouseout(VARIANT v);
12089
12090     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12091     VARIANT onmouseout();
12092
12093     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12094     void onmouseover(VARIANT v);
12095
12096     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12097     VARIANT onmouseover();
12098
12099     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12100     void onreadystatechange(VARIANT v);
12101
12102     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12103     VARIANT onreadystatechange();
12104
12105     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12106     void onafterupdate(VARIANT v);
12107
12108     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12109     VARIANT onafterupdate();
12110
12111     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12112     void onrowexit(VARIANT v);
12113
12114     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12115     VARIANT onrowexit();
12116
12117     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12118     void onrowenter(VARIANT v);
12119
12120     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12121     VARIANT onrowenter();
12122
12123     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12124     void ondragstart(VARIANT v);
12125
12126     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12127     VARIANT ondragstart();
12128
12129     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12130     void onselectstart(VARIANT v);
12131
12132     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12133     VARIANT onselectstart();
12134
12135     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12136     IHTMLElement *elementFromPoint(
12137         [in] LONG x,
12138         [in] LONG y);
12139
12140     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12141     IHTMLWindow2 *parentWindow();
12142
12143     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12144     IHTMLStyleSheetsCollection *styleSheets();
12145
12146     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12147     void onbeforeupdate(VARIANT v);
12148
12149     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12150     VARIANT onbeforeupdate();
12151
12152     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12153     void onerrorupdate(VARIANT v);
12154
12155     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12156     VARIANT onerrorupdate();
12157
12158     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12159     BSTR toString();
12160
12161     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12162     IHTMLStyleSheet *createStyleSheet(
12163         [defaultvalue(""), in] BSTR bstrHref,
12164         [defaultvalue(-1), in] LONG lIndex);
12165
12166     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12167     void releaseCapture();
12168
12169     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12170     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12171
12172     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12173     IHTMLDOMNode *createTextNode([in] BSTR text);
12174
12175     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12176     IHTMLElement *documentElement();
12177
12178     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12179     BSTR uniqueID();
12180
12181     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12182     VARIANT_BOOL attachEvent(
12183         [in] BSTR event,
12184         [in] IDispatch *pDisp);
12185
12186     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12187     void detachEvent(
12188         [in] BSTR event,
12189         [in] IDispatch *pDisp);
12190
12191     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12192     void onrowsdelete(VARIANT v);
12193
12194     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12195     VARIANT onrowsdelete();
12196
12197     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12198     void onrowsinserted(VARIANT v);
12199
12200     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12201     VARIANT onrowsinserted();
12202
12203     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12204     void oncellchange(VARIANT v);
12205
12206     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12207     VARIANT oncellchange();
12208
12209     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12210     void ondatasetchanged(VARIANT v);
12211
12212     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12213     VARIANT ondatasetchanged();
12214
12215     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12216     void ondataavailable(VARIANT v);
12217
12218     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12219     VARIANT ondataavailable();
12220
12221     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12222     void ondatasetcomplete(VARIANT v);
12223
12224     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12225     VARIANT ondatasetcomplete();
12226
12227     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12228     void onpropertychange(VARIANT v);
12229
12230     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12231     VARIANT onpropertychange();
12232
12233     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12234     void dir(BSTR v);
12235
12236     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12237     BSTR dir();
12238
12239     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12240     void oncontextmenu(VARIANT v);
12241
12242     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12243     VARIANT oncontextmenu();
12244
12245     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12246     void onstop(VARIANT v);
12247
12248     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12249     VARIANT onstop();
12250
12251     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12252     IHTMLDocument2 *createDocumentFragment();
12253
12254     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12255     IHTMLDocument2 *parentDocument();
12256
12257     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12258     void enableDownload(VARIANT_BOOL v);
12259
12260     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12261     VARIANT_BOOL enableDownload();
12262
12263     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12264     void baseUrl(BSTR v);
12265
12266     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12267     BSTR baseUrl();
12268
12269     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12270     void inheritStyleSheets(VARIANT_BOOL v);
12271
12272     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12273     VARIANT_BOOL inheritStyleSheets();
12274
12275     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12276     void onbeforeeditfocus(VARIANT v);
12277
12278     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12279     VARIANT onbeforeeditfocus();
12280
12281     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12282     IHTMLElementCollection *getElementsByName([in] BSTR v);
12283
12284     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12285     IHTMLElement *getElementById([in] BSTR v);
12286
12287     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12288     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12289
12290     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12291     void focus();
12292
12293     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12294     VARIANT_BOOL hasFocus();
12295
12296     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12297     void onselectionchange(VARIANT v);
12298
12299     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12300     VARIANT onselectionchange();
12301
12302     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12303     IDispatch *namespaces();
12304
12305     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12306     IHTMLDocument2 *createDocumentFromUrl(
12307         [in] BSTR bstrUrl,
12308         [in] BSTR bstrOptions);
12309
12310     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12311     void media(BSTR v);
12312
12313     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12314     BSTR media();
12315
12316     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12317     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
12318
12319     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12320     VARIANT_BOOL fireEvent(
12321         [in] BSTR bstrEventName,
12322         [optional, in] VARIANT *pvarEventObject);
12323
12324     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12325     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
12326
12327     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12328     void oncontrolselect(VARIANT v);
12329
12330     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12331     VARIANT oncontrolselect();
12332
12333     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12334     BSTR URLUnencoded();
12335
12336     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12337     void onmousewheel(VARIANT v);
12338
12339     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12340     VARIANT onmousewheel();
12341
12342     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12343     IHTMLDOMNode *doctype();
12344
12345     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12346     IHTMLDOMImplementation *implementation();
12347
12348     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12349     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
12350
12351     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12352     IHTMLDOMNode *createComment([in] BSTR bstrdata);
12353
12354     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12355     void onfocusin(VARIANT v);
12356
12357     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12358     VARIANT onfocusin();
12359
12360     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12361     void onfocusout(VARIANT v);
12362
12363     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12364     VARIANT onfocusout();
12365
12366     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12367     void onactivate(VARIANT v);
12368
12369     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12370     VARIANT onactivate();
12371
12372     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12373     void ondeactivate(VARIANT v);
12374
12375     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12376     VARIANT ondeactivate();
12377
12378     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12379     void onbeforeactivate(VARIANT v);
12380
12381     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12382     VARIANT onbeforeactivate();
12383
12384     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12385     void onbeforedeactivate(VARIANT v);
12386
12387     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12388     VARIANT onbeforedeactivate();
12389
12390     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12391     BSTR compatMode();
12392
12393     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12394     IHTMLDocumentCompatibleInfoCollection *compatible();
12395
12396     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12397     VARIANT documentMode();
12398
12399     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12400     void onstorage(VARIANT v);
12401
12402     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12403     VARIANT onstorage();
12404
12405     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12406     void onstoragecommit(VARIANT v);
12407
12408     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12409     VARIANT onstoragecommit();
12410
12411     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12412     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
12413
12414     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12415     void updateSettings();
12416
12417     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
12418 }
12419
12420 /*****************************************************************************
12421  *    HTMLDocument coclass
12422  */
12423 [
12424     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
12425 ]
12426 coclass HTMLDocument
12427 {
12428     [default]         dispinterface DispHTMLDocument;
12429     [source, default] dispinterface HTMLDocumentEvents;
12430     [source]          dispinterface HTMLDocumentEvents2;
12431                       interface IHTMLDocument2;
12432                       interface IHTMLDocument3;
12433                       interface IHTMLDocument4;
12434                       interface IHTMLDocument5;
12435                       interface IHTMLDocument6;
12436                       interface IHTMLDOMNode;
12437                       interface IHTMLDOMNode2;
12438 }
12439
12440 /*****************************************************************************
12441  *    IHTMLCommentElement interface
12442  */
12443 [
12444     odl,
12445     oleautomation,
12446     dual,
12447     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
12448 ]
12449 interface IHTMLCommentElement : IDispatch
12450 {
12451     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12452     HRESULT text([in] BSTR v);
12453
12454     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12455     HRESULT text([out, retval] BSTR *p);
12456
12457     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12458     HRESULT atomic([in] LONG v);
12459
12460     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12461     HRESULT atomic([out, retval] LONG *p);
12462 }
12463
12464 /*****************************************************************************
12465  *    IHTMLCommentElement2 interface
12466  */
12467 [
12468     odl,
12469     oleautomation,
12470     dual,
12471     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
12472 ]
12473 interface IHTMLCommentElement2 : IDispatch
12474 {
12475     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12476     HRESULT data([in] BSTR v);
12477
12478     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12479     HRESULT data([out, retval] BSTR *p);
12480
12481     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
12482     HRESULT length([out, retval] LONG *p);
12483
12484     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
12485     HRESULT substringData(
12486             [in] LONG offset,
12487             [in] LONG Count,
12488             [out, retval] BSTR *pbstrsubString);
12489
12490     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
12491     HRESULT appendData([in] BSTR bstrstring);
12492
12493     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
12494     HRESULT insertData(
12495             [in] LONG offset,
12496             [in] BSTR bstrstring);
12497
12498     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
12499     HRESULT deleteData(
12500             [in] LONG offset,
12501             [in] LONG Count);
12502
12503     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
12504     HRESULT replaceData(
12505             [in] LONG offset,
12506             [in] LONG Count,
12507             [in] BSTR bstrstring);
12508 }
12509
12510 /*****************************************************************************
12511  *    DispHTMLCommentElement dispinterface
12512  */
12513 [
12514     hidden,
12515     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
12516 ]
12517 dispinterface DispHTMLCommentElement
12518 {
12519 properties:
12520 methods:
12521     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
12522
12523     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12524     void text(BSTR v);
12525
12526     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12527     BSTR text();
12528
12529     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12530     void atomic(LONG v);
12531
12532     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12533     LONG atomic();
12534
12535     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12536     void data(BSTR v);
12537
12538     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12539     BSTR data();
12540
12541     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
12542     LONG length();
12543
12544     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
12545     BSTR substringData(
12546             [in] LONG offset,
12547             [in] LONG Count);
12548
12549     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
12550     void appendData([in] BSTR bstrstring);
12551
12552     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
12553      void insertData(
12554             [in] LONG offset,
12555             [in] BSTR bstrstring);
12556
12557     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
12558     void deleteData(
12559             [in] LONG offset,
12560             [in] LONG Count);
12561
12562     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
12563     void replaceData(
12564             [in] LONG offset,
12565             [in] LONG Count,
12566             [in] BSTR bstrstring);
12567 }
12568
12569 [
12570     hidden,
12571     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
12572 ]
12573 dispinterface HTMLElementEvents2
12574 {
12575 properties:
12576 methods:
12577     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12578     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12579
12580     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12581     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12582
12583     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12584     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12585
12586     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12587     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12588
12589     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12590     void onkeydown([in] IHTMLEventObj* pEvtObj);
12591
12592     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12593     void onkeyup([in] IHTMLEventObj* pEvtObj);
12594
12595     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12596     void onmouseout([in] IHTMLEventObj* pEvtObj);
12597
12598     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12599     void onmouseover([in] IHTMLEventObj* pEvtObj);
12600
12601     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12602     void onmousemove([in] IHTMLEventObj* pEvtObj);
12603
12604     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12605     void onmousedown([in] IHTMLEventObj* pEvtObj);
12606
12607     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12608     void onmouseup([in] IHTMLEventObj* pEvtObj);
12609
12610     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12611     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12612
12613     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12614     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12615
12616     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12617     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12618
12619     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12620     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12621
12622     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12623     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12624
12625     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12626     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12627
12628     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12629     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12630
12631     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12632     void onrowenter([in] IHTMLEventObj* pEvtObj);
12633
12634     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12635     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12636
12637     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12638     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12639
12640     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12641     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12642
12643     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12644     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12645
12646     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12647     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12648
12649     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12650     void onscroll([in] IHTMLEventObj* pEvtObj);
12651
12652     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12653     void onfocus([in] IHTMLEventObj* pEvtObj);
12654
12655     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12656     void onblur([in] IHTMLEventObj* pEvtObj);
12657
12658     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12659     void onresize([in] IHTMLEventObj* pEvtObj);
12660
12661     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12662     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12663
12664     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12665     void ondragend([in] IHTMLEventObj* pEvtObj);
12666
12667     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12668     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12669
12670     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12671     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12672
12673     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12674     void ondragleave([in] IHTMLEventObj* pEvtObj);
12675
12676     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12677     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12678
12679     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12680     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12681
12682     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12683     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12684
12685     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12686     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12687
12688     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12689     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12690
12691     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12692     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12693
12694     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12695     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12696
12697     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12698     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12699
12700     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12701     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12702
12703     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12704     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12705
12706     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12707     void oncellchange([in] IHTMLEventObj* pEvtObj);
12708
12709     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12710     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12711
12712     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12713     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12714
12715     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12716     void onpage([in] IHTMLEventObj* pEvtObj);
12717
12718     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12719     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12720
12721     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12722     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12723
12724     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12725     void onactivate([in] IHTMLEventObj* pEvtObj);
12726
12727     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12728     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12729
12730     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12731     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12732
12733     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12734     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12735
12736     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12737     void onfocusin([in] IHTMLEventObj* pEvtObj);
12738
12739     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12740     void onfocusout([in] IHTMLEventObj* pEvtObj);
12741
12742     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12743     void onmove([in] IHTMLEventObj* pEvtObj);
12744
12745     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12746     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12747
12748     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12749     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12750
12751     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12752     void onmoveend([in] IHTMLEventObj* pEvtObj);
12753
12754     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12755     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12756
12757     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12758     void onresizeend([in] IHTMLEventObj* pEvtObj);
12759
12760     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12761     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12762 };
12763 [
12764     hidden,
12765     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
12766 ]
12767 dispinterface HTMLElementEvents
12768 {
12769 properties:
12770 methods:
12771     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12772     VARIANT_BOOL onhelp();
12773
12774     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12775     VARIANT_BOOL onclick();
12776
12777     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12778     VARIANT_BOOL ondblclick();
12779
12780     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12781     VARIANT_BOOL onkeypress();
12782
12783     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12784     void onkeydown();
12785
12786     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12787     void onkeyup();
12788
12789     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12790     void onmouseout();
12791
12792     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12793     void onmouseover();
12794
12795     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12796     void onmousemove();
12797
12798     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12799     void onmousedown();
12800
12801     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12802     void onmouseup();
12803
12804     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12805     VARIANT_BOOL onselectstart();
12806
12807     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12808     void onfilterchange();
12809
12810     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12811     VARIANT_BOOL ondragstart();
12812
12813     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12814     VARIANT_BOOL onbeforeupdate();
12815
12816     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12817     void onafterupdate();
12818
12819     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12820     VARIANT_BOOL onerrorupdate();
12821
12822     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12823     VARIANT_BOOL onrowexit();
12824
12825     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12826     void onrowenter();
12827
12828     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12829     void ondatasetchanged();
12830
12831     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12832     void ondataavailable();
12833
12834     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12835     void ondatasetcomplete();
12836
12837     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12838     void onlosecapture();
12839
12840     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12841     void onpropertychange();
12842
12843     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12844     void onscroll();
12845
12846     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12847     void onfocus();
12848
12849     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12850     void onblur();
12851
12852     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12853     void onresize();
12854
12855     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12856     VARIANT_BOOL ondrag();
12857
12858     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12859     void ondragend();
12860
12861     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12862     VARIANT_BOOL ondragenter();
12863
12864     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12865     VARIANT_BOOL ondragover();
12866
12867     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12868     void ondragleave();
12869
12870     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12871     VARIANT_BOOL ondrop();
12872
12873     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12874     VARIANT_BOOL onbeforecut();
12875
12876     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12877     VARIANT_BOOL oncut();
12878
12879     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12880     VARIANT_BOOL onbeforecopy();
12881
12882     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12883     VARIANT_BOOL oncopy();
12884
12885     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12886     VARIANT_BOOL onbeforepaste();
12887
12888     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12889     VARIANT_BOOL onpaste();
12890
12891     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12892     VARIANT_BOOL oncontextmenu();
12893
12894     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12895     void onrowsdelete();
12896
12897     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12898     void onrowsinserted();
12899
12900     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12901     void oncellchange();
12902
12903     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12904     void onreadystatechange();
12905
12906     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12907     void onbeforeeditfocus();
12908
12909     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12910     void onlayoutcomplete();
12911
12912     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12913     void onpage();
12914
12915     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12916     VARIANT_BOOL onbeforedeactivate();
12917
12918     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12919     VARIANT_BOOL onbeforeactivate();
12920
12921     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12922     void onmove();
12923
12924     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12925     VARIANT_BOOL oncontrolselect();
12926
12927     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12928     VARIANT_BOOL onmovestart();
12929
12930     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12931     void onmoveend();
12932
12933     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12934     VARIANT_BOOL onresizestart();
12935
12936     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12937     void onresizeend();
12938
12939     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12940     void onmouseenter();
12941
12942     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12943     void onmouseleave();
12944
12945     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12946     VARIANT_BOOL onmousewheel();
12947
12948     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12949     void onactivate();
12950
12951     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12952     void ondeactivate();
12953
12954     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12955     void onfocusin();
12956
12957     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12958     void onfocusout();
12959
12960 };
12961
12962 [
12963     noncreatable,
12964     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
12965 ]
12966 coclass HTMLCommentElement
12967 {
12968     [default]           dispinterface DispHTMLCommentElement;
12969     [source, default]   dispinterface HTMLElementEvents;
12970     [source]            dispinterface HTMLElementEvents2;
12971                         interface IHTMLElement;
12972                         interface IHTMLElement2;
12973                         interface IHTMLElement3;
12974                         interface IHTMLElement4;
12975                         interface IHTMLUniqueName;
12976                         interface IHTMLDOMNode;
12977                         interface IHTMLDOMNode2;
12978                         interface IHTMLCommentElement;
12979                         interface IHTMLCommentElement2;
12980 }
12981
12982 /*****************************************************************************
12983  *    HTMLTableEvents dispinterface
12984  */
12985 [
12986     hidden,
12987     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
12988 ]
12989 dispinterface HTMLTableEvents
12990 {
12991 properties:
12992 methods:
12993     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12994     VARIANT_BOOL onhelp();
12995
12996     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12997     VARIANT_BOOL onclick();
12998
12999     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13000     VARIANT_BOOL ondblclick();
13001
13002     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13003     VARIANT_BOOL onkeypress();
13004
13005     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13006     void onkeydown();
13007
13008     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13009     void onkeyup();
13010
13011     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13012     void onmouseout();
13013
13014     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13015     void onmouseover();
13016
13017     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13018     void onmousemove();
13019
13020     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13021     void onmousedown();
13022
13023     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13024     void onmouseup();
13025
13026     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13027     VARIANT_BOOL onselectstart();
13028
13029     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13030     void onfilterchange();
13031
13032     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13033     VARIANT_BOOL ondragstart();
13034
13035     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13036     VARIANT_BOOL onbeforeupdate();
13037
13038     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13039     void onafterupdate();
13040
13041     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13042     VARIANT_BOOL onerrorupdate();
13043
13044     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13045     VARIANT_BOOL onrowexit();
13046
13047     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13048     void onrowenter();
13049
13050     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13051     void ondatasetchanged();
13052
13053     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13054     void ondataavailable();
13055
13056     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13057     void ondatasetcomplete();
13058
13059     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13060     void onlosecapture();
13061
13062     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13063     void onpropertychange();
13064
13065     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13066     void onscroll();
13067
13068     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13069     void onfocus();
13070
13071     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13072     void onblur();
13073
13074     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13075     void onresize();
13076
13077     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13078     VARIANT_BOOL ondrag();
13079
13080     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13081     void ondragend();
13082
13083     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13084     VARIANT_BOOL ondragenter();
13085
13086     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13087     VARIANT_BOOL ondragover();
13088
13089     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13090     void ondragleave();
13091
13092     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13093     VARIANT_BOOL ondrop();
13094
13095     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13096     VARIANT_BOOL onbeforecut();
13097
13098     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13099     VARIANT_BOOL oncut();
13100
13101     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13102     VARIANT_BOOL onbeforecopy();
13103
13104     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13105     VARIANT_BOOL oncopy();
13106
13107     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13108     VARIANT_BOOL onbeforepaste();
13109
13110     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13111     VARIANT_BOOL onpaste();
13112
13113     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13114     VARIANT_BOOL oncontextmenu();
13115
13116     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13117     void onrowsdelete();
13118
13119     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13120     void onrowsinserted();
13121
13122     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13123     void oncellchange();
13124
13125     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13126     void onreadystatechange();
13127
13128     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13129     void onbeforeeditfocus();
13130
13131     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13132     void onlayoutcomplete();
13133
13134     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13135     void onpage();
13136
13137     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13138     VARIANT_BOOL onbeforedeactivate();
13139
13140     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13141     VARIANT_BOOL onbeforeactivate();
13142
13143     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13144     void onmove();
13145
13146     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13147     VARIANT_BOOL oncontrolselect();
13148
13149     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13150     VARIANT_BOOL onmovestart();
13151
13152     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13153     void onmoveend();
13154
13155     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13156     VARIANT_BOOL onresizestart();
13157
13158     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13159     void onresizeend();
13160
13161     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13162     void onmouseenter();
13163
13164     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13165     void onmouseleave();
13166
13167     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13168     VARIANT_BOOL onmousewheel();
13169
13170     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13171     void onactivate();
13172
13173     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13174     void ondeactivate();
13175
13176     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13177     void onfocusin();
13178
13179     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13180     void onfocusout();
13181 }
13182
13183 [
13184     hidden,
13185     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
13186 ]
13187 dispinterface HTMLTableEvents2
13188 {
13189 properties:
13190 methods:
13191     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13192     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13193
13194     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13195     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13196
13197     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13198     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13199
13200     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13201     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13202
13203     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13204     void onkeydown([in] IHTMLEventObj* pEvtObj);
13205
13206     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13207     void onkeyup([in] IHTMLEventObj* pEvtObj);
13208
13209     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13210     void onmouseout([in] IHTMLEventObj* pEvtObj);
13211
13212     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13213     void onmouseover([in] IHTMLEventObj* pEvtObj);
13214
13215     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13216     void onmousemove([in] IHTMLEventObj* pEvtObj);
13217
13218     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13219     void onmousedown([in] IHTMLEventObj* pEvtObj);
13220
13221     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13222     void onmouseup([in] IHTMLEventObj* pEvtObj);
13223
13224     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13225     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13226
13227     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13228     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13229
13230     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13231     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13232
13233     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13234     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13235
13236     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13237     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13238
13239     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13240     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13241
13242     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13243     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13244
13245     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13246     void onrowenter([in] IHTMLEventObj* pEvtObj);
13247
13248     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13249     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13250
13251     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13252     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13253
13254     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13255     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13256
13257     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13258     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13259
13260     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13261     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13262
13263     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13264     void onscroll([in] IHTMLEventObj* pEvtObj);
13265
13266     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13267     void onfocus([in] IHTMLEventObj* pEvtObj);
13268
13269     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13270     void onblur([in] IHTMLEventObj* pEvtObj);
13271
13272     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13273     void onresize([in] IHTMLEventObj* pEvtObj);
13274
13275     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13276     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13277
13278     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13279     void ondragend([in] IHTMLEventObj* pEvtObj);
13280
13281     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13282     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13283
13284     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13285     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13286
13287     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13288     void ondragleave([in] IHTMLEventObj* pEvtObj);
13289
13290     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13291     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13292
13293     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13294     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13295
13296     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13297     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13298
13299     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13300     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13301
13302     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13303     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13304
13305     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13306     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13307
13308     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13309     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13310
13311     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13312     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13313
13314     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13315     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13316
13317     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13318     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13319
13320     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13321     void oncellchange([in] IHTMLEventObj* pEvtObj);
13322
13323     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13324     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13325
13326     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13327     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13328
13329     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13330     void onpage([in] IHTMLEventObj* pEvtObj);
13331
13332     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13333     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13334
13335     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13336     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13337
13338     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13339     void onactivate([in] IHTMLEventObj* pEvtObj);
13340
13341     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13342     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13343
13344     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13345     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13346
13347     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13348     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13349
13350     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13351     void onfocusin([in] IHTMLEventObj* pEvtObj);
13352
13353     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13354     void onfocusout([in] IHTMLEventObj* pEvtObj);
13355
13356     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13357     void onmove([in] IHTMLEventObj* pEvtObj);
13358
13359     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13360     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13361
13362     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13363     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13364
13365     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13366     void onmoveend([in] IHTMLEventObj* pEvtObj);
13367
13368     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13369     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13370
13371     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13372     void onresizeend([in] IHTMLEventObj* pEvtObj);
13373
13374     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13375     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13376 };
13377
13378 /*****************************************************************************
13379  *    IHTMLTableCaption interface
13380  */
13381 [
13382     odl,
13383     oleautomation,
13384     dual,
13385     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
13386 ]
13387 interface IHTMLTableCaption : IDispatch
13388 {
13389     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13390     HRESULT align([in] BSTR v);
13391
13392     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13393     HRESULT align([retval, out] BSTR *p);
13394
13395     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13396     HRESULT vAlign([in] BSTR v);
13397
13398     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13399     HRESULT vAlign([retval, out] BSTR *p);
13400 }
13401
13402 interface IHTMLTableSection;
13403
13404 /*****************************************************************************
13405  *    IHTMLTable interface
13406  */
13407 [
13408     odl,
13409     oleautomation,
13410     dual,
13411     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
13412 ]
13413 interface IHTMLTable : IDispatch
13414 {
13415     [propput, id(DISPID_IHTMLTABLE_COLS)]
13416     HRESULT cols([in] LONG v);
13417
13418     [propget, id(DISPID_IHTMLTABLE_COLS)]
13419     HRESULT cols([retval, out] LONG *p);
13420
13421     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13422     HRESULT border([in] VARIANT v);
13423
13424     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13425     HRESULT border([retval, out] VARIANT *p);
13426
13427     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13428     HRESULT frame([in] BSTR v);
13429
13430     [propget, id(DISPID_IHTMLTABLE_FRAME)]
13431     HRESULT frame([retval, out] BSTR *p);
13432
13433     [propput, id(DISPID_IHTMLTABLE_RULES)]
13434     HRESULT rules([in] BSTR v);
13435
13436     [propget, id(DISPID_IHTMLTABLE_RULES)]
13437     HRESULT rules([retval, out] BSTR *p);
13438
13439     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
13440     HRESULT cellSpacing([in] VARIANT v);
13441
13442     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
13443     HRESULT cellSpacing([retval, out] VARIANT *p);
13444
13445     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
13446     HRESULT cellPadding([in] VARIANT v);
13447
13448     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
13449     HRESULT cellPadding([retval, out] VARIANT *p);
13450
13451     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
13452     HRESULT background([in] BSTR v);
13453
13454     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
13455     HRESULT background([retval, out] BSTR *p);
13456
13457     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
13458     HRESULT bgColor([in] VARIANT v);
13459
13460     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
13461     HRESULT bgColor([retval, out] VARIANT *p);
13462
13463     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13464     HRESULT borderColor([in] VARIANT v);
13465
13466     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13467     HRESULT borderColor([retval, out] VARIANT *p);
13468
13469     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13470     HRESULT borderColorLight([in] VARIANT v);
13471
13472     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13473     HRESULT borderColorLight([retval, out] VARIANT *p);
13474
13475     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13476     HRESULT borderColorDark([in] VARIANT v);
13477
13478     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13479     HRESULT borderColorDark([retval, out] VARIANT *p);
13480
13481     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
13482     HRESULT align([in] BSTR v);
13483
13484     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
13485     HRESULT align([retval, out] BSTR * p);
13486
13487     [id(DISPID_IHTMLTABLE_REFRESH)]
13488     HRESULT refresh();
13489
13490     [propget, id(DISPID_IHTMLTABLE_ROWS)]
13491     HRESULT rows([retval, out] IHTMLElementCollection **p);
13492
13493     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
13494     HRESULT width([in] VARIANT v);
13495
13496     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
13497     HRESULT width([retval, out] VARIANT *p);
13498
13499     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
13500     HRESULT height([in] VARIANT v);
13501
13502     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
13503     HRESULT height([retval, out] VARIANT *p);
13504
13505     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13506     HRESULT dataPageSize([in] LONG v);
13507
13508     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13509     HRESULT dataPageSize([retval, out] LONG *p);
13510
13511     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
13512     HRESULT nextPage();
13513
13514     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
13515     HRESULT previousPage();
13516
13517     [propget, id(DISPID_IHTMLTABLE_THEAD)]
13518     HRESULT tHead([retval, out] IHTMLTableSection **p);
13519
13520     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
13521     HRESULT tFoot([retval, out] IHTMLTableSection **p);
13522
13523     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
13524     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
13525
13526     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
13527     HRESULT caption([retval, out] IHTMLTableCaption **p);
13528
13529     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
13530     HRESULT createTHead([retval, out] IDispatch **head);
13531
13532     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
13533     HRESULT deleteTHead();
13534
13535     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
13536     HRESULT createTFoot([retval, out] IDispatch **foot);
13537
13538     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
13539     HRESULT deleteTFoot();
13540
13541     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
13542     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
13543
13544     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
13545     HRESULT deleteCaption();
13546
13547     [id(DISPID_IHTMLTABLE_INSERTROW)]
13548     HRESULT insertRow(
13549             [defaultvalue(-1), in] LONG index,
13550             [retval, out] IDispatch **row);
13551
13552     [id(DISPID_IHTMLTABLE_DELETEROW)]
13553     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
13554
13555     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
13556     HRESULT readyState([retval, out] BSTR *p);
13557
13558     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13559     HRESULT onreadystatechange([in] VARIANT v);
13560
13561     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13562     HRESULT onreadystatechange([retval, out] VARIANT *p);
13563 }
13564
13565 [
13566     odl,
13567     oleautomation,
13568     dual,
13569     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
13570 ]
13571 interface IHTMLTable2 : IDispatch
13572 {
13573     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
13574     HRESULT firstPage();
13575
13576     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
13577     HRESULT lastPage();
13578
13579     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
13580     HRESULT cells([retval, out] IHTMLElementCollection* * p);
13581
13582     [id(DISPID_IHTMLTABLE2_MOVEROW)]
13583     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
13584         [defaultvalue(-1), in] LONG indexTo,
13585         [retval, out] IDispatch** row);
13586 };
13587
13588 [
13589     odl,
13590     oleautomation,
13591     dual,
13592     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
13593 ]
13594 interface IHTMLTable3 : IDispatch
13595 {
13596     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13597     HRESULT summary([in] BSTR v);
13598
13599     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13600     HRESULT summary([retval, out] BSTR * p);
13601 };
13602
13603 [
13604     noncreatable,
13605     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
13606 ]
13607 coclass HTMLTable
13608 {
13609     [default]           dispinterface DispHTMLTable;
13610     [source, default]   dispinterface HTMLTableEvents;
13611     [source]            dispinterface HTMLTableEvents2;
13612                         interface IHTMLElement;
13613                         interface IHTMLElement2;
13614                         interface IHTMLElement3;
13615                         interface IHTMLElement4;
13616                         interface IHTMLUniqueName;
13617                         interface IHTMLDOMNode;
13618                         interface IHTMLDOMNode2;
13619                         interface IHTMLDatabinding;
13620                         interface IHTMLControlElement;
13621                         interface IHTMLTable;
13622                         interface IHTMLTable2;
13623                         interface IHTMLTable3;
13624 };
13625
13626 [
13627     odl,
13628     oleautomation,
13629     dual,
13630     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
13631 ]
13632 interface IHTMLTableSection : IDispatch
13633 {
13634     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13635     HRESULT align([in] BSTR v);
13636
13637     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13638     HRESULT align([retval, out] BSTR *p);
13639
13640     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13641     HRESULT vAlign([in] BSTR v);
13642
13643     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13644     HRESULT vAlign([retval, out] BSTR *p);
13645
13646     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13647     HRESULT bgColor([in] VARIANT v);
13648
13649     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13650     HRESULT bgColor([retval, out] VARIANT *p);
13651
13652     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
13653     HRESULT rows([retval, out] IHTMLElementCollection **p);
13654
13655     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
13656     HRESULT insertRow(
13657             [defaultvalue(-1), in] LONG index,
13658             [retval, out] IDispatch **row);
13659
13660     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
13661     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
13662 }
13663
13664 /*****************************************************************************
13665  *    IHTMLTableRow interface
13666  */
13667 [
13668     odl,
13669     oleautomation,
13670     dual,
13671     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
13672 ]
13673 interface IHTMLTableRow : IDispatch
13674 {
13675     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
13676     HRESULT align([in] BSTR v);
13677
13678     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
13679     HRESULT align([out, retval] BSTR *p);
13680
13681     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
13682     HRESULT vAlign([in] BSTR v);
13683
13684     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
13685     HRESULT vAlign([out, retval] BSTR *p);
13686
13687     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13688     HRESULT bgColor([in] VARIANT v);
13689
13690     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13691     HRESULT bgColor([out, retval] VARIANT *p);
13692
13693     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13694     HRESULT borderColor([in] VARIANT v);
13695
13696     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13697     HRESULT borderColor([out, retval] VARIANT *p);
13698
13699     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13700     HRESULT borderColorLight([in] VARIANT v);
13701
13702     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13703     HRESULT borderColorLight([out, retval] VARIANT *p);
13704
13705     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13706     HRESULT borderColorDark([in] VARIANT v);
13707
13708     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13709     HRESULT borderColorDark([out, retval] VARIANT *p);
13710
13711     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
13712     HRESULT rowIndex([out, retval] LONG *p);
13713
13714     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
13715     HRESULT sectionRowIndex([out, retval] LONG *p);
13716
13717     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
13718     HRESULT cells([out, retval] IHTMLElementCollection **p);
13719
13720     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
13721     HRESULT insertCell(
13722             [in, defaultvalue(-1)] LONG index,
13723             [out, retval] IDispatch **row);
13724
13725     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
13726     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
13727 }
13728
13729 /*****************************************************************************
13730  *    DispHTMLTable interface
13731  */
13732 [
13733     hidden,
13734     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
13735 ]
13736 dispinterface DispHTMLTable
13737 {
13738 properties:
13739 methods:
13740     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
13741
13742     [propput, id(DISPID_IHTMLTABLE_COLS)]
13743     void cols(LONG v);
13744
13745     [propget, id(DISPID_IHTMLTABLE_COLS)]
13746     LONG cols();
13747
13748     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13749     void border(VARIANT v);
13750
13751     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13752     VARIANT border();
13753
13754     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13755     void frame(BSTR v);
13756
13757     [propget, id(DISPID_IHTMLTABLE_FRAME)]
13758     BSTR frame();
13759
13760     [propput, id(DISPID_IHTMLTABLE_RULES)]
13761     void rules(BSTR v);
13762
13763     [propget, id(DISPID_IHTMLTABLE_RULES)]
13764     BSTR rules();
13765
13766     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
13767     void cellSpacing(VARIANT v);
13768
13769     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
13770     VARIANT cellSpacing();
13771
13772     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
13773     void cellPadding(VARIANT v);
13774
13775     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
13776     VARIANT cellPadding();
13777
13778     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
13779     void background(BSTR v);
13780
13781     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
13782     BSTR background();
13783
13784     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
13785     void bgColor(VARIANT v);
13786
13787     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
13788     VARIANT bgColor();
13789
13790     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13791     void borderColor(VARIANT v);
13792
13793     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13794     VARIANT borderColor();
13795
13796     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13797     void borderColorLight(VARIANT v);
13798
13799     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13800     VARIANT borderColorLight();
13801
13802     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13803     void borderColorDark(VARIANT v);
13804
13805     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13806     VARIANT borderColorDark();
13807
13808     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
13809     void align(BSTR v);
13810
13811     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
13812     BSTR align();
13813
13814     [id(DISPID_IHTMLTABLE_REFRESH)]
13815     void refresh();
13816
13817     [propget, id(DISPID_IHTMLTABLE_ROWS)]
13818     IHTMLElementCollection *rows();
13819
13820     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
13821     void width(VARIANT v);
13822
13823     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
13824     VARIANT width();
13825
13826     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
13827     void height(VARIANT v);
13828
13829     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
13830     VARIANT height();
13831
13832     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13833     void dataPageSize(LONG v);
13834
13835     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13836     LONG dataPageSize();
13837
13838     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
13839     void nextPage();
13840
13841     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
13842     void previousPage();
13843
13844     [propget, id(DISPID_IHTMLTABLE_THEAD)]
13845     IHTMLTableSection *tHead();
13846
13847     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
13848     IHTMLTableSection *tFoot();
13849
13850     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
13851     IHTMLElementCollection *tBodies();
13852
13853     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
13854     IHTMLTableCaption *caption();
13855
13856     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
13857     IDispatch *createTHead();
13858
13859     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
13860     void deleteTHead();
13861
13862     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
13863     IDispatch *createTFoot();
13864
13865     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
13866     void deleteTFoot();
13867
13868     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
13869     IHTMLTableCaption *createCaption();
13870
13871     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
13872     void deleteCaption();
13873
13874     [id(DISPID_IHTMLTABLE_INSERTROW)]
13875     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
13876
13877     [id(DISPID_IHTMLTABLE_DELETEROW)]
13878     void deleteRow([in, defaultvalue(-1)] LONG index);
13879
13880     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
13881     void firstPage();
13882
13883     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
13884     void lastPage();
13885
13886     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
13887     IHTMLElementCollection *cells();
13888
13889     [id(DISPID_IHTMLTABLE2_MOVEROW)]
13890     IDispatch *moveRow(
13891             [in, defaultvalue(-1)] LONG indexFrom,
13892             [in, defaultvalue(-1)] LONG indexTo);
13893
13894     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13895     void summary(BSTR v);
13896
13897     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13898     BSTR summary();
13899 }
13900
13901 /*****************************************************************************
13902  *    DispHTMLTableRow dispinterface
13903  */
13904 [
13905     hidden,
13906     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
13907 ]
13908 dispinterface DispHTMLTableRow
13909 {
13910 properties:
13911 methods:
13912     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13913
13914     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
13915     void align(BSTR v);
13916
13917     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
13918     BSTR align();
13919
13920     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
13921     void vAlign(BSTR v);
13922
13923     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
13924     BSTR vAlign();
13925
13926     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13927     void bgColor(VARIANT v);
13928
13929     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13930     VARIANT bgColor();
13931
13932     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13933     void borderColor(VARIANT v);
13934
13935     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13936     VARIANT borderColor();
13937
13938     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13939     void borderColorLight(VARIANT v);
13940
13941     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13942     VARIANT borderColorLight();
13943
13944     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13945     void borderColorDark(VARIANT v);
13946
13947     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13948     VARIANT borderColorDark();
13949
13950     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
13951     LONG rowIndex();
13952
13953     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
13954     LONG sectionRowIndex();
13955
13956     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
13957     IHTMLElementCollection *cells();
13958
13959     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
13960     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
13961
13962     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
13963     void deleteCell([in, defaultvalue(-1)] LONG index);
13964
13965     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
13966     void height(VARIANT v);
13967
13968     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
13969     VARIANT height();
13970
13971     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
13972     void ch(BSTR v);
13973
13974     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
13975     BSTR ch();
13976
13977     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
13978     void chOff(BSTR v);
13979
13980     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
13981     BSTR chOff();
13982 }
13983
13984 /*****************************************************************************
13985  *    IHTMLScriptElement interface
13986  */
13987 [
13988     odl,
13989     oleautomation,
13990     dual,
13991     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
13992 ]
13993 interface IHTMLScriptElement : IDispatch
13994 {
13995     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
13996     HRESULT src([in] BSTR v);
13997
13998     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
13999     HRESULT src([retval, out] BSTR *p);
14000
14001     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14002     HRESULT htmlFor([in] BSTR v);
14003
14004     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14005     HRESULT htmlFor([retval, out] BSTR *p);
14006
14007     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14008     HRESULT event([in] BSTR v);
14009
14010     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14011     HRESULT event([retval, out] BSTR *p);
14012
14013     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14014     HRESULT text([in] BSTR v);
14015
14016     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14017     HRESULT text([retval, out] BSTR *p);
14018
14019     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14020     HRESULT defer([in] VARIANT_BOOL v);
14021
14022     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14023     HRESULT defer([retval, out] VARIANT_BOOL *p);
14024
14025     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
14026     HRESULT readyState([retval, out] BSTR *p);
14027
14028     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14029     HRESULT onerror([in] VARIANT v);
14030
14031     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14032     HRESULT onerror([retval, out] VARIANT *p);
14033
14034     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14035     HRESULT type([in] BSTR v);
14036
14037     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14038     HRESULT type([retval, out] BSTR *p);
14039 }
14040
14041 /*****************************************************************************
14042  *    IHTMLScriptElement2 interface
14043  */
14044 [
14045     odl,
14046     oleautomation,
14047     dual,
14048     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
14049 ]
14050 interface IHTMLScriptElement2 : IDispatch
14051 {
14052     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14053     HRESULT charset([in] BSTR v);
14054
14055     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14056     HRESULT charset([retval, out] BSTR *p);
14057 }
14058
14059 /*****************************************************************************
14060  *    IHTMLFrameBase interface
14061  */
14062 [
14063     odl,
14064     oleautomation,
14065     dual,
14066     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
14067 ]
14068 interface IHTMLFrameBase : IDispatch
14069 {
14070     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14071     HRESULT src([in] BSTR v);
14072
14073     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14074     HRESULT src([out, retval] BSTR *p);
14075
14076     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14077     HRESULT name([in] BSTR v);
14078
14079     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14080     HRESULT name([out, retval] BSTR *p);
14081
14082     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14083     HRESULT border([in] VARIANT v);
14084
14085     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14086     HRESULT border([out, retval] VARIANT *p);
14087
14088     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14089     HRESULT frameBorder([in] BSTR v);
14090
14091     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14092     HRESULT frameBorder([out, retval] BSTR *p);
14093
14094     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14095     HRESULT frameSpacing([in] VARIANT v);
14096
14097     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14098     HRESULT frameSpacing([out, retval] VARIANT *p);
14099
14100     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14101     HRESULT marginWidth([in] VARIANT v);
14102
14103     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14104     HRESULT marginWidth([out, retval] VARIANT *p);
14105
14106     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14107     HRESULT marginHeight([in] VARIANT v);
14108
14109     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14110     HRESULT marginHeight([out, retval] VARIANT *p);
14111
14112     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14113     HRESULT noResize([in] VARIANT_BOOL v);
14114
14115     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14116     HRESULT noResize([out, retval] VARIANT_BOOL *p);
14117
14118     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14119     HRESULT scrolling([in] BSTR v);
14120
14121     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14122     HRESULT scrolling([out, retval] BSTR *p);
14123 }
14124
14125 /*****************************************************************************
14126  *    IHTMLFrameBase2 interface
14127  */
14128 [
14129     odl,
14130     oleautomation,
14131     dual,
14132     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
14133 ]
14134 interface IHTMLFrameBase2 : IDispatch
14135 {
14136     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14137     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
14138
14139     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14140     HRESULT onload([in] VARIANT v);
14141
14142     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14143     HRESULT onload([retval, out] VARIANT *p);
14144
14145     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14146     HRESULT onreadystatechange([in] VARIANT v);
14147
14148     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14149     HRESULT onreadystatechange([retval, out] VARIANT *p);
14150
14151     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
14152     HRESULT readyState([retval, out] BSTR *p);
14153
14154     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14155     HRESULT allowTransparency([in] VARIANT_BOOL v);
14156
14157     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14158     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
14159 }
14160
14161 /*****************************************************************************
14162  *    DispHTMLIFrame dispinterface
14163  */
14164 [
14165     hidden,
14166     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
14167 ]
14168 dispinterface DispHTMLIFrame
14169 {
14170 properties:
14171 methods:
14172     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14173
14174     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14175     void src(BSTR v);
14176
14177     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14178     BSTR src();
14179
14180     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14181     void name(BSTR v);
14182
14183     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14184     BSTR name();
14185
14186     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14187     void border(VARIANT v);
14188
14189     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14190     VARIANT border();
14191
14192     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14193     void frameBorder(BSTR v);
14194
14195     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14196     BSTR frameBorder();
14197
14198     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14199     void frameSpacing(VARIANT v);
14200
14201     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14202     VARIANT frameSpacing();
14203
14204     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14205     void marginWidth(VARIANT v);
14206
14207     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14208     VARIANT marginWidth();
14209
14210     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14211     void marginHeight(VARIANT v);
14212
14213     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14214     VARIANT marginHeight();
14215
14216     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14217     void noResize(VARIANT_BOOL v);
14218
14219     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14220     VARIANT_BOOL noResize();
14221
14222     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14223     void scrolling(BSTR v);
14224
14225     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14226     BSTR scrolling();
14227
14228     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14229     IHTMLWindow2 *contentWindow();
14230
14231     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14232     void onload(VARIANT v);
14233
14234     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14235     VARIANT onload();
14236
14237     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14238     void allowTransparency(VARIANT_BOOL v);
14239
14240     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14241     VARIANT_BOOL allowTransparency();
14242
14243     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14244     void longDesc(BSTR v);
14245
14246     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14247     BSTR longDesc();
14248
14249     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14250     void vspace(LONG v);
14251
14252     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14253     LONG vspace();
14254
14255     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14256     void hspace(LONG v);
14257
14258     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14259     LONG hspace();
14260
14261     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14262     void align(BSTR v);
14263
14264     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14265     BSTR align();
14266
14267     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14268     void height(VARIANT v);
14269
14270     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14271     VARIANT height();
14272
14273     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14274     void width(VARIANT v);
14275
14276     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14277     VARIANT width();
14278 }
14279
14280 /*****************************************************************************
14281  *    IMarkupContainer interface
14282  */
14283 [
14284     object,
14285     pointer_default(unique),
14286     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
14287 ]
14288 interface IMarkupContainer : IUnknown
14289 {
14290     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14291 }
14292
14293 /*****************************************************************************
14294  *    IMarkupPointer interface
14295  */
14296 [
14297     object,
14298     pointer_default(unique),
14299     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
14300 ]
14301 interface IMarkupPointer : IUnknown
14302 {
14303     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14304
14305     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
14306
14307     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
14308
14309     HRESULT Cling([out] BOOL *pfCling);
14310
14311     HRESULT SetCling([in] BOOL fCLing);
14312
14313     HRESULT UnPosition();
14314
14315     HRESULT IsPositioned([out] BOOL *pfPositioned);
14316
14317     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
14318
14319     HRESULT MoveAdjacentToElement(
14320         [in] IHTMLElement *pElement,
14321         [in] ELEMENT_ADJACENCY eAdj);
14322
14323     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
14324
14325     HRESULT MoveToContainer(
14326         [in] IMarkupContainer *pContainer,
14327         [in] BOOL fAtStart);
14328
14329     HRESULT Left(
14330         [in] BOOL fMove,
14331         [out] MARKUP_CONTEXT_TYPE *pContext,
14332         [out] IHTMLElement **ppElement,
14333         [in, out] LONG *pcch,
14334         [out, size_is(*pcch)] OLECHAR *pchText);
14335
14336     HRESULT Right(
14337         [in] BOOL fMove,
14338         [out] MARKUP_CONTEXT_TYPE *pContext,
14339         [out] IHTMLElement **ppElement,
14340         [in, out] LONG *pcch,
14341         [out, size_is(*pcch)] OLECHAR *pchText);
14342
14343     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
14344
14345     HRESULT IsLeftOf(
14346         [in] IMarkupPointer *pPointerThat,
14347         [out] BOOL *pfResult);
14348
14349     HRESULT IsLeftOfOrEqualTo(
14350         [in] IMarkupPointer *pPointerThat,
14351         [out] BOOL *pfResult);
14352
14353     HRESULT IsRightOf(
14354         [in] IMarkupPointer *pPointerThat,
14355         [out] BOOL *pfResult);
14356
14357     HRESULT IsRightOfOrEqualTo(
14358         [in] IMarkupPointer *pPointerThat,
14359         [out] BOOL *pfResult);
14360
14361     HRESULT IsEqualTo(
14362         [in] IMarkupPointer *pPointerThat,
14363         [out] BOOL *pfAreEqual);
14364
14365     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
14366
14367     HRESULT FindText(
14368         [in] OLECHAR *pchFindText,
14369         [in] DWORD dwFlags,
14370         [in] IMarkupPointer *pIEndMatch,
14371         [in] IMarkupPointer *pIEndSearch);
14372 }
14373
14374 /*****************************************************************************
14375  *    ISegment interface
14376  */
14377 [
14378     object,
14379     pointer_default(unique),
14380     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
14381 ]
14382 interface ISegment : IUnknown
14383 {
14384     HRESULT GetPointers(
14385         [in] IMarkupPointer *pIStart,
14386         [in] IMarkupPointer *pIEnd);
14387 }
14388
14389 /*****************************************************************************
14390  *    IElementSegment interface
14391  */
14392 [
14393     object,
14394     pointer_default(unique),
14395     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
14396 ]
14397 interface IElementSegment : ISegment
14398 {
14399     HRESULT GetElement([out] IHTMLElement **ppIElement);
14400
14401     HRESULT SetPrimary([in] BOOL fPrimary);
14402
14403     HRESULT IsPrimary([out] BOOL *pfPrimary);
14404 }
14405
14406 /*****************************************************************************
14407  *    ISelectionServicesListener interface
14408  */
14409 [
14410     object,
14411     pointer_default(unique),
14412     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
14413 ]
14414 interface ISelectionServicesListener : IUnknown
14415 {
14416     HRESULT BeginSelectionUndo();
14417
14418     HRESULT EndSelectionUndo();
14419
14420     HRESULT OnSelectedElementExit(
14421         [in] IMarkupPointer *pIElementStart,
14422         [in] IMarkupPointer *pIElementEnd,
14423         [in] IMarkupPointer *pIElementContentStart,
14424         [in] IMarkupPointer *pIElementContentEnd);
14425
14426     HRESULT OnChangeType(
14427         [in] SELECTION_TYPE eType,
14428         [in] ISelectionServicesListener *pIListener);
14429
14430     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
14431 }
14432
14433 /*****************************************************************************
14434  *    ISelectionServices interface
14435  */
14436 [
14437     object,
14438     pointer_default(unique),
14439     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
14440 ]
14441 interface ISelectionServices : IUnknown
14442 {
14443     HRESULT SetSelectionType(
14444         [in] SELECTION_TYPE eType,
14445         [in] ISelectionServicesListener *pIListener);
14446
14447     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
14448
14449     HRESULT AddSegment(
14450         [in] IMarkupPointer *pIStart,
14451         [in] IMarkupPointer *pIEnd,
14452         [out] ISegment **ppISegmentAdded);
14453
14454     HRESULT AddElementSegment(
14455         [in] IHTMLElement *pIElement,
14456         [out] IElementSegment **ppISegmentAdded);
14457
14458     HRESULT RemoveSegment([in] ISegment *pISegment);
14459
14460     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
14461 }
14462
14463 /*****************************************************************************
14464  *    IHTMLEditDesigner interface
14465  */
14466 [
14467     object,
14468     pointer_default(unique),
14469     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
14470 ]
14471 interface IHTMLEditDesigner : IUnknown
14472 {
14473     HRESULT PreHandleEvent(
14474         [in] DISPID inEvtDispId,
14475         [in] IHTMLEventObj *pIEventObj);
14476
14477     HRESULT PostHandleEvent(
14478         [in] DISPID inEvtDispId,
14479         [in] IHTMLEventObj *pIEventObj);
14480
14481     HRESULT TranslateAccelerator(
14482         [in] DISPID inEvtDispId,
14483         [in] IHTMLEventObj *pIEventObj);
14484
14485     HRESULT PostEditorEventNotify(
14486         [in] DISPID inEvtDispId,
14487         [in] IHTMLEventObj *pIEventObj);
14488 }
14489
14490 /*****************************************************************************
14491  *    IHTMLEditServices interface
14492  */
14493 [
14494     object,
14495     pointer_default(unique),
14496     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
14497 ]
14498 interface IHTMLEditServices : IUnknown
14499 {
14500     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
14501
14502     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
14503
14504     HRESULT GetSelectionServices(
14505         [in] IMarkupContainer *pIContainer,
14506         [out] ISelectionServices **ppSelSvc);
14507
14508     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
14509
14510     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
14511
14512     HRESULT SelectRange(
14513         [in] IMarkupPointer* pStart,
14514         [in] IMarkupPointer* pEnd,
14515         [in] SELECTION_TYPE eType);
14516 }
14517
14518 } /* library MSHTML */