comctl32/mru: In EnumMRUListA, ensure that the string is NULL terminated and the...
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
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  *    DispHTMLFormElement dispinterface
6425  */
6426 [
6427     hidden,
6428     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6429 ]
6430 dispinterface DispHTMLFormElement
6431 {
6432 properties:
6433 methods:
6434     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6435
6436     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6437     void action(BSTR v);
6438
6439     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6440     BSTR action();
6441
6442     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6443     void encoding(BSTR v);
6444
6445     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6446     BSTR encoding();
6447
6448     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6449     void method(BSTR v);
6450
6451     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6452     BSTR method();
6453
6454     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6455     IDispatch *elements();
6456
6457     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6458     void target(BSTR v);
6459
6460     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6461     BSTR target();
6462
6463     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6464     void name(BSTR v);
6465
6466     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6467     BSTR name();
6468
6469     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6470     void onsubmit(VARIANT v);
6471
6472     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6473     VARIANT onsubmit();
6474
6475     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6476     void onreset(VARIANT v);
6477
6478     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6479     VARIANT onreset();
6480
6481     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6482     void submit();
6483
6484     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6485     void reset();
6486
6487     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6488     void length(long v);
6489
6490     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6491     long length();
6492
6493     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6494     IUnknown *_newEnum();
6495
6496     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6497     IDispatch *item(VARIANT name, VARIANT index);
6498
6499     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6500     IDispatch *tags(VARIANT tagName);
6501 }
6502
6503 [
6504     hidden,
6505     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
6506 ]
6507 dispinterface HTMLFormElementEvents
6508 {
6509 properties:
6510 methods:
6511     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
6512     VARIANT_BOOL onhelp();
6513
6514     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
6515     VARIANT_BOOL onclick();
6516
6517     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
6518     VARIANT_BOOL ondblclick();
6519
6520     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
6521     VARIANT_BOOL onkeypress();
6522
6523     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
6524     void onkeydown();
6525
6526     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
6527     void onkeyup();
6528
6529     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
6530     void onmouseout();
6531
6532     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
6533     void onmouseover();
6534
6535     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
6536     void onmousemove();
6537
6538     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
6539     void onmousedown();
6540
6541     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
6542     void onmouseup();
6543
6544     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
6545     VARIANT_BOOL onselectstart();
6546
6547     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
6548     void onfilterchange();
6549
6550     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
6551     VARIANT_BOOL ondragstart();
6552
6553     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
6554     VARIANT_BOOL onbeforeupdate();
6555
6556     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
6557     void onafterupdate();
6558
6559     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
6560     VARIANT_BOOL onerrorupdate();
6561
6562     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
6563     VARIANT_BOOL onrowexit();
6564
6565     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
6566     void onrowenter();
6567
6568     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
6569     void ondatasetchanged();
6570
6571     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
6572     void ondataavailable();
6573
6574     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
6575     void ondatasetcomplete();
6576
6577     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
6578     void onlosecapture();
6579
6580     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
6581     void onpropertychange();
6582
6583     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
6584     void onscroll();
6585
6586     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
6587     void onfocus();
6588
6589     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
6590     void onblur();
6591
6592     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
6593     void onresize();
6594
6595     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
6596     VARIANT_BOOL ondrag();
6597
6598     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
6599     void ondragend();
6600
6601     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
6602     VARIANT_BOOL ondragenter();
6603
6604     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
6605     VARIANT_BOOL ondragover();
6606
6607     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
6608     void ondragleave();
6609
6610     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
6611     VARIANT_BOOL ondrop();
6612
6613     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
6614     VARIANT_BOOL onbeforecut();
6615
6616     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
6617     VARIANT_BOOL oncut();
6618
6619     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
6620     VARIANT_BOOL onbeforecopy();
6621
6622     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
6623     VARIANT_BOOL oncopy();
6624
6625     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
6626     VARIANT_BOOL onbeforepaste();
6627
6628     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
6629     VARIANT_BOOL onpaste();
6630
6631     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
6632     VARIANT_BOOL oncontextmenu();
6633
6634     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
6635     void onrowsdelete();
6636
6637     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
6638     void onrowsinserted();
6639
6640     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
6641     void oncellchange();
6642
6643     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
6644     void onreadystatechange();
6645
6646     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
6647     void onbeforeeditfocus();
6648
6649     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
6650     void onlayoutcomplete();
6651
6652     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
6653     void onpage();
6654
6655     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
6656     VARIANT_BOOL onbeforedeactivate();
6657
6658     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
6659     VARIANT_BOOL onbeforeactivate();
6660
6661     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
6662     void onmove();
6663
6664     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
6665     VARIANT_BOOL oncontrolselect();
6666
6667     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
6668     VARIANT_BOOL onmovestart();
6669
6670     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
6671     void onmoveend();
6672
6673     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
6674     VARIANT_BOOL onresizestart();
6675
6676     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
6677     void onresizeend();
6678
6679     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
6680     void onmouseenter();
6681
6682     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
6683     void onmouseleave();
6684
6685     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
6686     VARIANT_BOOL onmousewheel();
6687
6688     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
6689     void onactivate();
6690
6691     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
6692     void ondeactivate();
6693
6694     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
6695     void onfocusin();
6696
6697     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
6698     void onfocusout();
6699
6700     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
6701     VARIANT_BOOL onsubmit();
6702
6703     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
6704     VARIANT_BOOL onreset();
6705 }
6706
6707 interface IHTMLEventObj;
6708
6709 [
6710     hidden,
6711     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
6712 ]
6713 dispinterface HTMLFormElementEvents2
6714 {
6715 properties:
6716 methods:
6717     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
6718     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
6719
6720     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
6721     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
6722
6723     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
6724     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
6725
6726     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
6727     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
6728
6729     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
6730     void onkeydown([in] IHTMLEventObj* pEvtObj);
6731
6732     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
6733     void onkeyup([in] IHTMLEventObj* pEvtObj);
6734
6735     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
6736     void onmouseout([in] IHTMLEventObj* pEvtObj);
6737
6738     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
6739     void onmouseover([in] IHTMLEventObj* pEvtObj);
6740
6741     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
6742     void onmousemove([in] IHTMLEventObj* pEvtObj);
6743
6744     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
6745     void onmousedown([in] IHTMLEventObj* pEvtObj);
6746
6747     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
6748     void onmouseup([in] IHTMLEventObj* pEvtObj);
6749
6750     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
6751     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
6752
6753     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
6754     void onfilterchange([in] IHTMLEventObj* pEvtObj);
6755
6756     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
6757     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
6758
6759     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
6760     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
6761
6762     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
6763     void onafterupdate([in] IHTMLEventObj* pEvtObj);
6764
6765     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
6766     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
6767
6768     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
6769     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
6770
6771     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
6772     void onrowenter([in] IHTMLEventObj* pEvtObj);
6773
6774     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
6775     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
6776
6777     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
6778     void ondataavailable([in] IHTMLEventObj* pEvtObj);
6779
6780     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
6781     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
6782
6783     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
6784     void onlosecapture([in] IHTMLEventObj* pEvtObj);
6785
6786     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
6787     void onpropertychange([in] IHTMLEventObj* pEvtObj);
6788
6789     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
6790     void onscroll([in] IHTMLEventObj* pEvtObj);
6791
6792     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
6793     void onfocus([in] IHTMLEventObj* pEvtObj);
6794
6795     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
6796     void onblur([in] IHTMLEventObj* pEvtObj);
6797
6798     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
6799     void onresize([in] IHTMLEventObj* pEvtObj);
6800
6801     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
6802     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
6803
6804     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
6805     void ondragend([in] IHTMLEventObj* pEvtObj);
6806
6807     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
6808     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
6809
6810     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
6811     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
6812
6813     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
6814     void ondragleave([in] IHTMLEventObj* pEvtObj);
6815
6816     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
6817     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
6818
6819     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
6820     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
6821
6822     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
6823     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
6824
6825     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
6826     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
6827
6828     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
6829     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
6830
6831     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
6832     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
6833
6834     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
6835     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
6836
6837     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
6838     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
6839
6840     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
6841     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
6842
6843     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
6844     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
6845
6846     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
6847     void oncellchange([in] IHTMLEventObj* pEvtObj);
6848
6849     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
6850     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
6851
6852     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
6853     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
6854
6855     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
6856     void onpage([in] IHTMLEventObj* pEvtObj);
6857
6858     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
6859     void onmouseenter([in] IHTMLEventObj* pEvtObj);
6860
6861     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
6862     void onmouseleave([in] IHTMLEventObj* pEvtObj);
6863
6864     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
6865     void onactivate([in] IHTMLEventObj* pEvtObj);
6866
6867     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
6868     void ondeactivate([in] IHTMLEventObj* pEvtObj);
6869
6870     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
6871     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
6872
6873     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
6874     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
6875
6876     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
6877     void onfocusin([in] IHTMLEventObj* pEvtObj);
6878
6879     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
6880     void onfocusout([in] IHTMLEventObj* pEvtObj);
6881
6882     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
6883     void onmove([in] IHTMLEventObj* pEvtObj);
6884
6885     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
6886     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
6887
6888     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
6889     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
6890
6891     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
6892     void onmoveend([in] IHTMLEventObj* pEvtObj);
6893
6894     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
6895     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
6896
6897     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
6898     void onresizeend([in] IHTMLEventObj* pEvtObj);
6899
6900     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
6901     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
6902
6903     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
6904     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
6905
6906     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
6907     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
6908 }
6909
6910 [
6911     noncreatable,
6912     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
6913 ]
6914 coclass HTMLFormElement
6915 {
6916     [default]           dispinterface DispHTMLFormElement;
6917     [source, default]   dispinterface HTMLFormElementEvents;
6918     [source]            dispinterface HTMLFormElementEvents2;
6919                         interface IHTMLElement;
6920                         interface IHTMLElement2;
6921                         interface IHTMLElement3;
6922                         interface IHTMLElement4;
6923                         interface IHTMLUniqueName;
6924                         interface IHTMLDOMNode;
6925                         interface IHTMLDOMNode2;
6926                         interface IHTMLDOMConstructor;
6927                         interface IHTMLFormElement;
6928 }
6929
6930 /*****************************************************************************
6931  *    IHTMLTextContainer interface
6932  */
6933 [
6934     odl,
6935     oleautomation,
6936     dual,
6937     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
6938 ]
6939 interface IHTMLTextContainer : IDispatch
6940 {
6941     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
6942     HRESULT createControlRange([retval, out] IDispatch **range);
6943
6944     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
6945     HRESULT scrollHeight([retval, out] LONG *p);
6946
6947     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
6948     HRESULT scrollWidth([retval, out] LONG *p);
6949
6950     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6951     HRESULT scrollTop([in] LONG v);
6952
6953     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6954     HRESULT scrollTop([retval, out] LONG *p);
6955
6956     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6957     HRESULT scrollLeft([in] LONG v);
6958
6959     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6960     HRESULT scrollLeft([retval, out] LONG *p);
6961
6962     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6963     HRESULT onscroll([in] VARIANT v);
6964
6965     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6966     HRESULT onscroll([retval, out] VARIANT *p);
6967 }
6968
6969 /*****************************************************************************
6970  *    IHTMLImgElement interface
6971  */
6972 [
6973     odl,
6974     oleautomation,
6975     dual,
6976     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
6977 ]
6978 interface IHTMLImgElement : IDispatch
6979 {
6980     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6981     HRESULT isMap([in] VARIANT_BOOL v);
6982
6983     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6984     HRESULT isMap([retval, out] VARIANT_BOOL *p);
6985
6986     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6987     HRESULT useMap([in] BSTR v);
6988
6989     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6990     HRESULT useMap([retval, out] BSTR *p);
6991
6992     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6993     HRESULT mimeType([retval, out] BSTR *p);
6994
6995     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6996     HRESULT fileSize([retval, out] BSTR *p);
6997
6998     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6999     HRESULT fileCreatedDate([retval, out] BSTR *p);
7000
7001     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7002     HRESULT fileModifiedDate([retval, out] BSTR *p);
7003
7004     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7005     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7006
7007     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7008     HRESULT protocol([retval, out] BSTR *p);
7009
7010     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7011     HRESULT href([retval, out] BSTR *p);
7012
7013     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7014     HRESULT nameProp([retval, out] BSTR *p);
7015
7016     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7017     HRESULT border([in] VARIANT v);
7018
7019     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7020     HRESULT border([retval, out] VARIANT *p);
7021
7022     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7023     HRESULT vspace([in] LONG v);
7024
7025     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7026     HRESULT vspace([retval, out] LONG *p);
7027
7028     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7029     HRESULT hspace([in] LONG v);
7030
7031     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7032     HRESULT hspace([retval, out] LONG *p);
7033
7034     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7035     HRESULT alt([in] BSTR v);
7036
7037     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7038     HRESULT alt([retval, out] BSTR *p);
7039
7040     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7041     HRESULT src([in] BSTR v);
7042
7043     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7044     HRESULT src([retval, out] BSTR *p);
7045
7046     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7047     HRESULT lowsrc([in] BSTR v);
7048
7049     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7050     HRESULT lowsrc([retval, out] BSTR *p);
7051
7052     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7053     HRESULT vrml([in] BSTR v);
7054
7055     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7056     HRESULT vrml([retval, out] BSTR *p);
7057
7058     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7059     HRESULT dynsrc([in] BSTR v);
7060
7061     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7062     HRESULT dynsrc([retval, out] BSTR *p);
7063
7064     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7065     HRESULT readyState([retval, out] BSTR *p);
7066
7067     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7068     HRESULT complete([retval, out] VARIANT_BOOL *p);
7069
7070     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7071     HRESULT loop([in] VARIANT v);
7072
7073     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7074     HRESULT loop([retval, out] VARIANT *p);
7075
7076     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7077     HRESULT align([in] BSTR v);
7078
7079     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7080     HRESULT align([retval, out] BSTR *p);
7081
7082     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7083     HRESULT onload([in] VARIANT v);
7084
7085     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7086     HRESULT onload([retval, out] VARIANT *p);
7087
7088     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7089     HRESULT onerror([in] VARIANT v);
7090
7091     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7092     HRESULT onerror([retval, out] VARIANT *p);
7093
7094     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7095     HRESULT onabort([in] VARIANT v);
7096
7097     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7098     HRESULT onabort([retval, out] VARIANT *p);
7099
7100     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7101     HRESULT name([in] BSTR v);
7102
7103     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7104     HRESULT name([retval, out] BSTR *p);
7105
7106     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7107     HRESULT width([in] LONG v);
7108
7109     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7110     HRESULT width([retval, out] LONG *p);
7111
7112     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7113     HRESULT height([in] LONG v);
7114
7115     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7116     HRESULT height([retval, out] LONG *p);
7117
7118     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7119     HRESULT start([in] BSTR v);
7120
7121     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7122     HRESULT start([retval, out] BSTR *p);
7123 }
7124
7125 /*****************************************************************************
7126  *    IHTMLImageElementFactory interface
7127  */
7128 [
7129     odl,
7130     oleautomation,
7131     dual,
7132     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7133 ]
7134 interface IHTMLImageElementFactory : IDispatch
7135 {
7136     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7137     HRESULT create(
7138         [optional, in] VARIANT width,
7139         [optional, in] VARIANT height,
7140         [retval, out]  IHTMLImgElement **elem);
7141 }
7142
7143 /*****************************************************************************
7144  *    DispHTMLImg interface
7145  */
7146 [
7147     hidden,
7148     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7149 ]
7150 dispinterface DispHTMLImg
7151 {
7152 properties:
7153 methods:
7154     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7155
7156     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7157     void isMap(VARIANT_BOOL v);
7158
7159     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7160     VARIANT_BOOL isMap();
7161
7162     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7163     void useMap(BSTR v);
7164
7165     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7166     BSTR useMap();
7167
7168     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7169     BSTR mimeType();
7170
7171     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7172     BSTR fileSize();
7173
7174     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7175     BSTR fileCreatedDate();
7176
7177     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7178     BSTR fileModifiedDate();
7179
7180     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7181     BSTR fileUpdatedDate();
7182
7183     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7184     BSTR protocol();
7185
7186     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7187     BSTR href();
7188
7189     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7190     BSTR nameProp();
7191
7192     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7193     void border(VARIANT v);
7194
7195     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7196     VARIANT border();
7197
7198     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7199     void vspace(LONG v);
7200
7201     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7202     LONG vspace();
7203
7204     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7205     void hspace(LONG v);
7206
7207     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7208     LONG hspace();
7209
7210     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7211     void alt(BSTR v);
7212
7213     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7214     BSTR alt();
7215
7216     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7217     void src(BSTR v);
7218
7219     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7220     BSTR src();
7221
7222     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7223     void lowsrc(BSTR v);
7224
7225     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7226     BSTR lowsrc();
7227
7228     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7229     void vrml(BSTR v);
7230
7231     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7232     BSTR vrml();
7233
7234     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7235     void dynsrc(BSTR v);
7236
7237     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7238     BSTR dynsrc();
7239
7240     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7241     VARIANT_BOOL complete();
7242
7243     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7244     void loop(VARIANT v);
7245
7246     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7247     VARIANT loop();
7248
7249     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7250     void align(BSTR v);
7251
7252     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7253     BSTR align();
7254
7255     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7256     void onload(VARIANT v);
7257
7258     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7259     VARIANT onload();
7260
7261     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7262     void onerror(VARIANT v);
7263
7264     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7265     VARIANT onerror();
7266
7267     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7268     void onabort(VARIANT v);
7269
7270     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7271     VARIANT onabort();
7272
7273     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7274     void name(BSTR v);
7275
7276     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7277     BSTR name();
7278
7279     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7280     void width(LONG v);
7281
7282     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7283     LONG width();
7284
7285     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7286     void height(LONG v);
7287
7288     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7289     LONG height();
7290
7291     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7292     void start(BSTR v);
7293
7294     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7295     BSTR start();
7296
7297     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7298     void longDesc(BSTR v);
7299
7300     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7301     BSTR longDesc();
7302 }
7303
7304 /*****************************************************************************
7305  *    IHTMLControlElement interface
7306  */
7307 [
7308     odl,
7309     oleautomation,
7310     dual,
7311     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7312 ]
7313 interface IHTMLControlElement : IDispatch
7314 {
7315     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7316     HRESULT tabIndex([in] short v);
7317
7318     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7319     HRESULT tabIndex([retval, out] short * p);
7320
7321     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7322     HRESULT focus();
7323
7324     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7325     HRESULT accessKey([in] BSTR v);
7326
7327     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7328     HRESULT accessKey([retval, out] BSTR * p);
7329
7330     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7331     HRESULT onblur([in] VARIANT v);
7332
7333     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7334     HRESULT onblur([retval, out] VARIANT * p);
7335
7336     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7337     HRESULT onfocus([in] VARIANT v);
7338
7339     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7340     HRESULT onfocus([retval, out] VARIANT * p);
7341
7342     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7343     HRESULT onresize([in] VARIANT v);
7344
7345     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7346     HRESULT onresize([retval, out] VARIANT * p);
7347
7348     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7349     HRESULT blur();
7350
7351     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7352     HRESULT addFilter([in] IUnknown* pUnk);
7353
7354     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7355     HRESULT removeFilter([in] IUnknown* pUnk);
7356
7357     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7358     HRESULT clientHeight([retval, out] LONG * p);
7359
7360     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7361     HRESULT clientWidth([retval, out] LONG * p);
7362
7363     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7364     HRESULT clientTop([retval, out] LONG * p);
7365
7366     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7367     HRESULT clientLeft([retval, out] LONG * p);
7368 }
7369
7370 /*****************************************************************************
7371  *    IHTMLBodyElement interface
7372  */
7373 [
7374     odl,
7375     oleautomation,
7376     dual,
7377     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7378 ]
7379 interface IHTMLBodyElement : IDispatch
7380 {
7381     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7382     HRESULT background([in] BSTR v);
7383
7384     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7385     HRESULT background([retval, out] BSTR *p);
7386
7387     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7388     HRESULT bgProperties([in] BSTR v);
7389
7390     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7391     HRESULT bgProperties([retval, out] BSTR *p);
7392
7393     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7394     HRESULT leftMargin([in] VARIANT v);
7395
7396     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7397     HRESULT leftMargin([retval, out] VARIANT *p);
7398
7399     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7400     HRESULT topMargin([in] VARIANT v);
7401
7402     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7403     HRESULT topMargin([retval, out] VARIANT *p);
7404
7405     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7406     HRESULT rightMargin([in] VARIANT v);
7407
7408     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7409     HRESULT rightMargin([retval, out] VARIANT *p);
7410
7411     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7412     HRESULT bottomMargin([in] VARIANT v);
7413
7414     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7415     HRESULT bottomMargin([retval, out] VARIANT *p);
7416
7417     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7418     HRESULT noWrap([in] VARIANT_BOOL v);
7419
7420     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7421     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7422
7423     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7424     HRESULT bgColor([in] VARIANT v);
7425
7426     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7427     HRESULT bgColor([retval, out] VARIANT *p);
7428
7429     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7430     HRESULT text([in] VARIANT v);
7431
7432     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7433     HRESULT text([retval, out] VARIANT *p);
7434
7435     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7436     HRESULT link([in] VARIANT v);
7437
7438     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7439     HRESULT link([retval, out] VARIANT *p);
7440
7441     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7442     HRESULT vLink([in] VARIANT v);
7443
7444     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7445     HRESULT vLink([retval, out] VARIANT *p);
7446
7447     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7448     HRESULT aLink([in] VARIANT v);
7449
7450     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7451     HRESULT aLink([retval, out] VARIANT *p);
7452
7453     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7454     HRESULT onload([in] VARIANT v);
7455
7456     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7457     HRESULT onload([retval, out] VARIANT *p);
7458
7459     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7460     HRESULT onunload([in] VARIANT v);
7461
7462     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7463     HRESULT onunload([retval, out] VARIANT *p);
7464
7465     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7466     HRESULT scroll([in] BSTR v);
7467
7468     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7469     HRESULT scroll([retval, out] BSTR *p);
7470
7471     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7472     HRESULT onselect([in] VARIANT v);
7473
7474     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7475     HRESULT onselect([retval, out] VARIANT *p);
7476
7477     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7478     HRESULT onbeforeunload([in] VARIANT v);
7479
7480     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7481     HRESULT onbeforeunload([retval, out] VARIANT *p);
7482
7483     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7484     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7485 }
7486
7487 /*****************************************************************************
7488  *    IHTMLBodyElement2 interface
7489  */
7490 [
7491     odl,
7492     oleautomation,
7493     dual,
7494     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7495 ]
7496 interface IHTMLBodyElement2 : IDispatch
7497 {
7498     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7499     HRESULT onbeforeprint([in] VARIANT v);
7500
7501     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7502     HRESULT onbeforeprint([retval, out] VARIANT *p);
7503
7504     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7505     HRESULT onafterprint([in] VARIANT v);
7506
7507     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7508     HRESULT onafterprint([retval, out] VARIANT *p);
7509 }
7510
7511 [
7512     hidden,
7513     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7514 ]
7515 dispinterface DispHTMLBody
7516 {
7517 properties:
7518 methods:
7519     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7520
7521     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7522     void background(BSTR v);
7523
7524     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7525     BSTR background();
7526
7527     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7528     void bgProperties(BSTR v);
7529
7530     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7531     BSTR bgProperties();
7532
7533     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7534     void leftMargin(VARIANT v);
7535
7536     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7537     VARIANT leftMargin();
7538
7539     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7540     void topMargin(VARIANT v);
7541
7542     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7543     VARIANT topMargin();
7544
7545     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7546     void rightMargin(VARIANT v);
7547
7548     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7549     VARIANT rightMargin();
7550
7551     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7552     void bottomMargin(VARIANT v);
7553
7554     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7555     VARIANT bottomMargin();
7556
7557     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7558     void noWrap(VARIANT_BOOL v);
7559
7560     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7561     VARIANT_BOOL noWrap();
7562
7563     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7564     void bgColor(VARIANT v);
7565
7566     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7567     VARIANT bgColor();
7568
7569     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7570     void text(VARIANT v);
7571
7572     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7573     VARIANT text();
7574
7575     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7576     void link(VARIANT v);
7577
7578     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7579     VARIANT link();
7580
7581     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7582     void vLink(VARIANT v);
7583
7584     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7585     VARIANT vLink();
7586
7587     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7588     void aLink(VARIANT v);
7589
7590     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7591     VARIANT aLink();
7592
7593     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7594     void onload(VARIANT v);
7595
7596     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7597     VARIANT onload();
7598
7599     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7600     void onunload(VARIANT v);
7601
7602     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7603     VARIANT onunload();
7604
7605     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7606     void scroll(BSTR v);
7607
7608     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7609     BSTR scroll();
7610
7611     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7612     void onselect(VARIANT v);
7613
7614     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7615     VARIANT onselect();
7616
7617     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7618     void onbeforeunload(VARIANT v);
7619
7620     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7621     VARIANT onbeforeunload();
7622
7623     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7624     IHTMLTxtRange* createTextRange();
7625
7626     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7627     void onbeforeprint(VARIANT v);
7628
7629     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7630     VARIANT onbeforeprint();
7631
7632     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7633     void onafterprint(VARIANT v);
7634
7635     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7636     VARIANT onafterprint();
7637 }
7638
7639 [
7640     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7641 ]
7642 coclass HTMLBody
7643 {
7644     [default]           dispinterface DispHTMLBody;
7645     [source, default]   dispinterface HTMLTextContainerEvents;
7646     [source]            dispinterface HTMLTextContainerEvents2;
7647                         interface IHTMLElement;
7648                         interface IHTMLElement2;
7649                         interface IHTMLElement3;
7650                         interface IHTMLElement4;
7651                         interface IHTMLUniqueName;
7652                         interface IHTMLDOMNode;
7653                         interface IHTMLDOMNode2;
7654                         interface IHTMLControlElement;
7655                         interface IHTMLTextContainer;
7656                         interface IHTMLBodyElement;
7657                         interface IHTMLBodyElement2;
7658 }
7659
7660 /*****************************************************************************
7661  *    IHTMLAnchorElement interface
7662  */
7663 [
7664     odl,
7665     oleautomation,
7666     dual,
7667     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7668 ]
7669 interface IHTMLAnchorElement : IDispatch
7670 {
7671     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7672     HRESULT href([in] BSTR v);
7673
7674     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7675     HRESULT href([retval, out] BSTR *p);
7676
7677     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7678     HRESULT target([in] BSTR v);
7679
7680     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7681     HRESULT target([retval, out] BSTR *p);
7682
7683     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7684     HRESULT rel([in] BSTR v);
7685
7686     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7687     HRESULT rel([retval, out] BSTR *p);
7688
7689     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7690     HRESULT rev([in] BSTR v);
7691
7692     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7693     HRESULT rev([retval, out] BSTR *p);
7694
7695     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7696     HRESULT urn([in] BSTR v);
7697
7698     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7699     HRESULT urn([retval, out] BSTR *p);
7700
7701     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7702     HRESULT Methods([in] BSTR v);
7703
7704     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7705     HRESULT Methods([retval, out] BSTR *p);
7706
7707     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7708     HRESULT name([in] BSTR v);
7709
7710     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7711     HRESULT name([retval, out] BSTR *p);
7712
7713     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7714     HRESULT host([in] BSTR v);
7715
7716     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7717     HRESULT host([retval, out] BSTR *p);
7718
7719     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7720     HRESULT hostname([in] BSTR v);
7721
7722     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7723     HRESULT hostname([retval, out] BSTR *p);
7724
7725     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7726     HRESULT pathname([in] BSTR v);
7727
7728     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7729     HRESULT pathname([retval, out] BSTR *p);
7730
7731     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7732     HRESULT port([in] BSTR v);
7733
7734     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7735     HRESULT port([retval, out] BSTR *p);
7736
7737     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7738     HRESULT protocol([in] BSTR v);
7739
7740     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7741     HRESULT protocol([retval, out] BSTR *p);
7742
7743     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7744     HRESULT search([in] BSTR v);
7745
7746     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7747     HRESULT search([retval, out] BSTR *p);
7748
7749     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7750     HRESULT hash([in] BSTR v);
7751
7752     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7753     HRESULT hash([retval, out] BSTR *p);
7754
7755     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7756     HRESULT onblur([in] VARIANT v);
7757
7758     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7759     HRESULT onblur([retval, out] VARIANT *p);
7760
7761     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7762     HRESULT onfocus([in] VARIANT v);
7763
7764     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7765     HRESULT onfocus([retval, out] VARIANT *p);
7766
7767     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7768     HRESULT accessKey([in] BSTR v);
7769
7770     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7771     HRESULT accessKey([retval, out] BSTR *p);
7772
7773     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7774     HRESULT protocolLong([retval, out] BSTR *p);
7775
7776     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7777     HRESULT mimeType([retval, out] BSTR *p);
7778
7779     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7780     HRESULT nameProp([retval, out] BSTR *p);
7781
7782     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7783     HRESULT tabIndex([in] short v);
7784
7785     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7786     HRESULT tabIndex([retval, out] short *p);
7787
7788     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7789     HRESULT focus();
7790
7791     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7792     HRESULT blur();
7793 }
7794
7795 /*****************************************************************************
7796  *    DispHTMLAnchorElement dispinterface
7797  */
7798 [
7799     hidden,
7800     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7801 ]
7802 dispinterface DispHTMLAnchorElement
7803 {
7804 properties:
7805 methods:
7806     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7807
7808     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7809     void href(BSTR v);
7810
7811     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7812     BSTR href();
7813
7814     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7815     void target(BSTR v);
7816
7817     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7818     BSTR target();
7819
7820     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7821     void rel(BSTR v);
7822
7823     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7824     BSTR rel();
7825
7826     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7827     void rev(BSTR v);
7828
7829     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7830     BSTR rev();
7831
7832     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7833     void urn(BSTR v);
7834
7835     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7836     BSTR urn();
7837
7838     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7839     void Methods(BSTR v);
7840
7841     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7842     BSTR Methods();
7843
7844     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7845     void name(BSTR v);
7846
7847     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7848     BSTR name();
7849
7850     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7851     void host(BSTR v);
7852
7853     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7854     BSTR host();
7855
7856     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7857     void hostname(BSTR v);
7858
7859     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7860     BSTR hostname();
7861
7862     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7863     void pathname(BSTR v);
7864
7865     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7866     BSTR pathname();
7867
7868     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7869     void port(BSTR v);
7870
7871     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7872     BSTR port();
7873
7874     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7875     void protocol(BSTR v);
7876
7877     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7878     BSTR protocol();
7879
7880     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7881     void search(BSTR v);
7882
7883     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7884     BSTR search();
7885
7886     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7887     void hash(BSTR v);
7888
7889     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7890     BSTR hash();
7891
7892     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7893     BSTR protocolLong();
7894
7895     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7896     BSTR mimeType();
7897
7898     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7899     BSTR nameProp();
7900
7901     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7902     void charset(BSTR v);
7903
7904     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7905     BSTR charset();
7906
7907     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7908     void coords(BSTR v);
7909
7910     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7911     BSTR coords();
7912
7913     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7914     void hreflang(BSTR v);
7915
7916     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7917     BSTR hreflang();
7918
7919     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7920     void shape(BSTR v);
7921
7922     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7923     BSTR shape();
7924
7925     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7926     void type(BSTR v);
7927
7928     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7929     BSTR type();
7930
7931     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7932     void ie8_shape(BSTR v);
7933
7934     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7935     BSTR ie8_shape();
7936
7937     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7938     void ie8_coords(BSTR v);
7939
7940     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7941     BSTR ie8_coords();
7942
7943     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7944     void ie8_href(BSTR v);
7945
7946     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7947     BSTR ie8_href();
7948 }
7949
7950 /*****************************************************************************
7951  *    IHTMLElementCollection interface
7952  */
7953 [
7954     odl,
7955     oleautomation,
7956     dual,
7957     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7958 ]
7959 interface IHTMLElementCollection : IDispatch
7960 {
7961     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7962     HRESULT toString([retval, out] BSTR *String);
7963
7964     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7965     HRESULT length([in] LONG v);
7966
7967     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7968     HRESULT length([retval, out] LONG *p);
7969
7970     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7971     HRESULT _newEnum([retval, out] IUnknown **p);
7972
7973     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7974     HRESULT item(
7975         [optional, in] VARIANT name,
7976         [optional, in] VARIANT index,
7977         [retval,  out] IDispatch **pdisp);
7978
7979     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7980     HRESULT tags(
7981         [in] VARIANT tagName,
7982         [retval, out] IDispatch **pdisp);
7983 }
7984
7985 /*****************************************************************************
7986  *    DispHTMLElementCollection dispinterface
7987  */
7988 [
7989     hidden,
7990     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7991 ]
7992 dispinterface DispHTMLElementCollection
7993 {
7994 properties:
7995 methods:
7996     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7997     BSTR toString();
7998
7999     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8000     void length(LONG v);
8001
8002     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8003     LONG length();
8004
8005     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8006     IUnknown *_newEnum();
8007
8008     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8009     IDispatch *item(
8010             [in, optional] VARIANT name,
8011             [in, optional] VARIANT index);
8012
8013     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8014     IDispatch *tags(
8015             [in] VARIANT tagName);
8016
8017     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8018     IDispatch *urns([in] VARIANT urn);
8019
8020     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8021     IDispatch *namedItem([in] BSTR name);
8022 }
8023
8024 /*****************************************************************************
8025  *    IHTMLSelectElement interface
8026  */
8027 [
8028     odl,
8029     oleautomation,
8030     dual,
8031     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8032 ]
8033 interface IHTMLSelectElement : IDispatch
8034 {
8035     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8036     HRESULT size([in] LONG v);
8037
8038     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8039     HRESULT size([retval, out] LONG *p);
8040
8041     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8042     HRESULT multiple([in] VARIANT_BOOL v);
8043
8044     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8045     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8046
8047     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8048     HRESULT name([in] BSTR v);
8049
8050     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8051     HRESULT name([retval, out] BSTR *p);
8052
8053     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8054     HRESULT options([retval, out] IDispatch **p);
8055
8056     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8057     HRESULT onchange([in] VARIANT v);
8058
8059     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8060     HRESULT onchange([retval, out] VARIANT *p);
8061
8062     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8063     HRESULT selectedIndex([in] LONG v);
8064
8065     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8066     HRESULT selectedIndex([retval, out] LONG *p);
8067
8068     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8069     HRESULT type([retval, out] BSTR *p);
8070
8071     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8072     HRESULT value([in] BSTR v);
8073
8074     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8075     HRESULT value([retval, out] BSTR *p);
8076
8077     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8078     HRESULT disabled([in] VARIANT_BOOL v);
8079
8080     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8081     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8082
8083     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8084     HRESULT form([retval, out] IHTMLFormElement **p);
8085
8086     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8087     HRESULT add(
8088         [in] IHTMLElement *element,
8089         [optional, in] VARIANT before);
8090
8091     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8092     HRESULT remove([defaultvalue(-1), in] LONG index);
8093
8094     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8095     HRESULT length([in] LONG v);
8096
8097     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8098     HRESULT length([retval, out] LONG *p);
8099
8100     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8101     HRESULT _newEnum([retval, out] IUnknown **p);
8102
8103     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8104     HRESULT item(
8105         [optional, in] VARIANT name,
8106         [optional, in] VARIANT index,
8107         [retval, out] IDispatch **pdisp);
8108
8109     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8110     HRESULT tags(
8111         [in] VARIANT tagName,
8112         [retval, out] IDispatch **pdisp);
8113 }
8114
8115 /*****************************************************************************
8116  *    DispHTMLSelectElement dispinterface
8117  */
8118 [
8119     hidden,
8120     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8121 ]
8122 dispinterface DispHTMLSelectElement
8123 {
8124 properties:
8125 methods:
8126     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8127
8128     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8129     void size(LONG v);
8130
8131     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8132     LONG size();
8133
8134     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8135     void multiple(VARIANT_BOOL v);
8136
8137     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8138     VARIANT_BOOL multiple();
8139
8140     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8141     void name(BSTR v);
8142
8143     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8144     BSTR name();
8145
8146     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8147     IDispatch *options();
8148
8149     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8150     void onchange(VARIANT v);
8151
8152     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8153     VARIANT onchange();
8154
8155     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8156     void selectedIndex(LONG v);
8157
8158     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8159     LONG selectedIndex();
8160
8161     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8162     BSTR type();
8163
8164     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8165     void value(BSTR v);
8166
8167     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8168     BSTR value();
8169
8170     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8171     IHTMLFormElement *form();
8172
8173     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8174     void add(
8175             [in] IHTMLElement *element,
8176             [in, optional] VARIANT before);
8177
8178     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8179     void remove([in, defaultvalue(-1)] LONG index);
8180
8181     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8182     void length(LONG v);
8183
8184     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8185     LONG length();
8186
8187     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8188     IUnknown *_newEnum();
8189
8190     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8191     IDispatch *item(
8192             [in, optional] VARIANT name,
8193             [in, optional] VARIANT index);
8194
8195     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8196     IDispatch *tags([in] VARIANT tagName);
8197
8198     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8199     IDispatch *urns([in] VARIANT urn);
8200
8201     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8202     IDispatch *namedItem([in] BSTR name);
8203 }
8204
8205 /*****************************************************************************
8206  *    IHTMLSelectionObject interface
8207  */
8208 [
8209     odl,
8210     oleautomation,
8211     dual,
8212     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8213 ]
8214 interface IHTMLSelectionObject : IDispatch
8215 {
8216     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8217     HRESULT createRange([retval, out] IDispatch **range);
8218
8219     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8220     HRESULT empty();
8221
8222     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8223     HRESULT clear();
8224
8225     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8226     HRESULT type([retval, out] BSTR *p);
8227 }
8228
8229 /*****************************************************************************
8230  *    IHTMLOptionElement interface
8231  */
8232 [
8233     odl,
8234     oleautomation,
8235     dual,
8236     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8237 ]
8238 interface IHTMLOptionElement : IDispatch
8239 {
8240     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8241     HRESULT selected([in] VARIANT_BOOL v);
8242
8243     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8244     HRESULT selected([retval, out] VARIANT_BOOL *p);
8245
8246     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8247     HRESULT value([in] BSTR v);
8248
8249     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8250     HRESULT value([retval, out] BSTR *p);
8251
8252     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8253     HRESULT defaultSelected([in] VARIANT_BOOL v);
8254
8255     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8256     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8257
8258     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8259     HRESULT index([in] LONG v);
8260
8261     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8262     HRESULT index([retval, out] LONG *p);
8263
8264     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8265     HRESULT text([in] BSTR v);
8266
8267     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8268     HRESULT text([retval, out] BSTR *p);
8269
8270     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8271     HRESULT form([retval, out] IHTMLFormElement **p);
8272 }
8273
8274 [
8275     odl,
8276     oleautomation,
8277     dual,
8278     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8279 ]
8280 interface IHTMLOptionElement3 : IDispatch
8281 {
8282     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8283     HRESULT label([in] BSTR v);
8284
8285     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8286     HRESULT label([retval, out] BSTR * p);
8287 }
8288
8289 /*****************************************************************************
8290  *    IHTMLOptionElementFactory interface
8291  */
8292 [
8293     odl,
8294     oleautomation,
8295     dual,
8296     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8297 ]
8298 interface IHTMLOptionElementFactory : IDispatch
8299 {
8300     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8301     HRESULT create(
8302         [optional, in] VARIANT text,
8303         [optional, in] VARIANT value,
8304         [optional, in] VARIANT defaultselected,
8305         [optional, in] VARIANT selected,
8306         [retval, out] IHTMLOptionElement **optelem);
8307 }
8308
8309 /*****************************************************************************
8310  *    DispHTMLOptionElement dispinterface
8311  */
8312 [
8313     hidden,
8314     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8315 ]
8316 dispinterface DispHTMLOptionElement
8317 {
8318 properties:
8319 methods:
8320     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8321
8322     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8323     void selected(VARIANT_BOOL v);
8324
8325     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8326     VARIANT_BOOL selected();
8327
8328     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8329     void value(BSTR v);
8330
8331     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8332     BSTR value();
8333
8334     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8335     void defaultSelected(VARIANT_BOOL v);
8336
8337     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8338     VARIANT_BOOL defaultSelected();
8339
8340     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8341     void index(LONG v);
8342
8343     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8344     LONG index();
8345
8346     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8347     void text(BSTR v);
8348
8349     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8350     BSTR text();
8351
8352     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8353     IHTMLFormElement *form();
8354
8355     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8356     void label(BSTR v);
8357
8358     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8359     BSTR label();
8360 }
8361
8362 [
8363     noncreatable,
8364     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8365 ]
8366 coclass HTMLOptionElement
8367 {
8368     [default]           dispinterface DispHTMLOptionElement;
8369     [source, default]   dispinterface HTMLElementEvents;
8370     [source]            dispinterface HTMLElementEvents2;
8371                         interface IHTMLElement;
8372                         interface IHTMLElement2;
8373                         interface IHTMLElement3;
8374                         interface IHTMLElement4;
8375                         interface IHTMLUniqueName;
8376                         interface IHTMLDOMNode;
8377                         interface IHTMLDOMNode2;
8378                         interface IHTMLDatabinding;
8379                         interface IHTMLOptionElement;
8380                         interface IHTMLOptionElement3;
8381 }
8382
8383 /*****************************************************************************
8384  *    IHTMLInputElement interface
8385  */
8386 [
8387     odl,
8388     oleautomation,
8389     dual,
8390     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8391 ]
8392 interface IHTMLInputElement : IDispatch
8393 {
8394     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8395     HRESULT type([in] BSTR v);
8396
8397     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8398     HRESULT type([retval, out] BSTR *p);
8399
8400     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8401     HRESULT value([in] BSTR v);
8402
8403     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8404     HRESULT value([retval, out] BSTR *p);
8405
8406     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8407     HRESULT name([in] BSTR v);
8408
8409     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8410     HRESULT name([retval, out] BSTR *p);
8411
8412     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8413     HRESULT status([in] VARIANT_BOOL v);
8414
8415     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8416     HRESULT status([retval, out] VARIANT_BOOL *p);
8417
8418     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8419     HRESULT disabled([in] VARIANT_BOOL v);
8420
8421     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8422     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8423
8424     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8425     HRESULT form([retval, out] IHTMLFormElement **p);
8426
8427     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8428     HRESULT size([in] LONG v);
8429
8430     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8431     HRESULT size([retval, out] LONG *p);
8432
8433     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8434     HRESULT maxLength([in] LONG v);
8435
8436     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8437     HRESULT maxLength([retval, out] LONG *p);
8438
8439     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8440     HRESULT select();
8441
8442     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8443     HRESULT onchange([in] VARIANT v);
8444
8445     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8446     HRESULT onchange([retval, out] VARIANT *p);
8447
8448     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8449     HRESULT onselect([in] VARIANT v);
8450
8451     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8452     HRESULT onselect([retval, out] VARIANT *p);
8453
8454     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8455     HRESULT defaultValue([in] BSTR v);
8456
8457     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8458     HRESULT defaultValue([retval, out] BSTR *p);
8459
8460     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8461     HRESULT readOnly([in] VARIANT_BOOL v);
8462
8463     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8464     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8465
8466     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8467     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8468
8469     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8470     HRESULT indeterminate([in] VARIANT_BOOL v);
8471
8472     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8473     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8474
8475     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8476     HRESULT defaultChecked([in] VARIANT_BOOL v);
8477
8478     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8479     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8480
8481     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8482     HRESULT checked([in] VARIANT_BOOL v);
8483
8484     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8485     HRESULT checked([retval, out] VARIANT_BOOL *p);
8486
8487     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8488     HRESULT border([in] VARIANT v);
8489
8490     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8491     HRESULT border([retval, out] VARIANT *p);
8492
8493     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8494     HRESULT vspace([in] LONG v);
8495
8496     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8497     HRESULT vspace([retval, out] LONG *p);
8498
8499     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8500     HRESULT hspace([in] LONG v);
8501
8502     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8503     HRESULT hspace([retval, out] LONG *p);
8504
8505     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8506     HRESULT alt([in] BSTR v);
8507
8508     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8509     HRESULT alt([retval, out] BSTR *p);
8510
8511     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8512     HRESULT src([in] BSTR v);
8513
8514     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8515     HRESULT src([retval, out] BSTR *p);
8516
8517     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8518     HRESULT lowsrc([in] BSTR v);
8519
8520     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8521     HRESULT lowsrc([retval, out] BSTR *p);
8522
8523     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8524     HRESULT vrml([in] BSTR v);
8525
8526     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8527     HRESULT vrml([retval, out] BSTR *p);
8528
8529     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8530     HRESULT dynsrc([in] BSTR v);
8531
8532     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8533     HRESULT dynsrc([retval, out] BSTR *p);
8534
8535     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8536     HRESULT readyState([retval, out] BSTR *p);
8537
8538     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8539     HRESULT complete([retval, out] VARIANT_BOOL *p);
8540
8541     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8542     HRESULT loop([in] VARIANT v);
8543
8544     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8545     HRESULT loop([retval, out] VARIANT *p);
8546
8547     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8548     HRESULT align([in] BSTR v);
8549
8550     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8551     HRESULT align([retval, out] BSTR *p);
8552
8553     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8554     HRESULT onload([in] VARIANT v);
8555
8556     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8557     HRESULT onload([retval, out] VARIANT *p);
8558
8559     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8560     HRESULT onerror([in] VARIANT v);
8561
8562     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8563     HRESULT onerror([retval, out] VARIANT *p);
8564
8565     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8566     HRESULT onabort([in] VARIANT v);
8567
8568     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8569     HRESULT onabort([retval, out] VARIANT *p);
8570
8571     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8572     HRESULT width([in] LONG v);
8573
8574     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8575     HRESULT width([retval, out] LONG *p);
8576
8577     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8578     HRESULT height([in] LONG v);
8579
8580     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8581     HRESULT height([retval, out] LONG *p);
8582
8583     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8584     HRESULT start([in] BSTR v);
8585
8586     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8587     HRESULT start([retval, out] BSTR *p);
8588 }
8589
8590 /*****************************************************************************
8591  *    IHTMLInputTextElement interface
8592  */
8593 [
8594     odl,
8595     oleautomation,
8596     dual,
8597     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8598 ]
8599 interface IHTMLInputTextElement : IDispatch
8600 {
8601     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8602     HRESULT type([retval, out] BSTR *p);
8603
8604     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8605     HRESULT value([in] BSTR v);
8606
8607     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8608     HRESULT value([retval, out] BSTR *p);
8609
8610     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8611     HRESULT name([in] BSTR v);
8612
8613     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8614     HRESULT name([retval, out] BSTR *p);
8615
8616     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8617     HRESULT status([in] VARIANT v);
8618
8619     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8620     HRESULT status([retval, out] VARIANT *p);
8621
8622     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8623     HRESULT disabled([in] VARIANT_BOOL v);
8624
8625     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8626     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8627
8628     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8629     HRESULT form([retval, out] IHTMLFormElement **p);
8630
8631     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8632     HRESULT defaultValue([in] BSTR v);
8633
8634     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8635     HRESULT defaultValue([retval, out] BSTR *p);
8636
8637     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8638     HRESULT size([in] LONG v);
8639
8640     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8641     HRESULT size([retval, out] LONG *p);
8642
8643     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8644     HRESULT maxLength([in] LONG v);
8645
8646     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8647     HRESULT maxLength([retval, out] LONG *p);
8648
8649     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8650     HRESULT select();
8651
8652     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8653     HRESULT onchange([in] VARIANT v);
8654
8655     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8656     HRESULT onchange([retval, out] VARIANT *p);
8657
8658     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8659     HRESULT onselect([in] VARIANT v);
8660
8661     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8662     HRESULT onselect([retval, out] VARIANT *p);
8663
8664     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8665     HRESULT readOnly([in] VARIANT_BOOL v);
8666
8667     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8668     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8669
8670     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8671     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8672 }
8673
8674 [
8675     hidden,
8676     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8677 ]
8678 dispinterface DispHTMLInputElement
8679 {
8680 properties:
8681 methods:
8682     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8683
8684     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8685     void type(BSTR v);
8686
8687     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8688     BSTR type();
8689
8690     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8691     void value(BSTR v);
8692
8693     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8694     BSTR value();
8695
8696     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8697     void name(BSTR v);
8698
8699     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8700     BSTR name();
8701
8702     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8703     void status(VARIANT_BOOL v);
8704
8705     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8706     VARIANT_BOOL status();
8707
8708     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8709     IHTMLFormElement *form();
8710
8711     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8712     void size(LONG v);
8713
8714     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8715     LONG size();
8716
8717     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8718     void maxLength(LONG v);
8719
8720     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8721     LONG maxLength();
8722
8723     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8724     void select();
8725
8726     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8727     void onchange(VARIANT v);
8728
8729     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8730     VARIANT onchange();
8731
8732     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8733     void onselect(VARIANT v);
8734
8735     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8736     VARIANT onselect();
8737
8738     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8739     void defaultValue(BSTR v);
8740
8741     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8742     BSTR defaultValue();
8743
8744     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8745     void readOnly(VARIANT_BOOL v);
8746
8747     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8748     VARIANT_BOOL readOnly();
8749
8750     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8751     IHTMLTxtRange *createTextRange();
8752
8753     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8754     void indeterminate(VARIANT_BOOL v);
8755
8756     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8757     VARIANT_BOOL indeterminate();
8758
8759     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8760     void defaultChecked(VARIANT_BOOL v);
8761
8762     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8763     VARIANT_BOOL defaultChecked();
8764
8765     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8766     void checked(VARIANT_BOOL v);
8767
8768     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8769     VARIANT_BOOL checked();
8770
8771     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8772     void border(VARIANT v);
8773
8774     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8775     VARIANT border();
8776
8777     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8778     void vspace(LONG v);
8779
8780     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8781     LONG vspace();
8782
8783     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8784     void hspace(LONG v);
8785
8786     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8787     LONG hspace();
8788
8789     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8790     void alt(BSTR v);
8791
8792     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8793     BSTR alt();
8794
8795     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8796     void src(BSTR v);
8797
8798     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8799     BSTR src();
8800
8801     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8802     void lowsrc(BSTR v);
8803
8804     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8805     BSTR lowsrc();
8806
8807     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8808     void vrml(BSTR v);
8809
8810     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8811     BSTR vrml();
8812
8813     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8814     void dynsrc(BSTR v);
8815
8816     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8817     BSTR dynsrc();
8818
8819     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8820     VARIANT_BOOL complete();
8821
8822     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8823     void loop(VARIANT v);
8824
8825     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8826     VARIANT loop();
8827
8828     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8829     void align(BSTR v);
8830
8831     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8832     BSTR align();
8833
8834     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8835     void onload(VARIANT v);
8836
8837     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8838     VARIANT onload();
8839
8840     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8841     void onerror(VARIANT v);
8842
8843     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8844     VARIANT onerror();
8845
8846     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8847     void onabort(VARIANT v);
8848
8849     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8850     VARIANT onabort();
8851
8852     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8853     void width(LONG v);
8854
8855     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8856     LONG width();
8857
8858     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8859     void height(LONG v);
8860
8861     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8862     LONG height();
8863
8864     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8865     void start(BSTR v);
8866
8867     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8868     BSTR start();
8869
8870     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8871     void accept(BSTR v);
8872
8873     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8874     BSTR accept();
8875
8876     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8877     void useMap(BSTR v);
8878
8879     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8880     BSTR useMap();
8881 }
8882
8883 /*****************************************************************************
8884  *    IHTMLTextAreaElement interface
8885  */
8886 [
8887     odl,
8888     oleautomation,
8889     dual,
8890     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
8891 ]
8892 interface IHTMLTextAreaElement : IDispatch
8893 {
8894     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8895     HRESULT type([retval, out] BSTR *p);
8896
8897     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8898     HRESULT value([in] BSTR v);
8899
8900     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8901     HRESULT value([retval, out] BSTR *p);
8902
8903     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8904     HRESULT name([in] BSTR v);
8905
8906     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8907     HRESULT name([retval, out] BSTR *p);
8908
8909     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8910     HRESULT status([in] VARIANT v);
8911
8912     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8913     HRESULT status([retval, out] VARIANT *p);
8914
8915     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8916     HRESULT disabled([in] VARIANT_BOOL v);
8917
8918     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8919     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8920
8921     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
8922     HRESULT form([retval, out] IHTMLFormElement **p);
8923
8924     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8925     HRESULT defaultValue([in] BSTR v);
8926
8927     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8928     HRESULT defaultValue([retval, out] BSTR *p);
8929
8930     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
8931     HRESULT select();
8932
8933     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8934     HRESULT onchange([in] VARIANT v);
8935
8936     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8937     HRESULT onchange([retval, out] VARIANT *p);
8938
8939     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8940     HRESULT onselect([in] VARIANT v);
8941
8942     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8943     HRESULT onselect([retval, out] VARIANT *p);
8944
8945     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8946     HRESULT readOnly([in] VARIANT_BOOL v);
8947
8948     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8949     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8950
8951     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8952     HRESULT rows([in] LONG v);
8953
8954     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8955     HRESULT rows([retval, out] LONG *p);
8956
8957     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8958     HRESULT cols([in] LONG v);
8959
8960     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8961     HRESULT cols([retval, out] LONG *p);
8962
8963     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8964     HRESULT wrap([in] BSTR v);
8965
8966     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8967     HRESULT wrap([retval, out] BSTR *p);
8968
8969     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
8970     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8971 }
8972
8973 /*****************************************************************************
8974  *    DispHTMLTextAreaElement dispinterface
8975  */
8976 [
8977     hidden,
8978     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
8979 ]
8980 dispinterface DispHTMLTextAreaElement
8981 {
8982 properties:
8983 methods:
8984     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8985
8986     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8987     BSTR type();
8988
8989     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8990     void value(BSTR v);
8991
8992     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8993     BSTR value();
8994
8995     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8996     void name(BSTR v);
8997
8998     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8999     BSTR name();
9000
9001     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9002     void status(VARIANT v);
9003
9004     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9005     VARIANT status();
9006
9007     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9008     IHTMLFormElement *form();
9009
9010     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9011     void defaultValue(BSTR v);
9012
9013     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9014     BSTR defaultValue();
9015
9016     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9017     void select();
9018
9019     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9020     void onchange(VARIANT v);
9021
9022     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9023     VARIANT onchange();
9024
9025     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9026     void onselect(VARIANT v);
9027
9028     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9029     VARIANT onselect();
9030
9031     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9032     void readOnly(VARIANT_BOOL v);
9033
9034     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9035     VARIANT_BOOL readOnly();
9036
9037     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9038     void rows(LONG v);
9039
9040     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9041     LONG rows();
9042
9043     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9044     void cols(LONG v);
9045
9046     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9047     LONG cols();
9048
9049     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9050     void wrap(BSTR v);
9051
9052     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9053     BSTR wrap();
9054
9055     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9056     IHTMLTxtRange *createTextRange();
9057 }
9058
9059 /*****************************************************************************
9060  *    DispHTMLUnknownElement interface
9061  */
9062 [
9063     hidden,
9064     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9065 ]
9066 dispinterface DispHTMLUnknownElement
9067 {
9068 properties:
9069 methods:
9070     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9071 }
9072
9073 /*****************************************************************************
9074  *    IOmHistory interface
9075  */
9076 [
9077     odl,
9078     oleautomation,
9079     dual,
9080     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9081 ]
9082 interface IOmHistory : IDispatch
9083 {
9084     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9085     HRESULT length([retval, out] short *p);
9086
9087     [id(DISPID_IOMHISTORY_BACK)]
9088     HRESULT back([optional, in] VARIANT *pvargdistance);
9089
9090     [id(DISPID_IOMHISTORY_FORWARD)]
9091     HRESULT forward([optional, in] VARIANT *pvargdistance);
9092
9093     [id(DISPID_IOMHISTORY_GO)]
9094     HRESULT go([optional, in] VARIANT *pvargdistance);
9095 }
9096
9097 [
9098     noncreatable,
9099     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9100 ]
9101 coclass HTMLHistory
9102 {
9103     [default]           interface IOmHistory;
9104 }
9105
9106 /*****************************************************************************
9107  *    IHTMLMimeTypesCollection interface
9108  */
9109 [
9110     odl,
9111     oleautomation,
9112     dual,
9113     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9114 ]
9115 interface IHTMLMimeTypesCollection : IDispatch
9116 {
9117     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9118     HRESULT length([retval, out] LONG *p);
9119 }
9120
9121 [
9122     noncreatable,
9123     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9124 ]
9125 coclass CMimeTypes
9126 {
9127     [default]           interface IHTMLMimeTypesCollection;
9128 }
9129
9130 /*****************************************************************************
9131  *    IHTMLPluginsCollection interface
9132  */
9133 [
9134     odl,
9135     oleautomation,
9136     dual,
9137     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9138 ]
9139 interface IHTMLPluginsCollection : IDispatch
9140 {
9141     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9142     HRESULT length([retval, out] LONG *p);
9143
9144     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9145     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9146 }
9147
9148 [
9149     noncreatable,
9150     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9151 ]
9152 coclass CPlugins
9153 {
9154     [default]           interface IHTMLPluginsCollection;
9155 }
9156
9157 /*****************************************************************************
9158  *    IHTMLOpsProfile interface
9159  */
9160 [
9161     odl,
9162     oleautomation,
9163     dual,
9164     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9165 ]
9166 interface IHTMLOpsProfile : IDispatch
9167 {
9168     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9169     HRESULT addRequest(
9170         [in] BSTR name,
9171         [optional, in] VARIANT reserved,
9172         [retval, out] VARIANT_BOOL *success);
9173
9174     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9175     HRESULT clearRequest();
9176
9177     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9178     HRESULT doRequest(
9179         [in] VARIANT usage,
9180         [optional, in] VARIANT fname,
9181         [optional, in] VARIANT domain,
9182         [optional, in] VARIANT path,
9183         [optional, in] VARIANT expire,
9184         [optional, in] VARIANT reserved);
9185
9186     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9187     HRESULT getAttribute(
9188         [in] BSTR name,
9189         [retval, out] BSTR *value);
9190
9191     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9192     HRESULT setAttribute(
9193         [in] BSTR name,
9194         [in] BSTR value,
9195         [optional, in] VARIANT prefs,
9196         [retval, out] VARIANT_BOOL *success);
9197
9198     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9199     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9200
9201     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9202     HRESULT addReadRequest(
9203         [in] BSTR name,
9204         [optional, in] VARIANT reserved,
9205         [retval, out] VARIANT_BOOL *success);
9206
9207     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9208     HRESULT doReadRequest(
9209         [in] VARIANT usage,
9210         [optional, in] VARIANT fname,
9211         [optional, in] VARIANT domain,
9212         [optional, in] VARIANT path,
9213         [optional, in] VARIANT expire,
9214         [optional, in] VARIANT reserved);
9215
9216     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9217     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9218 }
9219
9220 [
9221     noncreatable,
9222     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9223 ]
9224 coclass COpsProfile
9225 {
9226     [default]           interface IHTMLOpsProfile;
9227 }
9228
9229 /*****************************************************************************
9230  *    IOmNavigator interface
9231  */
9232 [
9233     odl,
9234     oleautomation,
9235     dual,
9236     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9237 ]
9238 interface IOmNavigator : IDispatch
9239 {
9240     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9241     HRESULT appCodeName([retval, out] BSTR *p);
9242
9243     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9244     HRESULT appName([retval, out] BSTR *p);
9245
9246     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9247     HRESULT appVersion([retval, out] BSTR *p);
9248
9249     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9250     HRESULT userAgent([retval, out] BSTR *p);
9251
9252     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9253     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9254
9255     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9256     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9257
9258     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9259     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9260
9261     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9262     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9263
9264     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9265     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9266
9267     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9268     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9269
9270     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9271     HRESULT toString([retval, out] BSTR *String);
9272
9273     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9274     HRESULT cpuClass([retval, out] BSTR *p);
9275
9276     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9277     HRESULT systemLanguage([retval, out] BSTR *p);
9278
9279     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9280     HRESULT browserLanguage([retval, out] BSTR *p);
9281
9282     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9283     HRESULT userLanguage([retval, out] BSTR *p);
9284
9285     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9286     HRESULT platform([retval, out] BSTR *p);
9287
9288     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9289     HRESULT appMinorVersion([retval, out] BSTR *p);
9290
9291     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9292     HRESULT connectionSpeed([retval, out] LONG *p);
9293
9294     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9295     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9296
9297     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9298     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9299 }
9300
9301 /*****************************************************************************
9302  *    DispHTMLNavigator dispinterface
9303  */
9304 [
9305     hidden,
9306     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9307 ]
9308 dispinterface DispHTMLNavigator
9309 {
9310 properties:
9311 methods:
9312     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9313     BSTR appCodeName();
9314
9315     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9316     BSTR appName();
9317
9318     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9319     BSTR appVersion();
9320
9321     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9322     BSTR userAgent();
9323
9324     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9325     VARIANT_BOOL javaEnabled();
9326
9327     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9328     VARIANT_BOOL taintEnabled();
9329
9330     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9331     IHTMLMimeTypesCollection *mimeTypes();
9332
9333     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9334     IHTMLPluginsCollection *plugins();
9335
9336     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9337     VARIANT_BOOL cookieEnabled();
9338
9339     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9340     IHTMLOpsProfile *opsProfile();
9341
9342     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9343     BSTR toString();
9344
9345     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9346     BSTR cpuClass();
9347
9348     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9349     BSTR systemLanguage();
9350
9351     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9352     BSTR browserLanguage();
9353
9354     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9355     BSTR userLanguage();
9356
9357     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9358     BSTR platform();
9359
9360     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9361     BSTR appMinorVersion();
9362
9363     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9364     LONG connectionSpeed();
9365
9366     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9367     VARIANT_BOOL onLine();
9368
9369     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9370     IHTMLOpsProfile *userProfile();
9371
9372     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9373 }
9374
9375 [
9376     noncreatable,
9377     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9378 ]
9379 coclass HTMLNavigator
9380 {
9381     [default]  dispinterface DispHTMLNavigator;
9382                interface IOmNavigator;
9383 }
9384
9385 /*****************************************************************************
9386  *    IHTMLLocation interface
9387  */
9388 [
9389     odl,
9390     oleautomation,
9391     dual,
9392     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
9393 ]
9394 interface IHTMLLocation : IDispatch
9395 {
9396     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9397     HRESULT href([in] BSTR v);
9398
9399     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9400     HRESULT href([retval, out] BSTR *p);
9401
9402     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9403     HRESULT protocol([in] BSTR v);
9404
9405     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9406     HRESULT protocol([retval, out] BSTR *p);
9407
9408     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9409     HRESULT host([in] BSTR v);
9410
9411     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9412     HRESULT host([retval, out] BSTR *p);
9413
9414     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9415     HRESULT hostname([in] BSTR v);
9416
9417     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9418     HRESULT hostname([retval, out] BSTR *p);
9419
9420     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9421     HRESULT port([in] BSTR v);
9422
9423     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9424     HRESULT port([retval, out] BSTR *p);
9425
9426     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9427     HRESULT pathname([in] BSTR v);
9428
9429     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9430     HRESULT pathname([retval, out] BSTR *p);
9431
9432     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9433     HRESULT search([in] BSTR v);
9434
9435     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9436     HRESULT search([retval, out] BSTR *p);
9437
9438     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9439     HRESULT hash([in] BSTR v);
9440
9441     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9442     HRESULT hash([retval, out] BSTR *p);
9443
9444     [id(DISPID_IHTMLLOCATION_RELOAD)]
9445     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
9446
9447     [id(DISPID_IHTMLLOCATION_REPLACE)]
9448     HRESULT replace([in] BSTR bstr);
9449
9450     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9451     HRESULT assign([in] BSTR bstr);
9452
9453     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9454     HRESULT toString([retval, out] BSTR *String);
9455 }
9456
9457 /*****************************************************************************
9458  *    DispHTMLLocation dispinterface
9459  */
9460 [
9461     hidden,
9462     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
9463 ]
9464 dispinterface DispHTMLLocation
9465 {
9466 properties:
9467 methods:
9468     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9469     void href(BSTR v);
9470
9471     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9472     BSTR href();
9473
9474     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9475     void protocol(BSTR v);
9476
9477     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9478     BSTR protocol();
9479
9480     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9481     void host(BSTR v);
9482
9483     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9484     BSTR host();
9485
9486     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9487     void hostname(BSTR v);
9488
9489     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9490     BSTR hostname();
9491
9492     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9493     void port(BSTR v);
9494
9495     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9496     BSTR port();
9497
9498     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9499     void pathname(BSTR v);
9500
9501     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9502     BSTR pathname();
9503
9504     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9505     void search(BSTR v);
9506
9507     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9508     BSTR search();
9509
9510     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9511     void hash(BSTR v);
9512
9513     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9514     BSTR hash();
9515
9516     [id(DISPID_IHTMLLOCATION_RELOAD)]
9517     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
9518
9519     [id(DISPID_IHTMLLOCATION_REPLACE)]
9520     void replace([in] BSTR bstr);
9521
9522     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9523     void assign([in] BSTR bstr);
9524
9525     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9526     BSTR toString();
9527
9528     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9529 }
9530
9531 [
9532     noncreatable,
9533     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
9534 ]
9535 coclass HTMLLocation
9536 {
9537     [default]  dispinterface DispHTMLLocation;
9538                interface IHTMLLocation;
9539 }
9540
9541 [
9542     odl,
9543     oleautomation,
9544     dual,
9545     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
9546 ]
9547 interface IHTMLBookmarkCollection : IDispatch
9548 {
9549     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
9550     HRESULT length([out, retval] LONG *p);
9551
9552     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
9553     HRESULT _newEnum([out, retval] IUnknown **p);
9554
9555     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
9556     HRESULT item(
9557             [in] LONG index,
9558             [out, retval] VARIANT *pVarBookmark);
9559 }
9560
9561 /*****************************************************************************
9562  *    IHTMLDataTransfer interface
9563  */
9564 [
9565     odl,
9566     oleautomation,
9567     dual,
9568     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
9569 ]
9570 interface IHTMLDataTransfer : IDispatch
9571 {
9572     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
9573     HRESULT setData(
9574             [in] BSTR format,
9575             [in] VARIANT *data,
9576             [out, retval] VARIANT_BOOL *pret);
9577
9578     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
9579     HRESULT getData(
9580             [in] BSTR format,
9581             [out, retval] VARIANT *pvarRet);
9582
9583     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
9584     HRESULT clearData(
9585             [in] BSTR format,
9586             [out, retval] VARIANT_BOOL *pret);
9587
9588     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9589     HRESULT dropEffect([in] BSTR v);
9590
9591     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9592     HRESULT dropEffect([out, retval] BSTR *p);
9593
9594     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9595     HRESULT effectAllowed([in] BSTR v);
9596
9597     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9598     HRESULT effectAllowed([out, retval] BSTR *p);
9599 }
9600
9601 /*****************************************************************************
9602  *    IHTMLEventObj interface
9603  */
9604 [
9605     odl,
9606     oleautomation,
9607     dual,
9608     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9609 ]
9610 interface IHTMLEventObj : IDispatch
9611 {
9612     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9613     HRESULT srcElement([retval, out] IHTMLElement **p);
9614
9615     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9616     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9617
9618     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9619     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9620
9621     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9622     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9623
9624     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9625     HRESULT returnValue([in] VARIANT v);
9626
9627     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9628     HRESULT returnValue([retval, out] VARIANT *p);
9629
9630     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9631     HRESULT cancelBubble([in] VARIANT_BOOL v);
9632
9633     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9634     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9635
9636     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9637     HRESULT fromElement([retval, out] IHTMLElement **p);
9638
9639     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9640     HRESULT toElement([retval, out] IHTMLElement **p);
9641
9642     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9643     HRESULT keyCode([in] LONG v);
9644
9645     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9646     HRESULT keyCode([retval, out] LONG *p);
9647
9648     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9649     HRESULT button([retval, out] LONG *p);
9650
9651     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9652     HRESULT type([retval, out] BSTR *p);
9653
9654     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9655     HRESULT qualifier([retval, out] BSTR *p);
9656
9657     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9658     HRESULT reason([retval, out] LONG *p);
9659
9660     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9661     HRESULT x([retval, out] LONG *p);
9662
9663     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9664     HRESULT y([retval, out] LONG *p);
9665
9666     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9667     HRESULT clientX([retval, out] LONG *p);
9668
9669     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9670     HRESULT clientY([retval, out] LONG *p);
9671
9672     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9673     HRESULT offsetX([retval, out] LONG *p);
9674
9675     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9676     HRESULT offsetY([retval, out] LONG *p);
9677
9678     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9679     HRESULT screenX([retval, out] LONG *p);
9680
9681     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9682     HRESULT screenY([retval, out] LONG *p);
9683
9684     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9685     HRESULT srcFilter([retval, out] IDispatch **p);
9686 }
9687
9688 /*****************************************************************************
9689  *    DispCEventObj dispinterface
9690  */
9691 [
9692     hidden,
9693     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9694 ]
9695 dispinterface DispCEventObj
9696 {
9697 properties:
9698 methods:
9699     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9700     void returnValue(VARIANT v);
9701
9702     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9703     VARIANT returnValue();
9704
9705     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9706     void cancelBubble(VARIANT_BOOL v);
9707
9708     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9709     VARIANT_BOOL cancelBubble();
9710
9711     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9712     void keyCode(LONG v);
9713
9714     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9715     LONG keyCode();
9716
9717     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9718     void setAttribute(
9719             [in] BSTR strAttributeName,
9720             [in] VARIANT AttributeValue,
9721             [in, defaultvalue(1)] LONG lFlags);
9722
9723     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9724     VARIANT getAttribute(
9725             [in] BSTR strAttributeName,
9726             [in, defaultvalue(0)] LONG lFlags);
9727
9728     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9729     VARIANT_BOOL removeAttribute(
9730             [in] BSTR strAttributeName,
9731             [in, defaultvalue(1)] LONG lFlags);
9732
9733     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9734     void propertyName(BSTR v);
9735
9736     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9737     BSTR propertyName();
9738
9739     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9740     void bookmarks(IHTMLBookmarkCollection *v);
9741
9742     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9743     IHTMLBookmarkCollection *bookmarks();
9744
9745     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9746     void recordset(IDispatch *v);
9747
9748     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9749     IDispatch *recordset();
9750
9751     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9752     void dataFld(BSTR v);
9753
9754     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9755     BSTR dataFld();
9756
9757     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9758     void boundElements(IHTMLElementCollection *v);
9759
9760     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9761     IHTMLElementCollection *boundElements();
9762
9763     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9764     void repeat(VARIANT_BOOL v);
9765
9766     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9767     VARIANT_BOOL repeat();
9768
9769     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9770     void srcUrn(BSTR v);
9771
9772     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9773     BSTR srcUrn();
9774
9775     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9776     void srcElement(IHTMLElement *v);
9777
9778     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9779     IHTMLElement *srcElement();
9780
9781     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9782     void altKey(VARIANT_BOOL v);
9783
9784     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9785     VARIANT_BOOL altKey();
9786
9787     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9788     void ctrlKey(VARIANT_BOOL v);
9789
9790     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9791     VARIANT_BOOL ctrlKey();
9792
9793     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9794     void shiftKey(VARIANT_BOOL v);
9795
9796     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9797     VARIANT_BOOL shiftKey();
9798
9799     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9800     void fromElement(IHTMLElement *v);
9801
9802     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9803     IHTMLElement *fromElement();
9804
9805     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9806     void toElement(IHTMLElement *v);
9807
9808     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9809     IHTMLElement *toElement();
9810
9811     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9812     void button(LONG v);
9813
9814     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9815     LONG button();
9816
9817     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9818     void type(BSTR v);
9819
9820     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9821     BSTR type();
9822
9823     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9824     void qualifier(BSTR v);
9825
9826     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9827     BSTR qualifier();
9828
9829     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9830     void reason(LONG v);
9831
9832     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9833     LONG reason();
9834
9835     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
9836     void x(LONG v);
9837
9838     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
9839     LONG x();
9840
9841     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
9842     void y(LONG v);
9843
9844     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
9845     LONG y();
9846
9847     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9848     void clientX(LONG v);
9849
9850     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9851     LONG clientX();
9852
9853     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9854     void clientY(LONG v);
9855
9856     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9857     LONG clientY();
9858     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9859     void offsetX(LONG v);
9860
9861     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9862     LONG offsetX();
9863
9864     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9865     void offsetY(LONG v);
9866
9867     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9868     LONG offsetY();
9869
9870     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9871     void screenX(LONG v);
9872
9873     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9874     LONG screenX();
9875
9876     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9877     void screenY(LONG v);
9878
9879     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9880     LONG screenY();
9881
9882     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9883     void srcFilter(IDispatch *v);
9884
9885     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9886     IDispatch *srcFilter();
9887
9888     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
9889     IHTMLDataTransfer *dataTransfer();
9890
9891     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
9892     VARIANT_BOOL contentOverflow();
9893
9894     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9895     void shiftLeft(VARIANT_BOOL v);
9896
9897     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9898     VARIANT_BOOL shiftLeft();
9899
9900     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9901     void altLeft(VARIANT_BOOL v);
9902
9903     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9904     VARIANT_BOOL altLeft();
9905
9906     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9907     void ctrlLeft(VARIANT_BOOL v);
9908
9909     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9910     VARIANT_BOOL ctrlLeft();
9911
9912     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
9913     LONG_PTR imeCompositionChange();
9914
9915     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
9916     LONG_PTR imeNotifyCommand();
9917
9918     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
9919     LONG_PTR imeNotifyData();
9920
9921     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
9922     LONG_PTR imeRequest();
9923
9924     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
9925     LONG_PTR imeRequestData();
9926
9927     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
9928     LONG_PTR keyboardLayout();
9929
9930     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
9931     LONG behaviorCookie();
9932
9933     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
9934     LONG behaviorPart();
9935
9936     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
9937     BSTR nextPage();
9938
9939     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
9940     LONG wheelDelta();
9941 }
9942
9943 /*****************************************************************************
9944  *    IHTMLFramesCollection2 interface
9945  */
9946 [
9947     odl,
9948     oleautomation,
9949     dual,
9950     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
9951 ]
9952 interface IHTMLFramesCollection2 : IDispatch
9953 {
9954     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9955     HRESULT item(
9956         [in] VARIANT *pvarIndex,
9957         [retval, out] VARIANT *pvarResult);
9958
9959     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9960     HRESULT length([retval, out] LONG *p);
9961 }
9962
9963 /*****************************************************************************
9964  *    IHTMLScreen interface
9965  */
9966 [
9967     odl,
9968     oleautomation,
9969     dual,
9970     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
9971 ]
9972 interface IHTMLScreen : IDispatch
9973 {
9974     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
9975     HRESULT colorDepth([retval, out] LONG *p);
9976
9977     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9978     HRESULT bufferDepth([in] LONG v);
9979
9980     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9981     HRESULT bufferDepth([retval, out] LONG *p);
9982
9983     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
9984     HRESULT width([retval, out] LONG *p);
9985
9986     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
9987     HRESULT height([retval, out] LONG *p);
9988
9989     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9990     HRESULT updateInterval([in] LONG v);
9991
9992     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9993     HRESULT updateInterval([retval, out] LONG *p);
9994
9995     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
9996     HRESULT availHeight([retval, out] LONG *p);
9997
9998     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
9999     HRESULT availWidth([retval, out] LONG *p);
10000
10001     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10002     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10003 }
10004
10005 /*****************************************************************************
10006  *    IHTMLWindow2 interface
10007  */
10008 [
10009     odl,
10010     oleautomation,
10011     dual,
10012     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10013 ]
10014 interface IHTMLWindow2 : IHTMLFramesCollection2
10015 {
10016     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10017     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10018
10019     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10020     HRESULT defaultStatus([in] BSTR v);
10021
10022     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10023     HRESULT defaultStatus([retval, out] BSTR *p);
10024
10025     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10026     HRESULT status([in] BSTR v);
10027
10028     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10029     HRESULT status([retval, out] BSTR *p);
10030
10031     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10032     HRESULT setTimeout(
10033         [in] BSTR expression,
10034         [in] LONG msec,
10035         [optional, in] VARIANT *language,
10036         [retval, out] LONG *timerID);
10037
10038     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10039     HRESULT clearTimeout([in] LONG timerID);
10040
10041     [id(DISPID_IHTMLWINDOW2_ALERT)]
10042     HRESULT alert([defaultvalue(""), in] BSTR message);
10043
10044     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10045     HRESULT confirm(
10046         [defaultvalue(""), in] BSTR message,
10047         [retval, out] VARIANT_BOOL *confirmed);
10048
10049     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10050     HRESULT prompt(
10051         [defaultvalue(""), in] BSTR message,
10052         [defaultvalue("undefined"), in] BSTR defstr,
10053         [retval, out] VARIANT *textdata);
10054
10055     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10056     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10057
10058     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10059     HRESULT location([retval, out] IHTMLLocation **p);
10060
10061     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10062     HRESULT history([retval, out] IOmHistory **p);
10063
10064     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10065     HRESULT close();
10066
10067     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10068     HRESULT opener([in] VARIANT v);
10069
10070     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10071     HRESULT opener([retval, out] VARIANT *p);
10072
10073     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10074     HRESULT navigator([retval, out] IOmNavigator **p);
10075
10076     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10077     HRESULT name([in] BSTR v);
10078
10079     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10080     HRESULT name([retval, out] BSTR *p);
10081
10082     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10083     HRESULT parent([retval, out] IHTMLWindow2 **p);
10084
10085     [id(DISPID_IHTMLWINDOW2_OPEN)]
10086     HRESULT open(
10087         [defaultvalue(""), in] BSTR url,
10088         [defaultvalue(""), in] BSTR name,
10089         [defaultvalue(""), in] BSTR features,
10090         [defaultvalue(0), in] VARIANT_BOOL replace,
10091         [retval, out] IHTMLWindow2 **pomWindowResult);
10092
10093     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10094     HRESULT self([retval, out] IHTMLWindow2 **p);
10095
10096     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10097     HRESULT top([retval, out] IHTMLWindow2 **p);
10098
10099     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10100     HRESULT window([retval, out] IHTMLWindow2 **p);
10101
10102     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10103     HRESULT navigate([in] BSTR url);
10104
10105     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10106     HRESULT onfocus([in] VARIANT v);
10107
10108     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10109     HRESULT onfocus([retval, out] VARIANT *p);
10110
10111     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10112     HRESULT onblur([in] VARIANT v);
10113
10114     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10115     HRESULT onblur([retval, out] VARIANT *p);
10116
10117     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10118     HRESULT onload([in] VARIANT v);
10119
10120     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10121     HRESULT onload([retval, out] VARIANT *p);
10122
10123     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10124     HRESULT onbeforeunload([in] VARIANT v);
10125
10126     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10127     HRESULT onbeforeunload([retval, out] VARIANT *p);
10128
10129     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10130     HRESULT onunload([in] VARIANT v);
10131
10132     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10133     HRESULT onunload([retval, out] VARIANT *p);
10134
10135     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10136     HRESULT onhelp([in] VARIANT v);
10137
10138     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10139     HRESULT onhelp([retval, out] VARIANT *p);
10140
10141     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10142     HRESULT onerror([in] VARIANT v);
10143
10144     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10145     HRESULT onerror([retval, out] VARIANT *p);
10146
10147     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10148     HRESULT onresize([in] VARIANT v);
10149
10150     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10151     HRESULT onresize([retval, out] VARIANT *p);
10152
10153     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10154     HRESULT onscroll([in] VARIANT v);
10155
10156     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10157     HRESULT onscroll([retval, out] VARIANT *p);
10158
10159     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10160     HRESULT document([retval, out] IHTMLDocument2 **p);
10161
10162     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10163     HRESULT event([retval, out] IHTMLEventObj **p);
10164
10165     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10166     HRESULT _newEnum([retval, out] IUnknown **p);
10167
10168     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10169     HRESULT showModalDialog(
10170         [in] BSTR dialog,
10171         [optional, in] VARIANT *varArgIn,
10172         [optional, in] VARIANT *varOptions,
10173         [retval, out] VARIANT *varArgOut);
10174
10175     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10176     HRESULT showHelp(
10177         [in] BSTR helpURL,
10178         [optional, in] VARIANT helpArg,
10179         [defaultvalue(""), in] BSTR features);
10180
10181     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10182     HRESULT screen([retval, out] IHTMLScreen **p);
10183
10184     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10185     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10186
10187     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10188     HRESULT focus();
10189
10190     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10191     HRESULT closed([retval, out] VARIANT_BOOL *p);
10192
10193     [id(DISPID_IHTMLWINDOW2_BLUR)]
10194     HRESULT blur();
10195
10196     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10197     HRESULT scroll([in] LONG x, [in] LONG y);
10198
10199     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10200     HRESULT clientInformation([retval, out] IOmNavigator **p);
10201
10202     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10203     HRESULT setInterval([
10204         in] BSTR expression,
10205         [in] LONG msec,
10206         [optional, in] VARIANT *language,
10207         [retval, out] LONG *timerID);
10208
10209     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10210     HRESULT clearInterval([in] LONG timerID);
10211
10212     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10213     HRESULT offscreenBuffering([in] VARIANT v);
10214
10215     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10216     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10217
10218     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10219     HRESULT execScript(
10220         [in] BSTR scode,
10221         [defaultvalue("JScript"), in] BSTR language,
10222         [retval, out] VARIANT *pvarRet);
10223
10224     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10225     HRESULT toString([retval, out] BSTR *String);
10226
10227     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10228     HRESULT scrollBy([in] LONG x, [in] LONG y);
10229
10230     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10231     HRESULT scrollTo([in] LONG x, [in] LONG y);
10232
10233     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10234     HRESULT moveTo([in] LONG x, [in] LONG y);
10235
10236     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10237     HRESULT moveBy([in] LONG x, [in] LONG y);
10238
10239     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10240     HRESULT resizeTo([in] LONG x, [in] LONG y);
10241
10242     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10243     HRESULT resizeBy([in] LONG x, [in] LONG y);
10244
10245     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10246     HRESULT external([retval, out] IDispatch **p);
10247 }
10248
10249 /*****************************************************************************
10250  *    IHTMLWindow3 interface
10251  */
10252 [
10253     odl,
10254     oleautomation,
10255     dual,
10256     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10257 ]
10258 interface IHTMLWindow3 : IDispatch
10259 {
10260     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10261     HRESULT screenLeft([out, retval] LONG *p);
10262
10263     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10264     HRESULT screenTop([out, retval] LONG *p);
10265
10266     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10267     HRESULT attachEvent(
10268             [in] BSTR event,
10269             [in] IDispatch *pDisp,
10270             [out, retval] VARIANT_BOOL *pfResult);
10271
10272     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10273     HRESULT detachEvent(
10274             [in] BSTR event,
10275             [in] IDispatch *pDisp);
10276
10277     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10278     HRESULT setTimeout(
10279             [in] VARIANT *expression,
10280             [in] LONG msec,
10281             [in, optional] VARIANT *language,
10282             [out, retval] LONG *timerID);
10283
10284     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10285     HRESULT setInterval(
10286             [in] VARIANT *expression,
10287             [in] LONG msec,
10288             [in, optional] VARIANT *language,
10289             [out, retval] LONG *timerID);
10290
10291     [id(DISPID_IHTMLWINDOW3_PRINT)]
10292     HRESULT print();
10293
10294     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10295     HRESULT onbeforeprint([in] VARIANT v);
10296
10297     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10298     HRESULT onbeforeprint([out, retval] VARIANT *p);
10299
10300     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10301     HRESULT onafterprint([in] VARIANT v);
10302
10303     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10304     HRESULT onafterprint([out, retval] VARIANT *p);
10305
10306     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10307     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10308
10309     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10310     HRESULT showModelessDialog(
10311             [in, defaultvalue("")] BSTR url,
10312             [in, optional] VARIANT *varArgIn,
10313             [in, optional] VARIANT *options,
10314             [out, retval] IHTMLWindow2 **pDialog);
10315 }
10316
10317 /*****************************************************************************
10318  *    IHTMLWindow4 interface
10319  */
10320 [
10321     odl,
10322     oleautomation,
10323     dual,
10324     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10325 ]
10326 interface IHTMLWindow4 : IDispatch
10327 {
10328     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10329     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10330                         [retval, out] IDispatch** ppPopup);
10331
10332     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10333     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10334 }
10335
10336 /*****************************************************************************
10337  *    IHTMLWindow5 interface
10338  */
10339 [
10340     odl,
10341     oleautomation,
10342     dual,
10343     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10344 ]
10345 interface IHTMLWindow5 : IDispatch
10346 {
10347     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10348     HRESULT XMLHttpRequest([in] VARIANT v);
10349
10350     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10351     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10352 }
10353
10354 /*****************************************************************************
10355  *    DispHTMLScreen dispinterface
10356  */
10357 [
10358     hidden,
10359     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
10360 ]
10361 dispinterface DispHTMLScreen
10362 {
10363 properties:
10364 methods:
10365     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10366     long colorDepth();
10367
10368     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10369     void bufferDepth(long v);
10370
10371     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10372     long bufferDepth();
10373
10374     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10375     long width();
10376
10377     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10378     long height();
10379
10380     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10381     void updateInterval(long v);
10382
10383     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10384     long updateInterval();
10385
10386     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10387     long availHeight();
10388
10389     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10390     long availWidth();
10391
10392     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10393     VARIANT_BOOL fontSmoothingEnabled();
10394
10395     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
10396     long logicalXDPI();
10397
10398     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
10399     long logicalYDPI();
10400
10401     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
10402     long deviceXDPI();
10403
10404     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
10405     long deviceYDPI();
10406
10407     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
10408     long systemXDPI();
10409
10410     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
10411     long systemYDPI();
10412
10413     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10414     IDispatch *constructor();
10415 }
10416
10417 /*****************************************************************************
10418  *    DispHTMLWindow2 dispinterface
10419  */
10420 [
10421     hidden,
10422     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
10423 ]
10424 dispinterface DispHTMLWindow2
10425 {
10426 properties:
10427 methods:
10428     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10429     VARIANT item([in] VARIANT *pvarIndex);
10430
10431     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10432     LONG length();
10433
10434     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10435     IHTMLFramesCollection2 *frames();
10436
10437     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10438     void defaultStatus(BSTR v);
10439
10440     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10441     BSTR defaultStatus();
10442
10443     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10444     void status(BSTR v);
10445
10446     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10447     BSTR status();
10448
10449     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10450     void clearTimeout([in] LONG timerID);
10451
10452     [id(DISPID_IHTMLWINDOW2_ALERT)]
10453     void alert([in, defaultvalue("")] BSTR message);
10454
10455     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10456     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
10457
10458     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10459     VARIANT prompt(
10460             [in, defaultvalue("")] BSTR message,
10461             [in, defaultvalue("undefined")] BSTR defstr);
10462
10463     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10464     IHTMLImageElementFactory *Image();
10465
10466     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10467     IHTMLLocation *location();
10468
10469     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10470     IOmHistory *history();
10471
10472     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10473     void close();
10474
10475     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10476     void opener(VARIANT v);
10477
10478     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10479     VARIANT opener();
10480
10481     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10482     IOmNavigator *navigator();
10483
10484     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10485     void name(BSTR v);
10486
10487     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10488     BSTR name();
10489
10490     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10491     IHTMLWindow2 *parent();
10492
10493     [id(DISPID_IHTMLWINDOW2_OPEN)]
10494     IHTMLWindow2 *open(
10495             [in, defaultvalue("")] BSTR url,
10496             [in, defaultvalue("")] BSTR name,
10497             [in, defaultvalue("")] BSTR features,
10498             [in, defaultvalue(0)]  VARIANT_BOOL replace);
10499
10500     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10501     IHTMLWindow2 *self();
10502
10503     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10504     IHTMLWindow2 *top();
10505
10506     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10507     IHTMLWindow2 *window();
10508
10509     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10510     void navigate([in] BSTR url);
10511
10512     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10513     void onfocus(VARIANT v);
10514
10515     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10516     VARIANT onfocus();
10517
10518     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10519     void onblur(VARIANT v);
10520
10521     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10522     VARIANT onblur();
10523
10524     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10525     VARIANT onload();
10526
10527     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10528     void onbeforeunload(VARIANT v);
10529
10530     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10531     VARIANT onbeforeunload();
10532
10533     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10534     void onunload(VARIANT v);
10535
10536     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10537     VARIANT onunload();
10538
10539     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10540     void onhelp(VARIANT v);
10541
10542     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10543     VARIANT onhelp();
10544
10545     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10546     void onerror(VARIANT v);
10547
10548     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10549     VARIANT onerror();
10550
10551     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10552     void onresize(VARIANT v);
10553
10554     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10555     VARIANT onresize();
10556
10557     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10558     void onscroll(VARIANT v);
10559
10560     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10561     VARIANT onscroll();
10562
10563     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10564     IHTMLDocument2 *document();
10565
10566     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10567     IHTMLEventObj *event();
10568
10569     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10570     IUnknown *_newEnum();
10571
10572     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10573     VARIANT showModalDialog(
10574             [in] BSTR dialog,
10575             [in, optional] VARIANT *varArgIn,
10576             [in, optional] VARIANT *varOptions);
10577
10578     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10579     void showHelp(
10580             [in] BSTR helpURL,
10581             [in, optional] VARIANT helpArg,
10582             [in, defaultvalue("")] BSTR features);
10583
10584     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10585     IHTMLScreen *screen();
10586
10587     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10588     IHTMLOptionElementFactory *Option();
10589
10590     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10591     void focus();
10592
10593     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10594     VARIANT_BOOL closed();
10595
10596     [id(DISPID_IHTMLWINDOW2_BLUR)]
10597     void blur();
10598
10599     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10600     void scroll([in] LONG x, [in] LONG y);
10601
10602     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10603     IOmNavigator *clientInformation();
10604
10605     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10606     void clearInterval([in] LONG timerID);
10607
10608     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10609     void offscreenBuffering(VARIANT v);
10610
10611     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10612     VARIANT offscreenBuffering();
10613
10614     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10615     VARIANT execScript(
10616             [in] BSTR _code,
10617             [in, defaultvalue("JScript")] BSTR language);
10618
10619     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10620     BSTR toString();
10621
10622     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10623     void scrollBy([in] LONG x, [in] LONG y);
10624
10625     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10626     void scrollTo([in] LONG x, [in] LONG y);
10627
10628     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10629     void moveTo([in] LONG x, [in] LONG y);
10630
10631     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10632     void moveBy([in] LONG x, [in] LONG y);
10633
10634     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10635     void resizeTo([in] LONG x, [in] LONG y);
10636
10637     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10638     void resizeBy([in] LONG x, [in] LONG y);
10639
10640     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10641     IDispatch *external();
10642
10643     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10644     LONG screenLeft();
10645
10646     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10647     LONG screenTop();
10648
10649     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10650     VARIANT_BOOL attachEvent(
10651              [in] BSTR event,
10652              [in] IDispatch *pDisp);
10653
10654     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10655     void detachEvent(
10656             [in] BSTR event,
10657             [in] IDispatch *pDisp);
10658
10659     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10660     LONG setTimeout(
10661             [in] VARIANT *expression,
10662             [in] LONG msec,
10663             [in, optional] VARIANT *language);
10664
10665     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10666     LONG setInterval(
10667             [in] VARIANT *expression,
10668             [in] LONG msec,
10669             [in, optional] VARIANT *language);
10670
10671     [id(DISPID_IHTMLWINDOW3_PRINT)]
10672     void print();
10673
10674     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10675     void onbeforeprint(VARIANT v);
10676
10677     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10678     VARIANT onbeforeprint();
10679
10680     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10681     void onafterprint(VARIANT v);
10682
10683     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10684     VARIANT onafterprint();
10685
10686     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10687     IHTMLDataTransfer *clipboardData();
10688
10689     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10690     IHTMLWindow2 *showModelessDialog(
10691             [in, defaultvalue("")] BSTR url,
10692             [in, optional] VARIANT *varArgIn,
10693             [in, optional] VARIANT *options);
10694
10695     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10696     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10697
10698     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10699     IHTMLFrameBase *frameElement();
10700 }
10701
10702 /*****************************************************************************
10703  *    DispHTMLWindowProxy dispinterface
10704  */
10705 [
10706     hidden,
10707     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10708 ]
10709 dispinterface DispHTMLWindowProxy
10710 {
10711 properties:
10712 methods:
10713     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10714     VARIANT item([in] VARIANT* pvarIndex);
10715
10716     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10717     LONG length();
10718
10719     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10720     IHTMLFramesCollection2* frames();
10721
10722     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10723     void defaultStatus(BSTR v);
10724
10725     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10726     BSTR defaultStatus();
10727
10728     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10729     void status(BSTR v);
10730
10731     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10732     BSTR status();
10733
10734     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10735     void clearTimeout([in] LONG timerID);
10736
10737     [id(DISPID_IHTMLWINDOW2_ALERT)]
10738     void alert([defaultvalue(""), in] BSTR message);
10739
10740     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10741     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10742
10743     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10744     VARIANT prompt([defaultvalue(""), in] BSTR message,
10745                    [defaultvalue("undefined"), in] BSTR defstr);
10746
10747     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10748     IHTMLImageElementFactory* Image();
10749
10750     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10751     IHTMLLocation* location();
10752
10753     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10754     IOmHistory* history();
10755
10756     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10757     void close();
10758
10759     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10760     void opener(VARIANT v);
10761
10762     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10763     VARIANT opener();
10764
10765     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10766     IOmNavigator* navigator();
10767
10768     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10769     void name(BSTR v);
10770
10771     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10772     BSTR name();
10773
10774     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10775     IHTMLWindow2* parent();
10776
10777     [id(DISPID_IHTMLWINDOW2_OPEN)]
10778     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
10779                        [defaultvalue(""), in] BSTR name,
10780                        [defaultvalue(""), in] BSTR features,
10781                        [defaultvalue(0), in] VARIANT_BOOL replace);
10782
10783     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10784     IHTMLWindow2* self();
10785
10786     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10787     IHTMLWindow2* top();
10788
10789     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10790     IHTMLWindow2* window();
10791
10792     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10793     void navigate([in] BSTR url);
10794
10795     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10796     void onfocus(VARIANT v);
10797
10798     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10799     VARIANT onfocus();
10800
10801     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10802     void onblur(VARIANT v);
10803
10804     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10805     VARIANT onblur();
10806
10807     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10808     void onload(VARIANT v);
10809
10810     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10811     VARIANT onload();
10812
10813     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10814     void onbeforeunload(VARIANT v);
10815
10816     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10817     VARIANT onbeforeunload();
10818
10819     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10820     void onunload(VARIANT v);
10821
10822     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10823     VARIANT onunload();
10824
10825     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10826     void onhelp(VARIANT v);
10827
10828     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10829     VARIANT onhelp();
10830
10831     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10832     void onerror(VARIANT v);
10833
10834     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10835     VARIANT onerror();
10836
10837     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10838     void onresize(VARIANT v);
10839
10840     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10841     VARIANT onresize();
10842
10843     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10844     void onscroll(VARIANT v);
10845
10846     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10847     VARIANT onscroll();
10848
10849     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10850     IHTMLDocument2* document();
10851
10852     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10853     IHTMLEventObj* event();
10854
10855     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10856     IUnknown* _newEnum();
10857
10858     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10859     VARIANT showModalDialog([in] BSTR dialog,
10860                             [optional, in] VARIANT* varArgIn,
10861                             [optional, in] VARIANT* varOptions);
10862
10863     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10864     void showHelp([in] BSTR helpURL,
10865                   [optional, in] VARIANT helpArg,
10866                   [defaultvalue(""), in] BSTR features);
10867
10868     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10869     IHTMLScreen* screen();
10870
10871     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10872     IHTMLOptionElementFactory* Option();
10873
10874     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10875     void focus();
10876
10877     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10878     VARIANT_BOOL closed();
10879
10880     [id(DISPID_IHTMLWINDOW2_BLUR)]
10881     void blur();
10882
10883     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10884     void scroll([in] LONG x,
10885                 [in] LONG y);
10886
10887     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10888     IOmNavigator* clientInformation();
10889
10890     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10891     void clearInterval([in] LONG timerID);
10892
10893     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10894     void offscreenBuffering(VARIANT v);
10895
10896     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10897     VARIANT offscreenBuffering();
10898
10899     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10900     VARIANT execScript([in] BSTR code,
10901                        [defaultvalue("JScript"), in] BSTR language);
10902
10903     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10904     BSTR toString();
10905
10906     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10907     void scrollBy([in] LONG x,
10908                   [in] LONG y);
10909
10910     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10911     void scrollTo([in] LONG x,
10912                   [in] LONG y);
10913
10914     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10915     void moveTo([in] LONG x,
10916                 [in] LONG y);
10917
10918     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10919     void moveBy([in] LONG x,
10920                 [in] LONG y);
10921
10922     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10923     void resizeTo([in] LONG x,
10924                   [in] LONG y);
10925
10926     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10927     void resizeBy([in] LONG x,
10928                   [in] LONG y);
10929
10930     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10931     IDispatch* external();
10932
10933     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10934     LONG screenLeft();
10935
10936     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10937     LONG screenTop();
10938
10939     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10940     VARIANT_BOOL attachEvent([in] BSTR event,
10941                              [in] IDispatch* pDisp);
10942
10943     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10944     void detachEvent([in] BSTR event,
10945                      [in] IDispatch* pDisp);
10946
10947     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10948     LONG setTimeout([in] VARIANT* expression,
10949                     [in] LONG msec,
10950                     [optional, in] VARIANT* language);
10951
10952     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10953     LONG setInterval([in] VARIANT* expression,
10954                      [in] LONG msec,
10955                      [optional, in] VARIANT* language);
10956
10957     [id(DISPID_IHTMLWINDOW3_PRINT)]
10958     void print();
10959
10960     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10961     void onbeforeprint(VARIANT v);
10962
10963     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10964     VARIANT onbeforeprint();
10965
10966     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10967     void onafterprint(VARIANT v);
10968
10969     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10970     VARIANT onafterprint();
10971
10972     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10973     IHTMLDataTransfer* clipboardData();
10974
10975     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10976     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
10977                                      [optional, in] VARIANT* varArgIn,
10978                                      [optional, in] VARIANT* options);
10979
10980     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10981     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
10982
10983     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10984     IHTMLFrameBase* frameElement();
10985
10986     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10987     void XMLHttpRequest(VARIANT v);
10988
10989     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10990     VARIANT XMLHttpRequest();
10991 }
10992
10993 /*****************************************************************************
10994  *    HTMLWindowEvents interface
10995  */
10996 [
10997     hidden,
10998     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
10999 ]
11000 dispinterface HTMLWindowEvents
11001 {
11002 properties:
11003 methods:
11004     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11005     void onload();
11006
11007     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11008     void onunload();
11009
11010     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11011     VARIANT_BOOL onhelp();
11012
11013     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11014     void onfocus();
11015
11016     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11017     void onblur();
11018
11019     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11020     void onerror([in] BSTR description,
11021                  [in] BSTR url,
11022                  [in] LONG line);
11023
11024     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11025     void onresize();
11026
11027     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11028     void onscroll();
11029
11030     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11031     void onbeforeunload();
11032
11033     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11034     void onbeforeprint();
11035
11036     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11037     void onafterprint();
11038 }
11039
11040 /*****************************************************************************
11041  *    HTMLWindowEvents2 interface
11042  */
11043 [
11044     hidden,
11045     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11046 ]
11047 dispinterface HTMLWindowEvents2
11048 {
11049 properties:
11050 methods:
11051     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11052     void onload([in] IHTMLEventObj* pEvtObj);
11053
11054     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11055     void onunload([in] IHTMLEventObj* pEvtObj);
11056
11057     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11058     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11059
11060     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11061     void onfocus([in] IHTMLEventObj* pEvtObj);
11062
11063     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11064     void onblur([in] IHTMLEventObj* pEvtObj);
11065
11066     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11067     void onerror([in] BSTR description,
11068                  [in] BSTR url,
11069                  [in] LONG line);
11070
11071     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11072     void onresize([in] IHTMLEventObj* pEvtObj);
11073
11074     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11075     void onscroll([in] IHTMLEventObj* pEvtObj);
11076
11077     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11078     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11079
11080     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11081     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11082
11083     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11084     void onafterprint([in] IHTMLEventObj* pEvtObj);
11085 }
11086
11087 /*****************************************************************************
11088  *    HTMLWindowProxy class
11089  */
11090 [
11091     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11092 ]
11093 coclass HTMLWindowProxy
11094 {
11095     [default]           dispinterface DispHTMLWindowProxy;
11096     [source, default]   dispinterface HTMLWindowEvents;
11097     [source]            dispinterface HTMLWindowEvents2;
11098                         interface IHTMLWindow2;
11099                         interface IHTMLWindow3;
11100                         interface IHTMLWindow4;
11101                         interface IHTMLWindow5;
11102 }
11103
11104 /*****************************************************************************
11105  *    HTMLDocumentEvents2 interface
11106  */
11107 [
11108     hidden,
11109     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11110 ]
11111 dispinterface HTMLDocumentEvents2
11112 {
11113     properties:
11114     methods:
11115     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11116     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11117
11118     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11119     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11120
11121     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11122     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11123
11124     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11125     void onkeydown([in] IHTMLEventObj *pEvtObj);
11126
11127     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11128     void onkeyup([in] IHTMLEventObj *pEvtObj);
11129
11130     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11131     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11132
11133     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11134     void onmousedown([in] IHTMLEventObj *pEvtObj);
11135
11136     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11137     void onmousemove([in] IHTMLEventObj *pEvtObj);
11138
11139     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11140     void onmouseup([in] IHTMLEventObj *pEvtObj);
11141
11142     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11143     void onmouseout([in] IHTMLEventObj *pEvtObj);
11144
11145     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11146     void onmouseover([in] IHTMLEventObj *pEvtObj);
11147
11148     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11149     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11150
11151     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11152     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11153
11154     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11155     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11156
11157     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11158     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11159
11160     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11161     void onrowenter([in] IHTMLEventObj *pEvtObj);
11162
11163     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11164     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11165
11166     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11167     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11168
11169     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11170     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11171
11172     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11173     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11174
11175     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11176     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11177
11178     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11179     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11180
11181     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11182     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11183
11184     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11185     void oncellchange([in] IHTMLEventObj *pEvtObj);
11186
11187     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11188     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11189
11190     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11191     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11192
11193     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11194     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11195
11196     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11197     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11198
11199     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11200     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11201
11202     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11203     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11204
11205     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11206     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11207
11208     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11209     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11210
11211     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11212     void onfocusin([in] IHTMLEventObj *pEvtObj);
11213
11214     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11215     void onfocusout([in] IHTMLEventObj *pEvtObj);
11216
11217     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11218     void onactivate([in] IHTMLEventObj *pEvtObj);
11219
11220     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11221     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11222
11223     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11224     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11225
11226     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11227     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11228 }
11229
11230 /*****************************************************************************
11231  *    HTMLDocumentEvents interface
11232  */
11233 [
11234     hidden,
11235     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11236 ]
11237 dispinterface HTMLDocumentEvents
11238 {
11239     properties:
11240     methods:
11241     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11242     VARIANT_BOOL onhelp();
11243
11244     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11245     VARIANT_BOOL onclick();
11246
11247     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11248     VARIANT_BOOL ondblclick();
11249
11250     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11251     void onkeydown();
11252
11253     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11254     void onkeyup();
11255
11256     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11257     VARIANT_BOOL onkeypress();
11258
11259     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11260     void onmousedown();
11261
11262     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11263     void onmousemove();
11264
11265     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11266     void onmouseup();
11267
11268     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11269     void onmouseout();
11270
11271     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11272     void onmouseover();
11273
11274     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11275     void onreadystatechange();
11276
11277     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11278     VARIANT_BOOL onbeforeupdate();
11279
11280     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11281     void onafterupdate();
11282
11283     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11284     VARIANT_BOOL onrowexit();
11285
11286     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11287     void onrowenter();
11288
11289     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11290     VARIANT_BOOL ondragstart();
11291
11292     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11293     VARIANT_BOOL onselectstart();
11294
11295     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11296     VARIANT_BOOL onerrorupdate();
11297
11298     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11299     VARIANT_BOOL oncontextmenu();
11300
11301     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11302     VARIANT_BOOL onstop();
11303
11304     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11305     void onrowsdelete();
11306
11307     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11308     void onrowsinserted();
11309
11310     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11311     void oncellchange();
11312
11313     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11314     void onpropertychange();
11315
11316     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11317     void ondatasetchanged();
11318
11319     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11320     void ondataavailable();
11321
11322     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11323     void ondatasetcomplete();
11324
11325     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11326     void onbeforeeditfocus();
11327
11328     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11329     void onselectionchange();
11330
11331     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11332     VARIANT_BOOL oncontrolselect();
11333
11334     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11335     VARIANT_BOOL onmousewheel();
11336
11337     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11338     void onfocusin();
11339
11340     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11341     void onfocusout();
11342
11343     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11344     void onactivate();
11345
11346     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11347     void ondeactivate();
11348
11349     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11350     VARIANT_BOOL onbeforeactivate();
11351
11352     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11353     VARIANT_BOOL onbeforedeactivate();
11354 }
11355
11356 /*****************************************************************************
11357  *    HTMLTextContainerEvents interface
11358  */
11359 [
11360     hidden,
11361     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11362 ]
11363 dispinterface HTMLTextContainerEvents
11364 {
11365 properties:
11366
11367 methods:
11368     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11369     VARIANT_BOOL onhelp();
11370
11371     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11372     VARIANT_BOOL onclick();
11373
11374     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11375     VARIANT_BOOL ondblclick();
11376
11377     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11378     VARIANT_BOOL onkeypress();
11379
11380     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11381     void onkeydown();
11382
11383     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11384     void onkeyup();
11385
11386     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11387     void onmouseout();
11388
11389     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11390     void onmouseover();
11391
11392     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11393     void onmousemove();
11394
11395     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11396     void onmousedown();
11397
11398     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11399     void onmouseup();
11400
11401     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11402     VARIANT_BOOL onselectstart();
11403
11404     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11405     void onfilterchange();
11406
11407     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11408     VARIANT_BOOL ondragstart();
11409
11410     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11411     VARIANT_BOOL onbeforeupdate();
11412
11413     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11414     void onafterupdate();
11415
11416     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11417     VARIANT_BOOL onerrorupdate();
11418
11419     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11420     VARIANT_BOOL onrowexit();
11421
11422     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11423     void onrowenter();
11424
11425     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11426     void ondatasetchanged();
11427
11428     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11429     void ondataavailable();
11430
11431     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11432     void ondatasetcomplete();
11433
11434     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11435     void onlosecapture();
11436
11437     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11438     void onpropertychange();
11439
11440     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11441     void onscroll();
11442
11443     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11444     void onfocus();
11445
11446     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11447     void onblur();
11448
11449     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11450     void onresize();
11451
11452     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11453     VARIANT_BOOL ondrag();
11454
11455     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11456     void ondragend();
11457
11458     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11459     VARIANT_BOOL ondragenter();
11460
11461     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11462     VARIANT_BOOL ondragover();
11463
11464     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11465     void ondragleave();
11466
11467     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11468     VARIANT_BOOL ondrop();
11469
11470     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11471     VARIANT_BOOL onbeforecut();
11472
11473     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11474     VARIANT_BOOL oncut();
11475
11476     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11477     VARIANT_BOOL onbeforecopy();
11478
11479     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11480     VARIANT_BOOL oncopy();
11481
11482     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
11483     VARIANT_BOOL onbeforepaste();
11484
11485     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11486     VARIANT_BOOL onpaste();
11487
11488     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11489     VARIANT_BOOL oncontextmenu();
11490
11491     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11492     void onrowsdelete();
11493
11494     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11495     void onrowsinserted();
11496
11497     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11498     void oncellchange();
11499
11500     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11501     void onreadystatechange();
11502
11503     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11504     void onbeforeeditfocus();
11505
11506     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11507     void onlayoutcomplete();
11508
11509     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11510     void onpage();
11511
11512     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11513     VARIANT_BOOL onbeforedeactivate();
11514
11515     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11516     VARIANT_BOOL onbeforeactivate();
11517
11518     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11519     void onmove();
11520
11521     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11522     VARIANT_BOOL oncontrolselect();
11523
11524     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11525     VARIANT_BOOL onmovestart();
11526
11527     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11528     void onmoveend();
11529
11530     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11531     VARIANT_BOOL onresizestart();
11532
11533     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11534     void onresizeend();
11535
11536     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11537     void onmouseenter();
11538
11539     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11540     void onmouseleave();
11541
11542     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11543     VARIANT_BOOL onmousewheel();
11544
11545     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11546     void onactivate();
11547
11548     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11549     void ondeactivate();
11550
11551     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11552     void onfocusin();
11553
11554     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11555     void onfocusout();
11556
11557     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11558     void onchange();
11559
11560     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11561     void onselect();
11562 }
11563
11564 /*****************************************************************************
11565  *    HTMLTextContainerEvents2 interface
11566  */
11567 [
11568     hidden,
11569     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
11570 ]
11571 dispinterface HTMLTextContainerEvents2
11572 {
11573 properties:
11574 methods:
11575     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
11576     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11577
11578     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
11579     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
11580
11581     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
11582     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
11583
11584     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
11585     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
11586
11587     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
11588     void onkeydown([in] IHTMLEventObj* pEvtObj);
11589
11590     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
11591     void onkeyup([in] IHTMLEventObj* pEvtObj);
11592
11593     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
11594     void onmouseout([in] IHTMLEventObj* pEvtObj);
11595
11596     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
11597     void onmouseover([in] IHTMLEventObj* pEvtObj);
11598
11599     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
11600     void onmousemove([in] IHTMLEventObj* pEvtObj);
11601
11602     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
11603     void onmousedown([in] IHTMLEventObj* pEvtObj);
11604
11605     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
11606     void onmouseup([in] IHTMLEventObj* pEvtObj);
11607
11608     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
11609     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
11610
11611     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
11612     void onfilterchange([in] IHTMLEventObj* pEvtObj);
11613
11614     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
11615     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
11616
11617     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
11618     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
11619
11620     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
11621     void onafterupdate([in] IHTMLEventObj* pEvtObj);
11622
11623     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
11624     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
11625
11626     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
11627     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
11628
11629     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
11630     void onrowenter([in] IHTMLEventObj* pEvtObj);
11631
11632     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
11633     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
11634
11635     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
11636     void ondataavailable([in] IHTMLEventObj* pEvtObj);
11637
11638     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
11639     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
11640
11641     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
11642     void onlosecapture([in] IHTMLEventObj* pEvtObj);
11643
11644     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
11645     void onpropertychange([in] IHTMLEventObj* pEvtObj);
11646
11647     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
11648     void onscroll([in] IHTMLEventObj* pEvtObj);
11649
11650     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
11651     void onfocus([in] IHTMLEventObj* pEvtObj);
11652
11653     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
11654     void onblur([in] IHTMLEventObj* pEvtObj);
11655
11656     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
11657     void onresize([in] IHTMLEventObj* pEvtObj);
11658
11659     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
11660     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
11661
11662     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
11663     void ondragend([in] IHTMLEventObj* pEvtObj);
11664
11665     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
11666     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
11667
11668     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
11669     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
11670
11671     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
11672     void ondragleave([in] IHTMLEventObj* pEvtObj);
11673
11674     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
11675     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
11676
11677     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
11678     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
11679
11680     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
11681     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
11682
11683     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
11684     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
11685
11686     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
11687     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
11688
11689     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
11690     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
11691
11692     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11693     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11694
11695     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11696     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11697
11698     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11699     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11700
11701     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11702     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11703
11704     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11705     void oncellchange([in] IHTMLEventObj* pEvtObj);
11706
11707     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11708     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11709
11710     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11711     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11712
11713     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11714     void onpage([in] IHTMLEventObj* pEvtObj);
11715
11716     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11717     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11718
11719     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11720     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11721
11722     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11723     void onactivate([in] IHTMLEventObj* pEvtObj);
11724
11725     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11726     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11727
11728     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11729     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11730
11731     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11732     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11733
11734     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11735     void onfocusin([in] IHTMLEventObj* pEvtObj);
11736
11737     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11738     void onfocusout([in] IHTMLEventObj* pEvtObj);
11739
11740     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11741     void onmove([in] IHTMLEventObj* pEvtObj);
11742
11743     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11744     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11745
11746     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11747     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11748
11749     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
11750     void onmoveend([in] IHTMLEventObj* pEvtObj);
11751
11752     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
11753     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
11754
11755     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
11756     void onresizeend([in] IHTMLEventObj* pEvtObj);
11757
11758     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
11759     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
11760
11761     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
11762     void onchange([in] IHTMLEventObj* pEvtObj);
11763
11764     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
11765     void onselect([in] IHTMLEventObj* pEvtObj);
11766 }
11767
11768 /*****************************************************************************
11769  *    IHTMLDocument interface
11770  */
11771 [
11772     odl,
11773     oleautomation,
11774     dual,
11775     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11776 ]
11777 interface IHTMLDocument : IDispatch
11778 {
11779     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11780     HRESULT Script([retval, out] IDispatch **p);
11781 }
11782
11783 /*****************************************************************************
11784  *    IHTMLDocument2 interface
11785  */
11786 [
11787     odl,
11788     oleautomation,
11789     dual,
11790     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11791 ]
11792 interface IHTMLDocument2 : IHTMLDocument
11793 {
11794     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11795     HRESULT all([retval, out] IHTMLElementCollection **p);
11796
11797     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11798     HRESULT body([retval, out] IHTMLElement **p);
11799
11800     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11801     HRESULT activeElement([retval, out] IHTMLElement **p);
11802
11803     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11804     HRESULT images([retval, out] IHTMLElementCollection **p);
11805
11806     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11807     HRESULT applets([retval, out] IHTMLElementCollection **p);
11808
11809     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11810     HRESULT links([retval, out] IHTMLElementCollection **p);
11811
11812     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11813     HRESULT forms([retval, out] IHTMLElementCollection **p);
11814
11815     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11816     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11817
11818     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11819     HRESULT title([in] BSTR v);
11820
11821     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11822     HRESULT title([retval, out] BSTR *p);
11823
11824     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11825     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11826
11827     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11828     HRESULT designMode([in] BSTR v);
11829
11830     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11831     HRESULT designMode([retval, out] BSTR *p);
11832
11833     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11834     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11835
11836     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11837      HRESULT readyState([retval, out] BSTR *p);
11838
11839     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11840     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11841
11842     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11843     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11844
11845     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11846     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11847
11848     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11849     HRESULT alinkColor([in] VARIANT v);
11850
11851     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11852     HRESULT alinkColor([retval, out] VARIANT *p);
11853
11854     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11855     HRESULT bgColor([in] VARIANT v);
11856
11857     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11858     HRESULT bgColor([retval, out] VARIANT *p);
11859
11860     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11861     HRESULT fgColor([in] VARIANT v);
11862
11863     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11864     HRESULT fgColor([retval, out] VARIANT *p);
11865
11866     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11867     HRESULT linkColor([in] VARIANT v);
11868
11869     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11870     HRESULT linkColor([retval, out] VARIANT *p);
11871
11872     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11873     HRESULT vlinkColor([in] VARIANT v);
11874
11875     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11876     HRESULT vlinkColor([retval, out] VARIANT *p);
11877
11878     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11879     HRESULT referrer([retval, out] BSTR *p);
11880
11881     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11882     HRESULT location([retval, out] IHTMLLocation **p);
11883
11884     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11885     HRESULT lastModified([retval, out] BSTR *p);
11886
11887     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11888     HRESULT URL([in] BSTR v);
11889
11890     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11891     HRESULT URL([retval, out] BSTR *p);
11892
11893     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11894     HRESULT domain([in] BSTR v);
11895
11896     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11897     HRESULT domain([retval, out] BSTR *p);
11898
11899     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11900     HRESULT cookie([in] BSTR v);
11901
11902     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11903     HRESULT cookie([retval, out] BSTR *p);
11904
11905     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11906     HRESULT expando([in] VARIANT_BOOL v);
11907
11908     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11909     HRESULT expando([retval, out] VARIANT_BOOL *p);
11910
11911     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11912      HRESULT charset([in] BSTR v);
11913
11914     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11915     HRESULT charset([retval, out] BSTR *p);
11916
11917     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11918     HRESULT defaultCharset([in] BSTR v);
11919
11920     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11921     HRESULT defaultCharset([retval, out] BSTR *p);
11922
11923     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11924     HRESULT mimeType([retval, out] BSTR *p);
11925
11926     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11927     HRESULT fileSize([retval, out] BSTR *p);
11928
11929     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11930     HRESULT fileCreatedDate([retval, out] BSTR *p);
11931
11932     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11933     HRESULT fileModifiedDate([retval, out] BSTR *p);
11934
11935     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11936     HRESULT fileUpdatedDate([retval, out] BSTR *p);
11937
11938     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11939     HRESULT security([retval, out] BSTR *p);
11940
11941     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11942     HRESULT protocol([retval, out] BSTR *p);
11943
11944     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11945      HRESULT nameProp([retval, out] BSTR *p);
11946
11947     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11948     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
11949
11950     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11951     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
11952
11953     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11954     HRESULT open(
11955         [defaultvalue("text/html"), in] BSTR url,
11956         [optional, in] VARIANT name,
11957         [optional, in] VARIANT features,
11958         [optional, in] VARIANT replace,
11959         [retval, out]  IDispatch **pomWindowResult);
11960
11961     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11962     HRESULT close();
11963
11964     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11965     HRESULT clear();
11966
11967     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11968     HRESULT queryCommandSupported(
11969         [in] BSTR cmdID,
11970         [retval, out] VARIANT_BOOL *pfRet);
11971
11972     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11973     HRESULT queryCommandEnabled(
11974         [in] BSTR cmdID,
11975         [retval, out] VARIANT_BOOL *pfRet);
11976
11977     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11978     HRESULT queryCommandState(
11979         [in] BSTR cmdID,
11980         [retval, out] VARIANT_BOOL *pfRet);
11981
11982     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11983     HRESULT queryCommandIndeterm(
11984         [in] BSTR cmdID,
11985         [retval, out] VARIANT_BOOL *pfRet);
11986
11987     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11988     HRESULT queryCommandText(
11989         [in] BSTR cmdID,
11990         [retval, out] BSTR *pcmdText);
11991
11992     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11993     HRESULT queryCommandValue(
11994         [in] BSTR cmdID,
11995         [retval, out] VARIANT *pcmdValue);
11996
11997     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11998     HRESULT execCommand(
11999         [in] BSTR cmdID,
12000         [defaultvalue(0), in] VARIANT_BOOL showUI,
12001         [optional, in] VARIANT value,
12002         [retval, out] VARIANT_BOOL *pfRet);
12003
12004     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12005     HRESULT execCommandShowHelp(
12006         [in] BSTR cmdID,
12007         [retval, out] VARIANT_BOOL *pfRet);
12008
12009     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12010      HRESULT createElement(
12011         [in] BSTR eTag,
12012         [retval, out] IHTMLElement **newElem);
12013
12014     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12015     HRESULT onhelp([in] VARIANT v);
12016
12017     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12018     HRESULT onhelp([retval, out] VARIANT *p);
12019
12020     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12021     HRESULT onclick([in] VARIANT v);
12022
12023     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12024     HRESULT onclick([retval, out] VARIANT *p);
12025
12026     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12027     HRESULT ondblclick([in] VARIANT v);
12028
12029     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12030     HRESULT ondblclick([retval, out] VARIANT *p);
12031
12032     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12033     HRESULT onkeyup([in] VARIANT v);
12034
12035     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12036     HRESULT onkeyup([retval, out] VARIANT *p);
12037
12038     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12039     HRESULT onkeydown([in] VARIANT v);
12040
12041     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12042     HRESULT onkeydown([retval, out] VARIANT *p);
12043
12044     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12045      HRESULT onkeypress([in] VARIANT v);
12046
12047     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12048     HRESULT onkeypress([retval, out] VARIANT *p);
12049
12050     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12051     HRESULT onmouseup([in] VARIANT v);
12052
12053     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12054     HRESULT onmouseup([retval, out] VARIANT *p);
12055
12056     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12057     HRESULT onmousedown([in] VARIANT v);
12058
12059     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12060     HRESULT onmousedown([retval, out] VARIANT *p);
12061
12062     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12063     HRESULT onmousemove([in] VARIANT v);
12064
12065     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12066     HRESULT onmousemove([retval, out] VARIANT *p);
12067
12068     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12069     HRESULT onmouseout([in] VARIANT v);
12070
12071     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12072     HRESULT onmouseout([retval, out] VARIANT *p);
12073
12074     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12075     HRESULT onmouseover([in] VARIANT v);
12076
12077     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12078     HRESULT onmouseover([retval, out] VARIANT *p);
12079
12080     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12081     HRESULT onreadystatechange([in] VARIANT v);
12082
12083     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12084     HRESULT onreadystatechange([retval, out] VARIANT *p);
12085
12086     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12087     HRESULT onafterupdate([in] VARIANT v);
12088
12089     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12090     HRESULT onafterupdate([retval, out] VARIANT *p);
12091
12092     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12093     HRESULT onrowexit([in] VARIANT v);
12094
12095     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12096     HRESULT onrowexit([retval, out] VARIANT *p);
12097
12098     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12099     HRESULT onrowenter([in] VARIANT v);
12100
12101     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12102     HRESULT onrowenter([retval, out] VARIANT *p);
12103
12104     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12105     HRESULT ondragstart([in] VARIANT v);
12106
12107     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12108     HRESULT ondragstart([retval, out] VARIANT *p);
12109
12110     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12111     HRESULT onselectstart([in] VARIANT v);
12112
12113     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12114     HRESULT onselectstart([retval, out] VARIANT *p);
12115
12116     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12117     HRESULT elementFromPoint(
12118         [in] LONG x,
12119         [in] LONG y,
12120         [retval, out] IHTMLElement **elementHit);
12121
12122     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12123     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12124
12125     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12126     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12127
12128     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12129     HRESULT onbeforeupdate([in] VARIANT v);
12130
12131     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12132     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12133
12134     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12135     HRESULT onerrorupdate([in] VARIANT v);
12136
12137     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12138     HRESULT onerrorupdate([retval, out] VARIANT *p);
12139
12140     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12141     HRESULT toString([retval, out] BSTR *String);
12142
12143     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12144     HRESULT createStyleSheet(
12145         [defaultvalue(""), in] BSTR bstrHref,
12146         [defaultvalue(-1), in] LONG lIndex,
12147         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12148 }
12149
12150 /*****************************************************************************
12151  *    IHTMLDocument3 interface
12152  */
12153 [
12154     odl,
12155     oleautomation,
12156     dual,
12157     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12158 ]
12159 interface IHTMLDocument3 : IDispatch
12160 {
12161     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12162     HRESULT releaseCapture();
12163
12164     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12165     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12166
12167     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12168     HRESULT createTextNode(
12169         [in] BSTR text,
12170         [retval, out] IHTMLDOMNode **newTextNode);
12171
12172     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12173     HRESULT documentElement([retval, out] IHTMLElement **p);
12174
12175     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12176     HRESULT uniqueID([retval, out] BSTR *p);
12177
12178     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12179     HRESULT attachEvent(
12180         [in] BSTR event,
12181         [in] IDispatch* pDisp,
12182         [retval, out] VARIANT_BOOL *pfResult);
12183
12184     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12185     HRESULT detachEvent(
12186         [in] BSTR event,
12187         [in] IDispatch *pDisp);
12188
12189     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12190     HRESULT onrowsdelete([in] VARIANT v);
12191
12192     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12193     HRESULT onrowsdelete([retval, out] VARIANT *p);
12194
12195     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12196     HRESULT onrowsinserted([in] VARIANT v);
12197
12198     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12199     HRESULT onrowsinserted([retval, out] VARIANT *p);
12200
12201     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12202     HRESULT oncellchange([in] VARIANT v);
12203
12204     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12205     HRESULT oncellchange([retval, out] VARIANT *p);
12206
12207     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12208     HRESULT ondatasetchanged([in] VARIANT v);
12209
12210     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12211     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12212
12213     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12214     HRESULT ondataavailable([in] VARIANT v);
12215
12216     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12217     HRESULT ondataavailable([retval, out] VARIANT * p);
12218
12219     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12220     HRESULT ondatasetcomplete([in] VARIANT v);
12221
12222     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12223     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12224
12225     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12226     HRESULT onpropertychange([in] VARIANT v);
12227
12228     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12229     HRESULT onpropertychange([retval, out] VARIANT *p);
12230
12231     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12232     HRESULT dir([in] BSTR v);
12233
12234     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12235     HRESULT dir([retval, out] BSTR *p);
12236
12237     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12238     HRESULT oncontextmenu([in] VARIANT v);
12239
12240     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12241     HRESULT oncontextmenu([retval, out] VARIANT *p);
12242
12243     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12244     HRESULT onstop([in] VARIANT v);
12245
12246     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12247     HRESULT onstop([retval, out] VARIANT *p);
12248
12249     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12250     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12251
12252     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12253     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12254
12255     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12256     HRESULT enableDownload([in] VARIANT_BOOL v);
12257
12258     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12259     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12260
12261     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12262     HRESULT baseUrl([in] BSTR v);
12263
12264     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12265     HRESULT baseUrl([retval, out] BSTR *p);
12266
12267     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12268     HRESULT childNodes([retval, out] IDispatch **p);
12269
12270     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12271     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12272
12273     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12274     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12275
12276     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12277     HRESULT onbeforeeditfocus([in] VARIANT v);
12278
12279     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12280     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12281
12282     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12283     HRESULT getElementsByName(
12284         [in] BSTR v,
12285         [retval, out] IHTMLElementCollection **pelColl);
12286
12287     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12288     HRESULT getElementById(
12289         [in] BSTR v,
12290         [retval, out] IHTMLElement **pel);
12291
12292     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12293     HRESULT getElementsByTagName(
12294         [in] BSTR v,
12295         [retval, out] IHTMLElementCollection **pelColl);
12296 }
12297
12298 /*****************************************************************************
12299  *    IHTMLDocument4 interface
12300  */
12301 [
12302     odl,
12303     oleautomation,
12304     dual,
12305     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12306 ]
12307 interface IHTMLDocument4 : IDispatch
12308 {
12309     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12310     HRESULT focus();
12311
12312     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12313     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12314
12315     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12316     HRESULT onselectionchange([in] VARIANT v);
12317
12318     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12319     HRESULT onselectionchange([retval, out] VARIANT *p);
12320
12321     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12322     HRESULT namespaces([retval, out] IDispatch **p);
12323
12324     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12325     HRESULT createDocumentFromUrl(
12326         [in] BSTR bstrUrl,
12327         [in] BSTR bstrOptions,
12328         [retval, out] IHTMLDocument2 **newDoc);
12329
12330     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12331     HRESULT media([in] BSTR v);
12332
12333     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12334     HRESULT media([retval, out] BSTR *p);
12335
12336     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12337     HRESULT createEventObject(
12338         [optional, in] VARIANT *pvarEventObject,
12339         [retval, out] IHTMLEventObj **ppEventObj);
12340
12341     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12342     HRESULT fireEvent(
12343         [in] BSTR bstrEventName,
12344         [optional, in] VARIANT *pvarEventObject,
12345         [retval, out] VARIANT_BOOL *pfCancelled);
12346
12347     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12348     HRESULT createRenderStyle(
12349         [in] BSTR v,
12350         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12351
12352     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12353     HRESULT oncontrolselect([in] VARIANT v);
12354
12355     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12356     HRESULT oncontrolselect([retval, out] VARIANT *p);
12357
12358     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12359     HRESULT URLUnencoded([retval, out] BSTR *p);
12360 }
12361
12362 /*****************************************************************************
12363  *    IHTMLDocument5 interface
12364  */
12365 [
12366     odl,
12367     oleautomation,
12368     dual,
12369     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12370 ]
12371 interface IHTMLDocument5 : IDispatch
12372 {
12373     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12374     HRESULT onmousewheel([in] VARIANT v);
12375
12376     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12377     HRESULT onmousewheel([retval, out] VARIANT *p);
12378
12379     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12380     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12381
12382     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12383     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12384
12385     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12386     HRESULT createAttribute(
12387         [in] BSTR bstrattrName,
12388         [retval, out] IHTMLDOMAttribute **ppattribute);
12389
12390     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12391     HRESULT createComment(
12392         [in] BSTR bstrdata,
12393         [retval, out] IHTMLDOMNode **ppRetNode);
12394
12395     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12396     HRESULT onfocusin([in] VARIANT v);
12397
12398     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12399     HRESULT onfocusin([retval, out] VARIANT *p);
12400
12401     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12402     HRESULT onfocusout([in] VARIANT v);
12403
12404     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12405     HRESULT onfocusout([retval, out] VARIANT *p);
12406
12407     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12408     HRESULT onactivate([in] VARIANT v);
12409
12410     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12411     HRESULT onactivate([retval, out] VARIANT *p);
12412
12413     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12414     HRESULT ondeactivate([in] VARIANT v);
12415
12416     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12417     HRESULT ondeactivate([retval, out] VARIANT *p);
12418
12419     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12420     HRESULT onbeforeactivate([in] VARIANT v);
12421
12422     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12423     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12424
12425     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12426     HRESULT onbeforedeactivate([in] VARIANT v);
12427
12428     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12429     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12430
12431     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12432     HRESULT compatMode([retval, out] BSTR *p);
12433 }
12434
12435 /*****************************************************************************
12436  *    IHTMLDocument6 interface
12437  */
12438 [
12439     odl,
12440     oleautomation,
12441     dual,
12442     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
12443 ]
12444 interface IHTMLDocument6 : IDispatch
12445 {
12446     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12447     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
12448
12449     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12450     HRESULT documentMode([retval, out] VARIANT *p);
12451
12452     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12453     HRESULT onstorage([in] VARIANT v);
12454
12455     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12456     HRESULT onstorage([out] VARIANT *p);
12457
12458     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12459     HRESULT onstoragecommit([in] VARIANT v);
12460
12461     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12462     HRESULT onstoragecommit([out] VARIANT *p);
12463
12464     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12465     HRESULT getElementById(
12466         [in] BSTR bstrId,
12467         [retval, out] IHTMLElement2 **p);
12468
12469     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12470     HRESULT updateSettings();
12471 }
12472
12473 /*****************************************************************************
12474  *    DispHTMLDocument dispinterface
12475  */
12476 [
12477     hidden,
12478     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12479 ]
12480 dispinterface DispHTMLDocument
12481 {
12482 properties:
12483 methods:
12484     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
12485     IDispatch *Script();
12486
12487     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12488     IHTMLElementCollection *all();
12489
12490     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12491     IHTMLElement *body();
12492
12493     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12494     IHTMLElement *activeElement();
12495
12496     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12497     IHTMLElementCollection *images();
12498
12499     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12500     IHTMLElementCollection *applets();
12501
12502     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12503     IHTMLElementCollection *links();
12504
12505     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12506     IHTMLElementCollection *forms();
12507
12508     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12509     IHTMLElementCollection *anchors();
12510
12511     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12512     void title(BSTR v);
12513
12514     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12515     BSTR title();
12516
12517     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12518     IHTMLElementCollection *scripts();
12519
12520     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12521     void designMode(BSTR v);
12522
12523     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12524     BSTR designMode();
12525
12526     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12527     IHTMLSelectionObject *selection();
12528
12529     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
12530     BSTR readyState();
12531
12532     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12533     IHTMLFramesCollection2 *frames();
12534
12535     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12536     IHTMLElementCollection *embeds();
12537
12538     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12539     IHTMLElementCollection *plugins();
12540
12541     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12542     void alinkColor(VARIANT v);
12543
12544     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12545     VARIANT alinkColor();
12546
12547     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12548     void bgColor(VARIANT v);
12549
12550     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12551     VARIANT bgColor();
12552
12553     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12554     void fgColor(VARIANT v);
12555
12556     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12557     VARIANT fgColor();
12558
12559     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12560     void linkColor(VARIANT v);
12561
12562     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12563     VARIANT linkColor();
12564
12565     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12566     void vlinkColor(VARIANT v);
12567
12568     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12569     VARIANT vlinkColor();
12570
12571     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12572     BSTR referrer();
12573
12574     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12575     IHTMLLocation *location();
12576
12577     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12578     BSTR lastModified();
12579
12580     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12581     void URL(BSTR v);
12582
12583     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12584     BSTR URL();
12585
12586     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12587     void domain(BSTR v);
12588
12589     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12590     BSTR domain();
12591
12592     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12593     void cookie(BSTR v);
12594
12595     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12596     BSTR cookie();
12597
12598     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12599     void expando(VARIANT_BOOL v);
12600
12601     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12602     VARIANT_BOOL expando();
12603
12604     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12605     void charset(BSTR v);
12606
12607     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12608     BSTR charset();
12609
12610     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12611     void defaultCharset(BSTR v);
12612
12613     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12614     BSTR defaultCharset();
12615
12616     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12617     BSTR mimeType();
12618
12619     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12620     BSTR fileSize();
12621
12622     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12623     BSTR fileCreatedDate();
12624
12625     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12626     BSTR fileModifiedDate();
12627
12628     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12629     BSTR fileUpdatedDate();
12630
12631     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12632     BSTR security();
12633
12634     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12635     BSTR protocol();
12636
12637     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12638     BSTR nameProp();
12639
12640     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12641     void write([in] SAFEARRAY(VARIANT) psarray);
12642
12643     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12644     void writeln([in] SAFEARRAY(VARIANT) psarray);
12645
12646     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12647     IDispatch *open(
12648         [defaultvalue("text/html"), in] BSTR url,
12649         [optional, in] VARIANT name,
12650         [optional, in] VARIANT features,
12651         [optional, in] VARIANT replace);
12652
12653     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12654     void close();
12655
12656     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12657     void clear();
12658
12659     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12660     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12661
12662     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12663     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12664
12665     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12666     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12667
12668     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12669     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12670
12671     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12672     BSTR queryCommandText([in] BSTR cmdID);
12673
12674     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12675     VARIANT queryCommandValue([in] BSTR cmdID);
12676
12677     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12678     VARIANT_BOOL execCommand(
12679         [in] BSTR cmdID,
12680         [defaultvalue(0), in] VARIANT_BOOL showUI,
12681         [optional, in] VARIANT value);
12682
12683     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12684     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12685
12686     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12687     IHTMLElement *createElement([in] BSTR eTag);
12688
12689     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12690     void onhelp(VARIANT v);
12691
12692     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12693     VARIANT onhelp();
12694
12695     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12696     void onclick(VARIANT v);
12697
12698     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12699     VARIANT onclick();
12700
12701     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12702     void ondblclick(VARIANT v);
12703
12704     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12705     VARIANT ondblclick();
12706
12707     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12708     void onkeyup(VARIANT v);
12709
12710     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12711     VARIANT onkeyup();
12712
12713     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12714     void onkeydown(VARIANT v);
12715
12716     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12717     VARIANT onkeydown();
12718
12719     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12720     void onkeypress(VARIANT v);
12721
12722     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12723     VARIANT onkeypress();
12724
12725     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12726     void onmouseup(VARIANT v);
12727
12728     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12729     VARIANT onmouseup();
12730
12731     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12732     void onmousedown(VARIANT v);
12733
12734     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12735     VARIANT onmousedown();
12736
12737     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12738     void onmousemove(VARIANT v);
12739
12740     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12741     VARIANT onmousemove();
12742
12743     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12744     void onmouseout(VARIANT v);
12745
12746     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12747     VARIANT onmouseout();
12748
12749     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12750     void onmouseover(VARIANT v);
12751
12752     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12753     VARIANT onmouseover();
12754
12755     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12756     void onreadystatechange(VARIANT v);
12757
12758     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12759     VARIANT onreadystatechange();
12760
12761     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12762     void onafterupdate(VARIANT v);
12763
12764     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12765     VARIANT onafterupdate();
12766
12767     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12768     void onrowexit(VARIANT v);
12769
12770     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12771     VARIANT onrowexit();
12772
12773     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12774     void onrowenter(VARIANT v);
12775
12776     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12777     VARIANT onrowenter();
12778
12779     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12780     void ondragstart(VARIANT v);
12781
12782     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12783     VARIANT ondragstart();
12784
12785     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12786     void onselectstart(VARIANT v);
12787
12788     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12789     VARIANT onselectstart();
12790
12791     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12792     IHTMLElement *elementFromPoint(
12793         [in] LONG x,
12794         [in] LONG y);
12795
12796     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12797     IHTMLWindow2 *parentWindow();
12798
12799     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12800     IHTMLStyleSheetsCollection *styleSheets();
12801
12802     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12803     void onbeforeupdate(VARIANT v);
12804
12805     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12806     VARIANT onbeforeupdate();
12807
12808     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12809     void onerrorupdate(VARIANT v);
12810
12811     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12812     VARIANT onerrorupdate();
12813
12814     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12815     BSTR toString();
12816
12817     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12818     IHTMLStyleSheet *createStyleSheet(
12819         [defaultvalue(""), in] BSTR bstrHref,
12820         [defaultvalue(-1), in] LONG lIndex);
12821
12822     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12823     void releaseCapture();
12824
12825     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12826     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12827
12828     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12829     IHTMLDOMNode *createTextNode([in] BSTR text);
12830
12831     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12832     IHTMLElement *documentElement();
12833
12834     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12835     BSTR uniqueID();
12836
12837     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12838     VARIANT_BOOL attachEvent(
12839         [in] BSTR event,
12840         [in] IDispatch *pDisp);
12841
12842     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12843     void detachEvent(
12844         [in] BSTR event,
12845         [in] IDispatch *pDisp);
12846
12847     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12848     void onrowsdelete(VARIANT v);
12849
12850     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12851     VARIANT onrowsdelete();
12852
12853     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12854     void onrowsinserted(VARIANT v);
12855
12856     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12857     VARIANT onrowsinserted();
12858
12859     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12860     void oncellchange(VARIANT v);
12861
12862     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12863     VARIANT oncellchange();
12864
12865     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12866     void ondatasetchanged(VARIANT v);
12867
12868     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12869     VARIANT ondatasetchanged();
12870
12871     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12872     void ondataavailable(VARIANT v);
12873
12874     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12875     VARIANT ondataavailable();
12876
12877     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12878     void ondatasetcomplete(VARIANT v);
12879
12880     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12881     VARIANT ondatasetcomplete();
12882
12883     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12884     void onpropertychange(VARIANT v);
12885
12886     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12887     VARIANT onpropertychange();
12888
12889     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12890     void dir(BSTR v);
12891
12892     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12893     BSTR dir();
12894
12895     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12896     void oncontextmenu(VARIANT v);
12897
12898     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12899     VARIANT oncontextmenu();
12900
12901     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12902     void onstop(VARIANT v);
12903
12904     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12905     VARIANT onstop();
12906
12907     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12908     IHTMLDocument2 *createDocumentFragment();
12909
12910     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12911     IHTMLDocument2 *parentDocument();
12912
12913     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12914     void enableDownload(VARIANT_BOOL v);
12915
12916     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12917     VARIANT_BOOL enableDownload();
12918
12919     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12920     void baseUrl(BSTR v);
12921
12922     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12923     BSTR baseUrl();
12924
12925     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12926     void inheritStyleSheets(VARIANT_BOOL v);
12927
12928     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12929     VARIANT_BOOL inheritStyleSheets();
12930
12931     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12932     void onbeforeeditfocus(VARIANT v);
12933
12934     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12935     VARIANT onbeforeeditfocus();
12936
12937     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12938     IHTMLElementCollection *getElementsByName([in] BSTR v);
12939
12940     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12941     IHTMLElement *getElementById([in] BSTR v);
12942
12943     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12944     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12945
12946     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12947     void focus();
12948
12949     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12950     VARIANT_BOOL hasFocus();
12951
12952     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12953     void onselectionchange(VARIANT v);
12954
12955     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12956     VARIANT onselectionchange();
12957
12958     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12959     IDispatch *namespaces();
12960
12961     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12962     IHTMLDocument2 *createDocumentFromUrl(
12963         [in] BSTR bstrUrl,
12964         [in] BSTR bstrOptions);
12965
12966     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12967     void media(BSTR v);
12968
12969     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12970     BSTR media();
12971
12972     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12973     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
12974
12975     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12976     VARIANT_BOOL fireEvent(
12977         [in] BSTR bstrEventName,
12978         [optional, in] VARIANT *pvarEventObject);
12979
12980     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12981     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
12982
12983     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12984     void oncontrolselect(VARIANT v);
12985
12986     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12987     VARIANT oncontrolselect();
12988
12989     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12990     BSTR URLUnencoded();
12991
12992     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12993     void onmousewheel(VARIANT v);
12994
12995     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12996     VARIANT onmousewheel();
12997
12998     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12999     IHTMLDOMNode *doctype();
13000
13001     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13002     IHTMLDOMImplementation *implementation();
13003
13004     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13005     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13006
13007     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13008     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13009
13010     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13011     void onfocusin(VARIANT v);
13012
13013     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13014     VARIANT onfocusin();
13015
13016     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13017     void onfocusout(VARIANT v);
13018
13019     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13020     VARIANT onfocusout();
13021
13022     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13023     void onactivate(VARIANT v);
13024
13025     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13026     VARIANT onactivate();
13027
13028     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13029     void ondeactivate(VARIANT v);
13030
13031     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13032     VARIANT ondeactivate();
13033
13034     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13035     void onbeforeactivate(VARIANT v);
13036
13037     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13038     VARIANT onbeforeactivate();
13039
13040     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13041     void onbeforedeactivate(VARIANT v);
13042
13043     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13044     VARIANT onbeforedeactivate();
13045
13046     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13047     BSTR compatMode();
13048
13049     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13050     IHTMLDocumentCompatibleInfoCollection *compatible();
13051
13052     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13053     VARIANT documentMode();
13054
13055     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13056     void onstorage(VARIANT v);
13057
13058     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13059     VARIANT onstorage();
13060
13061     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13062     void onstoragecommit(VARIANT v);
13063
13064     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13065     VARIANT onstoragecommit();
13066
13067     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13068     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13069
13070     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13071     void updateSettings();
13072
13073     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13074 }
13075
13076 /*****************************************************************************
13077  *    HTMLDocument coclass
13078  */
13079 [
13080     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13081 ]
13082 coclass HTMLDocument
13083 {
13084     [default]         dispinterface DispHTMLDocument;
13085     [source, default] dispinterface HTMLDocumentEvents;
13086     [source]          dispinterface HTMLDocumentEvents2;
13087                       interface IHTMLDocument2;
13088                       interface IHTMLDocument3;
13089                       interface IHTMLDocument4;
13090                       interface IHTMLDocument5;
13091                       interface IHTMLDocument6;
13092                       interface IHTMLDOMNode;
13093                       interface IHTMLDOMNode2;
13094 }
13095
13096 /*****************************************************************************
13097  *    IHTMLCommentElement interface
13098  */
13099 [
13100     odl,
13101     oleautomation,
13102     dual,
13103     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13104 ]
13105 interface IHTMLCommentElement : IDispatch
13106 {
13107     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13108     HRESULT text([in] BSTR v);
13109
13110     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13111     HRESULT text([out, retval] BSTR *p);
13112
13113     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13114     HRESULT atomic([in] LONG v);
13115
13116     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13117     HRESULT atomic([out, retval] LONG *p);
13118 }
13119
13120 /*****************************************************************************
13121  *    IHTMLCommentElement2 interface
13122  */
13123 [
13124     odl,
13125     oleautomation,
13126     dual,
13127     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13128 ]
13129 interface IHTMLCommentElement2 : IDispatch
13130 {
13131     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13132     HRESULT data([in] BSTR v);
13133
13134     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13135     HRESULT data([out, retval] BSTR *p);
13136
13137     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13138     HRESULT length([out, retval] LONG *p);
13139
13140     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13141     HRESULT substringData(
13142             [in] LONG offset,
13143             [in] LONG Count,
13144             [out, retval] BSTR *pbstrsubString);
13145
13146     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13147     HRESULT appendData([in] BSTR bstrstring);
13148
13149     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13150     HRESULT insertData(
13151             [in] LONG offset,
13152             [in] BSTR bstrstring);
13153
13154     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13155     HRESULT deleteData(
13156             [in] LONG offset,
13157             [in] LONG Count);
13158
13159     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13160     HRESULT replaceData(
13161             [in] LONG offset,
13162             [in] LONG Count,
13163             [in] BSTR bstrstring);
13164 }
13165
13166 /*****************************************************************************
13167  *    DispHTMLCommentElement dispinterface
13168  */
13169 [
13170     hidden,
13171     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13172 ]
13173 dispinterface DispHTMLCommentElement
13174 {
13175 properties:
13176 methods:
13177     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13178
13179     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13180     void text(BSTR v);
13181
13182     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13183     BSTR text();
13184
13185     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13186     void atomic(LONG v);
13187
13188     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13189     LONG atomic();
13190
13191     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13192     void data(BSTR v);
13193
13194     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13195     BSTR data();
13196
13197     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13198     LONG length();
13199
13200     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13201     BSTR substringData(
13202             [in] LONG offset,
13203             [in] LONG Count);
13204
13205     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13206     void appendData([in] BSTR bstrstring);
13207
13208     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13209      void insertData(
13210             [in] LONG offset,
13211             [in] BSTR bstrstring);
13212
13213     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13214     void deleteData(
13215             [in] LONG offset,
13216             [in] LONG Count);
13217
13218     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13219     void replaceData(
13220             [in] LONG offset,
13221             [in] LONG Count,
13222             [in] BSTR bstrstring);
13223 }
13224
13225 [
13226     hidden,
13227     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
13228 ]
13229 dispinterface HTMLElementEvents2
13230 {
13231 properties:
13232 methods:
13233     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13234     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13235
13236     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13237     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13238
13239     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13240     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13241
13242     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13243     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13244
13245     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13246     void onkeydown([in] IHTMLEventObj* pEvtObj);
13247
13248     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13249     void onkeyup([in] IHTMLEventObj* pEvtObj);
13250
13251     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13252     void onmouseout([in] IHTMLEventObj* pEvtObj);
13253
13254     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13255     void onmouseover([in] IHTMLEventObj* pEvtObj);
13256
13257     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13258     void onmousemove([in] IHTMLEventObj* pEvtObj);
13259
13260     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13261     void onmousedown([in] IHTMLEventObj* pEvtObj);
13262
13263     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13264     void onmouseup([in] IHTMLEventObj* pEvtObj);
13265
13266     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13267     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13268
13269     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13270     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13271
13272     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13273     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13274
13275     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13276     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13277
13278     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13279     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13280
13281     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13282     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13283
13284     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13285     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13286
13287     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13288     void onrowenter([in] IHTMLEventObj* pEvtObj);
13289
13290     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13291     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13292
13293     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13294     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13295
13296     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13297     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13298
13299     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13300     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13301
13302     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13303     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13304
13305     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13306     void onscroll([in] IHTMLEventObj* pEvtObj);
13307
13308     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13309     void onfocus([in] IHTMLEventObj* pEvtObj);
13310
13311     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13312     void onblur([in] IHTMLEventObj* pEvtObj);
13313
13314     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13315     void onresize([in] IHTMLEventObj* pEvtObj);
13316
13317     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13318     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13319
13320     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13321     void ondragend([in] IHTMLEventObj* pEvtObj);
13322
13323     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13324     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13325
13326     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13327     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13328
13329     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13330     void ondragleave([in] IHTMLEventObj* pEvtObj);
13331
13332     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13333     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13334
13335     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13336     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13337
13338     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13339     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13340
13341     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13342     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13343
13344     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13345     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13346
13347     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13348     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13349
13350     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13351     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13352
13353     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13354     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13355
13356     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13357     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13358
13359     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13360     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13361
13362     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13363     void oncellchange([in] IHTMLEventObj* pEvtObj);
13364
13365     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13366     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13367
13368     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13369     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13370
13371     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13372     void onpage([in] IHTMLEventObj* pEvtObj);
13373
13374     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13375     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13376
13377     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13378     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13379
13380     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13381     void onactivate([in] IHTMLEventObj* pEvtObj);
13382
13383     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13384     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13385
13386     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13387     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13388
13389     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13390     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13391
13392     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13393     void onfocusin([in] IHTMLEventObj* pEvtObj);
13394
13395     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13396     void onfocusout([in] IHTMLEventObj* pEvtObj);
13397
13398     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13399     void onmove([in] IHTMLEventObj* pEvtObj);
13400
13401     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13402     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13403
13404     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13405     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13406
13407     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13408     void onmoveend([in] IHTMLEventObj* pEvtObj);
13409
13410     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13411     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13412
13413     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13414     void onresizeend([in] IHTMLEventObj* pEvtObj);
13415
13416     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13417     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13418 }
13419
13420 [
13421     hidden,
13422     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
13423 ]
13424 dispinterface HTMLElementEvents
13425 {
13426 properties:
13427 methods:
13428     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13429     VARIANT_BOOL onhelp();
13430
13431     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13432     VARIANT_BOOL onclick();
13433
13434     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13435     VARIANT_BOOL ondblclick();
13436
13437     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13438     VARIANT_BOOL onkeypress();
13439
13440     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13441     void onkeydown();
13442
13443     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13444     void onkeyup();
13445
13446     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13447     void onmouseout();
13448
13449     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13450     void onmouseover();
13451
13452     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13453     void onmousemove();
13454
13455     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13456     void onmousedown();
13457
13458     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13459     void onmouseup();
13460
13461     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13462     VARIANT_BOOL onselectstart();
13463
13464     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13465     void onfilterchange();
13466
13467     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13468     VARIANT_BOOL ondragstart();
13469
13470     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13471     VARIANT_BOOL onbeforeupdate();
13472
13473     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13474     void onafterupdate();
13475
13476     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13477     VARIANT_BOOL onerrorupdate();
13478
13479     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13480     VARIANT_BOOL onrowexit();
13481
13482     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13483     void onrowenter();
13484
13485     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13486     void ondatasetchanged();
13487
13488     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13489     void ondataavailable();
13490
13491     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13492     void ondatasetcomplete();
13493
13494     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13495     void onlosecapture();
13496
13497     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13498     void onpropertychange();
13499
13500     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13501     void onscroll();
13502
13503     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13504     void onfocus();
13505
13506     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13507     void onblur();
13508
13509     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13510     void onresize();
13511
13512     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13513     VARIANT_BOOL ondrag();
13514
13515     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13516     void ondragend();
13517
13518     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13519     VARIANT_BOOL ondragenter();
13520
13521     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13522     VARIANT_BOOL ondragover();
13523
13524     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13525     void ondragleave();
13526
13527     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13528     VARIANT_BOOL ondrop();
13529
13530     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13531     VARIANT_BOOL onbeforecut();
13532
13533     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13534     VARIANT_BOOL oncut();
13535
13536     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13537     VARIANT_BOOL onbeforecopy();
13538
13539     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13540     VARIANT_BOOL oncopy();
13541
13542     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13543     VARIANT_BOOL onbeforepaste();
13544
13545     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13546     VARIANT_BOOL onpaste();
13547
13548     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13549     VARIANT_BOOL oncontextmenu();
13550
13551     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13552     void onrowsdelete();
13553
13554     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13555     void onrowsinserted();
13556
13557     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13558     void oncellchange();
13559
13560     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13561     void onreadystatechange();
13562
13563     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13564     void onbeforeeditfocus();
13565
13566     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13567     void onlayoutcomplete();
13568
13569     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13570     void onpage();
13571
13572     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13573     VARIANT_BOOL onbeforedeactivate();
13574
13575     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13576     VARIANT_BOOL onbeforeactivate();
13577
13578     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13579     void onmove();
13580
13581     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13582     VARIANT_BOOL oncontrolselect();
13583
13584     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13585     VARIANT_BOOL onmovestart();
13586
13587     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13588     void onmoveend();
13589
13590     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13591     VARIANT_BOOL onresizestart();
13592
13593     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13594     void onresizeend();
13595
13596     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13597     void onmouseenter();
13598
13599     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13600     void onmouseleave();
13601
13602     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13603     VARIANT_BOOL onmousewheel();
13604
13605     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13606     void onactivate();
13607
13608     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13609     void ondeactivate();
13610
13611     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13612     void onfocusin();
13613
13614     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13615     void onfocusout();
13616 }
13617
13618 [
13619     noncreatable,
13620     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
13621 ]
13622 coclass HTMLCommentElement
13623 {
13624     [default]           dispinterface DispHTMLCommentElement;
13625     [source, default]   dispinterface HTMLElementEvents;
13626     [source]            dispinterface HTMLElementEvents2;
13627                         interface IHTMLElement;
13628                         interface IHTMLElement2;
13629                         interface IHTMLElement3;
13630                         interface IHTMLElement4;
13631                         interface IHTMLUniqueName;
13632                         interface IHTMLDOMNode;
13633                         interface IHTMLDOMNode2;
13634                         interface IHTMLCommentElement;
13635                         interface IHTMLCommentElement2;
13636 }
13637
13638 /*****************************************************************************
13639  *    HTMLTableEvents dispinterface
13640  */
13641 [
13642     hidden,
13643     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
13644 ]
13645 dispinterface HTMLTableEvents
13646 {
13647 properties:
13648 methods:
13649     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13650     VARIANT_BOOL onhelp();
13651
13652     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13653     VARIANT_BOOL onclick();
13654
13655     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13656     VARIANT_BOOL ondblclick();
13657
13658     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13659     VARIANT_BOOL onkeypress();
13660
13661     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13662     void onkeydown();
13663
13664     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13665     void onkeyup();
13666
13667     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13668     void onmouseout();
13669
13670     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13671     void onmouseover();
13672
13673     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13674     void onmousemove();
13675
13676     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13677     void onmousedown();
13678
13679     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13680     void onmouseup();
13681
13682     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13683     VARIANT_BOOL onselectstart();
13684
13685     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13686     void onfilterchange();
13687
13688     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13689     VARIANT_BOOL ondragstart();
13690
13691     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13692     VARIANT_BOOL onbeforeupdate();
13693
13694     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13695     void onafterupdate();
13696
13697     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13698     VARIANT_BOOL onerrorupdate();
13699
13700     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13701     VARIANT_BOOL onrowexit();
13702
13703     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13704     void onrowenter();
13705
13706     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13707     void ondatasetchanged();
13708
13709     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13710     void ondataavailable();
13711
13712     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13713     void ondatasetcomplete();
13714
13715     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13716     void onlosecapture();
13717
13718     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13719     void onpropertychange();
13720
13721     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13722     void onscroll();
13723
13724     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13725     void onfocus();
13726
13727     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13728     void onblur();
13729
13730     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13731     void onresize();
13732
13733     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13734     VARIANT_BOOL ondrag();
13735
13736     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13737     void ondragend();
13738
13739     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13740     VARIANT_BOOL ondragenter();
13741
13742     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13743     VARIANT_BOOL ondragover();
13744
13745     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13746     void ondragleave();
13747
13748     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13749     VARIANT_BOOL ondrop();
13750
13751     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13752     VARIANT_BOOL onbeforecut();
13753
13754     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13755     VARIANT_BOOL oncut();
13756
13757     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13758     VARIANT_BOOL onbeforecopy();
13759
13760     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13761     VARIANT_BOOL oncopy();
13762
13763     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13764     VARIANT_BOOL onbeforepaste();
13765
13766     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13767     VARIANT_BOOL onpaste();
13768
13769     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13770     VARIANT_BOOL oncontextmenu();
13771
13772     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13773     void onrowsdelete();
13774
13775     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13776     void onrowsinserted();
13777
13778     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13779     void oncellchange();
13780
13781     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13782     void onreadystatechange();
13783
13784     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13785     void onbeforeeditfocus();
13786
13787     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13788     void onlayoutcomplete();
13789
13790     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13791     void onpage();
13792
13793     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13794     VARIANT_BOOL onbeforedeactivate();
13795
13796     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13797     VARIANT_BOOL onbeforeactivate();
13798
13799     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13800     void onmove();
13801
13802     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13803     VARIANT_BOOL oncontrolselect();
13804
13805     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13806     VARIANT_BOOL onmovestart();
13807
13808     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13809     void onmoveend();
13810
13811     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13812     VARIANT_BOOL onresizestart();
13813
13814     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13815     void onresizeend();
13816
13817     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13818     void onmouseenter();
13819
13820     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13821     void onmouseleave();
13822
13823     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13824     VARIANT_BOOL onmousewheel();
13825
13826     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13827     void onactivate();
13828
13829     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13830     void ondeactivate();
13831
13832     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13833     void onfocusin();
13834
13835     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13836     void onfocusout();
13837 }
13838
13839 [
13840     hidden,
13841     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
13842 ]
13843 dispinterface HTMLTableEvents2
13844 {
13845 properties:
13846 methods:
13847     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13848     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13849
13850     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13851     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13852
13853     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13854     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13855
13856     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13857     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13858
13859     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13860     void onkeydown([in] IHTMLEventObj* pEvtObj);
13861
13862     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13863     void onkeyup([in] IHTMLEventObj* pEvtObj);
13864
13865     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13866     void onmouseout([in] IHTMLEventObj* pEvtObj);
13867
13868     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13869     void onmouseover([in] IHTMLEventObj* pEvtObj);
13870
13871     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13872     void onmousemove([in] IHTMLEventObj* pEvtObj);
13873
13874     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13875     void onmousedown([in] IHTMLEventObj* pEvtObj);
13876
13877     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13878     void onmouseup([in] IHTMLEventObj* pEvtObj);
13879
13880     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13881     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13882
13883     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13884     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13885
13886     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13887     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13888
13889     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13890     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13891
13892     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13893     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13894
13895     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13896     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13897
13898     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13899     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13900
13901     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13902     void onrowenter([in] IHTMLEventObj* pEvtObj);
13903
13904     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13905     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13906
13907     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13908     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13909
13910     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13911     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13912
13913     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13914     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13915
13916     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13917     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13918
13919     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13920     void onscroll([in] IHTMLEventObj* pEvtObj);
13921
13922     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13923     void onfocus([in] IHTMLEventObj* pEvtObj);
13924
13925     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13926     void onblur([in] IHTMLEventObj* pEvtObj);
13927
13928     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13929     void onresize([in] IHTMLEventObj* pEvtObj);
13930
13931     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13932     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13933
13934     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13935     void ondragend([in] IHTMLEventObj* pEvtObj);
13936
13937     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13938     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13939
13940     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13941     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13942
13943     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13944     void ondragleave([in] IHTMLEventObj* pEvtObj);
13945
13946     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13947     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13948
13949     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13950     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13951
13952     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13953     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13954
13955     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13956     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13957
13958     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13959     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13960
13961     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13962     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13963
13964     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13965     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13966
13967     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13968     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13969
13970     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13971     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13972
13973     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13974     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13975
13976     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13977     void oncellchange([in] IHTMLEventObj* pEvtObj);
13978
13979     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13980     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13981
13982     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13983     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13984
13985     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13986     void onpage([in] IHTMLEventObj* pEvtObj);
13987
13988     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13989     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13990
13991     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13992     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13993
13994     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13995     void onactivate([in] IHTMLEventObj* pEvtObj);
13996
13997     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13998     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13999
14000     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14001     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14002
14003     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14004     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14005
14006     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14007     void onfocusin([in] IHTMLEventObj* pEvtObj);
14008
14009     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14010     void onfocusout([in] IHTMLEventObj* pEvtObj);
14011
14012     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14013     void onmove([in] IHTMLEventObj* pEvtObj);
14014
14015     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14016     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14017
14018     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14019     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14020
14021     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14022     void onmoveend([in] IHTMLEventObj* pEvtObj);
14023
14024     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14025     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14026
14027     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14028     void onresizeend([in] IHTMLEventObj* pEvtObj);
14029
14030     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14031     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14032 }
14033
14034 /*****************************************************************************
14035  *    IHTMLTableCaption interface
14036  */
14037 [
14038     odl,
14039     oleautomation,
14040     dual,
14041     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14042 ]
14043 interface IHTMLTableCaption : IDispatch
14044 {
14045     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14046     HRESULT align([in] BSTR v);
14047
14048     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14049     HRESULT align([retval, out] BSTR *p);
14050
14051     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14052     HRESULT vAlign([in] BSTR v);
14053
14054     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14055     HRESULT vAlign([retval, out] BSTR *p);
14056 }
14057
14058 interface IHTMLTableSection;
14059
14060 /*****************************************************************************
14061  *    IHTMLTable interface
14062  */
14063 [
14064     odl,
14065     oleautomation,
14066     dual,
14067     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14068 ]
14069 interface IHTMLTable : IDispatch
14070 {
14071     [propput, id(DISPID_IHTMLTABLE_COLS)]
14072     HRESULT cols([in] LONG v);
14073
14074     [propget, id(DISPID_IHTMLTABLE_COLS)]
14075     HRESULT cols([retval, out] LONG *p);
14076
14077     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14078     HRESULT border([in] VARIANT v);
14079
14080     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14081     HRESULT border([retval, out] VARIANT *p);
14082
14083     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14084     HRESULT frame([in] BSTR v);
14085
14086     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14087     HRESULT frame([retval, out] BSTR *p);
14088
14089     [propput, id(DISPID_IHTMLTABLE_RULES)]
14090     HRESULT rules([in] BSTR v);
14091
14092     [propget, id(DISPID_IHTMLTABLE_RULES)]
14093     HRESULT rules([retval, out] BSTR *p);
14094
14095     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14096     HRESULT cellSpacing([in] VARIANT v);
14097
14098     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14099     HRESULT cellSpacing([retval, out] VARIANT *p);
14100
14101     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14102     HRESULT cellPadding([in] VARIANT v);
14103
14104     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14105     HRESULT cellPadding([retval, out] VARIANT *p);
14106
14107     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14108     HRESULT background([in] BSTR v);
14109
14110     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14111     HRESULT background([retval, out] BSTR *p);
14112
14113     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14114     HRESULT bgColor([in] VARIANT v);
14115
14116     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14117     HRESULT bgColor([retval, out] VARIANT *p);
14118
14119     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14120     HRESULT borderColor([in] VARIANT v);
14121
14122     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14123     HRESULT borderColor([retval, out] VARIANT *p);
14124
14125     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14126     HRESULT borderColorLight([in] VARIANT v);
14127
14128     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14129     HRESULT borderColorLight([retval, out] VARIANT *p);
14130
14131     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14132     HRESULT borderColorDark([in] VARIANT v);
14133
14134     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14135     HRESULT borderColorDark([retval, out] VARIANT *p);
14136
14137     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14138     HRESULT align([in] BSTR v);
14139
14140     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14141     HRESULT align([retval, out] BSTR * p);
14142
14143     [id(DISPID_IHTMLTABLE_REFRESH)]
14144     HRESULT refresh();
14145
14146     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14147     HRESULT rows([retval, out] IHTMLElementCollection **p);
14148
14149     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14150     HRESULT width([in] VARIANT v);
14151
14152     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14153     HRESULT width([retval, out] VARIANT *p);
14154
14155     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14156     HRESULT height([in] VARIANT v);
14157
14158     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14159     HRESULT height([retval, out] VARIANT *p);
14160
14161     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14162     HRESULT dataPageSize([in] LONG v);
14163
14164     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14165     HRESULT dataPageSize([retval, out] LONG *p);
14166
14167     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14168     HRESULT nextPage();
14169
14170     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14171     HRESULT previousPage();
14172
14173     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14174     HRESULT tHead([retval, out] IHTMLTableSection **p);
14175
14176     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14177     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14178
14179     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14180     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14181
14182     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14183     HRESULT caption([retval, out] IHTMLTableCaption **p);
14184
14185     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14186     HRESULT createTHead([retval, out] IDispatch **head);
14187
14188     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14189     HRESULT deleteTHead();
14190
14191     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14192     HRESULT createTFoot([retval, out] IDispatch **foot);
14193
14194     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14195     HRESULT deleteTFoot();
14196
14197     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14198     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14199
14200     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14201     HRESULT deleteCaption();
14202
14203     [id(DISPID_IHTMLTABLE_INSERTROW)]
14204     HRESULT insertRow(
14205             [defaultvalue(-1), in] LONG index,
14206             [retval, out] IDispatch **row);
14207
14208     [id(DISPID_IHTMLTABLE_DELETEROW)]
14209     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14210
14211     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14212     HRESULT readyState([retval, out] BSTR *p);
14213
14214     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14215     HRESULT onreadystatechange([in] VARIANT v);
14216
14217     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14218     HRESULT onreadystatechange([retval, out] VARIANT *p);
14219 }
14220
14221 [
14222     odl,
14223     oleautomation,
14224     dual,
14225     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
14226 ]
14227 interface IHTMLTable2 : IDispatch
14228 {
14229     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14230     HRESULT firstPage();
14231
14232     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14233     HRESULT lastPage();
14234
14235     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14236     HRESULT cells([retval, out] IHTMLElementCollection* * p);
14237
14238     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14239     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
14240         [defaultvalue(-1), in] LONG indexTo,
14241         [retval, out] IDispatch** row);
14242 }
14243
14244 [
14245     odl,
14246     oleautomation,
14247     dual,
14248     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
14249 ]
14250 interface IHTMLTable3 : IDispatch
14251 {
14252     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14253     HRESULT summary([in] BSTR v);
14254
14255     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14256     HRESULT summary([retval, out] BSTR * p);
14257 }
14258
14259 [
14260     noncreatable,
14261     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
14262 ]
14263 coclass HTMLTable
14264 {
14265     [default]           dispinterface DispHTMLTable;
14266     [source, default]   dispinterface HTMLTableEvents;
14267     [source]            dispinterface HTMLTableEvents2;
14268                         interface IHTMLElement;
14269                         interface IHTMLElement2;
14270                         interface IHTMLElement3;
14271                         interface IHTMLElement4;
14272                         interface IHTMLUniqueName;
14273                         interface IHTMLDOMNode;
14274                         interface IHTMLDOMNode2;
14275                         interface IHTMLDatabinding;
14276                         interface IHTMLControlElement;
14277                         interface IHTMLTable;
14278                         interface IHTMLTable2;
14279                         interface IHTMLTable3;
14280 }
14281
14282 [
14283     odl,
14284     oleautomation,
14285     dual,
14286     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
14287 ]
14288 interface IHTMLTableSection : IDispatch
14289 {
14290     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14291     HRESULT align([in] BSTR v);
14292
14293     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14294     HRESULT align([retval, out] BSTR *p);
14295
14296     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14297     HRESULT vAlign([in] BSTR v);
14298
14299     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14300     HRESULT vAlign([retval, out] BSTR *p);
14301
14302     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14303     HRESULT bgColor([in] VARIANT v);
14304
14305     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14306     HRESULT bgColor([retval, out] VARIANT *p);
14307
14308     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
14309     HRESULT rows([retval, out] IHTMLElementCollection **p);
14310
14311     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
14312     HRESULT insertRow(
14313             [defaultvalue(-1), in] LONG index,
14314             [retval, out] IDispatch **row);
14315
14316     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
14317     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14318 }
14319
14320 /*****************************************************************************
14321  *    IHTMLTableRow interface
14322  */
14323 [
14324     odl,
14325     oleautomation,
14326     dual,
14327     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
14328 ]
14329 interface IHTMLTableRow : IDispatch
14330 {
14331     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14332     HRESULT align([in] BSTR v);
14333
14334     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14335     HRESULT align([out, retval] BSTR *p);
14336
14337     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14338     HRESULT vAlign([in] BSTR v);
14339
14340     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14341     HRESULT vAlign([out, retval] BSTR *p);
14342
14343     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14344     HRESULT bgColor([in] VARIANT v);
14345
14346     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14347     HRESULT bgColor([out, retval] VARIANT *p);
14348
14349     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14350     HRESULT borderColor([in] VARIANT v);
14351
14352     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14353     HRESULT borderColor([out, retval] VARIANT *p);
14354
14355     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14356     HRESULT borderColorLight([in] VARIANT v);
14357
14358     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14359     HRESULT borderColorLight([out, retval] VARIANT *p);
14360
14361     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14362     HRESULT borderColorDark([in] VARIANT v);
14363
14364     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14365     HRESULT borderColorDark([out, retval] VARIANT *p);
14366
14367     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14368     HRESULT rowIndex([out, retval] LONG *p);
14369
14370     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14371     HRESULT sectionRowIndex([out, retval] LONG *p);
14372
14373     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14374     HRESULT cells([out, retval] IHTMLElementCollection **p);
14375
14376     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14377     HRESULT insertCell(
14378             [in, defaultvalue(-1)] LONG index,
14379             [out, retval] IDispatch **row);
14380
14381     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14382     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
14383 }
14384
14385 /*****************************************************************************
14386  *    DispHTMLTable interface
14387  */
14388 [
14389     hidden,
14390     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
14391 ]
14392 dispinterface DispHTMLTable
14393 {
14394 properties:
14395 methods:
14396     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14397
14398     [propput, id(DISPID_IHTMLTABLE_COLS)]
14399     void cols(LONG v);
14400
14401     [propget, id(DISPID_IHTMLTABLE_COLS)]
14402     LONG cols();
14403
14404     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14405     void border(VARIANT v);
14406
14407     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14408     VARIANT border();
14409
14410     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14411     void frame(BSTR v);
14412
14413     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14414     BSTR frame();
14415
14416     [propput, id(DISPID_IHTMLTABLE_RULES)]
14417     void rules(BSTR v);
14418
14419     [propget, id(DISPID_IHTMLTABLE_RULES)]
14420     BSTR rules();
14421
14422     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14423     void cellSpacing(VARIANT v);
14424
14425     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14426     VARIANT cellSpacing();
14427
14428     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14429     void cellPadding(VARIANT v);
14430
14431     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14432     VARIANT cellPadding();
14433
14434     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14435     void background(BSTR v);
14436
14437     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14438     BSTR background();
14439
14440     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14441     void bgColor(VARIANT v);
14442
14443     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14444     VARIANT bgColor();
14445
14446     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14447     void borderColor(VARIANT v);
14448
14449     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14450     VARIANT borderColor();
14451
14452     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14453     void borderColorLight(VARIANT v);
14454
14455     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14456     VARIANT borderColorLight();
14457
14458     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14459     void borderColorDark(VARIANT v);
14460
14461     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14462     VARIANT borderColorDark();
14463
14464     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14465     void align(BSTR v);
14466
14467     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14468     BSTR align();
14469
14470     [id(DISPID_IHTMLTABLE_REFRESH)]
14471     void refresh();
14472
14473     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14474     IHTMLElementCollection *rows();
14475
14476     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14477     void width(VARIANT v);
14478
14479     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14480     VARIANT width();
14481
14482     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14483     void height(VARIANT v);
14484
14485     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14486     VARIANT height();
14487
14488     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14489     void dataPageSize(LONG v);
14490
14491     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14492     LONG dataPageSize();
14493
14494     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14495     void nextPage();
14496
14497     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14498     void previousPage();
14499
14500     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14501     IHTMLTableSection *tHead();
14502
14503     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14504     IHTMLTableSection *tFoot();
14505
14506     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14507     IHTMLElementCollection *tBodies();
14508
14509     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14510     IHTMLTableCaption *caption();
14511
14512     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14513     IDispatch *createTHead();
14514
14515     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14516     void deleteTHead();
14517
14518     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14519     IDispatch *createTFoot();
14520
14521     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14522     void deleteTFoot();
14523
14524     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14525     IHTMLTableCaption *createCaption();
14526
14527     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14528     void deleteCaption();
14529
14530     [id(DISPID_IHTMLTABLE_INSERTROW)]
14531     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
14532
14533     [id(DISPID_IHTMLTABLE_DELETEROW)]
14534     void deleteRow([in, defaultvalue(-1)] LONG index);
14535
14536     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14537     void firstPage();
14538
14539     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14540     void lastPage();
14541
14542     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14543     IHTMLElementCollection *cells();
14544
14545     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14546     IDispatch *moveRow(
14547             [in, defaultvalue(-1)] LONG indexFrom,
14548             [in, defaultvalue(-1)] LONG indexTo);
14549
14550     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14551     void summary(BSTR v);
14552
14553     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14554     BSTR summary();
14555 }
14556
14557 /*****************************************************************************
14558  *    DispHTMLTableRow dispinterface
14559  */
14560 [
14561     hidden,
14562     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
14563 ]
14564 dispinterface DispHTMLTableRow
14565 {
14566 properties:
14567 methods:
14568     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14569
14570     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14571     void align(BSTR v);
14572
14573     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14574     BSTR align();
14575
14576     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14577     void vAlign(BSTR v);
14578
14579     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14580     BSTR vAlign();
14581
14582     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14583     void bgColor(VARIANT v);
14584
14585     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14586     VARIANT bgColor();
14587
14588     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14589     void borderColor(VARIANT v);
14590
14591     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14592     VARIANT borderColor();
14593
14594     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14595     void borderColorLight(VARIANT v);
14596
14597     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14598     VARIANT borderColorLight();
14599
14600     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14601     void borderColorDark(VARIANT v);
14602
14603     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14604     VARIANT borderColorDark();
14605
14606     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14607     LONG rowIndex();
14608
14609     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14610     LONG sectionRowIndex();
14611
14612     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14613     IHTMLElementCollection *cells();
14614
14615     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14616     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
14617
14618     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14619     void deleteCell([in, defaultvalue(-1)] LONG index);
14620
14621     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14622     void height(VARIANT v);
14623
14624     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14625     VARIANT height();
14626
14627     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14628     void ch(BSTR v);
14629
14630     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14631     BSTR ch();
14632
14633     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14634     void chOff(BSTR v);
14635
14636     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14637     BSTR chOff();
14638 }
14639
14640 /*****************************************************************************
14641  *    IHTMLScriptElement interface
14642  */
14643 [
14644     odl,
14645     oleautomation,
14646     dual,
14647     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
14648 ]
14649 interface IHTMLScriptElement : IDispatch
14650 {
14651     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14652     HRESULT src([in] BSTR v);
14653
14654     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14655     HRESULT src([retval, out] BSTR *p);
14656
14657     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14658     HRESULT htmlFor([in] BSTR v);
14659
14660     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14661     HRESULT htmlFor([retval, out] BSTR *p);
14662
14663     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14664     HRESULT event([in] BSTR v);
14665
14666     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14667     HRESULT event([retval, out] BSTR *p);
14668
14669     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14670     HRESULT text([in] BSTR v);
14671
14672     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14673     HRESULT text([retval, out] BSTR *p);
14674
14675     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14676     HRESULT defer([in] VARIANT_BOOL v);
14677
14678     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14679     HRESULT defer([retval, out] VARIANT_BOOL *p);
14680
14681     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
14682     HRESULT readyState([retval, out] BSTR *p);
14683
14684     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14685     HRESULT onerror([in] VARIANT v);
14686
14687     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14688     HRESULT onerror([retval, out] VARIANT *p);
14689
14690     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14691     HRESULT type([in] BSTR v);
14692
14693     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14694     HRESULT type([retval, out] BSTR *p);
14695 }
14696
14697 /*****************************************************************************
14698  *    IHTMLScriptElement2 interface
14699  */
14700 [
14701     odl,
14702     oleautomation,
14703     dual,
14704     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
14705 ]
14706 interface IHTMLScriptElement2 : IDispatch
14707 {
14708     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14709     HRESULT charset([in] BSTR v);
14710
14711     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14712     HRESULT charset([retval, out] BSTR *p);
14713 }
14714
14715 /*****************************************************************************
14716  *    DispHTMLScriptElement dispinterface
14717  */
14718 [
14719     hidden,
14720     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
14721 ]
14722 dispinterface DispHTMLScriptElement
14723 {
14724 properties:
14725 methods:
14726     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14727
14728     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14729     void src(BSTR v);
14730
14731     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14732     BSTR src();
14733
14734     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14735     void htmlFor(BSTR v);
14736
14737     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14738     BSTR htmlFor();
14739
14740     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14741     void event(BSTR v);
14742
14743     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14744     BSTR event();
14745
14746     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14747     void text(BSTR v);
14748
14749     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14750     BSTR text();
14751
14752     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14753     void defer(VARIANT_BOOL v);
14754
14755     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14756     VARIANT_BOOL defer();
14757
14758     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14759     void onerror(VARIANT v);
14760
14761     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14762     VARIANT onerror();
14763
14764     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14765     void type(BSTR v);
14766
14767     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14768     BSTR type();
14769
14770     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14771     void charset(BSTR v);
14772
14773     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14774     BSTR charset();
14775
14776     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
14777     void ie8_src(BSTR v);
14778
14779     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
14780     BSTR ie8_src();
14781 }
14782
14783 /*****************************************************************************
14784  *    IHTMLFrameBase interface
14785  */
14786 [
14787     odl,
14788     oleautomation,
14789     dual,
14790     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
14791 ]
14792 interface IHTMLFrameBase : IDispatch
14793 {
14794     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14795     HRESULT src([in] BSTR v);
14796
14797     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14798     HRESULT src([out, retval] BSTR *p);
14799
14800     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14801     HRESULT name([in] BSTR v);
14802
14803     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14804     HRESULT name([out, retval] BSTR *p);
14805
14806     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14807     HRESULT border([in] VARIANT v);
14808
14809     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14810     HRESULT border([out, retval] VARIANT *p);
14811
14812     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14813     HRESULT frameBorder([in] BSTR v);
14814
14815     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14816     HRESULT frameBorder([out, retval] BSTR *p);
14817
14818     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14819     HRESULT frameSpacing([in] VARIANT v);
14820
14821     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14822     HRESULT frameSpacing([out, retval] VARIANT *p);
14823
14824     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14825     HRESULT marginWidth([in] VARIANT v);
14826
14827     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14828     HRESULT marginWidth([out, retval] VARIANT *p);
14829
14830     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14831     HRESULT marginHeight([in] VARIANT v);
14832
14833     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14834     HRESULT marginHeight([out, retval] VARIANT *p);
14835
14836     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14837     HRESULT noResize([in] VARIANT_BOOL v);
14838
14839     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14840     HRESULT noResize([out, retval] VARIANT_BOOL *p);
14841
14842     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14843     HRESULT scrolling([in] BSTR v);
14844
14845     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14846     HRESULT scrolling([out, retval] BSTR *p);
14847 }
14848
14849 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
14850     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
14851     void src(BSTR v);                                   \
14852                                                         \
14853     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
14854     BSTR src();                                         \
14855                                                         \
14856     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
14857     void name(BSTR v);                                  \
14858                                                         \
14859     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
14860     BSTR name();                                        \
14861                                                         \
14862     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
14863     void border(VARIANT v);                             \
14864                                                         \
14865     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
14866     VARIANT border();                                   \
14867                                                         \
14868     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
14869     void frameBorder(BSTR v);                           \
14870                                                         \
14871     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
14872     BSTR frameBorder();                                 \
14873                                                         \
14874     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
14875     void frameSpacing(VARIANT v);                       \
14876                                                         \
14877     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
14878     VARIANT frameSpacing();                             \
14879                                                         \
14880     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
14881     void marginWidth(VARIANT v);                        \
14882                                                         \
14883     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
14884     VARIANT marginWidth();                              \
14885                                                         \
14886     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
14887     void marginHeight(VARIANT v);                       \
14888                                                         \
14889     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
14890     VARIANT marginHeight();                             \
14891                                                         \
14892     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
14893     void noResize(VARIANT_BOOL v);                      \
14894                                                         \
14895     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
14896     VARIANT_BOOL noResize();                            \
14897                                                         \
14898     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
14899     void scrolling(BSTR v);                             \
14900                                                         \
14901     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
14902     BSTR scrolling()
14903
14904 /*****************************************************************************
14905  *    IHTMLFrameBase2 interface
14906  */
14907 [
14908     odl,
14909     oleautomation,
14910     dual,
14911     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
14912 ]
14913 interface IHTMLFrameBase2 : IDispatch
14914 {
14915     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14916     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
14917
14918     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14919     HRESULT onload([in] VARIANT v);
14920
14921     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14922     HRESULT onload([retval, out] VARIANT *p);
14923
14924     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14925     HRESULT onreadystatechange([in] VARIANT v);
14926
14927     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14928     HRESULT onreadystatechange([retval, out] VARIANT *p);
14929
14930     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
14931     HRESULT readyState([retval, out] BSTR *p);
14932
14933     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14934     HRESULT allowTransparency([in] VARIANT_BOOL v);
14935
14936     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14937     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
14938 }
14939
14940 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
14941     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
14942     IHTMLWindow2 *contentWindow();                                      \
14943                                                                         \
14944     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
14945     void onload(VARIANT v);                                             \
14946                                                                         \
14947     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
14948     VARIANT onload();                                                   \
14949                                                                         \
14950     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
14951     void allowTransparency(VARIANT_BOOL v);                             \
14952                                                                         \
14953     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
14954     VARIANT_BOOL allowTransparency()
14955
14956 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
14957     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
14958     void longDesc(BSTR v);                                                \
14959                                                                           \
14960     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
14961     BSTR longDesc()
14962
14963
14964 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
14965     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
14966     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
14967     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
14968     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
14969
14970 /*****************************************************************************
14971  *    IHTMLFrameElement3 interface
14972  */
14973 [
14974     odl,
14975     oleautomation,
14976     dual,
14977     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
14978 ]
14979 interface IHTMLFrameElement3 : IDispatch
14980 {
14981     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
14982     HRESULT contentDocument([out, retval] IDispatch **p);
14983
14984     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
14985     HRESULT src([in] BSTR v);
14986
14987     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
14988     HRESULT src([out, retval] BSTR *p);
14989
14990     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
14991     HRESULT longDesc([in] BSTR v);
14992
14993     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
14994     HRESULT longDesc([out, retval] BSTR *p);
14995
14996     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
14997     HRESULT frameBorder([in] BSTR v);
14998
14999     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15000     HRESULT frameBorder([out, retval] BSTR * p);
15001 }
15002
15003 /*****************************************************************************
15004  *    DispHTMLFrameElement dispinterface
15005  */
15006 [
15007     hidden,
15008     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
15009 ]
15010 dispinterface DispHTMLFrameElement
15011 {
15012 properties:
15013 methods:
15014     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15015
15016     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15017     void borderColor(VARIANT v);
15018
15019     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15020     VARIANT borderColor();
15021
15022     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15023     void height(VARIANT v);
15024
15025     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15026     VARIANT height();
15027
15028     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15029     void width(VARIANT v);
15030
15031     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15032     VARIANT width();
15033
15034     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
15035     IDispatch *contentDocument();
15036
15037     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15038     void ie8_src(BSTR v);
15039
15040     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15041     BSTR ie8_src();
15042
15043     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15044     void ie8_longDesc(BSTR v);
15045
15046     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15047     BSTR ie8_longDesc();
15048
15049     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15050     void ie8_frameBorder(BSTR v);
15051
15052     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15053     BSTR ie8_frameBorder();
15054 }
15055
15056 /*****************************************************************************
15057  *    IHTMLIFrameElement interface
15058  */
15059 [
15060     odl,
15061     oleautomation,
15062     dual,
15063     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
15064 ]
15065 interface IHTMLIFrameElement : IDispatch
15066 {
15067     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15068     HRESULT vspace([in] LONG v);
15069
15070     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15071     HRESULT vspace([retval, out] LONG *p);
15072
15073     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15074     HRESULT hspace([in] LONG v);
15075
15076     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15077     HRESULT hspace([retval, out] LONG *p);
15078
15079     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15080     HRESULT align([in] BSTR v);
15081
15082     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15083     HRESULT align([retval, out] BSTR *p);
15084 }
15085
15086 /*****************************************************************************
15087  *    DispHTMLIFrame dispinterface
15088  */
15089 [
15090     hidden,
15091     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
15092 ]
15093 dispinterface DispHTMLIFrame
15094 {
15095 properties:
15096 methods:
15097     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15098
15099     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15100     void vspace(LONG v);
15101
15102     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15103     LONG vspace();
15104
15105     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15106     void hspace(LONG v);
15107
15108     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15109     LONG hspace();
15110
15111     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15112     void align(BSTR v);
15113
15114     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15115     BSTR align();
15116
15117     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15118     void height(VARIANT v);
15119
15120     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15121     VARIANT height();
15122
15123     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15124     void width(VARIANT v);
15125
15126     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15127     VARIANT width();
15128 }
15129
15130 /*****************************************************************************
15131  *    IMarkupContainer interface
15132  */
15133 [
15134     object,
15135     pointer_default(unique),
15136     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
15137 ]
15138 interface IMarkupContainer : IUnknown
15139 {
15140     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
15141 }
15142
15143 /*****************************************************************************
15144  *    IMarkupPointer interface
15145  */
15146 [
15147     object,
15148     pointer_default(unique),
15149     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
15150 ]
15151 interface IMarkupPointer : IUnknown
15152 {
15153     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
15154
15155     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
15156
15157     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
15158
15159     HRESULT Cling([out] BOOL *pfCling);
15160
15161     HRESULT SetCling([in] BOOL fCLing);
15162
15163     HRESULT UnPosition();
15164
15165     HRESULT IsPositioned([out] BOOL *pfPositioned);
15166
15167     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
15168
15169     HRESULT MoveAdjacentToElement(
15170         [in] IHTMLElement *pElement,
15171         [in] ELEMENT_ADJACENCY eAdj);
15172
15173     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
15174
15175     HRESULT MoveToContainer(
15176         [in] IMarkupContainer *pContainer,
15177         [in] BOOL fAtStart);
15178
15179     HRESULT Left(
15180         [in] BOOL fMove,
15181         [out] MARKUP_CONTEXT_TYPE *pContext,
15182         [out] IHTMLElement **ppElement,
15183         [in, out] LONG *pcch,
15184         [out, size_is(*pcch)] OLECHAR *pchText);
15185
15186     HRESULT Right(
15187         [in] BOOL fMove,
15188         [out] MARKUP_CONTEXT_TYPE *pContext,
15189         [out] IHTMLElement **ppElement,
15190         [in, out] LONG *pcch,
15191         [out, size_is(*pcch)] OLECHAR *pchText);
15192
15193     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
15194
15195     HRESULT IsLeftOf(
15196         [in] IMarkupPointer *pPointerThat,
15197         [out] BOOL *pfResult);
15198
15199     HRESULT IsLeftOfOrEqualTo(
15200         [in] IMarkupPointer *pPointerThat,
15201         [out] BOOL *pfResult);
15202
15203     HRESULT IsRightOf(
15204         [in] IMarkupPointer *pPointerThat,
15205         [out] BOOL *pfResult);
15206
15207     HRESULT IsRightOfOrEqualTo(
15208         [in] IMarkupPointer *pPointerThat,
15209         [out] BOOL *pfResult);
15210
15211     HRESULT IsEqualTo(
15212         [in] IMarkupPointer *pPointerThat,
15213         [out] BOOL *pfAreEqual);
15214
15215     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
15216
15217     HRESULT FindText(
15218         [in] OLECHAR *pchFindText,
15219         [in] DWORD dwFlags,
15220         [in] IMarkupPointer *pIEndMatch,
15221         [in] IMarkupPointer *pIEndSearch);
15222 }
15223
15224 /*****************************************************************************
15225  *    ISegment interface
15226  */
15227 [
15228     object,
15229     pointer_default(unique),
15230     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
15231 ]
15232 interface ISegment : IUnknown
15233 {
15234     HRESULT GetPointers(
15235         [in] IMarkupPointer *pIStart,
15236         [in] IMarkupPointer *pIEnd);
15237 }
15238
15239 /*****************************************************************************
15240  *    IElementSegment interface
15241  */
15242 [
15243     object,
15244     pointer_default(unique),
15245     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
15246 ]
15247 interface IElementSegment : ISegment
15248 {
15249     HRESULT GetElement([out] IHTMLElement **ppIElement);
15250
15251     HRESULT SetPrimary([in] BOOL fPrimary);
15252
15253     HRESULT IsPrimary([out] BOOL *pfPrimary);
15254 }
15255
15256 /*****************************************************************************
15257  *    ISelectionServicesListener interface
15258  */
15259 [
15260     object,
15261     pointer_default(unique),
15262     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
15263 ]
15264 interface ISelectionServicesListener : IUnknown
15265 {
15266     HRESULT BeginSelectionUndo();
15267
15268     HRESULT EndSelectionUndo();
15269
15270     HRESULT OnSelectedElementExit(
15271         [in] IMarkupPointer *pIElementStart,
15272         [in] IMarkupPointer *pIElementEnd,
15273         [in] IMarkupPointer *pIElementContentStart,
15274         [in] IMarkupPointer *pIElementContentEnd);
15275
15276     HRESULT OnChangeType(
15277         [in] SELECTION_TYPE eType,
15278         [in] ISelectionServicesListener *pIListener);
15279
15280     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
15281 }
15282
15283 /*****************************************************************************
15284  *    ISelectionServices interface
15285  */
15286 [
15287     object,
15288     pointer_default(unique),
15289     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
15290 ]
15291 interface ISelectionServices : IUnknown
15292 {
15293     HRESULT SetSelectionType(
15294         [in] SELECTION_TYPE eType,
15295         [in] ISelectionServicesListener *pIListener);
15296
15297     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
15298
15299     HRESULT AddSegment(
15300         [in] IMarkupPointer *pIStart,
15301         [in] IMarkupPointer *pIEnd,
15302         [out] ISegment **ppISegmentAdded);
15303
15304     HRESULT AddElementSegment(
15305         [in] IHTMLElement *pIElement,
15306         [out] IElementSegment **ppISegmentAdded);
15307
15308     HRESULT RemoveSegment([in] ISegment *pISegment);
15309
15310     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
15311 }
15312
15313 /*****************************************************************************
15314  *    IHTMLEditDesigner interface
15315  */
15316 [
15317     object,
15318     pointer_default(unique),
15319     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
15320 ]
15321 interface IHTMLEditDesigner : IUnknown
15322 {
15323     HRESULT PreHandleEvent(
15324         [in] DISPID inEvtDispId,
15325         [in] IHTMLEventObj *pIEventObj);
15326
15327     HRESULT PostHandleEvent(
15328         [in] DISPID inEvtDispId,
15329         [in] IHTMLEventObj *pIEventObj);
15330
15331     HRESULT TranslateAccelerator(
15332         [in] DISPID inEvtDispId,
15333         [in] IHTMLEventObj *pIEventObj);
15334
15335     HRESULT PostEditorEventNotify(
15336         [in] DISPID inEvtDispId,
15337         [in] IHTMLEventObj *pIEventObj);
15338 }
15339
15340 /*****************************************************************************
15341  *    IHTMLEditServices interface
15342  */
15343 [
15344     object,
15345     pointer_default(unique),
15346     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
15347 ]
15348 interface IHTMLEditServices : IUnknown
15349 {
15350     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
15351
15352     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
15353
15354     HRESULT GetSelectionServices(
15355         [in] IMarkupContainer *pIContainer,
15356         [out] ISelectionServices **ppSelSvc);
15357
15358     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
15359
15360     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
15361
15362     HRESULT SelectRange(
15363         [in] IMarkupPointer* pStart,
15364         [in] IMarkupPointer* pEnd,
15365         [in] SELECTION_TYPE eType);
15366 }
15367
15368 /*****************************************************************************
15369  *    IElementBehaviorSite interface
15370  */
15371 [
15372     odl,
15373     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
15374 ]
15375 interface IElementBehaviorSite : IUnknown {
15376     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
15377     HRESULT RegisterNotification([in] long lEvent);
15378 }
15379
15380 /*****************************************************************************
15381  *    IElementBehavior interface
15382  */
15383 [
15384     odl,
15385     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
15386 ]
15387 interface IElementBehavior : IUnknown {
15388     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
15389     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
15390     HRESULT Detach();
15391 }
15392
15393 /*****************************************************************************
15394  *    IElementBehaviorFactory interface
15395  */
15396 [
15397     odl,
15398     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
15399 ]
15400 interface IElementBehaviorFactory : IUnknown
15401 {
15402     HRESULT FindBehavior(
15403         [in] BSTR bstrBehavior,
15404         [in] BSTR bstrBehaviorUrl,
15405         [in] IElementBehaviorSite *pSite,
15406         [out] IElementBehavior **ppBehavior);
15407 }
15408
15409 } /* library MSHTML */