inetcomm: Rename a typedef to prevent it from being shadowed.
[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     version(4.0),
97     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
98 ]
99 library MSHTML
100 {
101
102 importlib("stdole2.tlb");
103
104 [
105     odl,
106     oleautomation,
107     dual,
108     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
109 ]
110 interface IHTMLDOMConstructor : IDispatch
111 {
112     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
113     HRESULT constructor([retval, out] IDispatch* * p);
114
115     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
116
117     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
118
119     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
120
121     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
122 }
123
124 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
125     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
126     IDispatch *constructor()
127
128 interface IHTMLDocument2;
129 interface IHTMLElement2;
130 interface IHTMLStyleSheetsCollection;
131 interface IHTMLFrameBase;
132
133 /*****************************************************************************
134  *    IHTMLFiltersCollection interface
135  */
136 [
137     odl,
138     oleautomation,
139     dual,
140     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
141 ]
142 interface IHTMLFiltersCollection : IDispatch
143 {
144     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
145     HRESULT length([retval, out] LONG *p);
146
147     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
148     HRESULT _newEnum([retval, out] IUnknown **p);
149
150     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
151     HRESULT item(
152         [in] VARIANT *pvarIndex,
153         [retval, out] VARIANT *pvarResult);
154 }
155
156 /*****************************************************************************
157  *    IHTMLStyle interface
158  */
159 [
160     odl,
161     oleautomation,
162     dual,
163     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
164 ]
165 interface IHTMLStyle : IDispatch
166 {
167     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
168     HRESULT fontFamily([in] BSTR v);
169
170     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
171     HRESULT fontFamily([retval, out] BSTR *p);
172
173     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
174     HRESULT fontStyle([in] BSTR v);
175
176     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
177     HRESULT fontStyle([retval, out] BSTR *p);
178
179     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
180     HRESULT fontVariant([in] BSTR v);
181
182     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
183     HRESULT fontVariant([retval, out] BSTR *p);
184
185     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
186     HRESULT fontWeight([in] BSTR v);
187
188     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
189     HRESULT fontWeight([retval, out] BSTR *p);
190
191     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
192     HRESULT fontSize([in] VARIANT v);
193
194     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
195     HRESULT fontSize([retval, out] VARIANT *p);
196
197     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
198     HRESULT font([in] BSTR v);
199
200     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
201     HRESULT font([retval, out] BSTR *p);
202
203     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
204     HRESULT color([in] VARIANT v);
205
206     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
207     HRESULT color([retval, out] VARIANT *p);
208
209     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
210     HRESULT background([in] BSTR v);
211
212     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
213     HRESULT background([retval, out] BSTR *p);
214
215     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
216     HRESULT backgroundColor([in] VARIANT v);
217
218     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
219     HRESULT backgroundColor([retval, out] VARIANT *p);
220
221     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
222     HRESULT backgroundImage([in] BSTR v);
223
224     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
225     HRESULT backgroundImage([retval, out] BSTR *p);
226
227     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
228     HRESULT backgroundRepeat([in] BSTR v);
229
230     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
231     HRESULT backgroundRepeat([retval, out] BSTR *p);
232
233     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
234     HRESULT backgroundAttachment([in] BSTR v);
235
236     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
237     HRESULT backgroundAttachment([retval, out] BSTR *p);
238
239     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
240     HRESULT backgroundPosition([in] BSTR v);
241
242     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
243     HRESULT backgroundPosition([retval, out] BSTR *p);
244
245     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
246     HRESULT backgroundPositionX([in] VARIANT v);
247
248     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
249     HRESULT backgroundPositionX([retval, out] VARIANT *p);
250
251     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
252     HRESULT backgroundPositionY([in] VARIANT v);
253
254     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
255     HRESULT backgroundPositionY([retval, out] VARIANT *p);
256
257     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
258     HRESULT wordSpacing([in] VARIANT v);
259
260     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
261     HRESULT wordSpacing([retval, out] VARIANT *p);
262
263     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
264     HRESULT letterSpacing([in] VARIANT v);
265
266     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
267     HRESULT letterSpacing([retval, out] VARIANT *p);
268
269     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
270     HRESULT textDecoration([in] BSTR v);
271
272     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
273     HRESULT textDecoration([retval, out] BSTR *p);
274
275     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
276     HRESULT textDecorationNone([in] VARIANT_BOOL v);
277
278     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
279     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
280
281     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
282     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
283
284     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
285     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
286
287     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
288     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
289
290     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
291     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
292
293     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
294     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
295
296     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
297     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
298
299     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
300     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
301
302     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
303     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
304
305     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
306     HRESULT verticalAlign([in] VARIANT v);
307
308     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
309     HRESULT verticalAlign([retval, out] VARIANT *p);
310
311     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
312     HRESULT textTransform([in] BSTR v);
313
314     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
315     HRESULT textTransform([retval, out] BSTR *p);
316
317     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
318     HRESULT textAlign([in] BSTR v);
319
320     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
321     HRESULT textAlign([retval, out] BSTR *p);
322
323     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
324     HRESULT textIndent([in] VARIANT v);
325
326     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
327     HRESULT textIndent([retval, out] VARIANT *p);
328
329     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
330     HRESULT lineHeight([in] VARIANT v);
331
332     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
333     HRESULT lineHeight([retval, out] VARIANT *p);
334
335     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
336     HRESULT marginTop([in] VARIANT v);
337
338     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
339     HRESULT marginTop([retval, out] VARIANT *p);
340
341     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
342     HRESULT marginRight([in] VARIANT v);
343
344     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
345     HRESULT marginRight([retval, out] VARIANT *p);
346
347     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
348     HRESULT marginBottom([in] VARIANT v);
349
350     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
351     HRESULT marginBottom([retval, out] VARIANT *p);
352
353     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
354     HRESULT marginLeft([in] VARIANT v);
355
356     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
357     HRESULT marginLeft([retval, out] VARIANT *p);
358
359     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
360     HRESULT margin([in] BSTR v);
361
362     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
363     HRESULT margin([retval, out] BSTR *p);
364
365     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
366     HRESULT paddingTop([in] VARIANT v);
367
368     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
369     HRESULT paddingTop([retval, out] VARIANT *p);
370
371     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
372     HRESULT paddingRight([in] VARIANT v);
373
374     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
375     HRESULT paddingRight([retval, out] VARIANT *p);
376
377     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
378     HRESULT paddingBottom([in] VARIANT v);
379
380     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
381     HRESULT paddingBottom([retval, out] VARIANT *p);
382
383     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
384     HRESULT paddingLeft([in] VARIANT v);
385
386     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
387     HRESULT paddingLeft([retval, out] VARIANT *p);
388
389     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
390     HRESULT padding([in] BSTR v);
391
392     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
393     HRESULT padding([retval, out] BSTR *p);
394
395     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
396     HRESULT border([in] BSTR v);
397
398     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
399     HRESULT border([retval, out] BSTR *p);
400
401     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
402     HRESULT borderTop([in] BSTR v);
403
404     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
405     HRESULT borderTop([retval, out] BSTR *p);
406
407     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
408     HRESULT borderRight([in] BSTR v);
409
410     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
411     HRESULT borderRight([retval, out] BSTR *p);
412
413     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
414     HRESULT borderBottom([in] BSTR v);
415
416     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
417     HRESULT borderBottom([retval, out] BSTR *p);
418
419     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
420     HRESULT borderLeft([in] BSTR v);
421
422     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
423     HRESULT borderLeft([retval, out] BSTR *p);
424
425     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
426     HRESULT borderColor([in] BSTR v);
427
428     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
429     HRESULT borderColor([retval, out] BSTR *p);
430
431     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
432     HRESULT borderTopColor([in] VARIANT v);
433
434     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
435     HRESULT borderTopColor([retval, out] VARIANT *p);
436
437     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
438     HRESULT borderRightColor([in] VARIANT v);
439
440     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
441     HRESULT borderRightColor([retval, out] VARIANT *p);
442
443     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
444     HRESULT borderBottomColor([in] VARIANT v);
445
446     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
447     HRESULT borderBottomColor([retval, out] VARIANT *p);
448
449     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
450     HRESULT borderLeftColor([in] VARIANT v);
451
452     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
453     HRESULT borderLeftColor([retval, out] VARIANT *p);
454
455     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
456     HRESULT borderWidth([in] BSTR v);
457
458     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
459     HRESULT borderWidth([retval, out] BSTR *p);
460
461     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
462     HRESULT borderTopWidth([in] VARIANT v);
463
464     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
465     HRESULT borderTopWidth([retval, out] VARIANT *p);
466
467     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
468     HRESULT borderRightWidth([in] VARIANT v);
469
470     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
471     HRESULT borderRightWidth([retval, out] VARIANT *p);
472
473     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
474     HRESULT borderBottomWidth([in] VARIANT v);
475
476     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
477     HRESULT borderBottomWidth([retval, out] VARIANT *p);
478
479     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
480     HRESULT borderLeftWidth([in] VARIANT v);
481
482     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
483     HRESULT borderLeftWidth([retval, out] VARIANT *p);
484
485     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
486     HRESULT borderStyle([in] BSTR v);
487
488     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
489     HRESULT borderStyle([retval, out] BSTR *p);
490
491     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
492     HRESULT borderTopStyle([in] BSTR v);
493
494     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
495     HRESULT borderTopStyle([retval, out] BSTR *p);
496
497     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
498     HRESULT borderRightStyle([in] BSTR v);
499
500     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
501     HRESULT borderRightStyle([retval, out] BSTR *p);
502
503     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
504     HRESULT borderBottomStyle([in] BSTR v);
505
506     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
507     HRESULT borderBottomStyle([retval, out] BSTR *p);
508
509     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
510     HRESULT borderLeftStyle([in] BSTR v);
511
512     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
513     HRESULT borderLeftStyle([retval, out] BSTR *p);
514
515     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
516     HRESULT width([in] VARIANT v);
517
518     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
519     HRESULT width([retval, out] VARIANT *p);
520
521     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
522     HRESULT height([in] VARIANT v);
523
524     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
525     HRESULT height([retval, out] VARIANT *p);
526
527     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
528     HRESULT styleFloat([in] BSTR v);
529
530     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
531     HRESULT styleFloat([retval, out] BSTR *p);
532
533     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
534     HRESULT clear([in] BSTR v);
535
536     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
537     HRESULT clear([retval, out] BSTR *p);
538
539     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
540     HRESULT display([in] BSTR v);
541
542     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
543     HRESULT display([retval, out] BSTR *p);
544
545     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
546     HRESULT visibility([in] BSTR v);
547
548     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
549     HRESULT visibility([retval, out] BSTR *p);
550
551     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
552     HRESULT listStyleType([in] BSTR v);
553
554     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
555     HRESULT listStyleType([retval, out] BSTR *p);
556
557     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
558     HRESULT listStylePosition([in] BSTR v);
559
560     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
561     HRESULT listStylePosition([retval, out] BSTR *p);
562
563     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
564     HRESULT listStyleImage([in] BSTR v);
565
566     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
567     HRESULT listStyleImage([retval, out] BSTR *p);
568
569     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
570     HRESULT listStyle([in] BSTR v);
571
572     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
573     HRESULT listStyle([retval, out] BSTR *p);
574
575     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
576     HRESULT whiteSpace([in] BSTR v);
577
578     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
579     HRESULT whiteSpace([retval, out] BSTR *p);
580
581     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
582     HRESULT top([in] VARIANT v);
583
584     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
585     HRESULT top([retval, out] VARIANT *p);
586
587     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
588     HRESULT left([in] VARIANT v);
589
590     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
591     HRESULT left([retval, out] VARIANT *p);
592
593     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
594     HRESULT position([retval, out] BSTR *p);
595
596     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
597     HRESULT zIndex([in] VARIANT v);
598
599     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
600     HRESULT zIndex([retval, out] VARIANT *p);
601
602     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
603     HRESULT overflow([in] BSTR v);
604
605     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
606     HRESULT overflow([retval, out] BSTR *p);
607
608     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
609     HRESULT pageBreakBefore([in] BSTR v);
610
611     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
612     HRESULT pageBreakBefore([retval, out] BSTR *p);
613
614     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
615     HRESULT pageBreakAfter([in] BSTR v);
616
617     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
618     HRESULT pageBreakAfter([retval, out] BSTR *p);
619
620     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
621     HRESULT cssText([in] BSTR v);
622
623     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
624     HRESULT cssText([retval, out] BSTR *p);
625
626     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
627     HRESULT pixelTop([in] LONG v);
628
629     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
630     HRESULT pixelTop([retval, out] LONG *p);
631
632     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
633     HRESULT pixelLeft([in] LONG v);
634
635     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
636     HRESULT pixelLeft([retval, out] LONG *p);
637
638     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
639     HRESULT pixelWidth([in] LONG v);
640
641     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
642     HRESULT pixelWidth([retval, out] LONG *p);
643
644     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
645     HRESULT pixelHeight([in] LONG v);
646
647     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
648     HRESULT pixelHeight([retval, out] LONG *p);
649
650     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
651     HRESULT posTop([in] float v);
652
653     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
654     HRESULT posTop([retval, out] float *p);
655
656     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
657     HRESULT posLeft([in] float v);
658
659     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
660     HRESULT posLeft([retval, out] float *p);
661
662     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
663     HRESULT posWidth([in] float v);
664
665     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
666     HRESULT posWidth([retval, out] float *p);
667
668     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
669     HRESULT posHeight([in] float v);
670
671     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
672     HRESULT posHeight([retval, out] float *p);
673
674     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
675     HRESULT cursor([in] BSTR v);
676
677     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
678     HRESULT cursor([retval, out] BSTR *p);
679
680     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
681     HRESULT clip([in] BSTR v);
682
683     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
684     HRESULT clip([retval, out] BSTR *p);
685
686     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
687     HRESULT filter([in] BSTR v);
688
689     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
690     HRESULT filter([retval, out] BSTR *p);
691
692     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
693     HRESULT setAttribute(
694         [in] BSTR strAttributeName,
695         [in] VARIANT AttributeValue,
696         [defaultvalue(1), in] LONG lFlags);
697
698     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
699     HRESULT getAttribute(
700         [in] BSTR strAttributeName,
701         [defaultvalue(0), in] LONG lFlags,
702         [retval, out] VARIANT *AttributeValue);
703
704     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
705     HRESULT removeAttribute(
706         [in] BSTR strAttributeName,
707         [defaultvalue(1), in]
708         LONG lFlags,
709         [retval, out] VARIANT_BOOL *pfSuccess);
710
711     [id(DISPID_IHTMLSTYLE_TOSTRING)]
712     HRESULT toString([retval, out] BSTR *String);
713 }
714
715 /*****************************************************************************
716  *    IHTMLStyle2 interface
717  */
718 [
719     odl,
720     oleautomation,
721     dual,
722     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
723 ]
724 interface IHTMLStyle2 : IDispatch
725 {
726     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
727     HRESULT tableLayout([in] BSTR v);
728
729     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
730     HRESULT tableLayout([out, retval] BSTR *p);
731
732     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
733     HRESULT borderCollapse([in] BSTR v);
734
735     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
736     HRESULT borderCollapse([out, retval] BSTR *p);
737
738     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
739     HRESULT direction([in] BSTR v);
740
741     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
742     HRESULT direction([out, retval] BSTR *p);
743
744     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
745     HRESULT behavior([in] BSTR v);
746
747     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
748     HRESULT behavior([out, retval] BSTR *p);
749
750     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
751     HRESULT setExpression(
752             [in] BSTR propname,
753             [in] BSTR expression,
754             [in, defaultvalue("")] BSTR language);
755
756     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
757     HRESULT getExpression(
758             [in] BSTR propname,
759             [out, retval] VARIANT *expression);
760
761     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
762     HRESULT removeExpression(
763             [in] BSTR propname,
764             [out, retval] VARIANT_BOOL *pfSuccess);
765
766     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
767     HRESULT position([in] BSTR v);
768
769     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
770     HRESULT position([out, retval] BSTR *p);
771
772     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
773     HRESULT unicodeBidi([in] BSTR v);
774
775     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
776     HRESULT unicodeBidi([out, retval] BSTR *p);
777
778     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
779     HRESULT bottom([in] VARIANT v);
780
781     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
782     HRESULT bottom([out, retval] VARIANT *p);
783
784     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
785     HRESULT right([in] VARIANT v);
786
787     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
788     HRESULT right([out, retval] VARIANT *p);
789
790     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
791     HRESULT pixelBottom([in] LONG v);
792
793     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
794     HRESULT pixelBottom([out, retval] LONG *p);
795
796     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
797     HRESULT pixelRight([in] LONG v);
798
799     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
800     HRESULT pixelRight([out, retval] LONG *p);
801
802     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
803     HRESULT posBottom([in] float v);
804
805     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
806     HRESULT posBottom([out, retval] float *p);
807
808     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
809     HRESULT posRight([in] float v);
810
811     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
812     HRESULT posRight([out, retval] float *p);
813
814     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
815     HRESULT imeMode([in] BSTR v);
816
817     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
818     HRESULT imeMode([out, retval] BSTR *p);
819
820     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
821     HRESULT rubyAlign([in] BSTR v);
822
823     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
824     HRESULT rubyAlign([out, retval] BSTR *p);
825
826     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
827     HRESULT rubyPosition([in] BSTR v);
828
829     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
830     HRESULT rubyPosition([out, retval] BSTR *p);
831
832     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
833     HRESULT rubyOverhang([in] BSTR v);
834
835     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
836     HRESULT rubyOverhang([out, retval] BSTR *p);
837
838     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
839     HRESULT layoutGridChar([in] VARIANT v);
840
841     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
842     HRESULT layoutGridChar([out, retval] VARIANT *p);
843
844     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
845     HRESULT layoutGridLine([in] VARIANT v);
846
847     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
848     HRESULT layoutGridLine([out, retval] VARIANT *p);
849
850     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
851     HRESULT layoutGridMode([in] BSTR v);
852
853     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
854     HRESULT layoutGridMode([out, retval] BSTR *p);
855
856     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
857     HRESULT layoutGridType([in] BSTR v);
858
859     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
860     HRESULT layoutGridType([out, retval] BSTR *p);
861
862     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
863     HRESULT layoutGrid([in] BSTR v);
864
865     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
866     HRESULT layoutGrid([out, retval] BSTR *p);
867
868     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
869     HRESULT wordBreak([in] BSTR v);
870
871     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
872     HRESULT wordBreak([out, retval] BSTR *p);
873
874     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
875     HRESULT lineBreak([in] BSTR v);
876
877     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
878     HRESULT lineBreak([out, retval] BSTR *p);
879
880     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
881     HRESULT textJustify([in] BSTR v);
882
883     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
884     HRESULT textJustify([out, retval] BSTR *p);
885
886     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
887     HRESULT textJustifyTrim([in] BSTR v);
888
889     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
890     HRESULT textJustifyTrim([out, retval] BSTR *p);
891
892     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
893     HRESULT textKashida([in] VARIANT v);
894
895     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
896     HRESULT textKashida([out, retval] VARIANT *p);
897
898     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
899     HRESULT textAutospace([in] BSTR v);
900
901     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
902     HRESULT textAutospace([out, retval] BSTR *p);
903
904     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
905     HRESULT overflowX([in] BSTR v);
906
907     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
908     HRESULT overflowX([out, retval] BSTR *p);
909
910     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
911     HRESULT overflowY([in] BSTR v);
912
913     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
914     HRESULT overflowY([out, retval] BSTR *p);
915
916     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
917     HRESULT accelerator([in] BSTR v);
918
919     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
920     HRESULT accelerator([out, retval] BSTR *p);
921 }
922
923 /*****************************************************************************
924  *    IHTMLRuleStyle interface
925  */
926 [
927     odl,
928     oleautomation,
929     dual,
930     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
931 ]
932 interface IHTMLRuleStyle : IDispatch
933 {
934     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
935     HRESULT fontFamily([in] BSTR v);
936
937     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
938     HRESULT fontFamily([retval, out] BSTR *p);
939
940     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
941     HRESULT fontStyle([in] BSTR v);
942
943     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
944     HRESULT fontStyle([retval, out] BSTR *p);
945
946     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
947     HRESULT fontVariant([in] BSTR v);
948
949     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
950     HRESULT fontVariant([retval, out] BSTR *p);
951
952     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
953     HRESULT fontWeight([in] BSTR v);
954
955     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
956     HRESULT fontWeight([retval, out] BSTR *p);
957
958     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
959     HRESULT fontSize([in] VARIANT v);
960
961     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
962     HRESULT fontSize([retval, out] VARIANT *p);
963
964     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
965     HRESULT font([in] BSTR v);
966
967     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
968     HRESULT font([retval, out] BSTR *p);
969
970     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
971     HRESULT color([in] VARIANT v);
972
973     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
974     HRESULT color([retval, out] VARIANT *p);
975
976     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
977     HRESULT background([in] BSTR v);
978
979     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
980     HRESULT background([retval, out] BSTR *p);
981
982     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
983     HRESULT backgroundColor([in] VARIANT v);
984
985     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
986     HRESULT backgroundColor([retval, out] VARIANT *p);
987
988     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
989     HRESULT backgroundImage([in] BSTR v);
990
991     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
992     HRESULT backgroundImage([retval, out] BSTR *p);
993
994     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
995     HRESULT backgroundRepeat([in] BSTR v);
996
997     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
998     HRESULT backgroundRepeat([retval, out] BSTR *p);
999
1000     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1001     HRESULT backgroundAttachment([in] BSTR v);
1002
1003     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1004     HRESULT backgroundAttachment([retval, out] BSTR *p);
1005
1006     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1007     HRESULT backgroundPosition([in] BSTR v);
1008
1009     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1010     HRESULT backgroundPosition([retval, out] BSTR *p);
1011
1012     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1013     HRESULT backgroundPositionX([in] VARIANT v);
1014
1015     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1016     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1017
1018     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1019     HRESULT backgroundPositionY([in] VARIANT v);
1020
1021     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1022     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1023
1024     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1025     HRESULT wordSpacing([in] VARIANT v);
1026
1027     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1028     HRESULT wordSpacing([retval, out] VARIANT *p);
1029
1030     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1031     HRESULT letterSpacing([in] VARIANT v);
1032
1033     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1034     HRESULT letterSpacing([retval, out] VARIANT *p);
1035
1036     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1037     HRESULT textDecoration([in] BSTR v);
1038
1039     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1040     HRESULT textDecoration([retval, out] BSTR *p);
1041
1042     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1043     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1044
1045     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1046     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1047
1048     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1049     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1050
1051     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1052     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1053
1054     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1055     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1056
1057     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1058     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1059
1060     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1061     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1062
1063     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1064     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1065
1066     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1067     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1068
1069     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1070     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1071
1072     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1073     HRESULT verticalAlign([in] VARIANT v);
1074
1075     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1076     HRESULT verticalAlign([retval, out] VARIANT *p);
1077
1078     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1079     HRESULT textTransform([in] BSTR v);
1080
1081     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1082     HRESULT textTransform([retval, out] BSTR *p);
1083
1084     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1085     HRESULT textAlign([in] BSTR v);
1086
1087     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1088     HRESULT textAlign([retval, out] BSTR *p);
1089
1090     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1091     HRESULT textIndent([in] VARIANT v);
1092
1093     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1094     HRESULT textIndent([retval, out] VARIANT *p);
1095
1096     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1097     HRESULT lineHeight([in] VARIANT v);
1098
1099     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1100     HRESULT lineHeight([retval, out] VARIANT *p);
1101
1102     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1103     HRESULT marginTop([in] VARIANT v);
1104
1105     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1106     HRESULT marginTop([retval, out] VARIANT *p);
1107
1108     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1109     HRESULT marginRight([in] VARIANT v);
1110
1111     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1112     HRESULT marginRight([retval, out] VARIANT *p);
1113
1114     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1115     HRESULT marginBottom([in] VARIANT v);
1116
1117     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1118     HRESULT marginBottom([retval, out] VARIANT *p);
1119
1120     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1121     HRESULT marginLeft([in] VARIANT v);
1122
1123     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1124     HRESULT marginLeft([retval, out] VARIANT *p);
1125
1126     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1127     HRESULT margin([in] BSTR v);
1128
1129     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1130     HRESULT margin([retval, out] BSTR *p);
1131
1132     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1133     HRESULT paddingTop([in] VARIANT v);
1134
1135     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1136     HRESULT paddingTop([retval, out] VARIANT *p);
1137
1138     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1139     HRESULT paddingRight([in] VARIANT v);
1140
1141     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1142     HRESULT paddingRight([retval, out] VARIANT *p);
1143
1144     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1145     HRESULT paddingBottom([in] VARIANT v);
1146
1147     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1148     HRESULT paddingBottom([retval, out] VARIANT *p);
1149
1150     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1151     HRESULT paddingLeft([in] VARIANT v);
1152
1153     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1154     HRESULT paddingLeft([retval, out] VARIANT *p);
1155
1156     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1157     HRESULT padding([in] BSTR v);
1158
1159     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1160     HRESULT padding([retval, out] BSTR *p);
1161
1162     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1163     HRESULT border([in] BSTR v);
1164
1165     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1166     HRESULT border([retval, out] BSTR *p);
1167
1168     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1169     HRESULT borderTop([in] BSTR v);
1170
1171     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1172     HRESULT borderTop([retval, out] BSTR *p);
1173
1174     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1175     HRESULT borderRight([in] BSTR v);
1176
1177     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1178     HRESULT borderRight([retval, out] BSTR *p);
1179
1180     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1181     HRESULT borderBottom([in] BSTR v);
1182
1183     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1184     HRESULT borderBottom([retval, out] BSTR *p);
1185
1186     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1187     HRESULT borderLeft([in] BSTR v);
1188
1189     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1190     HRESULT borderLeft([retval, out] BSTR *p);
1191
1192     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1193     HRESULT borderColor([in] BSTR v);
1194
1195     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1196     HRESULT borderColor([retval, out] BSTR *p);
1197
1198     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1199     HRESULT borderTopColor([in] VARIANT v);
1200
1201     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1202     HRESULT borderTopColor([retval, out] VARIANT *p);
1203
1204     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1205     HRESULT borderRightColor([in] VARIANT v);
1206
1207     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1208     HRESULT borderRightColor([retval, out] VARIANT *p);
1209
1210     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1211     HRESULT borderBottomColor([in] VARIANT v);
1212
1213     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1214     HRESULT borderBottomColor([retval, out] VARIANT *p);
1215
1216     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1217     HRESULT borderLeftColor([in] VARIANT v);
1218
1219     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1220     HRESULT borderLeftColor([retval, out] VARIANT *p);
1221
1222     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1223     HRESULT borderWidth([in] BSTR v);
1224
1225     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1226     HRESULT borderWidth([retval, out] BSTR *p);
1227
1228     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1229     HRESULT borderTopWidth([in] VARIANT v);
1230
1231     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1232     HRESULT borderTopWidth([retval, out] VARIANT *p);
1233
1234     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1235     HRESULT borderRightWidth([in] VARIANT v);
1236
1237     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1238     HRESULT borderRightWidth([retval, out] VARIANT *p);
1239
1240     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1241     HRESULT borderBottomWidth([in] VARIANT v);
1242
1243     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1244     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1245
1246     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1247     HRESULT borderLeftWidth([in] VARIANT v);
1248
1249     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1250     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1251
1252     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1253     HRESULT borderStyle([in] BSTR v);
1254
1255     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1256     HRESULT borderStyle([retval, out] BSTR *p);
1257
1258     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1259     HRESULT borderTopStyle([in] BSTR v);
1260
1261     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1262     HRESULT borderTopStyle([retval, out] BSTR *p);
1263
1264     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1265     HRESULT borderRightStyle([in] BSTR v);
1266
1267     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1268     HRESULT borderRightStyle([retval, out] BSTR *p);
1269
1270     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1271     HRESULT borderBottomStyle([in] BSTR v);
1272
1273     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1274     HRESULT borderBottomStyle([retval, out] BSTR *p);
1275
1276     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1277     HRESULT borderLeftStyle([in] BSTR v);
1278
1279     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1280     HRESULT borderLeftStyle([retval, out] BSTR *p);
1281
1282     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1283     HRESULT width([in] VARIANT v);
1284
1285     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1286     HRESULT width([retval, out] VARIANT *p);
1287
1288     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1289     HRESULT height([in] VARIANT v);
1290
1291     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1292     HRESULT height([retval, out] VARIANT *p);
1293
1294     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1295     HRESULT styleFloat([in] BSTR v);
1296
1297     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1298     HRESULT styleFloat([retval, out] BSTR *p);
1299
1300     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1301     HRESULT clear([in] BSTR v);
1302
1303     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1304     HRESULT clear([retval, out] BSTR *p);
1305
1306     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1307     HRESULT display([in] BSTR v);
1308
1309     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1310     HRESULT display([retval, out] BSTR *p);
1311
1312     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1313     HRESULT visibility([in] BSTR v);
1314
1315     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1316     HRESULT visibility([retval, out] BSTR *p);
1317
1318     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1319     HRESULT listStyleType([in] BSTR v);
1320
1321     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1322     HRESULT listStyleType([retval, out] BSTR *p);
1323
1324     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1325     HRESULT listStylePosition([in] BSTR v);
1326
1327     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1328     HRESULT listStylePosition([retval, out] BSTR *p);
1329
1330     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1331     HRESULT listStyleImage([in] BSTR v);
1332
1333     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1334     HRESULT listStyleImage([retval, out] BSTR *p);
1335
1336     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1337     HRESULT listStyle([in] BSTR v);
1338
1339     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1340     HRESULT listStyle([retval, out] BSTR *p);
1341
1342     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1343     HRESULT whiteSpace([in] BSTR v);
1344
1345     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1346     HRESULT whiteSpace([retval, out] BSTR *p);
1347
1348     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1349     HRESULT top([in] VARIANT v);
1350
1351     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1352     HRESULT top([retval, out] VARIANT *p);
1353
1354     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1355     HRESULT left([in] VARIANT v);
1356
1357     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1358     HRESULT left([retval, out] VARIANT *p);
1359
1360     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1361     HRESULT position([retval, out] BSTR *p);
1362
1363     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1364     HRESULT zIndex([in] VARIANT v);
1365
1366     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1367     HRESULT zIndex([retval, out] VARIANT *p);
1368
1369     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1370     HRESULT overflow([in] BSTR v);
1371
1372     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1373     HRESULT overflow([retval, out] BSTR *p);
1374
1375     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1376     HRESULT pageBreakBefore([in] BSTR v);
1377
1378     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1379     HRESULT pageBreakBefore([retval, out] BSTR *p);
1380
1381     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1382     HRESULT pageBreakAfter([in] BSTR v);
1383
1384     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1385     HRESULT pageBreakAfter([retval, out] BSTR *p);
1386
1387     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1388     HRESULT cssText([in] BSTR v);
1389
1390     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1391     HRESULT cssText([retval, out] BSTR *p);
1392
1393     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1394     HRESULT cursor([in] BSTR v);
1395
1396     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1397     HRESULT cursor([retval, out] BSTR *p);
1398
1399     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1400     HRESULT clip([in] BSTR v);
1401
1402     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1403     HRESULT clip([retval, out] BSTR *p);
1404
1405     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1406     HRESULT filter([in] BSTR v);
1407
1408     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1409     HRESULT filter([retval, out] BSTR *p);
1410
1411     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1412     HRESULT setAttribute(
1413         [in] BSTR strAttributeName,
1414         [in] VARIANT AttributeValue,
1415         [defaultvalue(1), in] LONG lFlags);
1416
1417     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1418     HRESULT getAttribute(
1419         [in] BSTR strAttributeName,
1420         [defaultvalue(0), in] LONG lFlags,
1421         [retval, out] VARIANT *AttributeValue);
1422
1423     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1424     HRESULT removeAttribute(
1425         [in] BSTR strAttributeName,
1426         [defaultvalue(1), in] LONG lFlags,
1427         [retval, out] VARIANT_BOOL *pfSuccess);
1428 }
1429
1430 /*****************************************************************************
1431  *    DispHTMLStyle dispinterface
1432  */
1433 [
1434     hidden,
1435     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1436 ]
1437 dispinterface DispHTMLStyle
1438 {
1439 properties:
1440 methods:
1441     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1442     void fontFamily(BSTR v);
1443
1444     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1445     BSTR fontFamily();
1446
1447     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1448     void fontStyle(BSTR v);
1449
1450     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1451     BSTR fontStyle();
1452
1453     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1454     void fontVariant(BSTR v);
1455
1456     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1457     BSTR fontVariant();
1458
1459     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1460     void fontWeight(BSTR v);
1461
1462     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1463     BSTR fontWeight();
1464
1465     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1466     void fontSize(VARIANT v);
1467
1468     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1469     VARIANT fontSize();
1470
1471     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1472     void font(BSTR v);
1473
1474     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1475     BSTR font();
1476
1477     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1478     void color(VARIANT v);
1479
1480     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1481     VARIANT color();
1482
1483     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1484     void background(BSTR v);
1485
1486     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1487     BSTR background();
1488
1489     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1490     void backgroundColor(VARIANT v);
1491
1492     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1493     VARIANT backgroundColor();
1494
1495     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1496     void backgroundImage(BSTR v);
1497
1498     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1499     BSTR backgroundImage();
1500
1501     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1502     void backgroundRepeat(BSTR v);
1503
1504     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1505     BSTR backgroundRepeat();
1506
1507     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1508     void backgroundAttachment(BSTR v);
1509
1510     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1511     BSTR backgroundAttachment();
1512
1513     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1514     void backgroundPosition(BSTR v);
1515
1516     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1517     BSTR backgroundPosition();
1518
1519     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1520     void backgroundPositionX(VARIANT v);
1521
1522     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1523     VARIANT backgroundPositionX();
1524
1525     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1526     void backgroundPositionY(VARIANT v);
1527
1528     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1529     VARIANT backgroundPositionY();
1530
1531     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1532     void wordSpacing(VARIANT v);
1533
1534     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1535     VARIANT wordSpacing();
1536
1537     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1538     void letterSpacing(VARIANT v);
1539
1540     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1541     VARIANT letterSpacing();
1542
1543     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1544     void textDecoration(BSTR v);
1545
1546     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1547     BSTR textDecoration();
1548
1549     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1550     void textDecorationNone(VARIANT_BOOL v);
1551
1552     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1553     VARIANT_BOOL textDecorationNone();
1554
1555     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1556     void textDecorationUnderline(VARIANT_BOOL v);
1557
1558     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1559     VARIANT_BOOL textDecorationUnderline();
1560
1561     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1562     void textDecorationOverline(VARIANT_BOOL v);
1563
1564     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1565     VARIANT_BOOL textDecorationOverline();
1566
1567     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1568     void textDecorationLineThrough(VARIANT_BOOL v);
1569
1570     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1571     VARIANT_BOOL textDecorationLineThrough();
1572
1573     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1574     void textDecorationBlink(VARIANT_BOOL v);
1575
1576     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1577     VARIANT_BOOL textDecorationBlink();
1578
1579     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1580     void verticalAlign(VARIANT v);
1581
1582     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1583     VARIANT verticalAlign();
1584
1585     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1586     void textTransform(BSTR v);
1587
1588     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1589     BSTR textTransform();
1590
1591     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1592     void textAlign(BSTR v);
1593
1594     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1595     BSTR textAlign();
1596
1597     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1598     void textIndent(VARIANT v);
1599
1600     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1601     VARIANT textIndent();
1602
1603     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1604     void lineHeight(VARIANT v);
1605
1606     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1607     VARIANT lineHeight();
1608
1609     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1610     void marginTop(VARIANT v);
1611
1612     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1613     VARIANT marginTop();
1614
1615     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1616     void marginRight(VARIANT v);
1617
1618     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1619     VARIANT marginRight();
1620
1621     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1622     void marginBottom(VARIANT v);
1623
1624     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1625     VARIANT marginBottom();
1626
1627     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1628     void marginLeft(VARIANT v);
1629
1630     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1631     VARIANT marginLeft();
1632
1633     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1634     void margin(BSTR v);
1635
1636     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1637     BSTR margin();
1638
1639     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1640     void paddingTop(VARIANT v);
1641
1642     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1643     VARIANT paddingTop();
1644
1645     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1646     void paddingRight(VARIANT v);
1647
1648     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1649     VARIANT paddingRight();
1650
1651     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1652     void paddingBottom(VARIANT v);
1653
1654     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1655     VARIANT paddingBottom();
1656
1657     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1658     void paddingLeft(VARIANT v);
1659
1660     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1661     VARIANT paddingLeft();
1662
1663     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1664     void padding(BSTR v);
1665
1666     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1667     BSTR padding();
1668
1669     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1670     void border(BSTR v);
1671
1672     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1673     BSTR border();
1674
1675     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1676     void borderTop(BSTR v);
1677
1678     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1679     BSTR borderTop();
1680
1681     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1682     void borderRight(BSTR v);
1683
1684     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1685     BSTR borderRight();
1686
1687     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1688     void borderBottom(BSTR v);
1689
1690     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1691     BSTR borderBottom();
1692
1693     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1694     void borderLeft(BSTR v);
1695
1696     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1697     BSTR borderLeft();
1698
1699     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1700     void borderColor(BSTR v);
1701
1702     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1703     BSTR borderColor();
1704
1705     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1706     void borderTopColor(VARIANT v);
1707
1708     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1709     VARIANT borderTopColor();
1710
1711     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1712     void borderRightColor(VARIANT v);
1713
1714     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1715     VARIANT borderRightColor();
1716
1717     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1718     void borderBottomColor(VARIANT v);
1719
1720     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1721     VARIANT borderBottomColor();
1722
1723     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1724     void borderLeftColor(VARIANT v);
1725
1726     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1727     VARIANT borderLeftColor();
1728
1729     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1730     void borderWidth(BSTR v);
1731
1732     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1733     BSTR borderWidth();
1734
1735     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1736     void borderTopWidth(VARIANT v);
1737
1738     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1739     VARIANT borderTopWidth();
1740
1741     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1742     void borderRightWidth(VARIANT v);
1743
1744     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1745     VARIANT borderRightWidth();
1746
1747     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1748     void borderBottomWidth(VARIANT v);
1749
1750     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1751     VARIANT borderBottomWidth();
1752
1753     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1754     void borderLeftWidth(VARIANT v);
1755
1756     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1757     VARIANT borderLeftWidth();
1758
1759     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1760     void borderStyle(BSTR v);
1761
1762     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1763     BSTR borderStyle();
1764
1765     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1766     void borderTopStyle(BSTR v);
1767
1768     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1769     BSTR borderTopStyle();
1770
1771     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1772     void borderRightStyle(BSTR v);
1773
1774     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1775     BSTR borderRightStyle();
1776
1777     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1778     void borderBottomStyle(BSTR v);
1779
1780     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1781     BSTR borderBottomStyle();
1782
1783     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1784     void borderLeftStyle(BSTR v);
1785
1786     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1787     BSTR borderLeftStyle();
1788
1789     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1790     void width(VARIANT v);
1791
1792     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1793     VARIANT width();
1794
1795     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1796     void height(VARIANT v);
1797
1798     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1799     VARIANT height();
1800
1801     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1802     void styleFloat(BSTR v);
1803
1804     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1805     BSTR styleFloat();
1806
1807     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1808     void clear(BSTR v);
1809
1810     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1811     BSTR clear();
1812
1813     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1814     void display(BSTR v);
1815
1816     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1817     BSTR display();
1818
1819     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1820     void visibility(BSTR v);
1821
1822     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1823     BSTR visibility();
1824
1825     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1826     void listStyleType(BSTR v);
1827
1828     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1829     BSTR listStyleType();
1830
1831     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1832     void listStylePosition(BSTR v);
1833
1834     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1835     BSTR listStylePosition();
1836
1837     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1838     void listStyleImage(BSTR v);
1839
1840     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1841     BSTR listStyleImage();
1842
1843     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1844     void listStyle(BSTR v);
1845
1846     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1847     BSTR listStyle();
1848
1849     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1850     void whiteSpace(BSTR v);
1851
1852     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1853     BSTR whiteSpace();
1854
1855     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1856     void top(VARIANT v);
1857
1858     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1859     VARIANT top();
1860
1861     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1862     void left(VARIANT v);
1863
1864     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1865     VARIANT left();
1866
1867     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1868     void zIndex(VARIANT v);
1869
1870     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1871     VARIANT zIndex();
1872
1873     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1874     void overflow(BSTR v);
1875
1876     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1877     BSTR overflow();
1878
1879     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1880     void pageBreakBefore(BSTR v);
1881
1882     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1883     BSTR pageBreakBefore();
1884
1885     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1886     void pageBreakAfter(BSTR v);
1887
1888     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1889     BSTR pageBreakAfter();
1890
1891     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1892     void cssText(BSTR v);
1893
1894     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1895     BSTR cssText();
1896
1897     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1898     void pixelTop(LONG v);
1899
1900     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1901     LONG pixelTop();
1902
1903     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1904     void pixelLeft(LONG v);
1905
1906     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1907     LONG pixelLeft();
1908
1909     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1910     void pixelWidth(LONG v);
1911
1912     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1913     LONG pixelWidth();
1914
1915     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1916     void pixelHeight(LONG v);
1917
1918     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1919     LONG pixelHeight();
1920
1921     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1922     void posTop(float v);
1923
1924     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1925     float posTop();
1926
1927     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1928     void posLeft(float v);
1929
1930     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1931     float posLeft();
1932
1933     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1934     void posWidth(float v);
1935
1936     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1937     float posWidth();
1938
1939     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1940     void posHeight(float v);
1941
1942     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1943     float posHeight();
1944
1945     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1946     void cursor(BSTR v);
1947
1948     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1949     BSTR cursor();
1950
1951     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1952     void clip(BSTR v);
1953
1954     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1955     BSTR clip();
1956
1957     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1958     void filter(BSTR v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1961     BSTR filter();
1962
1963     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1964     void setAttribute(
1965             [in] BSTR strAttributeName,
1966             [in] VARIANT AttributeValue,
1967             [in, defaultvalue(1)] LONG lFlags);
1968
1969     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1970     VARIANT getAttribute(
1971             [in] BSTR strAttributeName,
1972             [in, defaultvalue(0)] LONG lFlags);
1973
1974     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1975     VARIANT_BOOL removeAttribute(
1976             [in] BSTR strAttributeName,
1977             [in, defaultvalue(1)] LONG lFlags);
1978
1979     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1980     BSTR toString();
1981
1982     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1983     void tableLayout(BSTR v);
1984
1985     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1986     BSTR tableLayout();
1987
1988     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1989     void borderCollapse(BSTR v);
1990
1991     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1992     BSTR borderCollapse();
1993
1994     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1995     void direction(BSTR v);
1996
1997     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1998     BSTR direction();
1999
2000     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2001     void behavior(BSTR v);
2002
2003     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2004     BSTR behavior();
2005
2006     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2007     void setExpression(
2008             [in] BSTR propname,
2009             [in] BSTR expression,
2010             [in, defaultvalue("")] BSTR language);
2011
2012     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2013     VARIANT getExpression([in] BSTR propname);
2014
2015     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2016     VARIANT_BOOL removeExpression([in] BSTR propname);
2017
2018     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2019     void position(BSTR v);
2020
2021     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2022     BSTR position();
2023
2024     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2025     void unicodeBidi(BSTR v);
2026
2027     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2028     BSTR unicodeBidi();
2029
2030     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2031     void bottom(VARIANT v);
2032
2033     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2034     VARIANT bottom();
2035
2036     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2037     void right(VARIANT v);
2038
2039     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2040     VARIANT right();
2041
2042     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2043     void pixelBottom(LONG v);
2044
2045     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2046     LONG pixelBottom();
2047
2048     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2049     void pixelRight(LONG v);
2050
2051     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2052     LONG pixelRight();
2053
2054     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2055     void posBottom(float v);
2056
2057     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2058     float posBottom();
2059
2060     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2061     void posRight(float v);
2062
2063     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2064     float posRight();
2065
2066     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2067     void imeMode(BSTR v);
2068
2069     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2070     BSTR imeMode();
2071
2072     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2073     void rubyAlign(BSTR v);
2074
2075     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2076     BSTR rubyAlign();
2077
2078     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2079     void rubyPosition(BSTR v);
2080
2081     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2082     BSTR rubyPosition();
2083
2084     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2085     void rubyOverhang(BSTR v);
2086
2087     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2088     BSTR rubyOverhang();
2089
2090     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2091     void layoutGridChar(VARIANT v);
2092
2093     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2094     VARIANT layoutGridChar();
2095
2096     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2097     void layoutGridLine(VARIANT v);
2098
2099     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2100     VARIANT layoutGridLine();
2101
2102     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2103     void layoutGridMode(BSTR v);
2104
2105     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2106     BSTR layoutGridMode();
2107
2108     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2109     void layoutGridType(BSTR v);
2110
2111     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2112     BSTR layoutGridType();
2113
2114     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2115     void layoutGrid(BSTR v);
2116
2117     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2118     BSTR layoutGrid();
2119
2120     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2121     void wordBreak(BSTR v);
2122
2123     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2124     BSTR wordBreak();
2125
2126     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2127     void lineBreak(BSTR v);
2128
2129     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2130     BSTR lineBreak();
2131
2132     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2133     void textJustify(BSTR v);
2134
2135     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2136     BSTR textJustify();
2137
2138     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2139     void textJustifyTrim(BSTR v);
2140
2141     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2142     BSTR textJustifyTrim();
2143
2144     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2145     void textKashida(VARIANT v);
2146
2147     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2148     VARIANT textKashida();
2149
2150     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2151     void textAutospace(BSTR v);
2152
2153     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2154     BSTR textAutospace();
2155
2156     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2157     void overflowX(BSTR v);
2158
2159     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2160     BSTR overflowX();
2161
2162     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2163     void overflowY(BSTR v);
2164
2165     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2166     BSTR overflowY();
2167
2168     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2169     void accelerator(BSTR v);
2170
2171     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2172     BSTR accelerator();
2173
2174     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2175     void layoutFlow(BSTR v);
2176
2177     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2178     BSTR layoutFlow();
2179
2180     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2181     void zoom(VARIANT v);
2182
2183     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2184     VARIANT zoom();
2185
2186     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2187     void wordWrap(BSTR v);
2188
2189     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2190     BSTR wordWrap();
2191
2192     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2193     void textUnderlinePosition(BSTR v);
2194
2195     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2196     BSTR textUnderlinePosition();
2197
2198     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2199     void scrollbarBaseColor(VARIANT v);
2200
2201     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2202     VARIANT scrollbarBaseColor();
2203
2204     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2205     void scrollbarFaceColor(VARIANT v);
2206
2207     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2208     VARIANT scrollbarFaceColor();
2209
2210     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2211     void scrollbar3dLightColor(VARIANT v);
2212
2213     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2214     VARIANT scrollbar3dLightColor();
2215
2216     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2217     void scrollbarShadowColor(VARIANT v);
2218
2219     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2220     VARIANT scrollbarShadowColor();
2221
2222     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2223     void scrollbarHighlightColor(VARIANT v);
2224
2225     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2226     VARIANT scrollbarHighlightColor();
2227
2228     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2229     void scrollbarDarkShadowColor(VARIANT v);
2230
2231     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2232     VARIANT scrollbarDarkShadowColor();
2233
2234     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2235     void scrollbarArrowColor(VARIANT v);
2236
2237     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2238     VARIANT scrollbarArrowColor();
2239
2240     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2241     void scrollbarTrackColor(VARIANT v);
2242
2243     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2244     VARIANT scrollbarTrackColor();
2245
2246     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2247     void writingMode(BSTR v);
2248
2249     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2250     BSTR writingMode();
2251
2252     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2253     void textAlignLast(BSTR v);
2254
2255     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2256     BSTR textAlignLast();
2257
2258     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2259     void textKashidaSpace(VARIANT v);
2260
2261     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2262     VARIANT textKashidaSpace();
2263
2264     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2265     void textOverflow(BSTR v);
2266
2267     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2268     BSTR textOverflow();
2269
2270     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2271     void minHeight(VARIANT v);
2272
2273     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2274     VARIANT minHeight();
2275 }
2276
2277 [
2278     odl,
2279     oleautomation,
2280     dual,
2281     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2282 ]
2283 interface IHTMLStyle3 : IDispatch
2284 {
2285     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2286     HRESULT layoutFlow([in] BSTR v);
2287
2288     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2289     HRESULT layoutFlow([retval, out] BSTR * p);
2290
2291     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2292     HRESULT zoom([in] VARIANT v);
2293
2294     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2295     HRESULT zoom([retval, out] VARIANT * p);
2296
2297     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2298     HRESULT wordWrap([in] BSTR v);
2299
2300     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2301     HRESULT wordWrap([retval, out] BSTR * p);
2302
2303     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2304     HRESULT textUnderlinePosition([in] BSTR v);
2305
2306     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2307     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2308
2309     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2310     HRESULT scrollbarBaseColor([in] VARIANT v);
2311
2312     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2313     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2314
2315     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2316     HRESULT scrollbarFaceColor([in] VARIANT v);
2317
2318     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2319     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2320
2321     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2322     HRESULT scrollbar3dLightColor([in] VARIANT v);
2323
2324     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2325     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2326
2327     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2328     HRESULT scrollbarShadowColor([in] VARIANT v);
2329
2330     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2331     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2332
2333     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2334     HRESULT scrollbarHighlightColor([in] VARIANT v);
2335
2336     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2337     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2338
2339     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2340     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2341
2342     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2343     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2344
2345     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2346     HRESULT scrollbarArrowColor([in] VARIANT v);
2347
2348     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2349     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2350
2351     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2352     HRESULT scrollbarTrackColor([in] VARIANT v);
2353
2354     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2355     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2356
2357     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2358     HRESULT writingMode([in] BSTR v);
2359
2360     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2361     HRESULT writingMode([retval, out] BSTR * p);
2362
2363     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2364     HRESULT textAlignLast([in] BSTR v);
2365
2366     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2367     HRESULT textAlignLast([retval, out] BSTR * p);
2368
2369     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2370     HRESULT textKashidaSpace([in] VARIANT v);
2371
2372     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2373     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2374 }
2375
2376 /*****************************************************************************
2377  *    IHTMLSytyle4 interface
2378  */
2379 [
2380     odl,
2381     oleautomation,
2382     dual,
2383     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2384 ]
2385 interface IHTMLStyle4 : IDispatch
2386 {
2387     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2388     HRESULT textOverflow([in] BSTR v);
2389
2390     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2391     HRESULT textOverflow([retval, out] BSTR * p);
2392
2393     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2394     HRESULT minHeight([in] VARIANT v);
2395
2396     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2397     HRESULT minHeight([retval, out] VARIANT * p);
2398 }
2399
2400 [
2401     noncreatable,
2402     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2403 ]
2404 coclass HTMLStyle
2405 {
2406     [default] dispinterface DispHTMLStyle;
2407     interface IHTMLStyle;
2408     interface IHTMLStyle2;
2409     interface IHTMLStyle3;
2410     interface IHTMLStyle4;
2411     /* interface IHTMLStyle5; */
2412 }
2413
2414 /*****************************************************************************
2415  *    IHTMLRenderStyle interface
2416  */
2417 [
2418     odl,
2419     oleautomation,
2420     dual,
2421     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2422 ]
2423 interface IHTMLRenderStyle : IDispatch
2424 {
2425     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2426     HRESULT textLineThroughStyle([in] BSTR v);
2427
2428     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2429     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2430
2431     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2432     HRESULT textUnderlineStyle([in] BSTR v);
2433
2434     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2435     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2436
2437     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2438     HRESULT textEffect([in] BSTR v);
2439
2440     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2441     HRESULT textEffect([retval, out] BSTR *p);
2442
2443     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2444     HRESULT textColor([in] VARIANT v);
2445
2446     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2447     HRESULT textColor([retval, out] VARIANT *p);
2448
2449     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2450     HRESULT textBackgroundColor([in] VARIANT v);
2451
2452     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2453     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2454
2455     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2456     HRESULT textDecorationColor([in] VARIANT v);
2457
2458     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2459     HRESULT textDecorationColor([retval, out] VARIANT *p);
2460
2461     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2462     HRESULT renderingPriority([in] LONG v);
2463
2464     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2465     HRESULT renderingPriority([retval, out] LONG *p);
2466
2467     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2468     HRESULT defaultTextSelection([in] BSTR v);
2469
2470     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2471     HRESULT defaultTextSelection([retval, out] BSTR *p);
2472
2473     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2474     HRESULT textDecoration([in] BSTR v);
2475
2476     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2477     HRESULT textDecoration([retval, out] BSTR *p);
2478 }
2479
2480 /*****************************************************************************
2481  *    IHTMLCurrentStyle interface
2482  */
2483 [
2484     odl,
2485     oleautomation,
2486     dual,
2487     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2488 ]
2489 interface IHTMLCurrentStyle : IDispatch
2490 {
2491     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2492     HRESULT position([retval, out] BSTR *p);
2493
2494     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2495     HRESULT styleFloat([retval, out] BSTR *p);
2496
2497     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2498     HRESULT color([retval, out] VARIANT *p);
2499
2500     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2501     HRESULT backgroundColor([retval, out] VARIANT *p);
2502
2503     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2504     HRESULT fontFamily([retval, out] BSTR *p);
2505
2506     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2507     HRESULT fontStyle([retval, out] BSTR *p);
2508
2509     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2510     HRESULT fontVariant([retval, out] BSTR *p);
2511
2512     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2513     HRESULT fontWeight([retval, out] VARIANT *p);
2514
2515     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2516     HRESULT fontSize([retval, out] VARIANT *p);
2517
2518     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2519     HRESULT backgroundImage([retval, out] BSTR *p);
2520
2521     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2522     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2523
2524     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2525     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2526
2527     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2528     HRESULT backgroundRepeat([retval, out] BSTR *p);
2529
2530     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2531     HRESULT borderLeftColor([retval, out] VARIANT *p);
2532
2533     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2534     HRESULT borderTopColor([retval, out] VARIANT *p);
2535
2536     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2537     HRESULT borderRightColor([retval, out] VARIANT *p);
2538
2539     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2540     HRESULT borderBottomColor([retval, out] VARIANT *p);
2541
2542     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2543     HRESULT borderTopStyle([retval, out] BSTR *p);
2544
2545     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2546     HRESULT borderRightStyle([retval, out] BSTR *p);
2547
2548     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2549     HRESULT borderBottomStyle([retval, out] BSTR *p);
2550
2551     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2552     HRESULT borderLeftStyle([retval, out] BSTR *p);
2553
2554     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2555     HRESULT borderTopWidth([retval, out] VARIANT *p);
2556
2557     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2558     HRESULT borderRightWidth([retval, out] VARIANT *p);
2559
2560     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2561     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2562
2563     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2564     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2565
2566     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2567     HRESULT left([retval, out] VARIANT *p);
2568
2569     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2570     HRESULT top([retval, out] VARIANT *p);
2571
2572     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2573     HRESULT width([retval, out] VARIANT *p);
2574
2575     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2576     HRESULT height([retval, out] VARIANT *p);
2577
2578     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2579     HRESULT paddingLeft([retval, out] VARIANT *p);
2580
2581     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2582     HRESULT paddingTop([retval, out] VARIANT *p);
2583
2584     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2585     HRESULT paddingRight([retval, out] VARIANT *p);
2586
2587     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2588     HRESULT paddingBottom([retval, out] VARIANT *p);
2589
2590     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2591     HRESULT textAlign([retval, out] BSTR *p);
2592
2593     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2594     HRESULT textDecoration([retval, out] BSTR *p);
2595
2596     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2597     HRESULT display([retval, out] BSTR *p);
2598
2599     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2600     HRESULT visibility([retval, out] BSTR *p);
2601
2602     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2603     HRESULT zIndex([retval, out] VARIANT *p);
2604
2605     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2606     HRESULT letterSpacing([retval, out] VARIANT *p);
2607
2608     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2609     HRESULT lineHeight([retval, out] VARIANT *p);
2610
2611     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2612     HRESULT textIndent([retval, out] VARIANT *p);
2613
2614     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2615     HRESULT verticalAlign([retval, out] VARIANT *p);
2616
2617     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2618     HRESULT backgroundAttachment([retval, out] BSTR *p);
2619
2620     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2621     HRESULT marginTop([retval, out] VARIANT *p);
2622
2623     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2624     HRESULT marginRight([retval, out] VARIANT *p);
2625
2626     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2627     HRESULT marginBottom([retval, out] VARIANT *p);
2628
2629     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2630     HRESULT marginLeft([retval, out] VARIANT *p);
2631
2632     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2633     HRESULT clear([retval, out] BSTR *p);
2634
2635     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2636     HRESULT listStyleType([retval, out] BSTR *p);
2637
2638     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2639     HRESULT listStylePosition([retval, out] BSTR *p);
2640
2641     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2642     HRESULT listStyleImage([retval, out] BSTR *p);
2643
2644     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2645     HRESULT clipTop([retval, out] VARIANT *p);
2646
2647     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2648     HRESULT clipRight([retval, out] VARIANT *p);
2649
2650     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2651     HRESULT clipBottom([retval, out] VARIANT *p);
2652
2653     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2654     HRESULT clipLeft([retval, out] VARIANT *p);
2655
2656     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2657     HRESULT overflow([retval, out] BSTR *p);
2658
2659     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2660     HRESULT pageBreakBefore([retval, out] BSTR *p);
2661
2662     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2663     HRESULT pageBreakAfter([retval, out] BSTR *p);
2664
2665     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2666     HRESULT cursor([retval, out] BSTR *p);
2667
2668     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2669     HRESULT tableLayout([retval, out] BSTR *p);
2670
2671     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2672     HRESULT borderCollapse([retval, out] BSTR *p);
2673
2674     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2675     HRESULT direction([retval, out] BSTR *p);
2676
2677     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2678     HRESULT behavior([retval, out] BSTR *p);
2679
2680     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2681     HRESULT getAttribute(
2682         [in] BSTR strAttributeName,
2683         [defaultvalue(0), in] LONG lFlags,
2684         [retval, out] VARIANT *AttributeValue);
2685
2686     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2687     HRESULT unicodeBidi([retval, out] BSTR *p);
2688
2689     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2690     HRESULT right([retval, out] VARIANT *p);
2691
2692     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2693     HRESULT bottom([retval, out] VARIANT *p);
2694
2695     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2696     HRESULT imeMode([retval, out] BSTR *p);
2697
2698     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2699     HRESULT rubyAlign([retval, out] BSTR *p);
2700
2701     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2702     HRESULT rubyPosition([retval, out] BSTR *p);
2703
2704     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2705     HRESULT rubyOverhang([retval, out] BSTR *p);
2706
2707     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2708     HRESULT textAutospace([retval, out] BSTR *p);
2709
2710     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2711     HRESULT lineBreak([retval, out] BSTR *p);
2712
2713     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2714     HRESULT wordBreak([retval, out] BSTR *p);
2715
2716     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2717     HRESULT textJustify([retval, out] BSTR *p);
2718
2719     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2720     HRESULT textJustifyTrim([retval, out] BSTR *p);
2721
2722     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2723     HRESULT textKashida([retval, out] VARIANT *p);
2724
2725     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2726     HRESULT blockDirection([retval, out] BSTR *p);
2727
2728     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2729     HRESULT layoutGridChar([retval, out] VARIANT *p);
2730
2731     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2732     HRESULT layoutGridLine([retval, out] VARIANT *p);
2733
2734     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2735     HRESULT layoutGridMode([retval, out] BSTR *p);
2736
2737     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2738     HRESULT layoutGridType([retval, out] BSTR *p);
2739
2740     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2741     HRESULT borderStyle([retval, out] BSTR *p);
2742
2743     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2744     HRESULT borderColor([retval, out] BSTR *p);
2745
2746     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2747     HRESULT borderWidth([retval, out] BSTR *p);
2748
2749     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2750     HRESULT padding([retval, out] BSTR *p);
2751
2752     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2753     HRESULT margin([retval, out] BSTR *p);
2754
2755     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2756     HRESULT accelerator([retval, out] BSTR *p);
2757
2758     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2759     HRESULT overflowX([retval, out] BSTR *p);
2760
2761     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2762     HRESULT overflowY([retval, out] BSTR *p);
2763
2764     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2765     HRESULT textTransform([retval, out] BSTR *p);
2766 }
2767
2768 /*****************************************************************************
2769  *    IHTMLCurrentStyle2 interface
2770  */
2771 [
2772     odl,
2773     oleautomation,
2774     dual,
2775     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2776 ]
2777 interface IHTMLCurrentStyle2 : IDispatch
2778 {
2779     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2780     HRESULT layoutFlow([retval, out] BSTR * p);
2781
2782     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2783     HRESULT wordWrap([retval, out] BSTR * p);
2784
2785     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2786     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2787
2788     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2789     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2790
2791     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2792     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2793
2794     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2795     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2796
2797     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2798     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2799
2800     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2801     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2802
2803     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2804     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2805
2806     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2807     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2808
2809     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2810     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2811
2812     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2813     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2814
2815     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2816     HRESULT writingMode([retval, out] BSTR * p);
2817
2818     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2819     HRESULT zoom([retval, out] VARIANT * p);
2820
2821     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2822     HRESULT filter([retval, out] BSTR * p);
2823
2824     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2825     HRESULT textAlignLast([retval, out] BSTR * p);
2826
2827     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2828     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2829
2830     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2831     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2832 }
2833
2834 /*****************************************************************************
2835  *    IHTMLCurrentStyle3 interface
2836  */
2837 [
2838     odl,
2839     oleautomation,
2840     dual,
2841     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2842 ]
2843 interface IHTMLCurrentStyle3 : IDispatch
2844 {
2845     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2846     HRESULT textOverflow([retval, out] BSTR * p);
2847
2848     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2849     HRESULT minHeight([retval, out] VARIANT * p);
2850
2851     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2852     HRESULT wordSpacing([retval, out] VARIANT * p);
2853
2854     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2855     HRESULT whiteSpace([retval, out] BSTR * p);
2856 }
2857
2858 /*****************************************************************************
2859  *    IHTMLCurrentStyle4 interface
2860  */
2861 [
2862     odl,
2863     oleautomation,
2864     dual,
2865     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2866 ]
2867 interface IHTMLCurrentStyle4 : IDispatch
2868 {
2869     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2870     HRESULT msInterpolationMode([retval, out] BSTR * p);
2871
2872     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2873     HRESULT maxHeight([retval, out] VARIANT * p);
2874
2875     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2876     HRESULT minWidth([retval, out] VARIANT * p);
2877
2878     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2879     HRESULT maxWidth([retval, out] VARIANT * p);
2880 }
2881
2882 /*****************************************************************************
2883  *    DispHTMLCurrentStyle dispinterface
2884  */
2885 [
2886     hidden,
2887     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2888 ]
2889 dispinterface DispHTMLCurrentStyle
2890 {
2891 properties:
2892 methods:
2893     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2894     BSTR position();
2895
2896     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2897     BSTR styleFloat();
2898
2899     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2900     VARIANT color();
2901
2902     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2903     VARIANT backgroundColor();
2904
2905     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2906     BSTR fontFamily();
2907
2908     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2909     BSTR fontStyle();
2910
2911     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2912     BSTR fontVariant();
2913
2914     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2915     VARIANT fontWeight();
2916
2917     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2918     VARIANT fontSize();
2919
2920     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2921     BSTR backgroundImage();
2922
2923     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2924     VARIANT backgroundPositionX();
2925
2926     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2927     VARIANT backgroundPositionY();
2928
2929     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2930     BSTR backgroundRepeat();
2931
2932     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2933     VARIANT borderLeftColor();
2934
2935     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2936     VARIANT borderTopColor();
2937
2938     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2939     VARIANT borderRightColor();
2940
2941     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2942     VARIANT borderBottomColor();
2943
2944     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2945     BSTR borderTopStyle();
2946
2947     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2948     BSTR borderRightStyle();
2949
2950     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2951     BSTR borderBottomStyle();
2952
2953     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2954     BSTR borderLeftStyle();
2955
2956     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2957     VARIANT borderTopWidth();
2958
2959     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2960     VARIANT borderRightWidth();
2961
2962     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2963     VARIANT borderBottomWidth();
2964
2965     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2966     VARIANT borderLeftWidth();
2967
2968     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2969     VARIANT left();
2970
2971     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2972     VARIANT top();
2973
2974     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2975     VARIANT width();
2976
2977     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2978     VARIANT height();
2979
2980     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2981     VARIANT paddingLeft();
2982
2983     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2984     VARIANT paddingTop();
2985
2986     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2987     VARIANT paddingRight();
2988
2989     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2990     VARIANT paddingBottom();
2991
2992     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2993     BSTR textAlign();
2994
2995     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2996     BSTR textDecoration();
2997
2998     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2999     BSTR display();
3000
3001     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3002     BSTR visibility();
3003
3004     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3005     VARIANT zIndex();
3006
3007     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3008     VARIANT letterSpacing();
3009
3010     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3011     VARIANT lineHeight();
3012
3013     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3014     VARIANT textIndent();
3015
3016     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3017     VARIANT verticalAlign();
3018
3019     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3020     BSTR backgroundAttachment();
3021
3022     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3023     VARIANT marginTop();
3024
3025     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3026     VARIANT marginRight();
3027
3028     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3029     VARIANT marginBottom();
3030
3031     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3032     VARIANT marginLeft();
3033
3034     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3035     BSTR clear();
3036
3037     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3038     BSTR listStyleType();
3039
3040     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3041     BSTR listStylePosition();
3042
3043     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3044     BSTR listStyleImage();
3045
3046     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3047     VARIANT clipTop();
3048
3049     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3050     VARIANT clipRight();
3051
3052     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3053     VARIANT clipBottom();
3054
3055     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3056     VARIANT clipLeft();
3057
3058     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3059     BSTR overflow();
3060
3061     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3062     BSTR pageBreakBefore();
3063
3064     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3065     BSTR pageBreakAfter();
3066
3067     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3068     BSTR cursor();
3069
3070     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3071     BSTR tableLayout();
3072
3073     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3074     BSTR borderCollapse();
3075
3076     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3077     BSTR direction();
3078
3079     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3080     BSTR behavior();
3081
3082     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3083     VARIANT getAttribute(
3084             [in] BSTR strAttributeName,
3085             [in, defaultvalue(0)] LONG lFlags);
3086
3087     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3088     BSTR unicodeBidi();
3089
3090     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3091     VARIANT right();
3092
3093     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3094     VARIANT bottom();
3095
3096     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3097     BSTR imeMode();
3098
3099     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3100     BSTR rubyAlign();
3101
3102     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3103     BSTR rubyPosition();
3104
3105     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3106     BSTR rubyOverhang();
3107
3108     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3109     BSTR textAutospace();
3110
3111     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3112     BSTR lineBreak();
3113
3114     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3115     BSTR wordBreak();
3116
3117     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3118     BSTR textJustify();
3119
3120     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3121     BSTR textJustifyTrim();
3122
3123     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3124     VARIANT textKashida();
3125
3126     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3127     BSTR blockDirection();
3128
3129     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3130     VARIANT layoutGridChar();
3131
3132     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3133     VARIANT layoutGridLine();
3134
3135     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3136     BSTR layoutGridMode();
3137
3138     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3139     BSTR layoutGridType();
3140
3141     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3142     BSTR borderStyle();
3143
3144     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3145     BSTR borderColor();
3146
3147     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3148     BSTR borderWidth();
3149
3150     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3151     BSTR padding();
3152
3153     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3154     BSTR margin();
3155
3156     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3157     BSTR accelerator();
3158
3159     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3160     BSTR overflowX();
3161
3162     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3163     BSTR overflowY();
3164
3165     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3166     BSTR textTransform();
3167
3168     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3169     BSTR layoutFlow();
3170
3171     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3172     BSTR wordWrap();
3173
3174     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3175     BSTR textUnderlinePosition();
3176
3177     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3178     VARIANT_BOOL hasLayout();
3179
3180     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3181     VARIANT scrollbarBaseColor();
3182
3183     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3184     VARIANT scrollbarFaceColor();
3185
3186     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3187     VARIANT scrollbar3dLightColor();
3188
3189     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3190     VARIANT scrollbarShadowColor();
3191
3192     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3193     VARIANT scrollbarHighlightColor();
3194
3195     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3196     VARIANT scrollbarDarkShadowColor();
3197
3198     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3199     VARIANT scrollbarArrowColor();
3200
3201     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3202     VARIANT scrollbarTrackColor();
3203
3204     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3205     BSTR writingMode();
3206
3207     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3208     VARIANT zoom();
3209
3210     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3211     BSTR filter();
3212
3213     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3214     BSTR textAlignLast();
3215
3216     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3217     VARIANT textKashidaSpace();
3218
3219     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3220     VARIANT_BOOL isBlock();
3221
3222     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3223     BSTR textOverflow();
3224
3225     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3226     VARIANT minHeight();
3227
3228     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3229     VARIANT wordSpacing();
3230
3231     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3232     BSTR whiteSpace();
3233
3234     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3235     BSTR msInterpolationMode();
3236
3237     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3238     VARIANT maxHeight();
3239
3240     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3241     VARIANT minWidth();
3242
3243     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3244     VARIANT maxWidth();
3245 }
3246
3247 [
3248     noncreatable,
3249     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3250 ]
3251 coclass HTMLCurrentStyle
3252 {
3253     [default] dispinterface DispHTMLCurrentStyle;
3254     interface IHTMLCurrentStyle;
3255     interface IHTMLCurrentStyle2;
3256     interface IHTMLCurrentStyle3;
3257     interface IHTMLCurrentStyle4;
3258 }
3259
3260 /*****************************************************************************
3261  *    IHTMLRect interface
3262  */
3263 [
3264     odl,
3265     oleautomation,
3266     dual,
3267     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3268 ]
3269 interface IHTMLRect : IDispatch
3270 {
3271     [propput, id(DISPID_IHTMLRECT_LEFT)]
3272     HRESULT left([in] LONG v);
3273
3274     [propget, id(DISPID_IHTMLRECT_LEFT)]
3275     HRESULT left([retval, out] LONG *p);
3276
3277     [propput, id(DISPID_IHTMLRECT_TOP)]
3278     HRESULT top([in] LONG v);
3279
3280     [propget, id(DISPID_IHTMLRECT_TOP)]
3281     HRESULT top([retval, out] LONG *p);
3282
3283     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3284     HRESULT right([in] LONG v);
3285
3286     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3287     HRESULT right([retval, out] LONG *p);
3288
3289     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3290     HRESULT bottom([in] LONG v);
3291
3292     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3293     HRESULT bottom([retval, out] LONG *p);
3294 }
3295
3296 /*****************************************************************************
3297  *    IHTMLRectCollection interface
3298  */
3299 [
3300     odl,
3301     oleautomation,
3302     dual,
3303     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3304 ]
3305 interface IHTMLRectCollection : IDispatch
3306 {
3307     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3308     HRESULT length([retval, out] LONG *p);
3309
3310     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3311     HRESULT _newEnum([retval, out] IUnknown **p);
3312
3313     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3314     HRESULT item(
3315         [in] VARIANT *pvarIndex,
3316         [retval, out] VARIANT *pvarResult);
3317 }
3318
3319 /*****************************************************************************
3320  *    IHTMLDOMNode interface
3321  */
3322 [
3323     odl,
3324     oleautomation,
3325     dual,
3326     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3327 ]
3328 interface IHTMLDOMNode : IDispatch
3329 {
3330     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3331     HRESULT nodeType([retval, out] LONG *p);
3332
3333     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3334     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3335
3336     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3337     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3338
3339     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3340     HRESULT childNodes([retval, out] IDispatch **p);
3341
3342     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3343     HRESULT attributes([retval, out] IDispatch **p);
3344
3345     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3346     HRESULT insertBefore(
3347         [in] IHTMLDOMNode *newChild,
3348         [optional, in] VARIANT refChild,
3349         [retval, out] IHTMLDOMNode **node);
3350
3351     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3352     HRESULT removeChild(
3353         [in] IHTMLDOMNode *oldChild,
3354         [retval, out] IHTMLDOMNode **node);
3355
3356     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3357     HRESULT replaceChild(
3358         [in] IHTMLDOMNode *newChild,
3359         [in] IHTMLDOMNode *oldChild,
3360         [retval, out] IHTMLDOMNode **node);
3361
3362     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3363     HRESULT cloneNode(
3364         [in] VARIANT_BOOL fDeep,
3365         [retval, out] IHTMLDOMNode **clonedNode);
3366
3367     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3368     HRESULT removeNode(
3369         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3370         [retval, out] IHTMLDOMNode **removed);
3371
3372     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3373     HRESULT swapNode(
3374         [in] IHTMLDOMNode *otherNode,
3375         [retval, out] IHTMLDOMNode **swappedNode);
3376
3377     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3378     HRESULT replaceNode(
3379         [in] IHTMLDOMNode *replacement,
3380         [retval, out] IHTMLDOMNode **replaced);
3381
3382     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3383     HRESULT appendChild(
3384         [in] IHTMLDOMNode *newChild,
3385         [retval, out] IHTMLDOMNode **node);
3386
3387     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3388     HRESULT nodeName([retval, out] BSTR *p);
3389
3390     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3391     HRESULT nodeValue([in] VARIANT v);
3392
3393     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3394     HRESULT nodeValue([retval, out] VARIANT *p);
3395
3396     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3397     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3398
3399     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3400     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3401
3402     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3403     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3404
3405     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3406     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3407 }
3408
3409 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3410     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3411     LONG nodeType();                                                    \
3412                                                                         \
3413     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3414     IHTMLDOMNode* parentNode();                                         \
3415                                                                         \
3416     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3417     VARIANT_BOOL hasChildNodes();                                       \
3418                                                                         \
3419     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3420     IDispatch* childNodes();                                            \
3421                                                                         \
3422     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3423     IDispatch* attributes();                                            \
3424                                                                         \
3425     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3426     IHTMLDOMNode* insertBefore(                                         \
3427             [in] IHTMLDOMNode* newChild,                                \
3428             [optional, in] VARIANT refChild);                           \
3429                                                                         \
3430     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3431     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3432                                                                         \
3433     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3434     IHTMLDOMNode* replaceChild(                                         \
3435         [in] IHTMLDOMNode* newChild,                                    \
3436         [in] IHTMLDOMNode* oldChild);                                   \
3437                                                                         \
3438     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3439     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3440                                                                         \
3441     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3442     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3443                                                                         \
3444     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3445     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3446                                                                         \
3447     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3448     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3449                                                                         \
3450     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3451     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3452                                                                         \
3453     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3454     BSTR nodeName();                                                    \
3455                                                                         \
3456     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3457     void nodeValue(VARIANT v);                                          \
3458                                                                         \
3459     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3460     VARIANT nodeValue();                                                \
3461                                                                         \
3462     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3463     IHTMLDOMNode* firstChild();                                         \
3464                                                                         \
3465     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3466     IHTMLDOMNode* lastChild();                                          \
3467                                                                         \
3468     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3469     IHTMLDOMNode* previousSibling();                                    \
3470                                                                         \
3471     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3472     IHTMLDOMNode* nextSibling()
3473
3474 /*****************************************************************************
3475  *    IHTMLDOMNode2 interface
3476  */
3477 [
3478     odl,
3479     oleautomation,
3480     dual,
3481     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3482 ]
3483 interface IHTMLDOMNode2 : IDispatch
3484 {
3485     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3486     HRESULT ownerDocument([retval, out] IDispatch **p);
3487 }
3488
3489 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3490     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3491     IDispatch *ownerDocument()
3492
3493 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3494     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3495     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3496
3497 /*****************************************************************************
3498  *    IHTMLDOMAttribute interface
3499  */
3500 [
3501     odl,
3502     oleautomation,
3503     dual,
3504     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3505 ]
3506 interface IHTMLDOMAttribute : IDispatch
3507 {
3508     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3509     HRESULT nodeName([retval, out] BSTR *p);
3510
3511     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3512     HRESULT nodeValue([in] VARIANT v);
3513
3514     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3515     HRESULT nodeValue([retval, out] VARIANT *p);
3516
3517     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3518     HRESULT specified([retval, out] VARIANT_BOOL *p);
3519 }
3520
3521 /*****************************************************************************
3522  *    IHTMLDOMAttribute2 interface
3523  */
3524 [
3525     odl,
3526     oleautomation,
3527     dual,
3528     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3529 ]
3530 interface IHTMLDOMAttribute2 : IDispatch
3531 {
3532     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3533     HRESULT name([retval, out] BSTR *p);
3534
3535     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3536     HRESULT value([in] BSTR v);
3537
3538     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3539     HRESULT value([retval, out] BSTR *p);
3540
3541     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3542     HRESULT expando([retval, out] VARIANT_BOOL *p);
3543
3544     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3545     HRESULT nodeType([retval, out] long *p);
3546
3547     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3548     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3549
3550     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3551     HRESULT childNodes([retval, out] IDispatch **p);
3552
3553     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3554     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3555
3556     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3557     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3558
3559     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3560     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3561
3562     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3563     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3564
3565     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3566     HRESULT attributes([retval, out] IDispatch **p);
3567
3568     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3569     HRESULT ownerDocument([retval, out] IDispatch **p);
3570
3571     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3572     HRESULT insertBefore(
3573             [in] IHTMLDOMNode *newChild,
3574             [optional, in] VARIANT refChild,
3575             [retval, out] IHTMLDOMNode **node);
3576
3577     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3578     HRESULT replaceChild(
3579             [in] IHTMLDOMNode *newChild,
3580             [in] IHTMLDOMNode *oldChild,
3581             [retval, out] IHTMLDOMNode **node);
3582
3583     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3584     HRESULT removeChild(
3585             [in] IHTMLDOMNode *oldChild,
3586             [retval, out] IHTMLDOMNode **node);
3587
3588     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3589     HRESULT appendChild(
3590             [in] IHTMLDOMNode *newChild,
3591             [retval, out] IHTMLDOMNode **node);
3592
3593     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3594     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3595
3596     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3597     HRESULT cloneNode(
3598             [in] VARIANT_BOOL fDeep,
3599             [retval, out] IHTMLDOMAttribute **clonedNode);
3600 }
3601
3602 /*****************************************************************************
3603  *    IHTMLDOMTextNode interface
3604  */
3605 [
3606     odl,
3607     oleautomation,
3608     dual,
3609     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3610 ]
3611 interface IHTMLDOMTextNode : IDispatch
3612 {
3613     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3614     HRESULT data([in] BSTR v);
3615
3616     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3617     HRESULT data([out, retval] BSTR *p);
3618
3619     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3620     HRESULT toString([out, retval] BSTR *String);
3621
3622     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3623     HRESULT length([out, retval] LONG *p);
3624
3625     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3626     HRESULT splitText(
3627             [in] LONG offset,
3628             [out, retval] IHTMLDOMNode **pRetNode);
3629 }
3630
3631 /*****************************************************************************
3632  *    IHTMLDOMTextNode2 interface
3633  */
3634 [
3635     odl,
3636     oleautomation,
3637     dual,
3638     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3639 ]
3640 interface IHTMLDOMTextNode2 : IDispatch
3641 {
3642     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3643     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3644
3645     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3646     HRESULT appendData([in] BSTR bstrstring);
3647
3648     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3649     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3650
3651     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3652     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3653
3654     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3655     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3656 }
3657
3658 [
3659     noncreatable,
3660     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3661 ]
3662 coclass HTMLDOMTextNode
3663 {
3664     [default]           dispinterface DispHTMLDOMTextNode;
3665                         interface IHTMLDOMTextNode;
3666                         interface IHTMLDOMTextNode2;
3667                         interface IHTMLDOMNode;
3668                         interface IHTMLDOMNode2;
3669 }
3670
3671 /*****************************************************************************
3672  *    IHTMLDOMImplementation interface
3673  */
3674 [
3675     odl,
3676     oleautomation,
3677     dual,
3678     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3679 ]
3680 interface IHTMLDOMImplementation : IDispatch
3681 {
3682     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3683     HRESULT hasFeature(
3684         [in] BSTR bstrfeature,
3685         [optional, in] VARIANT version,
3686         [retval, out] VARIANT_BOOL *pfHasFeature);
3687 }
3688
3689 /*****************************************************************************
3690  *    DispHTMLDOMAttribute dispinterface
3691  */
3692 [
3693     hidden,
3694     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3695 ]
3696 dispinterface DispHTMLDOMAttribute
3697 {
3698  properties:
3699     methods:
3700     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3701     BSTR nodeName();
3702
3703     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3704     void nodeValue(VARIANT v);
3705
3706     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3707     VARIANT nodeValue();
3708
3709     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3710     VARIANT_BOOL specified();
3711
3712     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3713     BSTR name();
3714
3715     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3716     void value(BSTR v);
3717
3718     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3719     BSTR value();
3720
3721     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3722     VARIANT_BOOL expando();
3723
3724     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3725     long nodeType();
3726
3727     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3728     IHTMLDOMNode *parentNode();
3729
3730     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3731     IDispatch *childNodes();
3732
3733     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3734     IHTMLDOMNode *firstChild();
3735
3736     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3737     IHTMLDOMNode *lastChild();
3738
3739     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3740     IHTMLDOMNode *previousSibling();
3741
3742     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3743     IHTMLDOMNode *nextSibling();
3744
3745     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3746     IDispatch *attributes();
3747
3748     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3749     IDispatch *ownerDocument();
3750
3751     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3752     IHTMLDOMNode *insertBefore(
3753             [in] IHTMLDOMNode *newChild,
3754             [optional, in] VARIANT refChild);
3755
3756     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3757     IHTMLDOMNode *replaceChild(
3758             [in] IHTMLDOMNode *newChild,
3759             [in] IHTMLDOMNode *oldChild);
3760
3761     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3762     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3763
3764     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3765     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3766
3767     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3768     VARIANT_BOOL hasChildNodes();
3769
3770     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3771     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
3772
3773     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
3774     void ie8_nodeValue(VARIANT v);
3775
3776     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
3777     VARIANT ie8_nodeValue();
3778
3779     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
3780     void ie8_value(BSTR v);
3781
3782     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
3783     BSTR ie8_value();
3784
3785     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
3786     VARIANT_BOOL ie8_specified();
3787
3788     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
3789     IHTMLElement2 *ownerElement();
3790
3791     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
3792 }
3793
3794 /*****************************************************************************
3795  *    IHTMLDocumentCompatibleInfo interface
3796  */
3797 [
3798     odl,
3799     oleautomation,
3800     dual,
3801     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
3802 ]
3803 interface IHTMLDocumentCompatibleInfo : IDispatch
3804 {
3805     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
3806     HRESULT userAgent([retval, out] BSTR *p);
3807
3808     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
3809     HRESULT version([retval, out] BSTR *p);
3810 }
3811
3812 /*****************************************************************************
3813  *    IHTMLDocumentCompatibleInfoCollection interface
3814  */
3815 [
3816     odl,
3817     oleautomation,
3818     dual,
3819     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
3820 ]
3821 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
3822 {
3823     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
3824     HRESULT length([retval, out] long *p);
3825
3826     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
3827     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
3828 }
3829
3830 /*****************************************************************************
3831  *    DispHTMLDOMTextNode dispinterface
3832  */
3833 [
3834     hidden,
3835     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3836 ]
3837 dispinterface DispHTMLDOMTextNode
3838 {
3839 properties:
3840 methods:
3841     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3842     void data(BSTR v);
3843
3844     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3845     BSTR data();
3846
3847     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3848     BSTR toString();
3849
3850     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3851     LONG length();
3852
3853     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3854     IHTMLDOMNode *splitText([in] LONG offset);
3855
3856     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3857     BSTR substringData(
3858             [in] LONG offset,
3859             [in] LONG Count);
3860
3861     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3862     void appendData([in] BSTR bstrstring);
3863
3864     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3865     void insertData(
3866             [in] LONG offset,
3867             [in] BSTR bstrstring);
3868
3869     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3870     void deleteData(
3871             [in] LONG offset,
3872             [in] LONG Count);
3873
3874     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3875     void replaceData(
3876             [in] LONG offset,
3877             [in] LONG Count,
3878             [in] BSTR bstrstring);
3879
3880     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
3881 }
3882
3883 /*****************************************************************************
3884  *    IHTMLAttributeCollection3 interface
3885  */
3886 [
3887     odl,
3888     oleautomation,
3889     dual,
3890     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
3891 ]
3892 interface IHTMLAttributeCollection3 : IDispatch
3893 {
3894     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
3895     HRESULT getNamedItem(
3896             [in] BSTR bstrName,
3897             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3898
3899     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
3900     HRESULT setNamedItem(
3901             [in] IHTMLDOMAttribute *pNodeIn,
3902             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3903
3904     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
3905     HRESULT removeNamedItem(
3906             [in] BSTR bstrName,
3907             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3908
3909     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
3910     HRESULT item(
3911             [in] long index,
3912             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3913
3914     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
3915     HRESULT length([retval, out] long *p);
3916 }
3917
3918 /*****************************************************************************
3919  *    IHTMLDOMChildrenCollection interface
3920  */
3921 [
3922     odl,
3923     oleautomation,
3924     dual,
3925     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3926 ]
3927 interface IHTMLDOMChildrenCollection : IDispatch
3928 {
3929     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3930     HRESULT length([out, retval] LONG *p);
3931
3932     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3933     HRESULT _newEnum([out, retval] IUnknown **p);
3934
3935     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3936     HRESULT item(
3937             [in] LONG index,
3938             [out, retval] IDispatch **ppItem);
3939 }
3940
3941 /*****************************************************************************
3942  *    DispDOMChildrenCollection dispinterface
3943  */
3944 [
3945     hidden,
3946     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3947 ]
3948 dispinterface DispDOMChildrenCollection
3949 {
3950 properties:
3951 methods:
3952     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3953     LONG length();
3954
3955     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3956     IUnknown *_newEnum();
3957
3958     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3959     IDispatch *item([in] LONG index);
3960 }
3961
3962 interface IHTMLElementCollection;
3963
3964 /*****************************************************************************
3965  *    IHTMLElement interface
3966  */
3967 [
3968     odl,
3969     dual,
3970     oleautomation,
3971     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3972 ]
3973 interface IHTMLElement : IDispatch
3974 {
3975     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3976     HRESULT setAttribute(
3977         [in] BSTR strAttributeName,
3978         [in] VARIANT AttributeValue,
3979         [defaultvalue(1), in] LONG lFlags);
3980
3981     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3982     HRESULT getAttribute(
3983         [in] BSTR strAttributeName,
3984         [defaultvalue(0), in] LONG lFlags,
3985         [retval, out] VARIANT *AttributeValue);
3986
3987     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3988     HRESULT removeAttribute(
3989         [in] BSTR strAttributeName,
3990         [defaultvalue(1), in] LONG lFlags,
3991         [retval, out] VARIANT_BOOL *pfSuccess);
3992
3993     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3994     HRESULT className([in] BSTR v);
3995
3996     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3997     HRESULT className([retval, out] BSTR *p);
3998
3999     [propput, id(DISPID_IHTMLELEMENT_ID)]
4000     HRESULT id([in] BSTR v);
4001
4002     [propget, id(DISPID_IHTMLELEMENT_ID)]
4003     HRESULT id([retval, out] BSTR *p);
4004
4005     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4006     HRESULT tagName([retval, out] BSTR *p);
4007
4008     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4009     HRESULT parentElement([retval, out] IHTMLElement **p);
4010
4011     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4012     HRESULT style([retval, out] IHTMLStyle **p);
4013
4014     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4015     HRESULT onhelp([in] VARIANT v);
4016
4017     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4018     HRESULT onhelp([retval, out] VARIANT *p);
4019
4020     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4021     HRESULT onclick([in] VARIANT v);
4022
4023     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4024     HRESULT onclick([retval, out] VARIANT *p);
4025
4026     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4027     HRESULT ondblclick([in] VARIANT v);
4028
4029     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4030     HRESULT ondblclick([retval, out] VARIANT *p);
4031
4032     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4033     HRESULT onkeydown([in] VARIANT v);
4034
4035     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4036     HRESULT onkeydown([retval, out] VARIANT *p);
4037
4038     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4039     HRESULT onkeyup([in] VARIANT v);
4040
4041     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4042     HRESULT onkeyup([retval, out] VARIANT *p);
4043
4044     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4045     HRESULT onkeypress([in] VARIANT v);
4046
4047     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4048     HRESULT onkeypress([retval, out] VARIANT *p);
4049
4050     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4051     HRESULT onmouseout([in] VARIANT v);
4052
4053     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4054     HRESULT onmouseout([retval, out] VARIANT *p);
4055
4056     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4057     HRESULT onmouseover([in] VARIANT v);
4058
4059     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4060     HRESULT onmouseover([retval, out] VARIANT *p);
4061
4062     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4063     HRESULT onmousemove([in] VARIANT v);
4064
4065     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4066     HRESULT onmousemove([retval, out] VARIANT *p);
4067
4068     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4069     HRESULT onmousedown([in] VARIANT v);
4070
4071     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4072     HRESULT onmousedown([retval, out] VARIANT *p);
4073
4074     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4075     HRESULT onmouseup([in] VARIANT v);
4076
4077     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4078     HRESULT onmouseup([retval, out] VARIANT *p);
4079
4080     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4081     HRESULT document([retval, out] IDispatch **p);
4082
4083     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4084     HRESULT title([in] BSTR v);
4085
4086     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4087     HRESULT title([retval, out] BSTR *p);
4088
4089     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4090     HRESULT language([in] BSTR v);
4091
4092     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4093     HRESULT language([retval, out] BSTR *p);
4094
4095     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4096     HRESULT onselectstart([in] VARIANT v);
4097
4098     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4099     HRESULT onselectstart([retval, out] VARIANT *p);
4100
4101     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4102     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4103
4104     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4105     HRESULT contains(
4106         [in] IHTMLElement *pChild,
4107         [retval, out] VARIANT_BOOL *pfResult);
4108
4109     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4110     HRESULT sourceIndex([retval, out] LONG *p);
4111
4112     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4113     HRESULT recordNumber([retval, out] VARIANT *p);
4114
4115     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4116     HRESULT lang([in] BSTR v);
4117
4118     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4119     HRESULT lang([retval, out] BSTR *p);
4120
4121     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4122     HRESULT offsetLeft([retval, out] LONG *p);
4123
4124     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4125     HRESULT offsetTop([retval, out] LONG *p);
4126
4127     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4128     HRESULT offsetWidth([retval, out] LONG *p);
4129
4130     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4131     HRESULT offsetHeight([retval, out] LONG *p);
4132
4133     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4134     HRESULT offsetParent([retval, out] IHTMLElement **p);
4135
4136     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4137     HRESULT innerHTML([in] BSTR v);
4138
4139     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4140     HRESULT innerHTML([retval, out] BSTR *p);
4141
4142     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4143     HRESULT innerText([in] BSTR v);
4144
4145     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4146     HRESULT innerText([retval, out] BSTR *p);
4147
4148     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4149     HRESULT outerHTML([in] BSTR v);
4150
4151     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4152     HRESULT outerHTML([retval, out] BSTR *p);
4153
4154     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4155     HRESULT outerText([in] BSTR v);
4156
4157     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4158     HRESULT outerText([retval, out] BSTR *p);
4159
4160     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4161     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4162
4163     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4164     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4165
4166     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4167     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4168
4169     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4170     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4171
4172     [id(DISPID_IHTMLELEMENT_CLICK)]
4173     HRESULT click();
4174
4175     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4176     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4177
4178     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4179     HRESULT ondragstart([in] VARIANT v);
4180
4181     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4182     HRESULT ondragstart([retval, out] VARIANT *p);
4183
4184     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4185     HRESULT toString([retval, out] BSTR *String);
4186
4187     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4188     HRESULT onbeforeupdate([in] VARIANT v);
4189
4190     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4191     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4192
4193     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4194     HRESULT onafterupdate([in] VARIANT v);
4195
4196     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4197     HRESULT onafterupdate([retval, out] VARIANT *p);
4198
4199     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4200     HRESULT onerrorupdate([in] VARIANT v);
4201
4202     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4203     HRESULT onerrorupdate([retval, out] VARIANT *p);
4204
4205     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4206     HRESULT onrowexit([in] VARIANT v);
4207
4208     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4209     HRESULT onrowexit([retval, out] VARIANT *p);
4210
4211     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4212     HRESULT onrowenter([in] VARIANT v);
4213
4214     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4215     HRESULT onrowenter([retval, out] VARIANT *p);
4216
4217     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4218     HRESULT ondatasetchanged([in] VARIANT v);
4219
4220     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4221     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4222
4223     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4224     HRESULT ondataavailable([in] VARIANT v);
4225
4226     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4227     HRESULT ondataavailable([retval, out] VARIANT *p);
4228
4229     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4230     HRESULT ondatasetcomplete([in] VARIANT v);
4231
4232     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4233     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4234
4235     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4236     HRESULT onfilterchange([in] VARIANT v);
4237
4238     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4239     HRESULT onfilterchange([retval, out] VARIANT *p);
4240
4241     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4242     HRESULT children([retval, out] IDispatch **p);
4243
4244     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4245     HRESULT all([retval, out] IDispatch **p);
4246 }
4247
4248 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4249     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4250     void setAttribute(                                                  \
4251         [in] BSTR strAttributeName,                                     \
4252         [in] VARIANT AttValue,                                          \
4253         [defaultvalue(1), in] LONG lFlags);                             \
4254                                                                         \
4255     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4256     VARIANT getAttribute(                                               \
4257         [in] BSTR strAttributeName,                                     \
4258         [defaultvalue(0), in] LONG lFlags);                             \
4259                                                                         \
4260     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4261     VARIANT_BOOL removeAttribute(                                       \
4262         [in] BSTR strAttributeName,                                     \
4263         [defaultvalue(1), in] LONG lFlags);                             \
4264                                                                         \
4265     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4266     void className(BSTR v);                                             \
4267                                                                         \
4268     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4269     BSTR className();                                                   \
4270                                                                         \
4271     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4272     void id(BSTR v);                                                    \
4273                                                                         \
4274     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4275     BSTR id();                                                          \
4276                                                                         \
4277     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4278     BSTR tagName();                                                     \
4279                                                                         \
4280     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4281     IHTMLElement *parentElement();                                      \
4282                                                                         \
4283     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4284     IHTMLStyle *style();                                                \
4285                                                                         \
4286     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4287     void onhelp(VARIANT v);                                             \
4288                                                                         \
4289     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4290     VARIANT onhelp();                                                   \
4291                                                                         \
4292     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4293     void onclick(VARIANT v);                                            \
4294                                                                         \
4295     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4296     VARIANT onclick();                                                  \
4297                                                                         \
4298     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4299     void ondblclick(VARIANT v);                                         \
4300                                                                         \
4301     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4302     VARIANT ondblclick();                                               \
4303                                                                         \
4304     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4305     void onkeydown(VARIANT v);                                          \
4306                                                                         \
4307     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4308     VARIANT onkeydown();                                                \
4309                                                                         \
4310     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4311     void onkeyup(VARIANT v);                                            \
4312                                                                         \
4313     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4314     VARIANT onkeyup();                                                  \
4315                                                                         \
4316     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4317     void onkeypress(VARIANT v);                                         \
4318                                                                         \
4319     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4320     VARIANT onkeypress();                                               \
4321                                                                         \
4322     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4323     void onmouseout(VARIANT v);                                         \
4324                                                                         \
4325     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4326     VARIANT onmouseout();                                               \
4327                                                                         \
4328     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4329     void onmouseover(VARIANT v);                                        \
4330                                                                         \
4331     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4332     VARIANT onmouseover();                                              \
4333                                                                         \
4334     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4335     void onmousemove(VARIANT v);                                        \
4336                                                                         \
4337     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4338     VARIANT onmousemove();                                              \
4339                                                                         \
4340     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4341     void onmousedown(VARIANT v);                                        \
4342                                                                         \
4343     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4344     VARIANT onmousedown();                                              \
4345                                                                         \
4346     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4347     void onmouseup(VARIANT v);                                          \
4348                                                                         \
4349     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4350     VARIANT onmouseup();                                                \
4351                                                                         \
4352     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4353                                                                         \
4354     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4355     void title(BSTR v);                                                 \
4356                                                                         \
4357     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4358     BSTR title();                                                       \
4359                                                                         \
4360     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4361     void language(BSTR v);                                              \
4362                                                                         \
4363     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4364     BSTR language();                                                    \
4365                                                                         \
4366     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4367     void onselectstart(VARIANT v);                                      \
4368                                                                         \
4369     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4370     VARIANT onselectstart();                                            \
4371                                                                         \
4372     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4373     void scrollIntoView([optional, in] VARIANT varargStart);            \
4374                                                                         \
4375     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4376     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4377                                                                         \
4378     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4379     LONG sourceIndex();                                                 \
4380                                                                         \
4381     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4382     VARIANT recordNumber();                                             \
4383                                                                         \
4384     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4385     void lang(BSTR v);                                                  \
4386                                                                         \
4387     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4388     BSTR lang();                                                        \
4389                                                                         \
4390     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4391     LONG offsetLeft();                                                  \
4392                                                                         \
4393     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4394     LONG offsetTop();                                                   \
4395                                                                         \
4396     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4397     LONG offsetWidth();                                                 \
4398                                                                         \
4399     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4400     LONG offsetHeight();                                                \
4401                                                                         \
4402     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4403     IHTMLElement* offsetParent();                                       \
4404                                                                         \
4405     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4406     void innerHTML(BSTR v);                                             \
4407                                                                         \
4408     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4409     BSTR innerHTML();                                                   \
4410                                                                         \
4411     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4412     void innerText(BSTR v);                                             \
4413                                                                         \
4414     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4415     BSTR innerText();                                                   \
4416                                                                         \
4417     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4418     void outerHTML(BSTR v);                                             \
4419                                                                         \
4420     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4421     BSTR outerHTML();                                                   \
4422                                                                         \
4423     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4424     void outerText(BSTR v);                                             \
4425                                                                         \
4426     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4427     BSTR outerText();                                                   \
4428                                                                         \
4429     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4430     void insertAdjacentHTML(                                            \
4431         [in] BSTR where,                                                \
4432         [in] BSTR html);                                                \
4433                                                                         \
4434     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4435     void insertAdjacentText(                                            \
4436         [in] BSTR where,                                                \
4437         [in] BSTR text);                                                \
4438                                                                         \
4439     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4440     IHTMLElement* parentTextEdit();                                     \
4441                                                                         \
4442     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4443     VARIANT_BOOL isTextEdit();                                          \
4444                                                                         \
4445     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4446     void click();                                                       \
4447                                                                         \
4448     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4449     IHTMLFiltersCollection* filters();                                  \
4450                                                                         \
4451     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4452     void ondragstart(VARIANT v);                                        \
4453                                                                         \
4454     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4455     VARIANT ondragstart();                                              \
4456                                                                         \
4457     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4458     BSTR toString();                                                    \
4459                                                                         \
4460     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4461     void onbeforeupdate(VARIANT v);                                     \
4462                                                                         \
4463     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4464     VARIANT onbeforeupdate();                                           \
4465                                                                         \
4466     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4467     void onafterupdate(VARIANT v);                                      \
4468                                                                         \
4469     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4470     VARIANT onafterupdate();                                            \
4471                                                                         \
4472     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4473     void onerrorupdate(VARIANT v);                                      \
4474                                                                         \
4475     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4476     VARIANT onerrorupdate();                                            \
4477                                                                         \
4478     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4479     void onrowexit(VARIANT v);                                          \
4480                                                                         \
4481     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4482     VARIANT onrowexit();                                                \
4483                                                                         \
4484     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4485     void onrowenter(VARIANT v);                                         \
4486                                                                         \
4487     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4488     VARIANT onrowenter();                                               \
4489                                                                         \
4490     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4491     void ondatasetchanged(VARIANT v);                                   \
4492                                                                         \
4493     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4494     VARIANT ondatasetchanged();                                         \
4495                                                                         \
4496     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4497     void ondataavailable(VARIANT v);                                    \
4498                                                                         \
4499     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4500     VARIANT ondataavailable();                                          \
4501                                                                         \
4502     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4503     void ondatasetcomplete(VARIANT v);                                  \
4504                                                                         \
4505     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4506     VARIANT ondatasetcomplete();                                        \
4507                                                                         \
4508     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4509     void onfilterchange(VARIANT v);                                     \
4510                                                                         \
4511     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4512     VARIANT onfilterchange();                                           \
4513                                                                         \
4514     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4515     IDispatch* children();                                              \
4516                                                                         \
4517     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4518     IDispatch* all()
4519
4520 /*****************************************************************************
4521  *    IHTMLElement2 interface
4522  */
4523 [
4524     odl,
4525     oleautomation,
4526     dual,
4527     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4528 ]
4529 interface IHTMLElement2 : IDispatch
4530 {
4531     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4532     HRESULT scopeName([retval, out] BSTR *p);
4533
4534     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4535     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4536
4537     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4538     HRESULT releaseCapture();
4539
4540     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4541     HRESULT onlosecapture([in] VARIANT v);
4542
4543     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4544     HRESULT onlosecapture([retval, out] VARIANT *p);
4545
4546     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4547     HRESULT componentFromPoint(
4548         [in] LONG x,
4549         [in] LONG y,
4550         [retval, out] BSTR *component);
4551
4552     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4553     HRESULT doScroll([optional, in] VARIANT component);
4554
4555     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4556     HRESULT onscroll([in] VARIANT v);
4557
4558     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4559     HRESULT onscroll([retval, out] VARIANT *p);
4560
4561     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4562     HRESULT ondrag([in] VARIANT v);
4563
4564     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4565     HRESULT ondrag([retval, out] VARIANT *p);
4566
4567     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4568     HRESULT ondragend([in] VARIANT v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4571     HRESULT ondragend([retval, out] VARIANT *p);
4572
4573     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4574     HRESULT ondragenter([in] VARIANT v);
4575
4576     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4577     HRESULT ondragenter([retval, out] VARIANT *p);
4578
4579     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4580     HRESULT ondragover([in] VARIANT v);
4581
4582     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4583     HRESULT ondragover([retval, out] VARIANT *p);
4584
4585     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4586     HRESULT ondragleave([in] VARIANT v);
4587
4588     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4589     HRESULT ondragleave([retval, out] VARIANT *p);
4590
4591     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4592     HRESULT ondrop([in] VARIANT v);
4593
4594     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4595     HRESULT ondrop([retval, out] VARIANT *p);
4596
4597     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4598     HRESULT onbeforecut([in] VARIANT v);
4599
4600     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4601     HRESULT onbeforecut([retval, out] VARIANT *p);
4602
4603     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4604     HRESULT oncut([in] VARIANT v);
4605
4606     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4607     HRESULT oncut([retval, out] VARIANT *p);
4608
4609     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4610     HRESULT onbeforecopy([in] VARIANT v);
4611
4612     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4613     HRESULT onbeforecopy([retval, out] VARIANT *p);
4614
4615     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4616     HRESULT oncopy([in] VARIANT v);
4617
4618     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4619     HRESULT oncopy([retval, out] VARIANT *p);
4620
4621     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4622     HRESULT onbeforepaste([in] VARIANT v);
4623
4624     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4625     HRESULT onbeforepaste([retval, out] VARIANT *p);
4626
4627     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4628     HRESULT onpaste([in] VARIANT v);
4629
4630     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4631     HRESULT onpaste([retval, out] VARIANT *p);
4632
4633     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4634     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4635
4636     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4637     HRESULT onpropertychange([in] VARIANT v);
4638
4639     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4640     HRESULT onpropertychange([retval, out] VARIANT *p);
4641
4642     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4643     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4644
4645     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4646     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4647
4648     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4649     HRESULT setExpression(
4650         [in] BSTR propname,
4651         [in] BSTR expression,
4652         [defaultvalue(""), in] BSTR language);
4653
4654     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4655     HRESULT getExpression(
4656         [in] BSTR propname,
4657         [retval, out] VARIANT *expression);
4658
4659     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4660     HRESULT removeExpression(
4661         [in] BSTR propname,
4662         [retval, out] VARIANT_BOOL *pfSuccess);
4663
4664     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4665     HRESULT tabIndex([in] short v);
4666
4667     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4668     HRESULT tabIndex([retval, out] short *p);
4669
4670     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4671     HRESULT focus();
4672
4673     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4674     HRESULT accessKey([in] BSTR v);
4675
4676     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4677     HRESULT accessKey([retval, out] BSTR *p);
4678
4679     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4680     HRESULT onblur([in] VARIANT v);
4681
4682     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4683     HRESULT onblur([retval, out] VARIANT *p);
4684
4685     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4686     HRESULT onfocus([in] VARIANT v);
4687
4688     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4689     HRESULT onfocus([retval, out] VARIANT *p);
4690
4691     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4692     HRESULT onresize([in] VARIANT v);
4693
4694     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4695     HRESULT onresize([retval, out] VARIANT *p);
4696
4697     [id(DISPID_IHTMLELEMENT2_BLUR)]
4698     HRESULT blur();
4699
4700     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4701     HRESULT addFilter([in] IUnknown *pUnk);
4702
4703     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4704     HRESULT removeFilter([in] IUnknown *pUnk);
4705
4706     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4707     HRESULT clientHeight([retval, out] LONG *p);
4708
4709     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4710     HRESULT clientWidth([retval, out] LONG *p);
4711
4712     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4713     HRESULT clientTop([retval, out] LONG *p);
4714
4715     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4716     HRESULT clientLeft([retval, out] LONG *p);
4717
4718     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4719     HRESULT attachEvent(
4720         [in] BSTR event,
4721         [in] IDispatch *pDisp,
4722         [retval, out] VARIANT_BOOL *pfResult);
4723
4724     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4725     HRESULT detachEvent(
4726         [in] BSTR event,
4727         [in] IDispatch *pDisp);
4728
4729     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4730     HRESULT readyState([retval, out] VARIANT *p);
4731
4732     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4733     HRESULT onreadystatechange([in] VARIANT v);
4734
4735     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4736     HRESULT onreadystatechange([retval, out] VARIANT *p);
4737
4738     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4739     HRESULT onrowsdelete([in] VARIANT v);
4740
4741     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4742     HRESULT onrowsdelete([retval, out] VARIANT *p);
4743
4744     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4745     HRESULT onrowsinserted([in] VARIANT v);
4746
4747     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4748     HRESULT onrowsinserted([retval, out] VARIANT *p);
4749
4750     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4751     HRESULT oncellchange([in] VARIANT v);
4752
4753     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4754     HRESULT oncellchange([retval, out] VARIANT *p);
4755
4756     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4757     HRESULT dir([in] BSTR v);
4758
4759     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4760     HRESULT dir([retval, out] BSTR *p);
4761
4762     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4763     HRESULT createControlRange([retval, out] IDispatch **range);
4764
4765     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4766     HRESULT scrollHeight([retval, out] LONG *p);
4767
4768     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4769     HRESULT scrollWidth([retval, out] LONG *p);
4770
4771     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4772     HRESULT scrollTop([in] LONG v);
4773
4774     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4775     HRESULT scrollTop([retval, out] LONG *p);
4776
4777     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4778     HRESULT scrollLeft([in] LONG v);
4779
4780     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4781     HRESULT scrollLeft([retval, out] LONG *p);
4782
4783     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4784     HRESULT clearAttributes();
4785
4786     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4787     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4788
4789     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4790     HRESULT oncontextmenu([in] VARIANT v);
4791
4792     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4793     HRESULT oncontextmenu([retval, out] VARIANT *p);
4794
4795     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4796     HRESULT insertAdjacentElement(
4797         [in] BSTR where,
4798         [in] IHTMLElement *insertedElement,
4799         [retval, out] IHTMLElement **inserted);
4800
4801     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4802     HRESULT applyElement(
4803         [in] IHTMLElement *apply,
4804         [in] BSTR where,
4805         [retval, out] IHTMLElement **applied);
4806
4807     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4808     HRESULT getAdjacentText(
4809         [in] BSTR where,
4810         [retval, out] BSTR *text);
4811
4812     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4813     HRESULT replaceAdjacentText(
4814         [in] BSTR where,
4815         [in] BSTR newText,
4816         [retval, out] BSTR *oldText);
4817
4818     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4819     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4820
4821     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4822     HRESULT addBehavior(
4823         [in] BSTR bstrUrl,
4824         [optional, in] VARIANT *pvarFactory,
4825         [retval, out] LONG *pCookie);
4826
4827     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4828     HRESULT removeBehavior(
4829         [in] LONG cookie,
4830         [retval, out] VARIANT_BOOL *pfResult);
4831
4832     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4833     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4834
4835     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4836     HRESULT behaviorUrns([retval, out] IDispatch **p);
4837
4838     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4839     HRESULT tagUrn([in] BSTR v);
4840
4841     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4842     HRESULT tagUrn([retval, out] BSTR *p);
4843
4844     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4845     HRESULT onbeforeeditfocus([in] VARIANT v);
4846
4847     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4848     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4849
4850     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4851     HRESULT readyStateValue([retval, out] LONG *p);
4852
4853     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4854     HRESULT getElementsByTagName(
4855         [in] BSTR v,
4856         [retval, out] IHTMLElementCollection **pelColl);
4857 }
4858
4859 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
4860     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
4861     BSTR scopeName();                                                   \
4862                                                                         \
4863     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
4864     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
4865                                                                         \
4866     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
4867     void releaseCapture();                                              \
4868                                                                         \
4869     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4870     void onlosecapture(VARIANT v);                                      \
4871                                                                         \
4872     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4873     VARIANT onlosecapture();                                            \
4874                                                                         \
4875     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
4876     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
4877                                                                         \
4878     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
4879     void doScroll([optional, in] VARIANT component);                    \
4880                                                                         \
4881     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4882     void onscroll(VARIANT v);                                           \
4883                                                                         \
4884     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4885     VARIANT onscroll();                                                 \
4886                                                                         \
4887     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4888     void ondrag(VARIANT v);                                             \
4889                                                                         \
4890     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4891     VARIANT ondrag();                                                   \
4892                                                                         \
4893     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4894     void ondragend(VARIANT v);                                          \
4895                                                                         \
4896     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4897     VARIANT ondragend();                                                \
4898                                                                         \
4899     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4900     void ondragenter(VARIANT v);                                        \
4901                                                                         \
4902     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4903     VARIANT ondragenter();                                              \
4904                                                                         \
4905     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4906     void ondragover(VARIANT v);                                         \
4907                                                                         \
4908     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4909     VARIANT ondragover();                                               \
4910                                                                         \
4911     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4912     void ondragleave(VARIANT v);                                        \
4913                                                                         \
4914     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4915     VARIANT ondragleave();                                              \
4916                                                                         \
4917     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4918     void ondrop(VARIANT v);                                             \
4919                                                                         \
4920     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4921     VARIANT ondrop();                                                   \
4922                                                                         \
4923     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4924     void onbeforecut(VARIANT v);                                        \
4925                                                                         \
4926     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4927     VARIANT onbeforecut();                                              \
4928                                                                         \
4929     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4930     void oncut(VARIANT v);                                              \
4931                                                                         \
4932     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4933     VARIANT oncut();                                                    \
4934                                                                         \
4935     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4936     void onbeforecopy(VARIANT v);                                       \
4937                                                                         \
4938     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4939     VARIANT onbeforecopy();                                             \
4940                                                                         \
4941     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4942     void oncopy(VARIANT v);                                             \
4943                                                                         \
4944     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4945     VARIANT oncopy();                                                   \
4946                                                                         \
4947     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4948     void onbeforepaste(VARIANT v);                                      \
4949                                                                         \
4950     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4951     VARIANT onbeforepaste();                                            \
4952                                                                         \
4953     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4954     void onpaste(VARIANT v);                                            \
4955                                                                         \
4956     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4957     VARIANT onpaste();                                                  \
4958                                                                         \
4959     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
4960     IHTMLCurrentStyle* currentStyle();                                  \
4961                                                                         \
4962     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4963     void onpropertychange(VARIANT v);                                   \
4964                                                                         \
4965     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4966     VARIANT onpropertychange();                                         \
4967                                                                         \
4968     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
4969     IHTMLRectCollection* getClientRects();                              \
4970                                                                         \
4971     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
4972     IHTMLRect* getBoundingClientRect();                                 \
4973                                                                         \
4974     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
4975     void setExpression(                                                 \
4976         [in] BSTR propname,                                             \
4977         [in] BSTR expr,                                                 \
4978         [defaultvalue(""), in] BSTR lang);                              \
4979                                                                         \
4980     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
4981     VARIANT getExpression([in] BSTR propname);                          \
4982                                                                         \
4983     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
4984     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
4985                                                                         \
4986     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4987     void tabIndex(short v);                                             \
4988                                                                         \
4989     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4990     short tabIndex();                                                   \
4991                                                                         \
4992     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
4993     void focus();                                                       \
4994                                                                         \
4995     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4996     void accessKey(BSTR v);                                             \
4997                                                                         \
4998     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4999     BSTR accessKey();                                                   \
5000                                                                         \
5001     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5002     void onblur(VARIANT v);                                             \
5003                                                                         \
5004     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5005     VARIANT onblur();                                                   \
5006                                                                         \
5007     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5008     void onfocus(VARIANT v);                                            \
5009                                                                         \
5010     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5011     VARIANT onfocus();                                                  \
5012                                                                         \
5013     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5014     void onresize(VARIANT v);                                           \
5015                                                                         \
5016     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5017     VARIANT onresize();                                                 \
5018                                                                         \
5019     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5020     void blur();                                                        \
5021                                                                         \
5022     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5023     void addFilter([in] IUnknown* pUnk);                                \
5024                                                                         \
5025     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5026     void removeFilter([in] IUnknown* pUnk);                             \
5027                                                                         \
5028     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5029     LONG clientHeight();                                                \
5030                                                                         \
5031     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5032     LONG clientWidth();                                                 \
5033                                                                         \
5034     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5035     LONG clientTop();                                                   \
5036                                                                         \
5037     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5038     LONG clientLeft();                                                  \
5039                                                                         \
5040     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5041     VARIANT_BOOL attachEvent(                                           \
5042             [in] BSTR event,                                            \
5043             [in] IDispatch* pDisp);                                     \
5044                                                                         \
5045     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5046     void detachEvent(                                                   \
5047             [in] BSTR event,                                            \
5048             [in] IDispatch* pDisp);                                     \
5049                                                                         \
5050     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5051                                                                         \
5052     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5053     void onreadystatechange(VARIANT v);                                 \
5054                                                                         \
5055     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5056     VARIANT onreadystatechange();                                       \
5057                                                                         \
5058     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5059     void onrowsdelete(VARIANT v);                                       \
5060                                                                         \
5061     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5062     VARIANT onrowsdelete();                                             \
5063                                                                         \
5064     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5065     void onrowsinserted(VARIANT v);                                     \
5066                                                                         \
5067     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5068     VARIANT onrowsinserted();                                           \
5069                                                                         \
5070     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5071     void oncellchange(VARIANT v);                                       \
5072                                                                         \
5073     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5074     VARIANT oncellchange();                                             \
5075                                                                         \
5076     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5077     void dir(BSTR v);                                                   \
5078                                                                         \
5079     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5080     BSTR dir();                                                         \
5081                                                                         \
5082     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5083     IDispatch* createControlRange();                                    \
5084                                                                         \
5085     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5086     LONG scrollHeight();                                                \
5087                                                                         \
5088     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5089     LONG scrollWidth();                                                 \
5090                                                                         \
5091     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5092     void scrollTop(LONG v);                                             \
5093                                                                         \
5094     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5095     LONG scrollTop();                                                   \
5096                                                                         \
5097     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5098     void scrollLeft(LONG v);                                            \
5099                                                                         \
5100     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5101     LONG scrollLeft();                                                  \
5102                                                                         \
5103     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5104     void clearAttributes();                                             \
5105                                                                         \
5106     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5107     void oncontextmenu(VARIANT v);                                      \
5108                                                                         \
5109     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5110     VARIANT oncontextmenu();                                            \
5111                                                                         \
5112     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5113     IHTMLElement* insertAdjacentElement(                                \
5114         [in] BSTR where,                                                \
5115         [in] IHTMLElement* insertedElement);                            \
5116                                                                         \
5117     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5118     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5119                                                                         \
5120     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5121     BSTR getAdjacentText([in] BSTR where);                              \
5122                                                                         \
5123     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5124     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5125                                                                         \
5126     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5127     VARIANT_BOOL canHaveChildren();                                     \
5128                                                                         \
5129     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5130     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5131                                                                         \
5132     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5133     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5134                                                                         \
5135     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5136     IHTMLStyle* runtimeStyle();                                         \
5137                                                                         \
5138     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5139     IDispatch* behaviorUrns();                                          \
5140                                                                         \
5141     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5142     void tagUrn(BSTR v);                                                \
5143                                                                         \
5144     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5145     BSTR tagUrn();                                                      \
5146                                                                         \
5147     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5148     void onbeforeeditfocus(VARIANT v);                                  \
5149                                                                         \
5150     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5151     VARIANT onbeforeeditfocus();                                        \
5152                                                                         \
5153     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5154     LONG readyStateValue();                                             \
5155                                                                         \
5156     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5157     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5158
5159 /*****************************************************************************
5160  *    IHTMLElement3 interface
5161  */
5162 [
5163     odl,
5164     oleautomation,
5165     dual,
5166     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5167 ]
5168 interface IHTMLElement3 : IDispatch
5169 {
5170     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5171     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5172
5173     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5174     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5175
5176     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5177     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5178
5179     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5180     HRESULT onlayoutcomplete([in] VARIANT v);
5181
5182     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5183     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5184
5185     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5186     HRESULT onpage([in] VARIANT v);
5187
5188     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5189     HRESULT onpage([retval, out] VARIANT * p);
5190
5191     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5192     HRESULT inflateBlock([in] VARIANT_BOOL v);
5193
5194     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5195     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5196
5197     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5198     HRESULT onbeforedeactivate([in] VARIANT v);
5199
5200     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5201     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5202
5203     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5204
5205     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5206     HRESULT contentEditable([in] BSTR v);
5207
5208     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5209     HRESULT contentEditable([retval, out] BSTR * p);
5210
5211     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5212     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5213
5214     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5215     HRESULT hideFocus([in] VARIANT_BOOL v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5218     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5219
5220     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5221     HRESULT disabled([in] VARIANT_BOOL v);
5222
5223     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5224     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5225
5226     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5227     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5228
5229     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5230     HRESULT onmove([in] VARIANT v);
5231
5232     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5233     HRESULT onmove([retval, out] VARIANT * p);
5234
5235     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5236     HRESULT oncontrolselect([in] VARIANT v);
5237
5238     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5239     HRESULT oncontrolselect([retval, out] VARIANT * p);
5240
5241     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5242     HRESULT fireEvent(
5243         [in] BSTR bstrEventName,
5244         [optional, in] VARIANT* pvarEventObject,
5245         [retval, out] VARIANT_BOOL* pfCancelled);
5246
5247     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5248     HRESULT onresizestart([in] VARIANT v);
5249
5250     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5251     HRESULT onresizestart([retval, out] VARIANT * p);
5252
5253     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5254     HRESULT onresizeend([in] VARIANT v);
5255
5256     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5257     HRESULT onresizeend([retval, out] VARIANT * p);
5258
5259     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5260     HRESULT onmovestart([in] VARIANT v);
5261
5262     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5263     HRESULT onmovestart([retval, out] VARIANT * p);
5264
5265     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5266     HRESULT onmoveend([in] VARIANT v);
5267
5268     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5269     HRESULT onmoveend([retval, out] VARIANT * p);
5270
5271     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5272     HRESULT onmouseenter([in] VARIANT v);
5273
5274     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5275     HRESULT onmouseenter([retval, out] VARIANT * p);
5276
5277     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5278     HRESULT onmouseleave([in] VARIANT v);
5279
5280     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5281     HRESULT onmouseleave([retval, out] VARIANT * p);
5282
5283     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5284     HRESULT onactivate([in] VARIANT v);
5285
5286     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5287     HRESULT onactivate([retval, out] VARIANT * p);
5288
5289     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5290     HRESULT ondeactivate([in] VARIANT v);
5291
5292     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5293     HRESULT ondeactivate([retval, out] VARIANT * p);
5294
5295     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5296     VARIANT_BOOL* pfRet);
5297
5298     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5299     HRESULT glyphMode([retval, out] LONG * p);
5300 }
5301
5302 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5303                                                                         \
5304     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5305     void mergeAttributes(                                               \
5306             [in] IHTMLElement* mergeThis,                               \
5307             [optional, in] VARIANT* pvarFlags);                         \
5308                                                                         \
5309     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5310     VARIANT_BOOL isMultiLine();                                         \
5311                                                                         \
5312     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5313     VARIANT_BOOL canHaveHTML();                                         \
5314                                                                         \
5315     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5316     void onlayoutcomplete(VARIANT v);                                   \
5317                                                                         \
5318     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5319     VARIANT onlayoutcomplete();                                         \
5320                                                                         \
5321     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5322     void onpage(VARIANT v);                                             \
5323                                                                         \
5324     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5325     VARIANT onpage();                                                   \
5326                                                                         \
5327     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5328     void inflateBlock(VARIANT_BOOL v);                                  \
5329                                                                         \
5330     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5331     VARIANT_BOOL inflateBlock();                                        \
5332                                                                         \
5333     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5334     void onbeforedeactivate(VARIANT v);                                 \
5335                                                                         \
5336     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5337     VARIANT onbeforedeactivate();                                       \
5338                                                                         \
5339     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5340     void setActive();                                                   \
5341                                                                         \
5342     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5343     void contentEditable(BSTR v);                                       \
5344                                                                         \
5345     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5346     BSTR contentEditable();                                             \
5347                                                                         \
5348     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5349     VARIANT_BOOL isContentEditable();                                   \
5350                                                                         \
5351     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5352     void hideFocus(VARIANT_BOOL v);                                     \
5353                                                                         \
5354     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5355     VARIANT_BOOL hideFocus();                                           \
5356                                                                         \
5357     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5358     void disabled(VARIANT_BOOL v);                                      \
5359                                                                         \
5360     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5361     VARIANT_BOOL disabled();                                            \
5362                                                                         \
5363     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5364     VARIANT_BOOL isDisabled();                                          \
5365                                                                         \
5366     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5367     void onmove(VARIANT v);                                             \
5368                                                                         \
5369     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5370     VARIANT onmove();                                                   \
5371                                                                         \
5372     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5373     void oncontrolselect(VARIANT v);                                    \
5374                                                                         \
5375     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5376     VARIANT oncontrolselect();                                          \
5377                                                                         \
5378     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5379     VARIANT_BOOL fireEvent(                                             \
5380         [in] BSTR bstrEventName,                                        \
5381         [optional, in] VARIANT* pvarEventObject);                       \
5382                                                                         \
5383     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5384     void onresizestart(VARIANT v);                                      \
5385                                                                         \
5386     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5387     VARIANT onresizestart();                                            \
5388                                                                         \
5389     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5390     void onresizeend(VARIANT v);                                        \
5391                                                                         \
5392     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5393     VARIANT onresizeend();                                              \
5394                                                                         \
5395     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5396     void onmovestart(VARIANT v);                                        \
5397                                                                         \
5398     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5399     VARIANT onmovestart();                                              \
5400                                                                         \
5401     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5402     void onmoveend(VARIANT v);                                          \
5403                                                                         \
5404     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5405     VARIANT onmoveend();                                                \
5406                                                                         \
5407     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5408     void onmouseenter(VARIANT v);                                       \
5409                                                                         \
5410     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5411     VARIANT onmouseenter();                                             \
5412                                                                         \
5413     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5414     void onmouseleave(VARIANT v);                                       \
5415                                                                         \
5416     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5417     VARIANT onmouseleave();                                             \
5418                                                                         \
5419     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5420     void onactivate(VARIANT v);                                         \
5421                                                                         \
5422     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5423     VARIANT onactivate();                                               \
5424                                                                         \
5425     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5426     void ondeactivate(VARIANT v);                                       \
5427                                                                         \
5428     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5429     VARIANT ondeactivate();                                             \
5430                                                                         \
5431     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5432     VARIANT_BOOL dragDrop();                                            \
5433                                                                         \
5434     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5435     LONG glyphMode()
5436
5437 /*****************************************************************************
5438  *    IHTMLElement4 interface
5439  */
5440 [
5441     odl,
5442     oleautomation,
5443     dual,
5444     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5445 ]
5446 interface IHTMLElement4 : IDispatch
5447 {
5448     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5449     HRESULT onmousewheel([in] VARIANT v);
5450
5451     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5452     HRESULT onmousewheel([retval, out] VARIANT * p);
5453
5454     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5455     HRESULT normalize();
5456
5457     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5458     HRESULT getAttributeNode([in] BSTR bstrname,
5459         [retval, out] IHTMLDOMAttribute** ppAttribute);
5460
5461     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5462     HRESULT setAttributeNode(
5463         [in] IHTMLDOMAttribute* pattr,
5464         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5465
5466     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5467     HRESULT removeAttributeNode(
5468         [in] IHTMLDOMAttribute* pattr,
5469         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5470
5471     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5472     HRESULT onbeforeactivate([in] VARIANT v);
5473
5474     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5475     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5476
5477     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5478     HRESULT onfocusin([in] VARIANT v);
5479
5480     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5481     HRESULT onfocusin([retval, out] VARIANT * p);
5482
5483     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5484     HRESULT onfocusout([in] VARIANT v);
5485
5486     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5487     HRESULT onfocusout([retval, out] VARIANT * p);
5488 }
5489
5490 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5491     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5492     void onmousewheel(VARIANT v);                                       \
5493                                                                         \
5494     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5495     VARIANT onmousewheel();                                             \
5496                                                                         \
5497     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5498     void normalize();                                                   \
5499                                                                         \
5500     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5501     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5502                                                                         \
5503     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5504     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5505                                                                         \
5506     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5507     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5508                                                                         \
5509     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5510     void onbeforeactivate(VARIANT v);                                   \
5511                                                                         \
5512     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5513     VARIANT onbeforeactivate();                                         \
5514                                                                         \
5515     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5516     void onfocusin(VARIANT v);                                          \
5517                                                                         \
5518     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5519     VARIANT onfocusin();                                                \
5520                                                                         \
5521     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5522     void onfocusout(VARIANT v);                                         \
5523                                                                         \
5524     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5525     VARIANT onfocusout()
5526
5527 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5528     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5529     IHTMLElement *querySelector([in] BSTR v);                   \
5530                                                                 \
5531     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5532     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5533
5534 /*****************************************************************************
5535  *    IHTMLUniqueName interface
5536  */
5537 [
5538     odl,
5539     oleautomation,
5540     dual,
5541     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5542 ]
5543 interface IHTMLUniqueName : IDispatch
5544 {
5545     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5546     HRESULT uniqueNumber([retval, out] LONG * p);
5547
5548     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5549     HRESULT uniqueID([retval, out] BSTR * p);
5550 }
5551
5552 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5553     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5554     LONG uniqueNumber();                                        \
5555                                                                 \
5556     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5557     BSTR uniqueID()
5558
5559 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5560     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5561     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5562                                                                         \
5563     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5564     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5565                                                                         \
5566     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5567     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5568                                                                         \
5569     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5570     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5571                                                                         \
5572     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5573     void role(BSTR v);                                                  \
5574                                                                         \
5575     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5576     BSTR role();                                                        \
5577                                                                         \
5578     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5579     void ariaBusy(BSTR v);                                              \
5580                                                                         \
5581     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5582     BSTR ariaBusy();                                                    \
5583                                                                         \
5584     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5585     void ariaChecked(BSTR v);                                           \
5586                                                                         \
5587     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5588     BSTR ariaChecked();                                                 \
5589                                                                         \
5590     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5591     void ariaDisabled(BSTR v);                                          \
5592                                                                         \
5593     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5594     BSTR ariaDisabled();                                                \
5595                                                                         \
5596     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5597     void ariaExpanded(BSTR v);                                          \
5598                                                                         \
5599     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5600     BSTR ariaExpanded();                                                \
5601                                                                         \
5602     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5603     void ariaHaspopup(BSTR v);                                          \
5604                                                                         \
5605     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5606     BSTR ariaHaspopup();                                                \
5607                                                                         \
5608     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5609     void ariaHidden(BSTR v);                                            \
5610                                                                         \
5611     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5612     BSTR ariaHidden();                                                  \
5613                                                                         \
5614     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5615     void ariaInvalid(BSTR v);                                           \
5616                                                                         \
5617     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5618     BSTR ariaInvalid();                                                 \
5619                                                                         \
5620     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5621     void ariaMultiselectable(BSTR v);                                   \
5622                                                                         \
5623     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5624     BSTR ariaMultiselectable();                                         \
5625                                                                         \
5626     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5627     void ariaPressed(BSTR v);                                           \
5628                                                                         \
5629     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5630     BSTR ariaPressed();                                                 \
5631                                                                         \
5632     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5633     void ariaReadonly(BSTR v);                                          \
5634                                                                         \
5635     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5636     BSTR ariaReadonly();                                                \
5637                                                                         \
5638     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5639     void ariaRequired(BSTR v);                                          \
5640                                                                         \
5641     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5642     BSTR ariaRequired();                                                \
5643                                                                         \
5644     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5645     void ariaSecret(BSTR v);                                            \
5646                                                                         \
5647     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5648     BSTR ariaSecret();                                                  \
5649                                                                         \
5650     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5651     void ariaSelected(BSTR v);                                          \
5652                                                                         \
5653     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5654     BSTR ariaSelected();                                                \
5655                                                                         \
5656     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
5657     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
5658                                                                         \
5659     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
5660     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
5661                                                                         \
5662     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
5663     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
5664                                                                         \
5665     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
5666     IHTMLAttributeCollection3 *ie8_attributes();                        \
5667                                                                         \
5668     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5669     void ariaValuenow(BSTR v);                                          \
5670                                                                         \
5671     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5672     BSTR ariaValuenow();                                                \
5673                                                                         \
5674     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5675     void ariaPosinset(short v);                                         \
5676                                                                         \
5677     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5678     short ariaPosinset();                                               \
5679                                                                         \
5680     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5681     void ariaSetsize(short v);                                          \
5682                                                                         \
5683     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5684     short ariaSetsize();                                                \
5685                                                                         \
5686     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5687     void ariaLevel(short v);                                            \
5688                                                                         \
5689     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5690     short ariaLevel();                                                  \
5691                                                                         \
5692     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5693     void ariaValuemin(BSTR v);                                          \
5694                                                                         \
5695     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5696     BSTR ariaValuemin();                                                \
5697                                                                         \
5698     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5699     void ariaValuemax(BSTR v);                                          \
5700                                                                         \
5701     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5702     BSTR ariaValuemax();                                                \
5703                                                                         \
5704     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5705     void ariaControls(BSTR v);                                          \
5706                                                                         \
5707     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5708     BSTR ariaControls();                                                \
5709                                                                         \
5710     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5711     void ariaDescribedby(BSTR v);                                       \
5712                                                                         \
5713     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5714     BSTR ariaDescribedby();                                             \
5715                                                                         \
5716     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5717     void ariaFlowto(BSTR v);                                            \
5718                                                                         \
5719     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5720     BSTR ariaFlowto();                                                  \
5721                                                                         \
5722     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5723     void ariaLabelledby(BSTR v);                                        \
5724                                                                         \
5725     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5726     BSTR ariaLabelledby();                                              \
5727                                                                         \
5728     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5729     void ariaActivedescendant(BSTR v);                                  \
5730                                                                         \
5731     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5732     BSTR ariaActivedescendant();                                        \
5733                                                                         \
5734     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5735     void ariaOwns(BSTR v);                                              \
5736                                                                         \
5737     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5738     BSTR ariaOwns();                                                    \
5739                                                                         \
5740     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
5741     VARIANT_BOOL hasAttributes();                                       \
5742                                                                         \
5743     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5744     void ariaLive(BSTR v);                                              \
5745                                                                         \
5746     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5747     BSTR ariaLive();                                                    \
5748                                                                         \
5749     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5750     void ariaRelevant(BSTR v);                                          \
5751                                                                         \
5752     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5753     BSTR ariaRelevant()
5754
5755 [
5756     odl,
5757     oleautomation,
5758     dual,
5759     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
5760 ]
5761 interface IHTMLDatabinding : IDispatch
5762 {
5763     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5764     HRESULT dataFld([in] BSTR v);
5765
5766     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5767     HRESULT dataFld([retval, out] BSTR * p);
5768
5769     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5770     HRESULT dataSrc([in] BSTR v);
5771
5772     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5773     HRESULT dataSrc([retval, out] BSTR * p);
5774
5775     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5776     HRESULT dataFormatAs([in] BSTR v);
5777
5778     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5779     HRESULT dataFormatAs([retval, out] BSTR * p);
5780 }
5781
5782 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
5783     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5784     void dataFld(BSTR v);                               \
5785                                                         \
5786     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5787     BSTR dataFld();                                     \
5788                                                         \
5789     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5790     void dataSrc(BSTR v);                               \
5791                                                         \
5792     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5793     BSTR dataSrc();                                     \
5794                                                         \
5795     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5796     void dataFormatAs(BSTR v);                          \
5797                                                         \
5798     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5799     BSTR dataFormatAs()
5800
5801 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
5802     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5803     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5804     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5805     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5806     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5807     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5808     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5809     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5810
5811 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
5812     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5813     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5814     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5815     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5816     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5817     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5818     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
5819     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5820     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
5821     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5822
5823 /*****************************************************************************
5824  *    IHTMLGenericElement interface
5825  */
5826 [
5827     odl,
5828     oleautomation,
5829     dual,
5830     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
5831 ]
5832 interface IHTMLGenericElement : IDispatch
5833 {
5834     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5835     HRESULT recordset([out, retval] IDispatch **p);
5836
5837     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5838     HRESULT namedRecordset(
5839             [in] BSTR dataMember,
5840             [in, optional] VARIANT *hierarchy,
5841             [out, retval] IDispatch **ppRecordset);
5842 }
5843
5844 /*****************************************************************************
5845  *    DispHTMLGenericElement dispinterface
5846  */
5847 [
5848     hidden,
5849     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
5850 ]
5851 dispinterface DispHTMLGenericElement
5852 {
5853 properties:
5854 methods:
5855     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
5856
5857     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5858     IDispatch *recordset();
5859
5860     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5861     IDispatch *namedRecordset(
5862             [in] BSTR dataMember,
5863             [in, optional] VARIANT *hierarchy);
5864 }
5865
5866 /*****************************************************************************
5867  *    IHTMLStyleSheetRule interface
5868  */
5869 [
5870     odl,
5871     oleautomation,
5872     dual,
5873     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5874 ]
5875 interface IHTMLStyleSheetRule : IDispatch
5876 {
5877     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5878     HRESULT selectorText([in] BSTR v);
5879
5880     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5881     HRESULT selectorText([retval, out] BSTR *p);
5882
5883     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5884     HRESULT style([retval, out] IHTMLRuleStyle **p);
5885
5886     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5887     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5888 }
5889
5890 [
5891     hidden,
5892     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5893 ]
5894 dispinterface DispHTMLStyleSheetRule
5895 {
5896 properties:
5897 methods:
5898     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5899     void selectorText(BSTR v);
5900
5901     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5902     BSTR selectorText();
5903
5904     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5905     IHTMLRuleStyle* style();
5906
5907     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5908     VARIANT_BOOL readOnly();
5909
5910     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5911 }
5912
5913 [
5914     noncreatable,
5915     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5916 ]
5917 coclass HTMLStyleSheetRule
5918 {
5919     [default]           dispinterface DispHTMLStyleSheetRule;
5920                         interface IHTMLStyleSheetRule;
5921                         interface IHTMLDOMConstructor;
5922 }
5923
5924 /*****************************************************************************
5925  *    IHTMLStyleSheetRulesCollection interface
5926  */
5927 [
5928     odl,
5929     oleautomation,
5930     dual,
5931     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5932 ]
5933 interface IHTMLStyleSheetRulesCollection : IDispatch
5934 {
5935     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5936     HRESULT length([retval, out] LONG *p);
5937
5938     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5939     HRESULT item(
5940         [in] LONG index,
5941         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5942 }
5943
5944 [
5945     hidden,
5946     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5947 ]
5948 dispinterface DispHTMLStyleSheetRulesCollection
5949 {
5950 properties:
5951 methods:
5952     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5953     long length();
5954
5955     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5956     IHTMLStyleSheetRule* item([in] long index);
5957
5958     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5959 }
5960
5961 [
5962     noncreatable,
5963     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5964 ]
5965 coclass HTMLStyleSheetRulesCollection
5966 {
5967     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5968                         interface IHTMLStyleSheetRulesCollection;
5969                         interface IHTMLDOMConstructor;
5970 }
5971
5972 [
5973     odl,
5974     oleautomation,
5975     dual,
5976     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5977 ]
5978 interface IHTMLStyleSheetPage : IDispatch
5979 {
5980     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5981     HRESULT selector([retval, out] BSTR *p);
5982
5983     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5984     HRESULT pseudoClass([retval, out] BSTR *p);
5985 }
5986
5987 [
5988     hidden,
5989     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5990 ]
5991 dispinterface DispHTMLStyleSheetPage
5992 {
5993 properties:
5994 methods:
5995     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5996     BSTR selector();
5997
5998     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5999     BSTR pseudoClass();
6000
6001     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6002 }
6003 [
6004     noncreatable,
6005     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6006 ]
6007 coclass HTMLStyleSheetPage
6008 {
6009     [default]           dispinterface DispHTMLStyleSheetPage;
6010                         interface IHTMLStyleSheetPage;
6011                         interface IHTMLDOMConstructor;
6012 }
6013
6014 [
6015     odl,
6016     oleautomation,
6017     dual,
6018     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6019 ]
6020 interface IHTMLStyleSheetPagesCollection : IDispatch
6021 {
6022     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6023     HRESULT length([retval, out] LONG *p);
6024
6025     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6026     HRESULT item(
6027         [in] LONG index,
6028         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6029 }
6030
6031 [
6032     hidden,
6033     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6034 ]
6035 dispinterface DispHTMLStyleSheetPagesCollection
6036 {
6037 properties:
6038 methods:
6039     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6040     long length();
6041
6042     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6043     IHTMLStyleSheetPage* item([in] long index);
6044
6045     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6046 }
6047
6048 [
6049     noncreatable,
6050     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6051 ]
6052 coclass HTMLStyleSheetPagesCollection
6053 {
6054     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6055                         interface IHTMLStyleSheetPagesCollection;
6056                         interface IHTMLDOMConstructor;
6057 }
6058
6059 /*****************************************************************************
6060  *    IHTMLStyleSheet interface
6061  */
6062 [
6063     odl,
6064     oleautomation,
6065     dual,
6066     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6067 ]
6068 interface IHTMLStyleSheet : IDispatch
6069 {
6070     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6071     HRESULT title([in] BSTR v);
6072
6073     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6074     HRESULT title([retval, out] BSTR *p);
6075
6076     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6077     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6078
6079     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6080     HRESULT owningElement([retval, out] IHTMLElement **p);
6081
6082     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6083     HRESULT disabled([in] VARIANT_BOOL v);
6084
6085     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6086     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6087
6088     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6089     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6090
6091     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6092     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6093
6094     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6095     HRESULT href([in] BSTR v);
6096
6097     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6098     HRESULT href([retval, out] BSTR *p);
6099
6100     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6101     HRESULT type([retval, out] BSTR *p);
6102
6103     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6104     HRESULT id([retval, out] BSTR *p);
6105
6106     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6107     HRESULT addImport(
6108         [in] BSTR bstrURL,
6109         [defaultvalue(-1), in] LONG lIndex,
6110         [retval, out] LONG *plIndex);
6111
6112     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6113     HRESULT addRule(
6114         [in] BSTR bstrSelector,
6115         [in] BSTR bstrStyle,
6116         [defaultvalue(-1), in] LONG lIndex,
6117         [retval, out] LONG *plNewIndex);
6118
6119     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6120     HRESULT removeImport([in] LONG lIndex);
6121
6122     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6123     HRESULT removeRule([in] LONG lIndex);
6124
6125     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6126     HRESULT media([in] BSTR v);
6127
6128     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6129     HRESULT media([retval, out] BSTR *p);
6130
6131     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6132     HRESULT cssText([in] BSTR v);
6133
6134     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6135     HRESULT cssText([retval, out] BSTR *p);
6136
6137     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6138     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6139 }
6140
6141 /*****************************************************************************
6142  *    IHTMLStyleSheet2 interface
6143  */
6144 [
6145     odl,
6146     oleautomation,
6147     dual,
6148     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6149 ]
6150 interface IHTMLStyleSheet2 : IDispatch
6151 {
6152     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6153     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6154
6155     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6156     HRESULT addPageRule(
6157         [in] BSTR bstrSelector,
6158         [in] BSTR bstrStyle,
6159         [defaultvalue(-1), in] LONG lIndex,
6160         [retval, out] LONG *plNewIndex);
6161 }
6162
6163 [
6164     hidden,
6165     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6166 ]
6167 dispinterface DispHTMLStyleSheet
6168 {
6169 properties:
6170 methods:
6171     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6172     void title(BSTR v);
6173
6174     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6175     BSTR title();
6176
6177     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6178     IHTMLStyleSheet* parentStyleSheet();
6179
6180     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6181     IHTMLElement* owningElement();
6182
6183     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6184     void disabled(VARIANT_BOOL v);
6185
6186     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6187     VARIANT_BOOL disabled();
6188
6189     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6190     VARIANT_BOOL readOnly();
6191
6192     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6193     IHTMLStyleSheetsCollection* imports();
6194
6195     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6196     void href(BSTR v);
6197
6198     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6199     BSTR href();
6200
6201     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6202     BSTR type();
6203
6204     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6205     BSTR id();
6206
6207     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6208     LONG addImport(
6209         [in] BSTR bstrURL,
6210         [defaultvalue(-1), in] LONG lIndex);
6211
6212     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6213     LONG addRule(
6214         [in] BSTR bstrSelector,
6215         [in] BSTR bstrStyle,
6216         [defaultvalue(-1), in] LONG lIndex);
6217
6218     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6219     void removeImport([in] LONG lIndex);
6220
6221     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6222     void removeRule([in] LONG lIndex);
6223
6224     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6225     void media(BSTR v);
6226
6227     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6228     BSTR media();
6229
6230     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6231     void cssText(BSTR v);
6232
6233     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6234     BSTR cssText();
6235
6236     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6237     IHTMLStyleSheetRulesCollection* rules();
6238
6239     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6240     IHTMLStyleSheetPagesCollection* pages();
6241
6242     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6243     LONG addPageRule(
6244         [in] BSTR bstrSelector,
6245         [in] BSTR bstrStyle,
6246         [defaultvalue(-1), in] LONG lIndex);
6247 }
6248
6249 [
6250     noncreatable,
6251     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6252 ]
6253 coclass HTMLStyleSheet
6254 {
6255     [default]           dispinterface DispHTMLStyleSheet;
6256                         interface IHTMLStyleSheet;
6257                         interface IHTMLStyleSheet2;
6258 }
6259
6260 /*****************************************************************************
6261  *    IHTMLStyleSheetsCollection interface
6262  */
6263 [
6264     odl,
6265     oleautomation,
6266     dual,
6267     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6268 ]
6269 interface IHTMLStyleSheetsCollection : IDispatch
6270 {
6271     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6272     HRESULT length([retval, out] LONG *p);
6273
6274     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6275     HRESULT _newEnum([retval, out] IUnknown **p);
6276
6277     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6278     HRESULT item(
6279         [in] VARIANT *pvarIndex,
6280         [retval, out] VARIANT *pvarResult);
6281 }
6282
6283 /*****************************************************************************
6284  *    DispHTMLStyleSheetsCollection dispinterface
6285  */
6286 [
6287     hidden,
6288     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6289 ]
6290 dispinterface DispHTMLStyleSheetsCollection
6291 {
6292 properties:
6293 methods:
6294     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6295     long length();
6296
6297     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6298     IUnknown *_newEnum();
6299
6300     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6301     VARIANT item([in] VARIANT *pvarIndex);
6302
6303     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6304     IDispatch *constructor();
6305 }
6306
6307 /*****************************************************************************
6308  *    IHTMLTxtRange interface
6309  */
6310 [
6311     odl,
6312     oleautomation,
6313     dual,
6314     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6315 ]
6316 interface IHTMLTxtRange : IDispatch
6317 {
6318     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6319     HRESULT htmlText([retval, out] BSTR *p);
6320
6321     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6322     HRESULT text([in] BSTR v);
6323
6324     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6325     HRESULT text([retval, out] BSTR *p);
6326
6327     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6328     HRESULT parentElement([retval, out] IHTMLElement **parent);
6329
6330     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6331     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6332
6333     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6334     HRESULT inRange(
6335         [in] IHTMLTxtRange *Range,
6336         [retval, out] VARIANT_BOOL *InRange);
6337
6338     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6339     HRESULT isEqual(
6340         [in] IHTMLTxtRange *Range,
6341         [retval, out] VARIANT_BOOL *IsEqual);
6342
6343     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6344     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6345
6346     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6347     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6348
6349     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6350     HRESULT expand(
6351         [in] BSTR Unit,
6352         [retval, out] VARIANT_BOOL *Success);
6353
6354     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6355     HRESULT move(
6356         [in] BSTR Unit,
6357         [defaultvalue(1), in] LONG Count,
6358         [retval, out] LONG *ActualCount);
6359
6360     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6361     HRESULT moveStart(
6362         [in] BSTR Unit,
6363         [defaultvalue(1), in] LONG Count,
6364         [retval, out] LONG *ActualCount);
6365
6366     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6367     HRESULT moveEnd(
6368         [in] BSTR Unit,
6369         [defaultvalue(1), in] LONG Count,
6370         [retval, out] LONG *ActualCount);
6371
6372     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6373     HRESULT select();
6374
6375     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6376     HRESULT pasteHTML([in] BSTR html);
6377
6378     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6379     HRESULT moveToElementText([in] IHTMLElement *element);
6380
6381     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6382     HRESULT setEndPoint(
6383         [in] BSTR how,
6384         [in] IHTMLTxtRange *SourceRange);
6385
6386     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6387     HRESULT compareEndPoints(
6388         [in] BSTR how,
6389         [in] IHTMLTxtRange *SourceRange,
6390         [retval, out] LONG *ret);
6391
6392     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6393     HRESULT findText(
6394         [in] BSTR String,
6395         [defaultvalue(1073741823), in] LONG count,
6396         [defaultvalue(0), in] LONG Flags,
6397         [retval, out] VARIANT_BOOL *Success);
6398
6399     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6400     HRESULT moveToPoint(
6401         [in] LONG x,
6402         [in] LONG y);
6403
6404     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6405     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6406
6407     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6408     HRESULT moveToBookmark(
6409         [in] BSTR Bookmark,
6410         [retval, out] VARIANT_BOOL *Success);
6411
6412     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6413     HRESULT queryCommandSupported(
6414         [in] BSTR cmdID,
6415         [retval, out] VARIANT_BOOL *pfRet);
6416
6417     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6418     HRESULT queryCommandEnabled(
6419         [in] BSTR cmdID,
6420         [retval, out] VARIANT_BOOL *pfRet);
6421
6422     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6423     HRESULT queryCommandState(
6424         [in] BSTR cmdID,
6425         [retval, out] VARIANT_BOOL *pfRet);
6426
6427     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6428     HRESULT queryCommandIndeterm(
6429         [in] BSTR cmdID,
6430         [retval, out] VARIANT_BOOL *pfRet);
6431
6432     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6433     HRESULT queryCommandText(
6434         [in] BSTR cmdID,
6435         [retval, out] BSTR *pcmdText);
6436
6437     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6438     HRESULT queryCommandValue(
6439         [in] BSTR cmdID,
6440         [retval, out] VARIANT *pcmdValue);
6441
6442     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6443     HRESULT execCommand(
6444         [in] BSTR cmdID,
6445         [defaultvalue(0), in] VARIANT_BOOL showUI,
6446         [optional, in] VARIANT value,
6447         [retval, out] VARIANT_BOOL *pfRet);
6448
6449     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6450     HRESULT execCommandShowHelp(
6451         [in] BSTR cmdID,
6452         [retval, out] VARIANT_BOOL *pfRet);
6453 }
6454
6455 [
6456     noncreatable,
6457     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6458 ]
6459 coclass HTMLStyleSheetsCollection
6460 {
6461     [default]           interface IHTMLStyleSheetsCollection;
6462 }
6463
6464 /*****************************************************************************
6465  *    IHTMLFormElement interface
6466  */
6467 [
6468     odl,
6469     oleautomation,
6470     dual,
6471     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6472 ]
6473 interface IHTMLFormElement : IDispatch
6474 {
6475     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6476     HRESULT action([in] BSTR v);
6477
6478     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6479     HRESULT action([retval, out] BSTR *p);
6480
6481     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6482     HRESULT dir([in] BSTR v);
6483
6484     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6485     HRESULT dir([retval, out] BSTR *p);
6486
6487     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6488     HRESULT encoding([in] BSTR v);
6489
6490     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6491     HRESULT encoding([retval, out] BSTR *p);
6492
6493     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6494     HRESULT method([in] BSTR v);
6495
6496     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6497     HRESULT method([retval, out] BSTR *p);
6498
6499     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6500     HRESULT elements([retval, out] IDispatch **p);
6501
6502     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6503     HRESULT target([in] BSTR v);
6504
6505     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6506     HRESULT target([retval, out] BSTR *p);
6507
6508     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6509     HRESULT name([in] BSTR v);
6510
6511     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6512     HRESULT name([retval, out] BSTR *p);
6513
6514     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6515     HRESULT onsubmit([in] VARIANT v);
6516
6517     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6518     HRESULT onsubmit([retval, out] VARIANT *p);
6519
6520     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6521     HRESULT onreset([in] VARIANT v);
6522
6523     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6524     HRESULT onreset([retval, out] VARIANT *p);
6525
6526     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6527     HRESULT submit();
6528
6529     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6530     HRESULT reset();
6531
6532     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6533     HRESULT length([in] LONG v);
6534
6535     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6536     HRESULT length([retval, out] LONG *p);
6537
6538     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6539     HRESULT _newEnum([retval, out] IUnknown **p);
6540
6541     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6542     HRESULT item(
6543         [optional, in] VARIANT name,
6544         [optional, in] VARIANT index,
6545         [retval, out] IDispatch **pdisp);
6546
6547     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6548     HRESULT tags(
6549         [in] VARIANT tagName,
6550         [retval, out] IDispatch **pdisp);
6551 }
6552
6553 /*****************************************************************************
6554  *    DispHTMLFormElement dispinterface
6555  */
6556 [
6557     hidden,
6558     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6559 ]
6560 dispinterface DispHTMLFormElement
6561 {
6562 properties:
6563 methods:
6564     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6565
6566     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6567     void action(BSTR v);
6568
6569     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6570     BSTR action();
6571
6572     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6573     void encoding(BSTR v);
6574
6575     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6576     BSTR encoding();
6577
6578     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6579     void method(BSTR v);
6580
6581     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6582     BSTR method();
6583
6584     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6585     IDispatch *elements();
6586
6587     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6588     void target(BSTR v);
6589
6590     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6591     BSTR target();
6592
6593     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6594     void name(BSTR v);
6595
6596     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6597     BSTR name();
6598
6599     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6600     void onsubmit(VARIANT v);
6601
6602     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6603     VARIANT onsubmit();
6604
6605     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6606     void onreset(VARIANT v);
6607
6608     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6609     VARIANT onreset();
6610
6611     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6612     void submit();
6613
6614     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6615     void reset();
6616
6617     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6618     void length(long v);
6619
6620     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6621     long length();
6622
6623     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6624     IUnknown *_newEnum();
6625
6626     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6627     IDispatch *item(VARIANT name, VARIANT index);
6628
6629     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6630     IDispatch *tags(VARIANT tagName);
6631 }
6632
6633 [
6634     hidden,
6635     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
6636 ]
6637 dispinterface HTMLFormElementEvents
6638 {
6639 properties:
6640 methods:
6641     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
6642     VARIANT_BOOL onhelp();
6643
6644     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
6645     VARIANT_BOOL onclick();
6646
6647     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
6648     VARIANT_BOOL ondblclick();
6649
6650     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
6651     VARIANT_BOOL onkeypress();
6652
6653     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
6654     void onkeydown();
6655
6656     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
6657     void onkeyup();
6658
6659     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
6660     void onmouseout();
6661
6662     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
6663     void onmouseover();
6664
6665     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
6666     void onmousemove();
6667
6668     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
6669     void onmousedown();
6670
6671     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
6672     void onmouseup();
6673
6674     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
6675     VARIANT_BOOL onselectstart();
6676
6677     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
6678     void onfilterchange();
6679
6680     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
6681     VARIANT_BOOL ondragstart();
6682
6683     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
6684     VARIANT_BOOL onbeforeupdate();
6685
6686     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
6687     void onafterupdate();
6688
6689     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
6690     VARIANT_BOOL onerrorupdate();
6691
6692     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
6693     VARIANT_BOOL onrowexit();
6694
6695     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
6696     void onrowenter();
6697
6698     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
6699     void ondatasetchanged();
6700
6701     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
6702     void ondataavailable();
6703
6704     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
6705     void ondatasetcomplete();
6706
6707     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
6708     void onlosecapture();
6709
6710     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
6711     void onpropertychange();
6712
6713     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
6714     void onscroll();
6715
6716     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
6717     void onfocus();
6718
6719     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
6720     void onblur();
6721
6722     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
6723     void onresize();
6724
6725     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
6726     VARIANT_BOOL ondrag();
6727
6728     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
6729     void ondragend();
6730
6731     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
6732     VARIANT_BOOL ondragenter();
6733
6734     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
6735     VARIANT_BOOL ondragover();
6736
6737     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
6738     void ondragleave();
6739
6740     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
6741     VARIANT_BOOL ondrop();
6742
6743     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
6744     VARIANT_BOOL onbeforecut();
6745
6746     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
6747     VARIANT_BOOL oncut();
6748
6749     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
6750     VARIANT_BOOL onbeforecopy();
6751
6752     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
6753     VARIANT_BOOL oncopy();
6754
6755     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
6756     VARIANT_BOOL onbeforepaste();
6757
6758     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
6759     VARIANT_BOOL onpaste();
6760
6761     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
6762     VARIANT_BOOL oncontextmenu();
6763
6764     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
6765     void onrowsdelete();
6766
6767     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
6768     void onrowsinserted();
6769
6770     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
6771     void oncellchange();
6772
6773     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
6774     void onreadystatechange();
6775
6776     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
6777     void onbeforeeditfocus();
6778
6779     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
6780     void onlayoutcomplete();
6781
6782     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
6783     void onpage();
6784
6785     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
6786     VARIANT_BOOL onbeforedeactivate();
6787
6788     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
6789     VARIANT_BOOL onbeforeactivate();
6790
6791     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
6792     void onmove();
6793
6794     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
6795     VARIANT_BOOL oncontrolselect();
6796
6797     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
6798     VARIANT_BOOL onmovestart();
6799
6800     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
6801     void onmoveend();
6802
6803     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
6804     VARIANT_BOOL onresizestart();
6805
6806     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
6807     void onresizeend();
6808
6809     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
6810     void onmouseenter();
6811
6812     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
6813     void onmouseleave();
6814
6815     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
6816     VARIANT_BOOL onmousewheel();
6817
6818     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
6819     void onactivate();
6820
6821     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
6822     void ondeactivate();
6823
6824     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
6825     void onfocusin();
6826
6827     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
6828     void onfocusout();
6829
6830     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
6831     VARIANT_BOOL onsubmit();
6832
6833     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
6834     VARIANT_BOOL onreset();
6835 }
6836
6837 interface IHTMLEventObj;
6838
6839 [
6840     hidden,
6841     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
6842 ]
6843 dispinterface HTMLFormElementEvents2
6844 {
6845 properties:
6846 methods:
6847     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
6848     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
6849
6850     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
6851     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
6852
6853     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
6854     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
6855
6856     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
6857     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
6858
6859     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
6860     void onkeydown([in] IHTMLEventObj* pEvtObj);
6861
6862     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
6863     void onkeyup([in] IHTMLEventObj* pEvtObj);
6864
6865     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
6866     void onmouseout([in] IHTMLEventObj* pEvtObj);
6867
6868     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
6869     void onmouseover([in] IHTMLEventObj* pEvtObj);
6870
6871     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
6872     void onmousemove([in] IHTMLEventObj* pEvtObj);
6873
6874     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
6875     void onmousedown([in] IHTMLEventObj* pEvtObj);
6876
6877     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
6878     void onmouseup([in] IHTMLEventObj* pEvtObj);
6879
6880     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
6881     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
6882
6883     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
6884     void onfilterchange([in] IHTMLEventObj* pEvtObj);
6885
6886     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
6887     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
6888
6889     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
6890     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
6891
6892     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
6893     void onafterupdate([in] IHTMLEventObj* pEvtObj);
6894
6895     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
6896     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
6897
6898     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
6899     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
6900
6901     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
6902     void onrowenter([in] IHTMLEventObj* pEvtObj);
6903
6904     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
6905     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
6906
6907     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
6908     void ondataavailable([in] IHTMLEventObj* pEvtObj);
6909
6910     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
6911     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
6912
6913     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
6914     void onlosecapture([in] IHTMLEventObj* pEvtObj);
6915
6916     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
6917     void onpropertychange([in] IHTMLEventObj* pEvtObj);
6918
6919     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
6920     void onscroll([in] IHTMLEventObj* pEvtObj);
6921
6922     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
6923     void onfocus([in] IHTMLEventObj* pEvtObj);
6924
6925     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
6926     void onblur([in] IHTMLEventObj* pEvtObj);
6927
6928     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
6929     void onresize([in] IHTMLEventObj* pEvtObj);
6930
6931     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
6932     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
6933
6934     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
6935     void ondragend([in] IHTMLEventObj* pEvtObj);
6936
6937     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
6938     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
6939
6940     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
6941     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
6942
6943     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
6944     void ondragleave([in] IHTMLEventObj* pEvtObj);
6945
6946     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
6947     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
6948
6949     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
6950     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
6951
6952     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
6953     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
6954
6955     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
6956     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
6957
6958     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
6959     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
6960
6961     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
6962     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
6963
6964     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
6965     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
6966
6967     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
6968     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
6969
6970     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
6971     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
6972
6973     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
6974     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
6975
6976     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
6977     void oncellchange([in] IHTMLEventObj* pEvtObj);
6978
6979     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
6980     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
6981
6982     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
6983     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
6984
6985     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
6986     void onpage([in] IHTMLEventObj* pEvtObj);
6987
6988     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
6989     void onmouseenter([in] IHTMLEventObj* pEvtObj);
6990
6991     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
6992     void onmouseleave([in] IHTMLEventObj* pEvtObj);
6993
6994     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
6995     void onactivate([in] IHTMLEventObj* pEvtObj);
6996
6997     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
6998     void ondeactivate([in] IHTMLEventObj* pEvtObj);
6999
7000     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7001     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7002
7003     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7004     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7005
7006     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7007     void onfocusin([in] IHTMLEventObj* pEvtObj);
7008
7009     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7010     void onfocusout([in] IHTMLEventObj* pEvtObj);
7011
7012     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7013     void onmove([in] IHTMLEventObj* pEvtObj);
7014
7015     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7016     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7017
7018     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7019     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7020
7021     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7022     void onmoveend([in] IHTMLEventObj* pEvtObj);
7023
7024     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7025     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7026
7027     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7028     void onresizeend([in] IHTMLEventObj* pEvtObj);
7029
7030     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7031     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7032
7033     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7034     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7035
7036     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7037     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7038 }
7039
7040 [
7041     noncreatable,
7042     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7043 ]
7044 coclass HTMLFormElement
7045 {
7046     [default]           dispinterface DispHTMLFormElement;
7047     [source, default]   dispinterface HTMLFormElementEvents;
7048     [source]            dispinterface HTMLFormElementEvents2;
7049                         interface IHTMLElement;
7050                         interface IHTMLElement2;
7051                         interface IHTMLElement3;
7052                         interface IHTMLElement4;
7053                         interface IHTMLUniqueName;
7054                         interface IHTMLDOMNode;
7055                         interface IHTMLDOMNode2;
7056                         interface IHTMLDOMConstructor;
7057                         interface IHTMLFormElement;
7058 }
7059
7060 /*****************************************************************************
7061  *    IHTMLTextContainer interface
7062  */
7063 [
7064     odl,
7065     oleautomation,
7066     dual,
7067     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7068 ]
7069 interface IHTMLTextContainer : IDispatch
7070 {
7071     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7072     HRESULT createControlRange([retval, out] IDispatch **range);
7073
7074     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7075     HRESULT scrollHeight([retval, out] LONG *p);
7076
7077     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7078     HRESULT scrollWidth([retval, out] LONG *p);
7079
7080     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7081     HRESULT scrollTop([in] LONG v);
7082
7083     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7084     HRESULT scrollTop([retval, out] LONG *p);
7085
7086     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7087     HRESULT scrollLeft([in] LONG v);
7088
7089     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7090     HRESULT scrollLeft([retval, out] LONG *p);
7091
7092     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7093     HRESULT onscroll([in] VARIANT v);
7094
7095     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7096     HRESULT onscroll([retval, out] VARIANT *p);
7097 }
7098
7099 /*****************************************************************************
7100  *    IHTMLImgElement interface
7101  */
7102 [
7103     odl,
7104     oleautomation,
7105     dual,
7106     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7107 ]
7108 interface IHTMLImgElement : IDispatch
7109 {
7110     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7111     HRESULT isMap([in] VARIANT_BOOL v);
7112
7113     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7114     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7115
7116     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7117     HRESULT useMap([in] BSTR v);
7118
7119     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7120     HRESULT useMap([retval, out] BSTR *p);
7121
7122     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7123     HRESULT mimeType([retval, out] BSTR *p);
7124
7125     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7126     HRESULT fileSize([retval, out] BSTR *p);
7127
7128     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7129     HRESULT fileCreatedDate([retval, out] BSTR *p);
7130
7131     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7132     HRESULT fileModifiedDate([retval, out] BSTR *p);
7133
7134     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7135     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7136
7137     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7138     HRESULT protocol([retval, out] BSTR *p);
7139
7140     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7141     HRESULT href([retval, out] BSTR *p);
7142
7143     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7144     HRESULT nameProp([retval, out] BSTR *p);
7145
7146     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7147     HRESULT border([in] VARIANT v);
7148
7149     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7150     HRESULT border([retval, out] VARIANT *p);
7151
7152     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7153     HRESULT vspace([in] LONG v);
7154
7155     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7156     HRESULT vspace([retval, out] LONG *p);
7157
7158     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7159     HRESULT hspace([in] LONG v);
7160
7161     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7162     HRESULT hspace([retval, out] LONG *p);
7163
7164     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7165     HRESULT alt([in] BSTR v);
7166
7167     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7168     HRESULT alt([retval, out] BSTR *p);
7169
7170     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7171     HRESULT src([in] BSTR v);
7172
7173     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7174     HRESULT src([retval, out] BSTR *p);
7175
7176     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7177     HRESULT lowsrc([in] BSTR v);
7178
7179     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7180     HRESULT lowsrc([retval, out] BSTR *p);
7181
7182     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7183     HRESULT vrml([in] BSTR v);
7184
7185     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7186     HRESULT vrml([retval, out] BSTR *p);
7187
7188     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7189     HRESULT dynsrc([in] BSTR v);
7190
7191     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7192     HRESULT dynsrc([retval, out] BSTR *p);
7193
7194     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7195     HRESULT readyState([retval, out] BSTR *p);
7196
7197     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7198     HRESULT complete([retval, out] VARIANT_BOOL *p);
7199
7200     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7201     HRESULT loop([in] VARIANT v);
7202
7203     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7204     HRESULT loop([retval, out] VARIANT *p);
7205
7206     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7207     HRESULT align([in] BSTR v);
7208
7209     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7210     HRESULT align([retval, out] BSTR *p);
7211
7212     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7213     HRESULT onload([in] VARIANT v);
7214
7215     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7216     HRESULT onload([retval, out] VARIANT *p);
7217
7218     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7219     HRESULT onerror([in] VARIANT v);
7220
7221     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7222     HRESULT onerror([retval, out] VARIANT *p);
7223
7224     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7225     HRESULT onabort([in] VARIANT v);
7226
7227     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7228     HRESULT onabort([retval, out] VARIANT *p);
7229
7230     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7231     HRESULT name([in] BSTR v);
7232
7233     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7234     HRESULT name([retval, out] BSTR *p);
7235
7236     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7237     HRESULT width([in] LONG v);
7238
7239     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7240     HRESULT width([retval, out] LONG *p);
7241
7242     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7243     HRESULT height([in] LONG v);
7244
7245     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7246     HRESULT height([retval, out] LONG *p);
7247
7248     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7249     HRESULT start([in] BSTR v);
7250
7251     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7252     HRESULT start([retval, out] BSTR *p);
7253 }
7254
7255 /*****************************************************************************
7256  *    IHTMLImageElementFactory interface
7257  */
7258 [
7259     odl,
7260     oleautomation,
7261     dual,
7262     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7263 ]
7264 interface IHTMLImageElementFactory : IDispatch
7265 {
7266     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7267     HRESULT create(
7268         [optional, in] VARIANT width,
7269         [optional, in] VARIANT height,
7270         [retval, out]  IHTMLImgElement **elem);
7271 }
7272
7273 /*****************************************************************************
7274  *    DispHTMLImg interface
7275  */
7276 [
7277     hidden,
7278     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7279 ]
7280 dispinterface DispHTMLImg
7281 {
7282 properties:
7283 methods:
7284     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7285
7286     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7287     void isMap(VARIANT_BOOL v);
7288
7289     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7290     VARIANT_BOOL isMap();
7291
7292     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7293     void useMap(BSTR v);
7294
7295     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7296     BSTR useMap();
7297
7298     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7299     BSTR mimeType();
7300
7301     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7302     BSTR fileSize();
7303
7304     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7305     BSTR fileCreatedDate();
7306
7307     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7308     BSTR fileModifiedDate();
7309
7310     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7311     BSTR fileUpdatedDate();
7312
7313     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7314     BSTR protocol();
7315
7316     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7317     BSTR href();
7318
7319     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7320     BSTR nameProp();
7321
7322     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7323     void border(VARIANT v);
7324
7325     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7326     VARIANT border();
7327
7328     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7329     void vspace(LONG v);
7330
7331     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7332     LONG vspace();
7333
7334     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7335     void hspace(LONG v);
7336
7337     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7338     LONG hspace();
7339
7340     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7341     void alt(BSTR v);
7342
7343     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7344     BSTR alt();
7345
7346     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7347     void src(BSTR v);
7348
7349     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7350     BSTR src();
7351
7352     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7353     void lowsrc(BSTR v);
7354
7355     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7356     BSTR lowsrc();
7357
7358     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7359     void vrml(BSTR v);
7360
7361     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7362     BSTR vrml();
7363
7364     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7365     void dynsrc(BSTR v);
7366
7367     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7368     BSTR dynsrc();
7369
7370     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7371     VARIANT_BOOL complete();
7372
7373     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7374     void loop(VARIANT v);
7375
7376     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7377     VARIANT loop();
7378
7379     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7380     void align(BSTR v);
7381
7382     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7383     BSTR align();
7384
7385     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7386     void onload(VARIANT v);
7387
7388     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7389     VARIANT onload();
7390
7391     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7392     void onerror(VARIANT v);
7393
7394     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7395     VARIANT onerror();
7396
7397     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7398     void onabort(VARIANT v);
7399
7400     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7401     VARIANT onabort();
7402
7403     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7404     void name(BSTR v);
7405
7406     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7407     BSTR name();
7408
7409     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7410     void width(LONG v);
7411
7412     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7413     LONG width();
7414
7415     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7416     void height(LONG v);
7417
7418     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7419     LONG height();
7420
7421     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7422     void start(BSTR v);
7423
7424     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7425     BSTR start();
7426
7427     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7428     void longDesc(BSTR v);
7429
7430     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7431     BSTR longDesc();
7432 }
7433
7434 /*****************************************************************************
7435  *    IHTMLControlElement interface
7436  */
7437 [
7438     odl,
7439     oleautomation,
7440     dual,
7441     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7442 ]
7443 interface IHTMLControlElement : IDispatch
7444 {
7445     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7446     HRESULT tabIndex([in] short v);
7447
7448     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7449     HRESULT tabIndex([retval, out] short * p);
7450
7451     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7452     HRESULT focus();
7453
7454     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7455     HRESULT accessKey([in] BSTR v);
7456
7457     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7458     HRESULT accessKey([retval, out] BSTR * p);
7459
7460     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7461     HRESULT onblur([in] VARIANT v);
7462
7463     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7464     HRESULT onblur([retval, out] VARIANT * p);
7465
7466     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7467     HRESULT onfocus([in] VARIANT v);
7468
7469     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7470     HRESULT onfocus([retval, out] VARIANT * p);
7471
7472     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7473     HRESULT onresize([in] VARIANT v);
7474
7475     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7476     HRESULT onresize([retval, out] VARIANT * p);
7477
7478     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7479     HRESULT blur();
7480
7481     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7482     HRESULT addFilter([in] IUnknown* pUnk);
7483
7484     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7485     HRESULT removeFilter([in] IUnknown* pUnk);
7486
7487     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7488     HRESULT clientHeight([retval, out] LONG * p);
7489
7490     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7491     HRESULT clientWidth([retval, out] LONG * p);
7492
7493     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7494     HRESULT clientTop([retval, out] LONG * p);
7495
7496     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7497     HRESULT clientLeft([retval, out] LONG * p);
7498 }
7499
7500 /*****************************************************************************
7501  *    IHTMLBodyElement interface
7502  */
7503 [
7504     odl,
7505     oleautomation,
7506     dual,
7507     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7508 ]
7509 interface IHTMLBodyElement : IDispatch
7510 {
7511     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7512     HRESULT background([in] BSTR v);
7513
7514     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7515     HRESULT background([retval, out] BSTR *p);
7516
7517     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7518     HRESULT bgProperties([in] BSTR v);
7519
7520     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7521     HRESULT bgProperties([retval, out] BSTR *p);
7522
7523     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7524     HRESULT leftMargin([in] VARIANT v);
7525
7526     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7527     HRESULT leftMargin([retval, out] VARIANT *p);
7528
7529     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7530     HRESULT topMargin([in] VARIANT v);
7531
7532     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7533     HRESULT topMargin([retval, out] VARIANT *p);
7534
7535     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7536     HRESULT rightMargin([in] VARIANT v);
7537
7538     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7539     HRESULT rightMargin([retval, out] VARIANT *p);
7540
7541     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7542     HRESULT bottomMargin([in] VARIANT v);
7543
7544     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7545     HRESULT bottomMargin([retval, out] VARIANT *p);
7546
7547     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7548     HRESULT noWrap([in] VARIANT_BOOL v);
7549
7550     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7551     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7552
7553     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7554     HRESULT bgColor([in] VARIANT v);
7555
7556     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7557     HRESULT bgColor([retval, out] VARIANT *p);
7558
7559     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7560     HRESULT text([in] VARIANT v);
7561
7562     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7563     HRESULT text([retval, out] VARIANT *p);
7564
7565     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7566     HRESULT link([in] VARIANT v);
7567
7568     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7569     HRESULT link([retval, out] VARIANT *p);
7570
7571     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7572     HRESULT vLink([in] VARIANT v);
7573
7574     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7575     HRESULT vLink([retval, out] VARIANT *p);
7576
7577     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7578     HRESULT aLink([in] VARIANT v);
7579
7580     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7581     HRESULT aLink([retval, out] VARIANT *p);
7582
7583     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7584     HRESULT onload([in] VARIANT v);
7585
7586     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7587     HRESULT onload([retval, out] VARIANT *p);
7588
7589     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7590     HRESULT onunload([in] VARIANT v);
7591
7592     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7593     HRESULT onunload([retval, out] VARIANT *p);
7594
7595     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7596     HRESULT scroll([in] BSTR v);
7597
7598     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7599     HRESULT scroll([retval, out] BSTR *p);
7600
7601     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7602     HRESULT onselect([in] VARIANT v);
7603
7604     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7605     HRESULT onselect([retval, out] VARIANT *p);
7606
7607     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7608     HRESULT onbeforeunload([in] VARIANT v);
7609
7610     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7611     HRESULT onbeforeunload([retval, out] VARIANT *p);
7612
7613     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7614     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7615 }
7616
7617 /*****************************************************************************
7618  *    IHTMLBodyElement2 interface
7619  */
7620 [
7621     odl,
7622     oleautomation,
7623     dual,
7624     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7625 ]
7626 interface IHTMLBodyElement2 : IDispatch
7627 {
7628     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7629     HRESULT onbeforeprint([in] VARIANT v);
7630
7631     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7632     HRESULT onbeforeprint([retval, out] VARIANT *p);
7633
7634     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7635     HRESULT onafterprint([in] VARIANT v);
7636
7637     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7638     HRESULT onafterprint([retval, out] VARIANT *p);
7639 }
7640
7641 [
7642     hidden,
7643     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7644 ]
7645 dispinterface DispHTMLBody
7646 {
7647 properties:
7648 methods:
7649     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7650
7651     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7652     void background(BSTR v);
7653
7654     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7655     BSTR background();
7656
7657     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7658     void bgProperties(BSTR v);
7659
7660     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7661     BSTR bgProperties();
7662
7663     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7664     void leftMargin(VARIANT v);
7665
7666     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7667     VARIANT leftMargin();
7668
7669     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7670     void topMargin(VARIANT v);
7671
7672     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7673     VARIANT topMargin();
7674
7675     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7676     void rightMargin(VARIANT v);
7677
7678     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7679     VARIANT rightMargin();
7680
7681     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7682     void bottomMargin(VARIANT v);
7683
7684     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7685     VARIANT bottomMargin();
7686
7687     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7688     void noWrap(VARIANT_BOOL v);
7689
7690     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7691     VARIANT_BOOL noWrap();
7692
7693     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7694     void bgColor(VARIANT v);
7695
7696     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7697     VARIANT bgColor();
7698
7699     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7700     void text(VARIANT v);
7701
7702     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7703     VARIANT text();
7704
7705     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7706     void link(VARIANT v);
7707
7708     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7709     VARIANT link();
7710
7711     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7712     void vLink(VARIANT v);
7713
7714     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7715     VARIANT vLink();
7716
7717     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7718     void aLink(VARIANT v);
7719
7720     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7721     VARIANT aLink();
7722
7723     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7724     void onload(VARIANT v);
7725
7726     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7727     VARIANT onload();
7728
7729     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7730     void onunload(VARIANT v);
7731
7732     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7733     VARIANT onunload();
7734
7735     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7736     void scroll(BSTR v);
7737
7738     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7739     BSTR scroll();
7740
7741     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7742     void onselect(VARIANT v);
7743
7744     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7745     VARIANT onselect();
7746
7747     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7748     void onbeforeunload(VARIANT v);
7749
7750     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7751     VARIANT onbeforeunload();
7752
7753     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7754     IHTMLTxtRange* createTextRange();
7755
7756     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7757     void onbeforeprint(VARIANT v);
7758
7759     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7760     VARIANT onbeforeprint();
7761
7762     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7763     void onafterprint(VARIANT v);
7764
7765     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7766     VARIANT onafterprint();
7767 }
7768
7769 [
7770     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7771 ]
7772 coclass HTMLBody
7773 {
7774     [default]           dispinterface DispHTMLBody;
7775     [source, default]   dispinterface HTMLTextContainerEvents;
7776     [source]            dispinterface HTMLTextContainerEvents2;
7777                         interface IHTMLElement;
7778                         interface IHTMLElement2;
7779                         interface IHTMLElement3;
7780                         interface IHTMLElement4;
7781                         interface IHTMLUniqueName;
7782                         interface IHTMLDOMNode;
7783                         interface IHTMLDOMNode2;
7784                         interface IHTMLControlElement;
7785                         interface IHTMLTextContainer;
7786                         interface IHTMLBodyElement;
7787                         interface IHTMLBodyElement2;
7788 }
7789
7790 /*****************************************************************************
7791  *    IHTMLAnchorElement interface
7792  */
7793 [
7794     odl,
7795     oleautomation,
7796     dual,
7797     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7798 ]
7799 interface IHTMLAnchorElement : IDispatch
7800 {
7801     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7802     HRESULT href([in] BSTR v);
7803
7804     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7805     HRESULT href([retval, out] BSTR *p);
7806
7807     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7808     HRESULT target([in] BSTR v);
7809
7810     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7811     HRESULT target([retval, out] BSTR *p);
7812
7813     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7814     HRESULT rel([in] BSTR v);
7815
7816     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7817     HRESULT rel([retval, out] BSTR *p);
7818
7819     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7820     HRESULT rev([in] BSTR v);
7821
7822     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7823     HRESULT rev([retval, out] BSTR *p);
7824
7825     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7826     HRESULT urn([in] BSTR v);
7827
7828     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7829     HRESULT urn([retval, out] BSTR *p);
7830
7831     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7832     HRESULT Methods([in] BSTR v);
7833
7834     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7835     HRESULT Methods([retval, out] BSTR *p);
7836
7837     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7838     HRESULT name([in] BSTR v);
7839
7840     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7841     HRESULT name([retval, out] BSTR *p);
7842
7843     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7844     HRESULT host([in] BSTR v);
7845
7846     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7847     HRESULT host([retval, out] BSTR *p);
7848
7849     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7850     HRESULT hostname([in] BSTR v);
7851
7852     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7853     HRESULT hostname([retval, out] BSTR *p);
7854
7855     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7856     HRESULT pathname([in] BSTR v);
7857
7858     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7859     HRESULT pathname([retval, out] BSTR *p);
7860
7861     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7862     HRESULT port([in] BSTR v);
7863
7864     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7865     HRESULT port([retval, out] BSTR *p);
7866
7867     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7868     HRESULT protocol([in] BSTR v);
7869
7870     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7871     HRESULT protocol([retval, out] BSTR *p);
7872
7873     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7874     HRESULT search([in] BSTR v);
7875
7876     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7877     HRESULT search([retval, out] BSTR *p);
7878
7879     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7880     HRESULT hash([in] BSTR v);
7881
7882     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7883     HRESULT hash([retval, out] BSTR *p);
7884
7885     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7886     HRESULT onblur([in] VARIANT v);
7887
7888     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7889     HRESULT onblur([retval, out] VARIANT *p);
7890
7891     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7892     HRESULT onfocus([in] VARIANT v);
7893
7894     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7895     HRESULT onfocus([retval, out] VARIANT *p);
7896
7897     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7898     HRESULT accessKey([in] BSTR v);
7899
7900     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7901     HRESULT accessKey([retval, out] BSTR *p);
7902
7903     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7904     HRESULT protocolLong([retval, out] BSTR *p);
7905
7906     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7907     HRESULT mimeType([retval, out] BSTR *p);
7908
7909     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7910     HRESULT nameProp([retval, out] BSTR *p);
7911
7912     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7913     HRESULT tabIndex([in] short v);
7914
7915     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7916     HRESULT tabIndex([retval, out] short *p);
7917
7918     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7919     HRESULT focus();
7920
7921     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7922     HRESULT blur();
7923 }
7924
7925 /*****************************************************************************
7926  *    DispHTMLAnchorElement dispinterface
7927  */
7928 [
7929     hidden,
7930     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7931 ]
7932 dispinterface DispHTMLAnchorElement
7933 {
7934 properties:
7935 methods:
7936     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7937
7938     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7939     void href(BSTR v);
7940
7941     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7942     BSTR href();
7943
7944     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7945     void target(BSTR v);
7946
7947     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7948     BSTR target();
7949
7950     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7951     void rel(BSTR v);
7952
7953     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7954     BSTR rel();
7955
7956     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7957     void rev(BSTR v);
7958
7959     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7960     BSTR rev();
7961
7962     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7963     void urn(BSTR v);
7964
7965     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7966     BSTR urn();
7967
7968     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7969     void Methods(BSTR v);
7970
7971     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7972     BSTR Methods();
7973
7974     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7975     void name(BSTR v);
7976
7977     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7978     BSTR name();
7979
7980     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7981     void host(BSTR v);
7982
7983     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7984     BSTR host();
7985
7986     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7987     void hostname(BSTR v);
7988
7989     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7990     BSTR hostname();
7991
7992     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7993     void pathname(BSTR v);
7994
7995     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7996     BSTR pathname();
7997
7998     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7999     void port(BSTR v);
8000
8001     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8002     BSTR port();
8003
8004     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8005     void protocol(BSTR v);
8006
8007     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8008     BSTR protocol();
8009
8010     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8011     void search(BSTR v);
8012
8013     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8014     BSTR search();
8015
8016     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8017     void hash(BSTR v);
8018
8019     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8020     BSTR hash();
8021
8022     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8023     BSTR protocolLong();
8024
8025     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8026     BSTR mimeType();
8027
8028     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8029     BSTR nameProp();
8030
8031     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8032     void charset(BSTR v);
8033
8034     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8035     BSTR charset();
8036
8037     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8038     void coords(BSTR v);
8039
8040     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8041     BSTR coords();
8042
8043     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8044     void hreflang(BSTR v);
8045
8046     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8047     BSTR hreflang();
8048
8049     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8050     void shape(BSTR v);
8051
8052     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8053     BSTR shape();
8054
8055     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8056     void type(BSTR v);
8057
8058     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8059     BSTR type();
8060
8061     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8062     void ie8_shape(BSTR v);
8063
8064     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8065     BSTR ie8_shape();
8066
8067     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8068     void ie8_coords(BSTR v);
8069
8070     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8071     BSTR ie8_coords();
8072
8073     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8074     void ie8_href(BSTR v);
8075
8076     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8077     BSTR ie8_href();
8078 }
8079
8080 /*****************************************************************************
8081  *    IHTMLElementCollection interface
8082  */
8083 [
8084     odl,
8085     oleautomation,
8086     dual,
8087     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8088 ]
8089 interface IHTMLElementCollection : IDispatch
8090 {
8091     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8092     HRESULT toString([retval, out] BSTR *String);
8093
8094     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8095     HRESULT length([in] LONG v);
8096
8097     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8098     HRESULT length([retval, out] LONG *p);
8099
8100     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8101     HRESULT _newEnum([retval, out] IUnknown **p);
8102
8103     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8104     HRESULT item(
8105         [optional, in] VARIANT name,
8106         [optional, in] VARIANT index,
8107         [retval,  out] IDispatch **pdisp);
8108
8109     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8110     HRESULT tags(
8111         [in] VARIANT tagName,
8112         [retval, out] IDispatch **pdisp);
8113 }
8114
8115 /*****************************************************************************
8116  *    DispHTMLElementCollection dispinterface
8117  */
8118 [
8119     hidden,
8120     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8121 ]
8122 dispinterface DispHTMLElementCollection
8123 {
8124 properties:
8125 methods:
8126     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8127     BSTR toString();
8128
8129     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8130     void length(LONG v);
8131
8132     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8133     LONG length();
8134
8135     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8136     IUnknown *_newEnum();
8137
8138     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8139     IDispatch *item(
8140             [in, optional] VARIANT name,
8141             [in, optional] VARIANT index);
8142
8143     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8144     IDispatch *tags(
8145             [in] VARIANT tagName);
8146
8147     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8148     IDispatch *urns([in] VARIANT urn);
8149
8150     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8151     IDispatch *namedItem([in] BSTR name);
8152 }
8153
8154 /*****************************************************************************
8155  *    IHTMLSelectElement interface
8156  */
8157 [
8158     odl,
8159     oleautomation,
8160     dual,
8161     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8162 ]
8163 interface IHTMLSelectElement : IDispatch
8164 {
8165     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8166     HRESULT size([in] LONG v);
8167
8168     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8169     HRESULT size([retval, out] LONG *p);
8170
8171     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8172     HRESULT multiple([in] VARIANT_BOOL v);
8173
8174     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8175     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8176
8177     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8178     HRESULT name([in] BSTR v);
8179
8180     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8181     HRESULT name([retval, out] BSTR *p);
8182
8183     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8184     HRESULT options([retval, out] IDispatch **p);
8185
8186     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8187     HRESULT onchange([in] VARIANT v);
8188
8189     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8190     HRESULT onchange([retval, out] VARIANT *p);
8191
8192     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8193     HRESULT selectedIndex([in] LONG v);
8194
8195     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8196     HRESULT selectedIndex([retval, out] LONG *p);
8197
8198     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8199     HRESULT type([retval, out] BSTR *p);
8200
8201     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8202     HRESULT value([in] BSTR v);
8203
8204     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8205     HRESULT value([retval, out] BSTR *p);
8206
8207     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8208     HRESULT disabled([in] VARIANT_BOOL v);
8209
8210     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8211     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8212
8213     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8214     HRESULT form([retval, out] IHTMLFormElement **p);
8215
8216     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8217     HRESULT add(
8218         [in] IHTMLElement *element,
8219         [optional, in] VARIANT before);
8220
8221     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8222     HRESULT remove([defaultvalue(-1), in] LONG index);
8223
8224     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8225     HRESULT length([in] LONG v);
8226
8227     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8228     HRESULT length([retval, out] LONG *p);
8229
8230     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8231     HRESULT _newEnum([retval, out] IUnknown **p);
8232
8233     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8234     HRESULT item(
8235         [optional, in] VARIANT name,
8236         [optional, in] VARIANT index,
8237         [retval, out] IDispatch **pdisp);
8238
8239     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8240     HRESULT tags(
8241         [in] VARIANT tagName,
8242         [retval, out] IDispatch **pdisp);
8243 }
8244
8245 /*****************************************************************************
8246  *    DispHTMLSelectElement dispinterface
8247  */
8248 [
8249     hidden,
8250     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8251 ]
8252 dispinterface DispHTMLSelectElement
8253 {
8254 properties:
8255 methods:
8256     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8257
8258     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8259     void size(LONG v);
8260
8261     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8262     LONG size();
8263
8264     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8265     void multiple(VARIANT_BOOL v);
8266
8267     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8268     VARIANT_BOOL multiple();
8269
8270     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8271     void name(BSTR v);
8272
8273     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8274     BSTR name();
8275
8276     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8277     IDispatch *options();
8278
8279     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8280     void onchange(VARIANT v);
8281
8282     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8283     VARIANT onchange();
8284
8285     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8286     void selectedIndex(LONG v);
8287
8288     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8289     LONG selectedIndex();
8290
8291     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8292     BSTR type();
8293
8294     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8295     void value(BSTR v);
8296
8297     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8298     BSTR value();
8299
8300     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8301     IHTMLFormElement *form();
8302
8303     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8304     void add(
8305             [in] IHTMLElement *element,
8306             [in, optional] VARIANT before);
8307
8308     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8309     void remove([in, defaultvalue(-1)] LONG index);
8310
8311     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8312     void length(LONG v);
8313
8314     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8315     LONG length();
8316
8317     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8318     IUnknown *_newEnum();
8319
8320     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8321     IDispatch *item(
8322             [in, optional] VARIANT name,
8323             [in, optional] VARIANT index);
8324
8325     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8326     IDispatch *tags([in] VARIANT tagName);
8327
8328     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8329     IDispatch *urns([in] VARIANT urn);
8330
8331     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8332     IDispatch *namedItem([in] BSTR name);
8333 }
8334
8335 /*****************************************************************************
8336  *    IHTMLSelectionObject interface
8337  */
8338 [
8339     odl,
8340     oleautomation,
8341     dual,
8342     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8343 ]
8344 interface IHTMLSelectionObject : IDispatch
8345 {
8346     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8347     HRESULT createRange([retval, out] IDispatch **range);
8348
8349     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8350     HRESULT empty();
8351
8352     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8353     HRESULT clear();
8354
8355     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8356     HRESULT type([retval, out] BSTR *p);
8357 }
8358
8359 /*****************************************************************************
8360  *    IHTMLOptionElement interface
8361  */
8362 [
8363     odl,
8364     oleautomation,
8365     dual,
8366     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8367 ]
8368 interface IHTMLOptionElement : IDispatch
8369 {
8370     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8371     HRESULT selected([in] VARIANT_BOOL v);
8372
8373     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8374     HRESULT selected([retval, out] VARIANT_BOOL *p);
8375
8376     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8377     HRESULT value([in] BSTR v);
8378
8379     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8380     HRESULT value([retval, out] BSTR *p);
8381
8382     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8383     HRESULT defaultSelected([in] VARIANT_BOOL v);
8384
8385     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8386     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8387
8388     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8389     HRESULT index([in] LONG v);
8390
8391     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8392     HRESULT index([retval, out] LONG *p);
8393
8394     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8395     HRESULT text([in] BSTR v);
8396
8397     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8398     HRESULT text([retval, out] BSTR *p);
8399
8400     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8401     HRESULT form([retval, out] IHTMLFormElement **p);
8402 }
8403
8404 [
8405     odl,
8406     oleautomation,
8407     dual,
8408     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8409 ]
8410 interface IHTMLOptionElement3 : IDispatch
8411 {
8412     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8413     HRESULT label([in] BSTR v);
8414
8415     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8416     HRESULT label([retval, out] BSTR * p);
8417 }
8418
8419 /*****************************************************************************
8420  *    IHTMLOptionElementFactory interface
8421  */
8422 [
8423     odl,
8424     oleautomation,
8425     dual,
8426     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8427 ]
8428 interface IHTMLOptionElementFactory : IDispatch
8429 {
8430     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8431     HRESULT create(
8432         [optional, in] VARIANT text,
8433         [optional, in] VARIANT value,
8434         [optional, in] VARIANT defaultselected,
8435         [optional, in] VARIANT selected,
8436         [retval, out] IHTMLOptionElement **optelem);
8437 }
8438
8439 /*****************************************************************************
8440  *    DispHTMLOptionElement dispinterface
8441  */
8442 [
8443     hidden,
8444     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8445 ]
8446 dispinterface DispHTMLOptionElement
8447 {
8448 properties:
8449 methods:
8450     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8451
8452     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8453     void selected(VARIANT_BOOL v);
8454
8455     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8456     VARIANT_BOOL selected();
8457
8458     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8459     void value(BSTR v);
8460
8461     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8462     BSTR value();
8463
8464     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8465     void defaultSelected(VARIANT_BOOL v);
8466
8467     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8468     VARIANT_BOOL defaultSelected();
8469
8470     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8471     void index(LONG v);
8472
8473     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8474     LONG index();
8475
8476     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8477     void text(BSTR v);
8478
8479     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8480     BSTR text();
8481
8482     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8483     IHTMLFormElement *form();
8484
8485     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8486     void label(BSTR v);
8487
8488     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8489     BSTR label();
8490 }
8491
8492 [
8493     noncreatable,
8494     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8495 ]
8496 coclass HTMLOptionElement
8497 {
8498     [default]           dispinterface DispHTMLOptionElement;
8499     [source, default]   dispinterface HTMLElementEvents;
8500     [source]            dispinterface HTMLElementEvents2;
8501                         interface IHTMLElement;
8502                         interface IHTMLElement2;
8503                         interface IHTMLElement3;
8504                         interface IHTMLElement4;
8505                         interface IHTMLUniqueName;
8506                         interface IHTMLDOMNode;
8507                         interface IHTMLDOMNode2;
8508                         interface IHTMLDatabinding;
8509                         interface IHTMLOptionElement;
8510                         interface IHTMLOptionElement3;
8511 }
8512
8513 /*****************************************************************************
8514  *    IHTMLInputElement interface
8515  */
8516 [
8517     odl,
8518     oleautomation,
8519     dual,
8520     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8521 ]
8522 interface IHTMLInputElement : IDispatch
8523 {
8524     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8525     HRESULT type([in] BSTR v);
8526
8527     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8528     HRESULT type([retval, out] BSTR *p);
8529
8530     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8531     HRESULT value([in] BSTR v);
8532
8533     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8534     HRESULT value([retval, out] BSTR *p);
8535
8536     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8537     HRESULT name([in] BSTR v);
8538
8539     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8540     HRESULT name([retval, out] BSTR *p);
8541
8542     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8543     HRESULT status([in] VARIANT_BOOL v);
8544
8545     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8546     HRESULT status([retval, out] VARIANT_BOOL *p);
8547
8548     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8549     HRESULT disabled([in] VARIANT_BOOL v);
8550
8551     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8552     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8553
8554     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8555     HRESULT form([retval, out] IHTMLFormElement **p);
8556
8557     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8558     HRESULT size([in] LONG v);
8559
8560     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8561     HRESULT size([retval, out] LONG *p);
8562
8563     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8564     HRESULT maxLength([in] LONG v);
8565
8566     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8567     HRESULT maxLength([retval, out] LONG *p);
8568
8569     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8570     HRESULT select();
8571
8572     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8573     HRESULT onchange([in] VARIANT v);
8574
8575     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8576     HRESULT onchange([retval, out] VARIANT *p);
8577
8578     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8579     HRESULT onselect([in] VARIANT v);
8580
8581     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8582     HRESULT onselect([retval, out] VARIANT *p);
8583
8584     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8585     HRESULT defaultValue([in] BSTR v);
8586
8587     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8588     HRESULT defaultValue([retval, out] BSTR *p);
8589
8590     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8591     HRESULT readOnly([in] VARIANT_BOOL v);
8592
8593     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8594     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8595
8596     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8597     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8598
8599     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8600     HRESULT indeterminate([in] VARIANT_BOOL v);
8601
8602     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8603     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8604
8605     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8606     HRESULT defaultChecked([in] VARIANT_BOOL v);
8607
8608     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8609     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8610
8611     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8612     HRESULT checked([in] VARIANT_BOOL v);
8613
8614     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8615     HRESULT checked([retval, out] VARIANT_BOOL *p);
8616
8617     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8618     HRESULT border([in] VARIANT v);
8619
8620     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8621     HRESULT border([retval, out] VARIANT *p);
8622
8623     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8624     HRESULT vspace([in] LONG v);
8625
8626     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8627     HRESULT vspace([retval, out] LONG *p);
8628
8629     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8630     HRESULT hspace([in] LONG v);
8631
8632     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8633     HRESULT hspace([retval, out] LONG *p);
8634
8635     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8636     HRESULT alt([in] BSTR v);
8637
8638     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8639     HRESULT alt([retval, out] BSTR *p);
8640
8641     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8642     HRESULT src([in] BSTR v);
8643
8644     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8645     HRESULT src([retval, out] BSTR *p);
8646
8647     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8648     HRESULT lowsrc([in] BSTR v);
8649
8650     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8651     HRESULT lowsrc([retval, out] BSTR *p);
8652
8653     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8654     HRESULT vrml([in] BSTR v);
8655
8656     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8657     HRESULT vrml([retval, out] BSTR *p);
8658
8659     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8660     HRESULT dynsrc([in] BSTR v);
8661
8662     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8663     HRESULT dynsrc([retval, out] BSTR *p);
8664
8665     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8666     HRESULT readyState([retval, out] BSTR *p);
8667
8668     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8669     HRESULT complete([retval, out] VARIANT_BOOL *p);
8670
8671     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8672     HRESULT loop([in] VARIANT v);
8673
8674     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8675     HRESULT loop([retval, out] VARIANT *p);
8676
8677     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8678     HRESULT align([in] BSTR v);
8679
8680     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8681     HRESULT align([retval, out] BSTR *p);
8682
8683     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8684     HRESULT onload([in] VARIANT v);
8685
8686     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8687     HRESULT onload([retval, out] VARIANT *p);
8688
8689     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8690     HRESULT onerror([in] VARIANT v);
8691
8692     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8693     HRESULT onerror([retval, out] VARIANT *p);
8694
8695     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8696     HRESULT onabort([in] VARIANT v);
8697
8698     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8699     HRESULT onabort([retval, out] VARIANT *p);
8700
8701     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8702     HRESULT width([in] LONG v);
8703
8704     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8705     HRESULT width([retval, out] LONG *p);
8706
8707     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8708     HRESULT height([in] LONG v);
8709
8710     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8711     HRESULT height([retval, out] LONG *p);
8712
8713     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8714     HRESULT start([in] BSTR v);
8715
8716     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8717     HRESULT start([retval, out] BSTR *p);
8718 }
8719
8720 /*****************************************************************************
8721  *    IHTMLInputTextElement interface
8722  */
8723 [
8724     odl,
8725     oleautomation,
8726     dual,
8727     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8728 ]
8729 interface IHTMLInputTextElement : IDispatch
8730 {
8731     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8732     HRESULT type([retval, out] BSTR *p);
8733
8734     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8735     HRESULT value([in] BSTR v);
8736
8737     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8738     HRESULT value([retval, out] BSTR *p);
8739
8740     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8741     HRESULT name([in] BSTR v);
8742
8743     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8744     HRESULT name([retval, out] BSTR *p);
8745
8746     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8747     HRESULT status([in] VARIANT v);
8748
8749     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8750     HRESULT status([retval, out] VARIANT *p);
8751
8752     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8753     HRESULT disabled([in] VARIANT_BOOL v);
8754
8755     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8756     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8757
8758     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8759     HRESULT form([retval, out] IHTMLFormElement **p);
8760
8761     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8762     HRESULT defaultValue([in] BSTR v);
8763
8764     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8765     HRESULT defaultValue([retval, out] BSTR *p);
8766
8767     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8768     HRESULT size([in] LONG v);
8769
8770     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8771     HRESULT size([retval, out] LONG *p);
8772
8773     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8774     HRESULT maxLength([in] LONG v);
8775
8776     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8777     HRESULT maxLength([retval, out] LONG *p);
8778
8779     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8780     HRESULT select();
8781
8782     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8783     HRESULT onchange([in] VARIANT v);
8784
8785     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8786     HRESULT onchange([retval, out] VARIANT *p);
8787
8788     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8789     HRESULT onselect([in] VARIANT v);
8790
8791     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8792     HRESULT onselect([retval, out] VARIANT *p);
8793
8794     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8795     HRESULT readOnly([in] VARIANT_BOOL v);
8796
8797     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8798     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8799
8800     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8801     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8802 }
8803
8804 [
8805     hidden,
8806     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8807 ]
8808 dispinterface DispHTMLInputElement
8809 {
8810 properties:
8811 methods:
8812     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8813
8814     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8815     void type(BSTR v);
8816
8817     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8818     BSTR type();
8819
8820     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8821     void value(BSTR v);
8822
8823     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8824     BSTR value();
8825
8826     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8827     void name(BSTR v);
8828
8829     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8830     BSTR name();
8831
8832     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8833     void status(VARIANT_BOOL v);
8834
8835     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8836     VARIANT_BOOL status();
8837
8838     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8839     IHTMLFormElement *form();
8840
8841     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8842     void size(LONG v);
8843
8844     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8845     LONG size();
8846
8847     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8848     void maxLength(LONG v);
8849
8850     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8851     LONG maxLength();
8852
8853     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8854     void select();
8855
8856     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8857     void onchange(VARIANT v);
8858
8859     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8860     VARIANT onchange();
8861
8862     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8863     void onselect(VARIANT v);
8864
8865     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8866     VARIANT onselect();
8867
8868     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8869     void defaultValue(BSTR v);
8870
8871     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8872     BSTR defaultValue();
8873
8874     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8875     void readOnly(VARIANT_BOOL v);
8876
8877     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8878     VARIANT_BOOL readOnly();
8879
8880     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8881     IHTMLTxtRange *createTextRange();
8882
8883     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8884     void indeterminate(VARIANT_BOOL v);
8885
8886     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8887     VARIANT_BOOL indeterminate();
8888
8889     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8890     void defaultChecked(VARIANT_BOOL v);
8891
8892     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8893     VARIANT_BOOL defaultChecked();
8894
8895     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8896     void checked(VARIANT_BOOL v);
8897
8898     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8899     VARIANT_BOOL checked();
8900
8901     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8902     void border(VARIANT v);
8903
8904     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8905     VARIANT border();
8906
8907     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8908     void vspace(LONG v);
8909
8910     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8911     LONG vspace();
8912
8913     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8914     void hspace(LONG v);
8915
8916     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8917     LONG hspace();
8918
8919     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8920     void alt(BSTR v);
8921
8922     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8923     BSTR alt();
8924
8925     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8926     void src(BSTR v);
8927
8928     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8929     BSTR src();
8930
8931     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8932     void lowsrc(BSTR v);
8933
8934     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8935     BSTR lowsrc();
8936
8937     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8938     void vrml(BSTR v);
8939
8940     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8941     BSTR vrml();
8942
8943     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8944     void dynsrc(BSTR v);
8945
8946     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8947     BSTR dynsrc();
8948
8949     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8950     VARIANT_BOOL complete();
8951
8952     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8953     void loop(VARIANT v);
8954
8955     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8956     VARIANT loop();
8957
8958     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8959     void align(BSTR v);
8960
8961     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8962     BSTR align();
8963
8964     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8965     void onload(VARIANT v);
8966
8967     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8968     VARIANT onload();
8969
8970     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8971     void onerror(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8974     VARIANT onerror();
8975
8976     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8977     void onabort(VARIANT v);
8978
8979     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8980     VARIANT onabort();
8981
8982     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8983     void width(LONG v);
8984
8985     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8986     LONG width();
8987
8988     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8989     void height(LONG v);
8990
8991     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8992     LONG height();
8993
8994     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8995     void start(BSTR v);
8996
8997     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8998     BSTR start();
8999
9000     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9001     void accept(BSTR v);
9002
9003     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9004     BSTR accept();
9005
9006     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9007     void useMap(BSTR v);
9008
9009     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9010     BSTR useMap();
9011 }
9012
9013 /*****************************************************************************
9014  *    IHTMLTextAreaElement interface
9015  */
9016 [
9017     odl,
9018     oleautomation,
9019     dual,
9020     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9021 ]
9022 interface IHTMLTextAreaElement : IDispatch
9023 {
9024     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9025     HRESULT type([retval, out] BSTR *p);
9026
9027     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9028     HRESULT value([in] BSTR v);
9029
9030     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9031     HRESULT value([retval, out] BSTR *p);
9032
9033     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9034     HRESULT name([in] BSTR v);
9035
9036     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9037     HRESULT name([retval, out] BSTR *p);
9038
9039     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9040     HRESULT status([in] VARIANT v);
9041
9042     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9043     HRESULT status([retval, out] VARIANT *p);
9044
9045     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9046     HRESULT disabled([in] VARIANT_BOOL v);
9047
9048     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9049     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9050
9051     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9052     HRESULT form([retval, out] IHTMLFormElement **p);
9053
9054     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9055     HRESULT defaultValue([in] BSTR v);
9056
9057     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9058     HRESULT defaultValue([retval, out] BSTR *p);
9059
9060     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9061     HRESULT select();
9062
9063     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9064     HRESULT onchange([in] VARIANT v);
9065
9066     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9067     HRESULT onchange([retval, out] VARIANT *p);
9068
9069     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9070     HRESULT onselect([in] VARIANT v);
9071
9072     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9073     HRESULT onselect([retval, out] VARIANT *p);
9074
9075     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9076     HRESULT readOnly([in] VARIANT_BOOL v);
9077
9078     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9079     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9080
9081     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9082     HRESULT rows([in] LONG v);
9083
9084     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9085     HRESULT rows([retval, out] LONG *p);
9086
9087     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9088     HRESULT cols([in] LONG v);
9089
9090     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9091     HRESULT cols([retval, out] LONG *p);
9092
9093     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9094     HRESULT wrap([in] BSTR v);
9095
9096     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9097     HRESULT wrap([retval, out] BSTR *p);
9098
9099     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9100     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9101 }
9102
9103 /*****************************************************************************
9104  *    DispHTMLTextAreaElement dispinterface
9105  */
9106 [
9107     hidden,
9108     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9109 ]
9110 dispinterface DispHTMLTextAreaElement
9111 {
9112 properties:
9113 methods:
9114     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9115
9116     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9117     BSTR type();
9118
9119     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9120     void value(BSTR v);
9121
9122     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9123     BSTR value();
9124
9125     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9126     void name(BSTR v);
9127
9128     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9129     BSTR name();
9130
9131     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9132     void status(VARIANT v);
9133
9134     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9135     VARIANT status();
9136
9137     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9138     IHTMLFormElement *form();
9139
9140     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9141     void defaultValue(BSTR v);
9142
9143     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9144     BSTR defaultValue();
9145
9146     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9147     void select();
9148
9149     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9150     void onchange(VARIANT v);
9151
9152     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9153     VARIANT onchange();
9154
9155     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9156     void onselect(VARIANT v);
9157
9158     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9159     VARIANT onselect();
9160
9161     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9162     void readOnly(VARIANT_BOOL v);
9163
9164     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9165     VARIANT_BOOL readOnly();
9166
9167     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9168     void rows(LONG v);
9169
9170     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9171     LONG rows();
9172
9173     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9174     void cols(LONG v);
9175
9176     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9177     LONG cols();
9178
9179     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9180     void wrap(BSTR v);
9181
9182     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9183     BSTR wrap();
9184
9185     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9186     IHTMLTxtRange *createTextRange();
9187 }
9188
9189 /*****************************************************************************
9190  *    DispHTMLUnknownElement interface
9191  */
9192 [
9193     hidden,
9194     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9195 ]
9196 dispinterface DispHTMLUnknownElement
9197 {
9198 properties:
9199 methods:
9200     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9201 }
9202
9203 /*****************************************************************************
9204  *    IOmHistory interface
9205  */
9206 [
9207     odl,
9208     oleautomation,
9209     dual,
9210     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9211 ]
9212 interface IOmHistory : IDispatch
9213 {
9214     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9215     HRESULT length([retval, out] short *p);
9216
9217     [id(DISPID_IOMHISTORY_BACK)]
9218     HRESULT back([optional, in] VARIANT *pvargdistance);
9219
9220     [id(DISPID_IOMHISTORY_FORWARD)]
9221     HRESULT forward([optional, in] VARIANT *pvargdistance);
9222
9223     [id(DISPID_IOMHISTORY_GO)]
9224     HRESULT go([optional, in] VARIANT *pvargdistance);
9225 }
9226
9227 [
9228     noncreatable,
9229     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9230 ]
9231 coclass HTMLHistory
9232 {
9233     [default]           interface IOmHistory;
9234 }
9235
9236 /*****************************************************************************
9237  *    IHTMLMimeTypesCollection interface
9238  */
9239 [
9240     odl,
9241     oleautomation,
9242     dual,
9243     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9244 ]
9245 interface IHTMLMimeTypesCollection : IDispatch
9246 {
9247     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9248     HRESULT length([retval, out] LONG *p);
9249 }
9250
9251 [
9252     noncreatable,
9253     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9254 ]
9255 coclass CMimeTypes
9256 {
9257     [default]           interface IHTMLMimeTypesCollection;
9258 }
9259
9260 /*****************************************************************************
9261  *    IHTMLPluginsCollection interface
9262  */
9263 [
9264     odl,
9265     oleautomation,
9266     dual,
9267     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9268 ]
9269 interface IHTMLPluginsCollection : IDispatch
9270 {
9271     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9272     HRESULT length([retval, out] LONG *p);
9273
9274     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9275     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9276 }
9277
9278 [
9279     hidden,
9280     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9281 ]
9282 dispinterface DispCPlugins
9283 {
9284  properties:
9285 methods:
9286     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9287     long length();
9288
9289     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9290     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9291
9292     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9293     IDispatch *constructor();
9294 }
9295
9296 [
9297     noncreatable,
9298     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9299 ]
9300 coclass CPlugins
9301 {
9302     [default]  dispinterface DispCPlugins;
9303                interface IHTMLPluginsCollection;
9304                interface IHTMLDOMConstructor;
9305 }
9306
9307 /*****************************************************************************
9308  *    IHTMLOpsProfile interface
9309  */
9310 [
9311     odl,
9312     oleautomation,
9313     dual,
9314     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9315 ]
9316 interface IHTMLOpsProfile : IDispatch
9317 {
9318     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9319     HRESULT addRequest(
9320         [in] BSTR name,
9321         [optional, in] VARIANT reserved,
9322         [retval, out] VARIANT_BOOL *success);
9323
9324     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9325     HRESULT clearRequest();
9326
9327     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9328     HRESULT doRequest(
9329         [in] VARIANT usage,
9330         [optional, in] VARIANT fname,
9331         [optional, in] VARIANT domain,
9332         [optional, in] VARIANT path,
9333         [optional, in] VARIANT expire,
9334         [optional, in] VARIANT reserved);
9335
9336     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9337     HRESULT getAttribute(
9338         [in] BSTR name,
9339         [retval, out] BSTR *value);
9340
9341     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9342     HRESULT setAttribute(
9343         [in] BSTR name,
9344         [in] BSTR value,
9345         [optional, in] VARIANT prefs,
9346         [retval, out] VARIANT_BOOL *success);
9347
9348     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9349     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9350
9351     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9352     HRESULT addReadRequest(
9353         [in] BSTR name,
9354         [optional, in] VARIANT reserved,
9355         [retval, out] VARIANT_BOOL *success);
9356
9357     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9358     HRESULT doReadRequest(
9359         [in] VARIANT usage,
9360         [optional, in] VARIANT fname,
9361         [optional, in] VARIANT domain,
9362         [optional, in] VARIANT path,
9363         [optional, in] VARIANT expire,
9364         [optional, in] VARIANT reserved);
9365
9366     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9367     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9368 }
9369
9370 [
9371     noncreatable,
9372     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9373 ]
9374 coclass COpsProfile
9375 {
9376     [default]           interface IHTMLOpsProfile;
9377 }
9378
9379 /*****************************************************************************
9380  *    IOmNavigator interface
9381  */
9382 [
9383     odl,
9384     oleautomation,
9385     dual,
9386     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9387 ]
9388 interface IOmNavigator : IDispatch
9389 {
9390     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9391     HRESULT appCodeName([retval, out] BSTR *p);
9392
9393     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9394     HRESULT appName([retval, out] BSTR *p);
9395
9396     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9397     HRESULT appVersion([retval, out] BSTR *p);
9398
9399     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9400     HRESULT userAgent([retval, out] BSTR *p);
9401
9402     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9403     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9404
9405     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9406     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9407
9408     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9409     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9410
9411     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9412     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9413
9414     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9415     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9416
9417     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9418     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9419
9420     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9421     HRESULT toString([retval, out] BSTR *String);
9422
9423     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9424     HRESULT cpuClass([retval, out] BSTR *p);
9425
9426     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9427     HRESULT systemLanguage([retval, out] BSTR *p);
9428
9429     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9430     HRESULT browserLanguage([retval, out] BSTR *p);
9431
9432     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9433     HRESULT userLanguage([retval, out] BSTR *p);
9434
9435     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9436     HRESULT platform([retval, out] BSTR *p);
9437
9438     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9439     HRESULT appMinorVersion([retval, out] BSTR *p);
9440
9441     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9442     HRESULT connectionSpeed([retval, out] LONG *p);
9443
9444     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9445     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9446
9447     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9448     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9449 }
9450
9451 /*****************************************************************************
9452  *    DispHTMLNavigator dispinterface
9453  */
9454 [
9455     hidden,
9456     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9457 ]
9458 dispinterface DispHTMLNavigator
9459 {
9460 properties:
9461 methods:
9462     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9463     BSTR appCodeName();
9464
9465     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9466     BSTR appName();
9467
9468     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9469     BSTR appVersion();
9470
9471     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9472     BSTR userAgent();
9473
9474     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9475     VARIANT_BOOL javaEnabled();
9476
9477     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9478     VARIANT_BOOL taintEnabled();
9479
9480     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9481     IHTMLMimeTypesCollection *mimeTypes();
9482
9483     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9484     IHTMLPluginsCollection *plugins();
9485
9486     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9487     VARIANT_BOOL cookieEnabled();
9488
9489     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9490     IHTMLOpsProfile *opsProfile();
9491
9492     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9493     BSTR toString();
9494
9495     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9496     BSTR cpuClass();
9497
9498     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9499     BSTR systemLanguage();
9500
9501     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9502     BSTR browserLanguage();
9503
9504     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9505     BSTR userLanguage();
9506
9507     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9508     BSTR platform();
9509
9510     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9511     BSTR appMinorVersion();
9512
9513     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9514     LONG connectionSpeed();
9515
9516     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9517     VARIANT_BOOL onLine();
9518
9519     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9520     IHTMLOpsProfile *userProfile();
9521
9522     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9523 }
9524
9525 [
9526     noncreatable,
9527     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9528 ]
9529 coclass HTMLNavigator
9530 {
9531     [default]  dispinterface DispHTMLNavigator;
9532                interface IOmNavigator;
9533 }
9534
9535 /*****************************************************************************
9536  *    IHTMLLocation interface
9537  */
9538 [
9539     odl,
9540     oleautomation,
9541     dual,
9542     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
9543 ]
9544 interface IHTMLLocation : IDispatch
9545 {
9546     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9547     HRESULT href([in] BSTR v);
9548
9549     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9550     HRESULT href([retval, out] BSTR *p);
9551
9552     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9553     HRESULT protocol([in] BSTR v);
9554
9555     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9556     HRESULT protocol([retval, out] BSTR *p);
9557
9558     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9559     HRESULT host([in] BSTR v);
9560
9561     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9562     HRESULT host([retval, out] BSTR *p);
9563
9564     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9565     HRESULT hostname([in] BSTR v);
9566
9567     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9568     HRESULT hostname([retval, out] BSTR *p);
9569
9570     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9571     HRESULT port([in] BSTR v);
9572
9573     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9574     HRESULT port([retval, out] BSTR *p);
9575
9576     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9577     HRESULT pathname([in] BSTR v);
9578
9579     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9580     HRESULT pathname([retval, out] BSTR *p);
9581
9582     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9583     HRESULT search([in] BSTR v);
9584
9585     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9586     HRESULT search([retval, out] BSTR *p);
9587
9588     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9589     HRESULT hash([in] BSTR v);
9590
9591     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9592     HRESULT hash([retval, out] BSTR *p);
9593
9594     [id(DISPID_IHTMLLOCATION_RELOAD)]
9595     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
9596
9597     [id(DISPID_IHTMLLOCATION_REPLACE)]
9598     HRESULT replace([in] BSTR bstr);
9599
9600     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9601     HRESULT assign([in] BSTR bstr);
9602
9603     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9604     HRESULT toString([retval, out] BSTR *String);
9605 }
9606
9607 /*****************************************************************************
9608  *    DispHTMLLocation dispinterface
9609  */
9610 [
9611     hidden,
9612     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
9613 ]
9614 dispinterface DispHTMLLocation
9615 {
9616 properties:
9617 methods:
9618     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9619     void href(BSTR v);
9620
9621     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9622     BSTR href();
9623
9624     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9625     void protocol(BSTR v);
9626
9627     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9628     BSTR protocol();
9629
9630     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9631     void host(BSTR v);
9632
9633     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9634     BSTR host();
9635
9636     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9637     void hostname(BSTR v);
9638
9639     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9640     BSTR hostname();
9641
9642     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9643     void port(BSTR v);
9644
9645     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9646     BSTR port();
9647
9648     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9649     void pathname(BSTR v);
9650
9651     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9652     BSTR pathname();
9653
9654     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9655     void search(BSTR v);
9656
9657     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9658     BSTR search();
9659
9660     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9661     void hash(BSTR v);
9662
9663     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9664     BSTR hash();
9665
9666     [id(DISPID_IHTMLLOCATION_RELOAD)]
9667     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
9668
9669     [id(DISPID_IHTMLLOCATION_REPLACE)]
9670     void replace([in] BSTR bstr);
9671
9672     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9673     void assign([in] BSTR bstr);
9674
9675     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9676     BSTR toString();
9677
9678     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9679 }
9680
9681 [
9682     noncreatable,
9683     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
9684 ]
9685 coclass HTMLLocation
9686 {
9687     [default]  dispinterface DispHTMLLocation;
9688                interface IHTMLLocation;
9689 }
9690
9691 [
9692     odl,
9693     oleautomation,
9694     dual,
9695     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
9696 ]
9697 interface IHTMLBookmarkCollection : IDispatch
9698 {
9699     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
9700     HRESULT length([out, retval] LONG *p);
9701
9702     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
9703     HRESULT _newEnum([out, retval] IUnknown **p);
9704
9705     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
9706     HRESULT item(
9707             [in] LONG index,
9708             [out, retval] VARIANT *pVarBookmark);
9709 }
9710
9711 /*****************************************************************************
9712  *    IHTMLDataTransfer interface
9713  */
9714 [
9715     odl,
9716     oleautomation,
9717     dual,
9718     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
9719 ]
9720 interface IHTMLDataTransfer : IDispatch
9721 {
9722     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
9723     HRESULT setData(
9724             [in] BSTR format,
9725             [in] VARIANT *data,
9726             [out, retval] VARIANT_BOOL *pret);
9727
9728     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
9729     HRESULT getData(
9730             [in] BSTR format,
9731             [out, retval] VARIANT *pvarRet);
9732
9733     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
9734     HRESULT clearData(
9735             [in] BSTR format,
9736             [out, retval] VARIANT_BOOL *pret);
9737
9738     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9739     HRESULT dropEffect([in] BSTR v);
9740
9741     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9742     HRESULT dropEffect([out, retval] BSTR *p);
9743
9744     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9745     HRESULT effectAllowed([in] BSTR v);
9746
9747     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9748     HRESULT effectAllowed([out, retval] BSTR *p);
9749 }
9750
9751 /*****************************************************************************
9752  *    IHTMLEventObj interface
9753  */
9754 [
9755     odl,
9756     oleautomation,
9757     dual,
9758     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9759 ]
9760 interface IHTMLEventObj : IDispatch
9761 {
9762     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9763     HRESULT srcElement([retval, out] IHTMLElement **p);
9764
9765     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9766     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9767
9768     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9769     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9770
9771     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9772     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9773
9774     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9775     HRESULT returnValue([in] VARIANT v);
9776
9777     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9778     HRESULT returnValue([retval, out] VARIANT *p);
9779
9780     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9781     HRESULT cancelBubble([in] VARIANT_BOOL v);
9782
9783     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9784     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9785
9786     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9787     HRESULT fromElement([retval, out] IHTMLElement **p);
9788
9789     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9790     HRESULT toElement([retval, out] IHTMLElement **p);
9791
9792     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9793     HRESULT keyCode([in] LONG v);
9794
9795     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9796     HRESULT keyCode([retval, out] LONG *p);
9797
9798     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9799     HRESULT button([retval, out] LONG *p);
9800
9801     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9802     HRESULT type([retval, out] BSTR *p);
9803
9804     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9805     HRESULT qualifier([retval, out] BSTR *p);
9806
9807     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9808     HRESULT reason([retval, out] LONG *p);
9809
9810     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9811     HRESULT x([retval, out] LONG *p);
9812
9813     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9814     HRESULT y([retval, out] LONG *p);
9815
9816     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9817     HRESULT clientX([retval, out] LONG *p);
9818
9819     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9820     HRESULT clientY([retval, out] LONG *p);
9821
9822     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9823     HRESULT offsetX([retval, out] LONG *p);
9824
9825     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9826     HRESULT offsetY([retval, out] LONG *p);
9827
9828     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9829     HRESULT screenX([retval, out] LONG *p);
9830
9831     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9832     HRESULT screenY([retval, out] LONG *p);
9833
9834     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9835     HRESULT srcFilter([retval, out] IDispatch **p);
9836 }
9837
9838 /*****************************************************************************
9839  *    DispCEventObj dispinterface
9840  */
9841 [
9842     hidden,
9843     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9844 ]
9845 dispinterface DispCEventObj
9846 {
9847 properties:
9848 methods:
9849     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9850     void returnValue(VARIANT v);
9851
9852     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9853     VARIANT returnValue();
9854
9855     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9856     void cancelBubble(VARIANT_BOOL v);
9857
9858     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9859     VARIANT_BOOL cancelBubble();
9860
9861     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9862     void keyCode(LONG v);
9863
9864     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9865     LONG keyCode();
9866
9867     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9868     void setAttribute(
9869             [in] BSTR strAttributeName,
9870             [in] VARIANT AttributeValue,
9871             [in, defaultvalue(1)] LONG lFlags);
9872
9873     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9874     VARIANT getAttribute(
9875             [in] BSTR strAttributeName,
9876             [in, defaultvalue(0)] LONG lFlags);
9877
9878     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9879     VARIANT_BOOL removeAttribute(
9880             [in] BSTR strAttributeName,
9881             [in, defaultvalue(1)] LONG lFlags);
9882
9883     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9884     void propertyName(BSTR v);
9885
9886     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9887     BSTR propertyName();
9888
9889     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9890     void bookmarks(IHTMLBookmarkCollection *v);
9891
9892     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9893     IHTMLBookmarkCollection *bookmarks();
9894
9895     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9896     void recordset(IDispatch *v);
9897
9898     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9899     IDispatch *recordset();
9900
9901     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9902     void dataFld(BSTR v);
9903
9904     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9905     BSTR dataFld();
9906
9907     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9908     void boundElements(IHTMLElementCollection *v);
9909
9910     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9911     IHTMLElementCollection *boundElements();
9912
9913     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9914     void repeat(VARIANT_BOOL v);
9915
9916     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9917     VARIANT_BOOL repeat();
9918
9919     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9920     void srcUrn(BSTR v);
9921
9922     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9923     BSTR srcUrn();
9924
9925     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9926     void srcElement(IHTMLElement *v);
9927
9928     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9929     IHTMLElement *srcElement();
9930
9931     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9932     void altKey(VARIANT_BOOL v);
9933
9934     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9935     VARIANT_BOOL altKey();
9936
9937     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9938     void ctrlKey(VARIANT_BOOL v);
9939
9940     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9941     VARIANT_BOOL ctrlKey();
9942
9943     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9944     void shiftKey(VARIANT_BOOL v);
9945
9946     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9947     VARIANT_BOOL shiftKey();
9948
9949     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9950     void fromElement(IHTMLElement *v);
9951
9952     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9953     IHTMLElement *fromElement();
9954
9955     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9956     void toElement(IHTMLElement *v);
9957
9958     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9959     IHTMLElement *toElement();
9960
9961     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9962     void button(LONG v);
9963
9964     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9965     LONG button();
9966
9967     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9968     void type(BSTR v);
9969
9970     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9971     BSTR type();
9972
9973     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9974     void qualifier(BSTR v);
9975
9976     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9977     BSTR qualifier();
9978
9979     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9980     void reason(LONG v);
9981
9982     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9983     LONG reason();
9984
9985     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
9986     void x(LONG v);
9987
9988     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
9989     LONG x();
9990
9991     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
9992     void y(LONG v);
9993
9994     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
9995     LONG y();
9996
9997     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9998     void clientX(LONG v);
9999
10000     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10001     LONG clientX();
10002
10003     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10004     void clientY(LONG v);
10005
10006     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10007     LONG clientY();
10008     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10009     void offsetX(LONG v);
10010
10011     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10012     LONG offsetX();
10013
10014     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10015     void offsetY(LONG v);
10016
10017     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10018     LONG offsetY();
10019
10020     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10021     void screenX(LONG v);
10022
10023     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10024     LONG screenX();
10025
10026     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10027     void screenY(LONG v);
10028
10029     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10030     LONG screenY();
10031
10032     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10033     void srcFilter(IDispatch *v);
10034
10035     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10036     IDispatch *srcFilter();
10037
10038     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10039     IHTMLDataTransfer *dataTransfer();
10040
10041     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10042     VARIANT_BOOL contentOverflow();
10043
10044     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10045     void shiftLeft(VARIANT_BOOL v);
10046
10047     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10048     VARIANT_BOOL shiftLeft();
10049
10050     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10051     void altLeft(VARIANT_BOOL v);
10052
10053     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10054     VARIANT_BOOL altLeft();
10055
10056     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10057     void ctrlLeft(VARIANT_BOOL v);
10058
10059     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10060     VARIANT_BOOL ctrlLeft();
10061
10062     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10063     LONG_PTR imeCompositionChange();
10064
10065     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10066     LONG_PTR imeNotifyCommand();
10067
10068     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10069     LONG_PTR imeNotifyData();
10070
10071     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10072     LONG_PTR imeRequest();
10073
10074     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10075     LONG_PTR imeRequestData();
10076
10077     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10078     LONG_PTR keyboardLayout();
10079
10080     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10081     LONG behaviorCookie();
10082
10083     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10084     LONG behaviorPart();
10085
10086     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10087     BSTR nextPage();
10088
10089     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10090     LONG wheelDelta();
10091 }
10092
10093 /*****************************************************************************
10094  *    IHTMLFramesCollection2 interface
10095  */
10096 [
10097     odl,
10098     oleautomation,
10099     dual,
10100     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10101 ]
10102 interface IHTMLFramesCollection2 : IDispatch
10103 {
10104     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10105     HRESULT item(
10106         [in] VARIANT *pvarIndex,
10107         [retval, out] VARIANT *pvarResult);
10108
10109     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10110     HRESULT length([retval, out] LONG *p);
10111 }
10112
10113 /*****************************************************************************
10114  *    IHTMLScreen interface
10115  */
10116 [
10117     odl,
10118     oleautomation,
10119     dual,
10120     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10121 ]
10122 interface IHTMLScreen : IDispatch
10123 {
10124     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10125     HRESULT colorDepth([retval, out] LONG *p);
10126
10127     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10128     HRESULT bufferDepth([in] LONG v);
10129
10130     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10131     HRESULT bufferDepth([retval, out] LONG *p);
10132
10133     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10134     HRESULT width([retval, out] LONG *p);
10135
10136     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10137     HRESULT height([retval, out] LONG *p);
10138
10139     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10140     HRESULT updateInterval([in] LONG v);
10141
10142     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10143     HRESULT updateInterval([retval, out] LONG *p);
10144
10145     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10146     HRESULT availHeight([retval, out] LONG *p);
10147
10148     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10149     HRESULT availWidth([retval, out] LONG *p);
10150
10151     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10152     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10153 }
10154
10155 /*****************************************************************************
10156  *    IHTMLWindow2 interface
10157  */
10158 [
10159     odl,
10160     oleautomation,
10161     dual,
10162     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10163 ]
10164 interface IHTMLWindow2 : IHTMLFramesCollection2
10165 {
10166     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10167     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10168
10169     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10170     HRESULT defaultStatus([in] BSTR v);
10171
10172     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10173     HRESULT defaultStatus([retval, out] BSTR *p);
10174
10175     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10176     HRESULT status([in] BSTR v);
10177
10178     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10179     HRESULT status([retval, out] BSTR *p);
10180
10181     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10182     HRESULT setTimeout(
10183         [in] BSTR expression,
10184         [in] LONG msec,
10185         [optional, in] VARIANT *language,
10186         [retval, out] LONG *timerID);
10187
10188     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10189     HRESULT clearTimeout([in] LONG timerID);
10190
10191     [id(DISPID_IHTMLWINDOW2_ALERT)]
10192     HRESULT alert([defaultvalue(""), in] BSTR message);
10193
10194     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10195     HRESULT confirm(
10196         [defaultvalue(""), in] BSTR message,
10197         [retval, out] VARIANT_BOOL *confirmed);
10198
10199     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10200     HRESULT prompt(
10201         [defaultvalue(""), in] BSTR message,
10202         [defaultvalue("undefined"), in] BSTR defstr,
10203         [retval, out] VARIANT *textdata);
10204
10205     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10206     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10207
10208     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10209     HRESULT location([retval, out] IHTMLLocation **p);
10210
10211     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10212     HRESULT history([retval, out] IOmHistory **p);
10213
10214     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10215     HRESULT close();
10216
10217     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10218     HRESULT opener([in] VARIANT v);
10219
10220     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10221     HRESULT opener([retval, out] VARIANT *p);
10222
10223     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10224     HRESULT navigator([retval, out] IOmNavigator **p);
10225
10226     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10227     HRESULT name([in] BSTR v);
10228
10229     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10230     HRESULT name([retval, out] BSTR *p);
10231
10232     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10233     HRESULT parent([retval, out] IHTMLWindow2 **p);
10234
10235     [id(DISPID_IHTMLWINDOW2_OPEN)]
10236     HRESULT open(
10237         [defaultvalue(""), in] BSTR url,
10238         [defaultvalue(""), in] BSTR name,
10239         [defaultvalue(""), in] BSTR features,
10240         [defaultvalue(0), in] VARIANT_BOOL replace,
10241         [retval, out] IHTMLWindow2 **pomWindowResult);
10242
10243     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10244     HRESULT self([retval, out] IHTMLWindow2 **p);
10245
10246     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10247     HRESULT top([retval, out] IHTMLWindow2 **p);
10248
10249     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10250     HRESULT window([retval, out] IHTMLWindow2 **p);
10251
10252     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10253     HRESULT navigate([in] BSTR url);
10254
10255     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10256     HRESULT onfocus([in] VARIANT v);
10257
10258     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10259     HRESULT onfocus([retval, out] VARIANT *p);
10260
10261     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10262     HRESULT onblur([in] VARIANT v);
10263
10264     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10265     HRESULT onblur([retval, out] VARIANT *p);
10266
10267     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10268     HRESULT onload([in] VARIANT v);
10269
10270     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10271     HRESULT onload([retval, out] VARIANT *p);
10272
10273     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10274     HRESULT onbeforeunload([in] VARIANT v);
10275
10276     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10277     HRESULT onbeforeunload([retval, out] VARIANT *p);
10278
10279     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10280     HRESULT onunload([in] VARIANT v);
10281
10282     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10283     HRESULT onunload([retval, out] VARIANT *p);
10284
10285     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10286     HRESULT onhelp([in] VARIANT v);
10287
10288     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10289     HRESULT onhelp([retval, out] VARIANT *p);
10290
10291     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10292     HRESULT onerror([in] VARIANT v);
10293
10294     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10295     HRESULT onerror([retval, out] VARIANT *p);
10296
10297     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10298     HRESULT onresize([in] VARIANT v);
10299
10300     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10301     HRESULT onresize([retval, out] VARIANT *p);
10302
10303     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10304     HRESULT onscroll([in] VARIANT v);
10305
10306     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10307     HRESULT onscroll([retval, out] VARIANT *p);
10308
10309     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10310     HRESULT document([retval, out] IHTMLDocument2 **p);
10311
10312     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10313     HRESULT event([retval, out] IHTMLEventObj **p);
10314
10315     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10316     HRESULT _newEnum([retval, out] IUnknown **p);
10317
10318     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10319     HRESULT showModalDialog(
10320         [in] BSTR dialog,
10321         [optional, in] VARIANT *varArgIn,
10322         [optional, in] VARIANT *varOptions,
10323         [retval, out] VARIANT *varArgOut);
10324
10325     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10326     HRESULT showHelp(
10327         [in] BSTR helpURL,
10328         [optional, in] VARIANT helpArg,
10329         [defaultvalue(""), in] BSTR features);
10330
10331     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10332     HRESULT screen([retval, out] IHTMLScreen **p);
10333
10334     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10335     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10336
10337     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10338     HRESULT focus();
10339
10340     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10341     HRESULT closed([retval, out] VARIANT_BOOL *p);
10342
10343     [id(DISPID_IHTMLWINDOW2_BLUR)]
10344     HRESULT blur();
10345
10346     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10347     HRESULT scroll([in] LONG x, [in] LONG y);
10348
10349     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10350     HRESULT clientInformation([retval, out] IOmNavigator **p);
10351
10352     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10353     HRESULT setInterval([
10354         in] BSTR expression,
10355         [in] LONG msec,
10356         [optional, in] VARIANT *language,
10357         [retval, out] LONG *timerID);
10358
10359     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10360     HRESULT clearInterval([in] LONG timerID);
10361
10362     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10363     HRESULT offscreenBuffering([in] VARIANT v);
10364
10365     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10366     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10367
10368     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10369     HRESULT execScript(
10370         [in] BSTR scode,
10371         [defaultvalue("JScript"), in] BSTR language,
10372         [retval, out] VARIANT *pvarRet);
10373
10374     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10375     HRESULT toString([retval, out] BSTR *String);
10376
10377     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10378     HRESULT scrollBy([in] LONG x, [in] LONG y);
10379
10380     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10381     HRESULT scrollTo([in] LONG x, [in] LONG y);
10382
10383     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10384     HRESULT moveTo([in] LONG x, [in] LONG y);
10385
10386     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10387     HRESULT moveBy([in] LONG x, [in] LONG y);
10388
10389     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10390     HRESULT resizeTo([in] LONG x, [in] LONG y);
10391
10392     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10393     HRESULT resizeBy([in] LONG x, [in] LONG y);
10394
10395     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10396     HRESULT external([retval, out] IDispatch **p);
10397 }
10398
10399 /*****************************************************************************
10400  *    IHTMLWindow3 interface
10401  */
10402 [
10403     odl,
10404     oleautomation,
10405     dual,
10406     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10407 ]
10408 interface IHTMLWindow3 : IDispatch
10409 {
10410     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10411     HRESULT screenLeft([out, retval] LONG *p);
10412
10413     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10414     HRESULT screenTop([out, retval] LONG *p);
10415
10416     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10417     HRESULT attachEvent(
10418             [in] BSTR event,
10419             [in] IDispatch *pDisp,
10420             [out, retval] VARIANT_BOOL *pfResult);
10421
10422     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10423     HRESULT detachEvent(
10424             [in] BSTR event,
10425             [in] IDispatch *pDisp);
10426
10427     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10428     HRESULT setTimeout(
10429             [in] VARIANT *expression,
10430             [in] LONG msec,
10431             [in, optional] VARIANT *language,
10432             [out, retval] LONG *timerID);
10433
10434     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10435     HRESULT setInterval(
10436             [in] VARIANT *expression,
10437             [in] LONG msec,
10438             [in, optional] VARIANT *language,
10439             [out, retval] LONG *timerID);
10440
10441     [id(DISPID_IHTMLWINDOW3_PRINT)]
10442     HRESULT print();
10443
10444     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10445     HRESULT onbeforeprint([in] VARIANT v);
10446
10447     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10448     HRESULT onbeforeprint([out, retval] VARIANT *p);
10449
10450     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10451     HRESULT onafterprint([in] VARIANT v);
10452
10453     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10454     HRESULT onafterprint([out, retval] VARIANT *p);
10455
10456     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10457     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10458
10459     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10460     HRESULT showModelessDialog(
10461             [in, defaultvalue("")] BSTR url,
10462             [in, optional] VARIANT *varArgIn,
10463             [in, optional] VARIANT *options,
10464             [out, retval] IHTMLWindow2 **pDialog);
10465 }
10466
10467 /*****************************************************************************
10468  *    IHTMLWindow4 interface
10469  */
10470 [
10471     odl,
10472     oleautomation,
10473     dual,
10474     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10475 ]
10476 interface IHTMLWindow4 : IDispatch
10477 {
10478     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10479     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10480                         [retval, out] IDispatch** ppPopup);
10481
10482     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10483     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10484 }
10485
10486 /*****************************************************************************
10487  *    IHTMLWindow5 interface
10488  */
10489 [
10490     odl,
10491     oleautomation,
10492     dual,
10493     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10494 ]
10495 interface IHTMLWindow5 : IDispatch
10496 {
10497     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10498     HRESULT XMLHttpRequest([in] VARIANT v);
10499
10500     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10501     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10502 }
10503
10504 /*****************************************************************************
10505  *    DispHTMLScreen dispinterface
10506  */
10507 [
10508     hidden,
10509     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
10510 ]
10511 dispinterface DispHTMLScreen
10512 {
10513 properties:
10514 methods:
10515     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10516     long colorDepth();
10517
10518     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10519     void bufferDepth(long v);
10520
10521     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10522     long bufferDepth();
10523
10524     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10525     long width();
10526
10527     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10528     long height();
10529
10530     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10531     void updateInterval(long v);
10532
10533     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10534     long updateInterval();
10535
10536     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10537     long availHeight();
10538
10539     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10540     long availWidth();
10541
10542     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10543     VARIANT_BOOL fontSmoothingEnabled();
10544
10545     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
10546     long logicalXDPI();
10547
10548     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
10549     long logicalYDPI();
10550
10551     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
10552     long deviceXDPI();
10553
10554     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
10555     long deviceYDPI();
10556
10557     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
10558     long systemXDPI();
10559
10560     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
10561     long systemYDPI();
10562
10563     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10564     IDispatch *constructor();
10565 }
10566
10567 /*****************************************************************************
10568  *    DispHTMLWindow2 dispinterface
10569  */
10570 [
10571     hidden,
10572     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
10573 ]
10574 dispinterface DispHTMLWindow2
10575 {
10576 properties:
10577 methods:
10578     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10579     VARIANT item([in] VARIANT *pvarIndex);
10580
10581     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10582     LONG length();
10583
10584     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10585     IHTMLFramesCollection2 *frames();
10586
10587     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10588     void defaultStatus(BSTR v);
10589
10590     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10591     BSTR defaultStatus();
10592
10593     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10594     void status(BSTR v);
10595
10596     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10597     BSTR status();
10598
10599     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10600     void clearTimeout([in] LONG timerID);
10601
10602     [id(DISPID_IHTMLWINDOW2_ALERT)]
10603     void alert([in, defaultvalue("")] BSTR message);
10604
10605     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10606     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
10607
10608     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10609     VARIANT prompt(
10610             [in, defaultvalue("")] BSTR message,
10611             [in, defaultvalue("undefined")] BSTR defstr);
10612
10613     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10614     IHTMLImageElementFactory *Image();
10615
10616     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10617     IHTMLLocation *location();
10618
10619     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10620     IOmHistory *history();
10621
10622     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10623     void close();
10624
10625     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10626     void opener(VARIANT v);
10627
10628     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10629     VARIANT opener();
10630
10631     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10632     IOmNavigator *navigator();
10633
10634     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10635     void name(BSTR v);
10636
10637     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10638     BSTR name();
10639
10640     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10641     IHTMLWindow2 *parent();
10642
10643     [id(DISPID_IHTMLWINDOW2_OPEN)]
10644     IHTMLWindow2 *open(
10645             [in, defaultvalue("")] BSTR url,
10646             [in, defaultvalue("")] BSTR name,
10647             [in, defaultvalue("")] BSTR features,
10648             [in, defaultvalue(0)]  VARIANT_BOOL replace);
10649
10650     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10651     IHTMLWindow2 *self();
10652
10653     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10654     IHTMLWindow2 *top();
10655
10656     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10657     IHTMLWindow2 *window();
10658
10659     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10660     void navigate([in] BSTR url);
10661
10662     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10663     void onfocus(VARIANT v);
10664
10665     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10666     VARIANT onfocus();
10667
10668     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10669     void onblur(VARIANT v);
10670
10671     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10672     VARIANT onblur();
10673
10674     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10675     VARIANT onload();
10676
10677     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10678     void onbeforeunload(VARIANT v);
10679
10680     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10681     VARIANT onbeforeunload();
10682
10683     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10684     void onunload(VARIANT v);
10685
10686     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10687     VARIANT onunload();
10688
10689     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10690     void onhelp(VARIANT v);
10691
10692     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10693     VARIANT onhelp();
10694
10695     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10696     void onerror(VARIANT v);
10697
10698     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10699     VARIANT onerror();
10700
10701     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10702     void onresize(VARIANT v);
10703
10704     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10705     VARIANT onresize();
10706
10707     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10708     void onscroll(VARIANT v);
10709
10710     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10711     VARIANT onscroll();
10712
10713     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10714     IHTMLDocument2 *document();
10715
10716     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10717     IHTMLEventObj *event();
10718
10719     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10720     IUnknown *_newEnum();
10721
10722     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10723     VARIANT showModalDialog(
10724             [in] BSTR dialog,
10725             [in, optional] VARIANT *varArgIn,
10726             [in, optional] VARIANT *varOptions);
10727
10728     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10729     void showHelp(
10730             [in] BSTR helpURL,
10731             [in, optional] VARIANT helpArg,
10732             [in, defaultvalue("")] BSTR features);
10733
10734     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10735     IHTMLScreen *screen();
10736
10737     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10738     IHTMLOptionElementFactory *Option();
10739
10740     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10741     void focus();
10742
10743     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10744     VARIANT_BOOL closed();
10745
10746     [id(DISPID_IHTMLWINDOW2_BLUR)]
10747     void blur();
10748
10749     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10750     void scroll([in] LONG x, [in] LONG y);
10751
10752     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10753     IOmNavigator *clientInformation();
10754
10755     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10756     void clearInterval([in] LONG timerID);
10757
10758     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10759     void offscreenBuffering(VARIANT v);
10760
10761     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10762     VARIANT offscreenBuffering();
10763
10764     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10765     VARIANT execScript(
10766             [in] BSTR _code,
10767             [in, defaultvalue("JScript")] BSTR language);
10768
10769     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10770     BSTR toString();
10771
10772     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10773     void scrollBy([in] LONG x, [in] LONG y);
10774
10775     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10776     void scrollTo([in] LONG x, [in] LONG y);
10777
10778     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10779     void moveTo([in] LONG x, [in] LONG y);
10780
10781     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10782     void moveBy([in] LONG x, [in] LONG y);
10783
10784     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10785     void resizeTo([in] LONG x, [in] LONG y);
10786
10787     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10788     void resizeBy([in] LONG x, [in] LONG y);
10789
10790     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10791     IDispatch *external();
10792
10793     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10794     LONG screenLeft();
10795
10796     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10797     LONG screenTop();
10798
10799     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10800     VARIANT_BOOL attachEvent(
10801              [in] BSTR event,
10802              [in] IDispatch *pDisp);
10803
10804     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10805     void detachEvent(
10806             [in] BSTR event,
10807             [in] IDispatch *pDisp);
10808
10809     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10810     LONG setTimeout(
10811             [in] VARIANT *expression,
10812             [in] LONG msec,
10813             [in, optional] VARIANT *language);
10814
10815     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10816     LONG setInterval(
10817             [in] VARIANT *expression,
10818             [in] LONG msec,
10819             [in, optional] VARIANT *language);
10820
10821     [id(DISPID_IHTMLWINDOW3_PRINT)]
10822     void print();
10823
10824     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10825     void onbeforeprint(VARIANT v);
10826
10827     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10828     VARIANT onbeforeprint();
10829
10830     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10831     void onafterprint(VARIANT v);
10832
10833     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10834     VARIANT onafterprint();
10835
10836     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10837     IHTMLDataTransfer *clipboardData();
10838
10839     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10840     IHTMLWindow2 *showModelessDialog(
10841             [in, defaultvalue("")] BSTR url,
10842             [in, optional] VARIANT *varArgIn,
10843             [in, optional] VARIANT *options);
10844
10845     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10846     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10847
10848     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10849     IHTMLFrameBase *frameElement();
10850 }
10851
10852 /*****************************************************************************
10853  *    DispHTMLWindowProxy dispinterface
10854  */
10855 [
10856     hidden,
10857     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10858 ]
10859 dispinterface DispHTMLWindowProxy
10860 {
10861 properties:
10862 methods:
10863     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10864     VARIANT item([in] VARIANT* pvarIndex);
10865
10866     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10867     LONG length();
10868
10869     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10870     IHTMLFramesCollection2* frames();
10871
10872     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10873     void defaultStatus(BSTR v);
10874
10875     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10876     BSTR defaultStatus();
10877
10878     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10879     void status(BSTR v);
10880
10881     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10882     BSTR status();
10883
10884     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10885     void clearTimeout([in] LONG timerID);
10886
10887     [id(DISPID_IHTMLWINDOW2_ALERT)]
10888     void alert([defaultvalue(""), in] BSTR message);
10889
10890     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10891     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10892
10893     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10894     VARIANT prompt([defaultvalue(""), in] BSTR message,
10895                    [defaultvalue("undefined"), in] BSTR defstr);
10896
10897     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10898     IHTMLImageElementFactory* Image();
10899
10900     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10901     IHTMLLocation* location();
10902
10903     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10904     IOmHistory* history();
10905
10906     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10907     void close();
10908
10909     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10910     void opener(VARIANT v);
10911
10912     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10913     VARIANT opener();
10914
10915     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10916     IOmNavigator* navigator();
10917
10918     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10919     void name(BSTR v);
10920
10921     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10922     BSTR name();
10923
10924     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10925     IHTMLWindow2* parent();
10926
10927     [id(DISPID_IHTMLWINDOW2_OPEN)]
10928     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
10929                        [defaultvalue(""), in] BSTR name,
10930                        [defaultvalue(""), in] BSTR features,
10931                        [defaultvalue(0), in] VARIANT_BOOL replace);
10932
10933     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10934     IHTMLWindow2* self();
10935
10936     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10937     IHTMLWindow2* top();
10938
10939     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10940     IHTMLWindow2* window();
10941
10942     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10943     void navigate([in] BSTR url);
10944
10945     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10946     void onfocus(VARIANT v);
10947
10948     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10949     VARIANT onfocus();
10950
10951     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10952     void onblur(VARIANT v);
10953
10954     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10955     VARIANT onblur();
10956
10957     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10958     void onload(VARIANT v);
10959
10960     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10961     VARIANT onload();
10962
10963     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10964     void onbeforeunload(VARIANT v);
10965
10966     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10967     VARIANT onbeforeunload();
10968
10969     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10970     void onunload(VARIANT v);
10971
10972     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10973     VARIANT onunload();
10974
10975     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10976     void onhelp(VARIANT v);
10977
10978     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10979     VARIANT onhelp();
10980
10981     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10982     void onerror(VARIANT v);
10983
10984     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10985     VARIANT onerror();
10986
10987     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10988     void onresize(VARIANT v);
10989
10990     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10991     VARIANT onresize();
10992
10993     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10994     void onscroll(VARIANT v);
10995
10996     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10997     VARIANT onscroll();
10998
10999     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11000     IHTMLDocument2* document();
11001
11002     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11003     IHTMLEventObj* event();
11004
11005     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11006     IUnknown* _newEnum();
11007
11008     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11009     VARIANT showModalDialog([in] BSTR dialog,
11010                             [optional, in] VARIANT* varArgIn,
11011                             [optional, in] VARIANT* varOptions);
11012
11013     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11014     void showHelp([in] BSTR helpURL,
11015                   [optional, in] VARIANT helpArg,
11016                   [defaultvalue(""), in] BSTR features);
11017
11018     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11019     IHTMLScreen* screen();
11020
11021     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11022     IHTMLOptionElementFactory* Option();
11023
11024     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11025     void focus();
11026
11027     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11028     VARIANT_BOOL closed();
11029
11030     [id(DISPID_IHTMLWINDOW2_BLUR)]
11031     void blur();
11032
11033     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11034     void scroll([in] LONG x,
11035                 [in] LONG y);
11036
11037     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11038     IOmNavigator* clientInformation();
11039
11040     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11041     void clearInterval([in] LONG timerID);
11042
11043     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11044     void offscreenBuffering(VARIANT v);
11045
11046     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11047     VARIANT offscreenBuffering();
11048
11049     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11050     VARIANT execScript([in] BSTR code,
11051                        [defaultvalue("JScript"), in] BSTR language);
11052
11053     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11054     BSTR toString();
11055
11056     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11057     void scrollBy([in] LONG x,
11058                   [in] LONG y);
11059
11060     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11061     void scrollTo([in] LONG x,
11062                   [in] LONG y);
11063
11064     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11065     void moveTo([in] LONG x,
11066                 [in] LONG y);
11067
11068     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11069     void moveBy([in] LONG x,
11070                 [in] LONG y);
11071
11072     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11073     void resizeTo([in] LONG x,
11074                   [in] LONG y);
11075
11076     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11077     void resizeBy([in] LONG x,
11078                   [in] LONG y);
11079
11080     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11081     IDispatch* external();
11082
11083     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11084     LONG screenLeft();
11085
11086     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11087     LONG screenTop();
11088
11089     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11090     VARIANT_BOOL attachEvent([in] BSTR event,
11091                              [in] IDispatch* pDisp);
11092
11093     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11094     void detachEvent([in] BSTR event,
11095                      [in] IDispatch* pDisp);
11096
11097     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11098     LONG setTimeout([in] VARIANT* expression,
11099                     [in] LONG msec,
11100                     [optional, in] VARIANT* language);
11101
11102     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11103     LONG setInterval([in] VARIANT* expression,
11104                      [in] LONG msec,
11105                      [optional, in] VARIANT* language);
11106
11107     [id(DISPID_IHTMLWINDOW3_PRINT)]
11108     void print();
11109
11110     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11111     void onbeforeprint(VARIANT v);
11112
11113     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11114     VARIANT onbeforeprint();
11115
11116     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11117     void onafterprint(VARIANT v);
11118
11119     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11120     VARIANT onafterprint();
11121
11122     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11123     IHTMLDataTransfer* clipboardData();
11124
11125     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11126     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11127                                      [optional, in] VARIANT* varArgIn,
11128                                      [optional, in] VARIANT* options);
11129
11130     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11131     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11132
11133     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11134     IHTMLFrameBase* frameElement();
11135
11136     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11137     void XMLHttpRequest(VARIANT v);
11138
11139     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11140     VARIANT XMLHttpRequest();
11141 }
11142
11143 /*****************************************************************************
11144  *    HTMLWindowEvents interface
11145  */
11146 [
11147     hidden,
11148     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11149 ]
11150 dispinterface HTMLWindowEvents
11151 {
11152 properties:
11153 methods:
11154     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11155     void onload();
11156
11157     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11158     void onunload();
11159
11160     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11161     VARIANT_BOOL onhelp();
11162
11163     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11164     void onfocus();
11165
11166     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11167     void onblur();
11168
11169     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11170     void onerror([in] BSTR description,
11171                  [in] BSTR url,
11172                  [in] LONG line);
11173
11174     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11175     void onresize();
11176
11177     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11178     void onscroll();
11179
11180     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11181     void onbeforeunload();
11182
11183     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11184     void onbeforeprint();
11185
11186     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11187     void onafterprint();
11188 }
11189
11190 /*****************************************************************************
11191  *    HTMLWindowEvents2 interface
11192  */
11193 [
11194     hidden,
11195     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11196 ]
11197 dispinterface HTMLWindowEvents2
11198 {
11199 properties:
11200 methods:
11201     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11202     void onload([in] IHTMLEventObj* pEvtObj);
11203
11204     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11205     void onunload([in] IHTMLEventObj* pEvtObj);
11206
11207     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11208     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11209
11210     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11211     void onfocus([in] IHTMLEventObj* pEvtObj);
11212
11213     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11214     void onblur([in] IHTMLEventObj* pEvtObj);
11215
11216     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11217     void onerror([in] BSTR description,
11218                  [in] BSTR url,
11219                  [in] LONG line);
11220
11221     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11222     void onresize([in] IHTMLEventObj* pEvtObj);
11223
11224     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11225     void onscroll([in] IHTMLEventObj* pEvtObj);
11226
11227     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11228     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11229
11230     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11231     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11232
11233     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11234     void onafterprint([in] IHTMLEventObj* pEvtObj);
11235 }
11236
11237 /*****************************************************************************
11238  *    HTMLWindowProxy class
11239  */
11240 [
11241     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11242 ]
11243 coclass HTMLWindowProxy
11244 {
11245     [default]           dispinterface DispHTMLWindowProxy;
11246     [source, default]   dispinterface HTMLWindowEvents;
11247     [source]            dispinterface HTMLWindowEvents2;
11248                         interface IHTMLWindow2;
11249                         interface IHTMLWindow3;
11250                         interface IHTMLWindow4;
11251                         interface IHTMLWindow5;
11252 }
11253
11254 /*****************************************************************************
11255  *    HTMLDocumentEvents2 interface
11256  */
11257 [
11258     hidden,
11259     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11260 ]
11261 dispinterface HTMLDocumentEvents2
11262 {
11263     properties:
11264     methods:
11265     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11266     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11267
11268     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11269     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11270
11271     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11272     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11273
11274     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11275     void onkeydown([in] IHTMLEventObj *pEvtObj);
11276
11277     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11278     void onkeyup([in] IHTMLEventObj *pEvtObj);
11279
11280     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11281     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11282
11283     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11284     void onmousedown([in] IHTMLEventObj *pEvtObj);
11285
11286     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11287     void onmousemove([in] IHTMLEventObj *pEvtObj);
11288
11289     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11290     void onmouseup([in] IHTMLEventObj *pEvtObj);
11291
11292     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11293     void onmouseout([in] IHTMLEventObj *pEvtObj);
11294
11295     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11296     void onmouseover([in] IHTMLEventObj *pEvtObj);
11297
11298     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11299     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11300
11301     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11302     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11303
11304     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11305     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11306
11307     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11308     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11309
11310     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11311     void onrowenter([in] IHTMLEventObj *pEvtObj);
11312
11313     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11314     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11315
11316     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11317     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11318
11319     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11320     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11321
11322     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11323     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11324
11325     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11326     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11327
11328     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11329     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11330
11331     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11332     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11333
11334     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11335     void oncellchange([in] IHTMLEventObj *pEvtObj);
11336
11337     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11338     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11339
11340     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11341     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11342
11343     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11344     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11345
11346     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11347     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11348
11349     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11350     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11351
11352     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11353     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11354
11355     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11356     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11357
11358     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11359     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11360
11361     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11362     void onfocusin([in] IHTMLEventObj *pEvtObj);
11363
11364     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11365     void onfocusout([in] IHTMLEventObj *pEvtObj);
11366
11367     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11368     void onactivate([in] IHTMLEventObj *pEvtObj);
11369
11370     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11371     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11372
11373     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11374     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11375
11376     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11377     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11378 }
11379
11380 /*****************************************************************************
11381  *    HTMLDocumentEvents interface
11382  */
11383 [
11384     hidden,
11385     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11386 ]
11387 dispinterface HTMLDocumentEvents
11388 {
11389     properties:
11390     methods:
11391     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11392     VARIANT_BOOL onhelp();
11393
11394     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11395     VARIANT_BOOL onclick();
11396
11397     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11398     VARIANT_BOOL ondblclick();
11399
11400     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11401     void onkeydown();
11402
11403     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11404     void onkeyup();
11405
11406     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11407     VARIANT_BOOL onkeypress();
11408
11409     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11410     void onmousedown();
11411
11412     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11413     void onmousemove();
11414
11415     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11416     void onmouseup();
11417
11418     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11419     void onmouseout();
11420
11421     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11422     void onmouseover();
11423
11424     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11425     void onreadystatechange();
11426
11427     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11428     VARIANT_BOOL onbeforeupdate();
11429
11430     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11431     void onafterupdate();
11432
11433     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11434     VARIANT_BOOL onrowexit();
11435
11436     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11437     void onrowenter();
11438
11439     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11440     VARIANT_BOOL ondragstart();
11441
11442     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11443     VARIANT_BOOL onselectstart();
11444
11445     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11446     VARIANT_BOOL onerrorupdate();
11447
11448     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11449     VARIANT_BOOL oncontextmenu();
11450
11451     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11452     VARIANT_BOOL onstop();
11453
11454     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11455     void onrowsdelete();
11456
11457     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11458     void onrowsinserted();
11459
11460     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11461     void oncellchange();
11462
11463     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11464     void onpropertychange();
11465
11466     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11467     void ondatasetchanged();
11468
11469     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11470     void ondataavailable();
11471
11472     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11473     void ondatasetcomplete();
11474
11475     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11476     void onbeforeeditfocus();
11477
11478     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11479     void onselectionchange();
11480
11481     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11482     VARIANT_BOOL oncontrolselect();
11483
11484     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11485     VARIANT_BOOL onmousewheel();
11486
11487     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11488     void onfocusin();
11489
11490     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11491     void onfocusout();
11492
11493     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11494     void onactivate();
11495
11496     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11497     void ondeactivate();
11498
11499     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11500     VARIANT_BOOL onbeforeactivate();
11501
11502     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11503     VARIANT_BOOL onbeforedeactivate();
11504 }
11505
11506 /*****************************************************************************
11507  *    HTMLTextContainerEvents interface
11508  */
11509 [
11510     hidden,
11511     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11512 ]
11513 dispinterface HTMLTextContainerEvents
11514 {
11515 properties:
11516
11517 methods:
11518     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11519     VARIANT_BOOL onhelp();
11520
11521     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11522     VARIANT_BOOL onclick();
11523
11524     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11525     VARIANT_BOOL ondblclick();
11526
11527     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11528     VARIANT_BOOL onkeypress();
11529
11530     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11531     void onkeydown();
11532
11533     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11534     void onkeyup();
11535
11536     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11537     void onmouseout();
11538
11539     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11540     void onmouseover();
11541
11542     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11543     void onmousemove();
11544
11545     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11546     void onmousedown();
11547
11548     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11549     void onmouseup();
11550
11551     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11552     VARIANT_BOOL onselectstart();
11553
11554     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11555     void onfilterchange();
11556
11557     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11558     VARIANT_BOOL ondragstart();
11559
11560     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11561     VARIANT_BOOL onbeforeupdate();
11562
11563     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11564     void onafterupdate();
11565
11566     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11567     VARIANT_BOOL onerrorupdate();
11568
11569     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11570     VARIANT_BOOL onrowexit();
11571
11572     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11573     void onrowenter();
11574
11575     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11576     void ondatasetchanged();
11577
11578     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11579     void ondataavailable();
11580
11581     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11582     void ondatasetcomplete();
11583
11584     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11585     void onlosecapture();
11586
11587     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11588     void onpropertychange();
11589
11590     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11591     void onscroll();
11592
11593     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11594     void onfocus();
11595
11596     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11597     void onblur();
11598
11599     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11600     void onresize();
11601
11602     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11603     VARIANT_BOOL ondrag();
11604
11605     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11606     void ondragend();
11607
11608     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11609     VARIANT_BOOL ondragenter();
11610
11611     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11612     VARIANT_BOOL ondragover();
11613
11614     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11615     void ondragleave();
11616
11617     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11618     VARIANT_BOOL ondrop();
11619
11620     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11621     VARIANT_BOOL onbeforecut();
11622
11623     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11624     VARIANT_BOOL oncut();
11625
11626     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11627     VARIANT_BOOL onbeforecopy();
11628
11629     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11630     VARIANT_BOOL oncopy();
11631
11632     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
11633     VARIANT_BOOL onbeforepaste();
11634
11635     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11636     VARIANT_BOOL onpaste();
11637
11638     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11639     VARIANT_BOOL oncontextmenu();
11640
11641     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11642     void onrowsdelete();
11643
11644     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11645     void onrowsinserted();
11646
11647     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11648     void oncellchange();
11649
11650     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11651     void onreadystatechange();
11652
11653     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11654     void onbeforeeditfocus();
11655
11656     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11657     void onlayoutcomplete();
11658
11659     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11660     void onpage();
11661
11662     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11663     VARIANT_BOOL onbeforedeactivate();
11664
11665     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11666     VARIANT_BOOL onbeforeactivate();
11667
11668     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11669     void onmove();
11670
11671     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11672     VARIANT_BOOL oncontrolselect();
11673
11674     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11675     VARIANT_BOOL onmovestart();
11676
11677     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11678     void onmoveend();
11679
11680     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11681     VARIANT_BOOL onresizestart();
11682
11683     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11684     void onresizeend();
11685
11686     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11687     void onmouseenter();
11688
11689     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11690     void onmouseleave();
11691
11692     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11693     VARIANT_BOOL onmousewheel();
11694
11695     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11696     void onactivate();
11697
11698     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11699     void ondeactivate();
11700
11701     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11702     void onfocusin();
11703
11704     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11705     void onfocusout();
11706
11707     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11708     void onchange();
11709
11710     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11711     void onselect();
11712 }
11713
11714 /*****************************************************************************
11715  *    HTMLTextContainerEvents2 interface
11716  */
11717 [
11718     hidden,
11719     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
11720 ]
11721 dispinterface HTMLTextContainerEvents2
11722 {
11723 properties:
11724 methods:
11725     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
11726     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11727
11728     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
11729     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
11730
11731     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
11732     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
11733
11734     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
11735     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
11736
11737     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
11738     void onkeydown([in] IHTMLEventObj* pEvtObj);
11739
11740     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
11741     void onkeyup([in] IHTMLEventObj* pEvtObj);
11742
11743     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
11744     void onmouseout([in] IHTMLEventObj* pEvtObj);
11745
11746     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
11747     void onmouseover([in] IHTMLEventObj* pEvtObj);
11748
11749     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
11750     void onmousemove([in] IHTMLEventObj* pEvtObj);
11751
11752     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
11753     void onmousedown([in] IHTMLEventObj* pEvtObj);
11754
11755     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
11756     void onmouseup([in] IHTMLEventObj* pEvtObj);
11757
11758     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
11759     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
11760
11761     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
11762     void onfilterchange([in] IHTMLEventObj* pEvtObj);
11763
11764     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
11765     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
11766
11767     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
11768     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
11769
11770     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
11771     void onafterupdate([in] IHTMLEventObj* pEvtObj);
11772
11773     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
11774     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
11775
11776     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
11777     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
11778
11779     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
11780     void onrowenter([in] IHTMLEventObj* pEvtObj);
11781
11782     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
11783     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
11784
11785     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
11786     void ondataavailable([in] IHTMLEventObj* pEvtObj);
11787
11788     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
11789     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
11790
11791     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
11792     void onlosecapture([in] IHTMLEventObj* pEvtObj);
11793
11794     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
11795     void onpropertychange([in] IHTMLEventObj* pEvtObj);
11796
11797     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
11798     void onscroll([in] IHTMLEventObj* pEvtObj);
11799
11800     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
11801     void onfocus([in] IHTMLEventObj* pEvtObj);
11802
11803     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
11804     void onblur([in] IHTMLEventObj* pEvtObj);
11805
11806     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
11807     void onresize([in] IHTMLEventObj* pEvtObj);
11808
11809     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
11810     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
11811
11812     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
11813     void ondragend([in] IHTMLEventObj* pEvtObj);
11814
11815     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
11816     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
11817
11818     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
11819     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
11820
11821     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
11822     void ondragleave([in] IHTMLEventObj* pEvtObj);
11823
11824     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
11825     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
11826
11827     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
11828     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
11829
11830     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
11831     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
11832
11833     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
11834     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
11835
11836     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
11837     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
11838
11839     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
11840     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
11841
11842     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11843     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11844
11845     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11846     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11847
11848     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11849     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11850
11851     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11852     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11853
11854     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11855     void oncellchange([in] IHTMLEventObj* pEvtObj);
11856
11857     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11858     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11859
11860     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11861     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11862
11863     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11864     void onpage([in] IHTMLEventObj* pEvtObj);
11865
11866     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11867     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11868
11869     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11870     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11871
11872     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11873     void onactivate([in] IHTMLEventObj* pEvtObj);
11874
11875     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11876     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11877
11878     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11879     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11880
11881     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11882     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11883
11884     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11885     void onfocusin([in] IHTMLEventObj* pEvtObj);
11886
11887     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11888     void onfocusout([in] IHTMLEventObj* pEvtObj);
11889
11890     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11891     void onmove([in] IHTMLEventObj* pEvtObj);
11892
11893     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11894     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11895
11896     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11897     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11898
11899     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
11900     void onmoveend([in] IHTMLEventObj* pEvtObj);
11901
11902     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
11903     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
11904
11905     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
11906     void onresizeend([in] IHTMLEventObj* pEvtObj);
11907
11908     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
11909     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
11910
11911     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
11912     void onchange([in] IHTMLEventObj* pEvtObj);
11913
11914     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
11915     void onselect([in] IHTMLEventObj* pEvtObj);
11916 }
11917
11918 /*****************************************************************************
11919  *    IHTMLDocument interface
11920  */
11921 [
11922     odl,
11923     oleautomation,
11924     dual,
11925     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11926 ]
11927 interface IHTMLDocument : IDispatch
11928 {
11929     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11930     HRESULT Script([retval, out] IDispatch **p);
11931 }
11932
11933 /*****************************************************************************
11934  *    IHTMLDocument2 interface
11935  */
11936 [
11937     odl,
11938     oleautomation,
11939     dual,
11940     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11941 ]
11942 interface IHTMLDocument2 : IHTMLDocument
11943 {
11944     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11945     HRESULT all([retval, out] IHTMLElementCollection **p);
11946
11947     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11948     HRESULT body([retval, out] IHTMLElement **p);
11949
11950     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11951     HRESULT activeElement([retval, out] IHTMLElement **p);
11952
11953     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11954     HRESULT images([retval, out] IHTMLElementCollection **p);
11955
11956     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11957     HRESULT applets([retval, out] IHTMLElementCollection **p);
11958
11959     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11960     HRESULT links([retval, out] IHTMLElementCollection **p);
11961
11962     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11963     HRESULT forms([retval, out] IHTMLElementCollection **p);
11964
11965     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11966     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11967
11968     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11969     HRESULT title([in] BSTR v);
11970
11971     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11972     HRESULT title([retval, out] BSTR *p);
11973
11974     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11975     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11976
11977     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11978     HRESULT designMode([in] BSTR v);
11979
11980     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11981     HRESULT designMode([retval, out] BSTR *p);
11982
11983     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11984     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11985
11986     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11987      HRESULT readyState([retval, out] BSTR *p);
11988
11989     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11990     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11991
11992     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11993     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11994
11995     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11996     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11997
11998     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11999     HRESULT alinkColor([in] VARIANT v);
12000
12001     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12002     HRESULT alinkColor([retval, out] VARIANT *p);
12003
12004     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12005     HRESULT bgColor([in] VARIANT v);
12006
12007     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12008     HRESULT bgColor([retval, out] VARIANT *p);
12009
12010     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12011     HRESULT fgColor([in] VARIANT v);
12012
12013     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12014     HRESULT fgColor([retval, out] VARIANT *p);
12015
12016     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12017     HRESULT linkColor([in] VARIANT v);
12018
12019     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12020     HRESULT linkColor([retval, out] VARIANT *p);
12021
12022     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12023     HRESULT vlinkColor([in] VARIANT v);
12024
12025     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12026     HRESULT vlinkColor([retval, out] VARIANT *p);
12027
12028     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12029     HRESULT referrer([retval, out] BSTR *p);
12030
12031     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12032     HRESULT location([retval, out] IHTMLLocation **p);
12033
12034     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12035     HRESULT lastModified([retval, out] BSTR *p);
12036
12037     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12038     HRESULT URL([in] BSTR v);
12039
12040     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12041     HRESULT URL([retval, out] BSTR *p);
12042
12043     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12044     HRESULT domain([in] BSTR v);
12045
12046     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12047     HRESULT domain([retval, out] BSTR *p);
12048
12049     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12050     HRESULT cookie([in] BSTR v);
12051
12052     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12053     HRESULT cookie([retval, out] BSTR *p);
12054
12055     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12056     HRESULT expando([in] VARIANT_BOOL v);
12057
12058     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12059     HRESULT expando([retval, out] VARIANT_BOOL *p);
12060
12061     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12062      HRESULT charset([in] BSTR v);
12063
12064     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12065     HRESULT charset([retval, out] BSTR *p);
12066
12067     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12068     HRESULT defaultCharset([in] BSTR v);
12069
12070     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12071     HRESULT defaultCharset([retval, out] BSTR *p);
12072
12073     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12074     HRESULT mimeType([retval, out] BSTR *p);
12075
12076     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12077     HRESULT fileSize([retval, out] BSTR *p);
12078
12079     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12080     HRESULT fileCreatedDate([retval, out] BSTR *p);
12081
12082     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12083     HRESULT fileModifiedDate([retval, out] BSTR *p);
12084
12085     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12086     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12087
12088     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12089     HRESULT security([retval, out] BSTR *p);
12090
12091     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12092     HRESULT protocol([retval, out] BSTR *p);
12093
12094     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12095      HRESULT nameProp([retval, out] BSTR *p);
12096
12097     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12098     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12099
12100     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12101     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12102
12103     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12104     HRESULT open(
12105         [defaultvalue("text/html"), in] BSTR url,
12106         [optional, in] VARIANT name,
12107         [optional, in] VARIANT features,
12108         [optional, in] VARIANT replace,
12109         [retval, out]  IDispatch **pomWindowResult);
12110
12111     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12112     HRESULT close();
12113
12114     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12115     HRESULT clear();
12116
12117     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12118     HRESULT queryCommandSupported(
12119         [in] BSTR cmdID,
12120         [retval, out] VARIANT_BOOL *pfRet);
12121
12122     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12123     HRESULT queryCommandEnabled(
12124         [in] BSTR cmdID,
12125         [retval, out] VARIANT_BOOL *pfRet);
12126
12127     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12128     HRESULT queryCommandState(
12129         [in] BSTR cmdID,
12130         [retval, out] VARIANT_BOOL *pfRet);
12131
12132     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12133     HRESULT queryCommandIndeterm(
12134         [in] BSTR cmdID,
12135         [retval, out] VARIANT_BOOL *pfRet);
12136
12137     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12138     HRESULT queryCommandText(
12139         [in] BSTR cmdID,
12140         [retval, out] BSTR *pcmdText);
12141
12142     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12143     HRESULT queryCommandValue(
12144         [in] BSTR cmdID,
12145         [retval, out] VARIANT *pcmdValue);
12146
12147     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12148     HRESULT execCommand(
12149         [in] BSTR cmdID,
12150         [defaultvalue(0), in] VARIANT_BOOL showUI,
12151         [optional, in] VARIANT value,
12152         [retval, out] VARIANT_BOOL *pfRet);
12153
12154     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12155     HRESULT execCommandShowHelp(
12156         [in] BSTR cmdID,
12157         [retval, out] VARIANT_BOOL *pfRet);
12158
12159     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12160      HRESULT createElement(
12161         [in] BSTR eTag,
12162         [retval, out] IHTMLElement **newElem);
12163
12164     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12165     HRESULT onhelp([in] VARIANT v);
12166
12167     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12168     HRESULT onhelp([retval, out] VARIANT *p);
12169
12170     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12171     HRESULT onclick([in] VARIANT v);
12172
12173     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12174     HRESULT onclick([retval, out] VARIANT *p);
12175
12176     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12177     HRESULT ondblclick([in] VARIANT v);
12178
12179     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12180     HRESULT ondblclick([retval, out] VARIANT *p);
12181
12182     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12183     HRESULT onkeyup([in] VARIANT v);
12184
12185     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12186     HRESULT onkeyup([retval, out] VARIANT *p);
12187
12188     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12189     HRESULT onkeydown([in] VARIANT v);
12190
12191     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12192     HRESULT onkeydown([retval, out] VARIANT *p);
12193
12194     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12195      HRESULT onkeypress([in] VARIANT v);
12196
12197     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12198     HRESULT onkeypress([retval, out] VARIANT *p);
12199
12200     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12201     HRESULT onmouseup([in] VARIANT v);
12202
12203     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12204     HRESULT onmouseup([retval, out] VARIANT *p);
12205
12206     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12207     HRESULT onmousedown([in] VARIANT v);
12208
12209     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12210     HRESULT onmousedown([retval, out] VARIANT *p);
12211
12212     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12213     HRESULT onmousemove([in] VARIANT v);
12214
12215     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12216     HRESULT onmousemove([retval, out] VARIANT *p);
12217
12218     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12219     HRESULT onmouseout([in] VARIANT v);
12220
12221     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12222     HRESULT onmouseout([retval, out] VARIANT *p);
12223
12224     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12225     HRESULT onmouseover([in] VARIANT v);
12226
12227     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12228     HRESULT onmouseover([retval, out] VARIANT *p);
12229
12230     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12231     HRESULT onreadystatechange([in] VARIANT v);
12232
12233     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12234     HRESULT onreadystatechange([retval, out] VARIANT *p);
12235
12236     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12237     HRESULT onafterupdate([in] VARIANT v);
12238
12239     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12240     HRESULT onafterupdate([retval, out] VARIANT *p);
12241
12242     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12243     HRESULT onrowexit([in] VARIANT v);
12244
12245     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12246     HRESULT onrowexit([retval, out] VARIANT *p);
12247
12248     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12249     HRESULT onrowenter([in] VARIANT v);
12250
12251     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12252     HRESULT onrowenter([retval, out] VARIANT *p);
12253
12254     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12255     HRESULT ondragstart([in] VARIANT v);
12256
12257     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12258     HRESULT ondragstart([retval, out] VARIANT *p);
12259
12260     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12261     HRESULT onselectstart([in] VARIANT v);
12262
12263     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12264     HRESULT onselectstart([retval, out] VARIANT *p);
12265
12266     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12267     HRESULT elementFromPoint(
12268         [in] LONG x,
12269         [in] LONG y,
12270         [retval, out] IHTMLElement **elementHit);
12271
12272     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12273     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12274
12275     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12276     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12277
12278     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12279     HRESULT onbeforeupdate([in] VARIANT v);
12280
12281     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12282     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12283
12284     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12285     HRESULT onerrorupdate([in] VARIANT v);
12286
12287     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12288     HRESULT onerrorupdate([retval, out] VARIANT *p);
12289
12290     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12291     HRESULT toString([retval, out] BSTR *String);
12292
12293     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12294     HRESULT createStyleSheet(
12295         [defaultvalue(""), in] BSTR bstrHref,
12296         [defaultvalue(-1), in] LONG lIndex,
12297         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12298 }
12299
12300 /*****************************************************************************
12301  *    IHTMLDocument3 interface
12302  */
12303 [
12304     odl,
12305     oleautomation,
12306     dual,
12307     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12308 ]
12309 interface IHTMLDocument3 : IDispatch
12310 {
12311     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12312     HRESULT releaseCapture();
12313
12314     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12315     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12316
12317     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12318     HRESULT createTextNode(
12319         [in] BSTR text,
12320         [retval, out] IHTMLDOMNode **newTextNode);
12321
12322     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12323     HRESULT documentElement([retval, out] IHTMLElement **p);
12324
12325     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12326     HRESULT uniqueID([retval, out] BSTR *p);
12327
12328     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12329     HRESULT attachEvent(
12330         [in] BSTR event,
12331         [in] IDispatch* pDisp,
12332         [retval, out] VARIANT_BOOL *pfResult);
12333
12334     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12335     HRESULT detachEvent(
12336         [in] BSTR event,
12337         [in] IDispatch *pDisp);
12338
12339     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12340     HRESULT onrowsdelete([in] VARIANT v);
12341
12342     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12343     HRESULT onrowsdelete([retval, out] VARIANT *p);
12344
12345     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12346     HRESULT onrowsinserted([in] VARIANT v);
12347
12348     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12349     HRESULT onrowsinserted([retval, out] VARIANT *p);
12350
12351     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12352     HRESULT oncellchange([in] VARIANT v);
12353
12354     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12355     HRESULT oncellchange([retval, out] VARIANT *p);
12356
12357     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12358     HRESULT ondatasetchanged([in] VARIANT v);
12359
12360     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12361     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12362
12363     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12364     HRESULT ondataavailable([in] VARIANT v);
12365
12366     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12367     HRESULT ondataavailable([retval, out] VARIANT * p);
12368
12369     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12370     HRESULT ondatasetcomplete([in] VARIANT v);
12371
12372     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12373     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12374
12375     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12376     HRESULT onpropertychange([in] VARIANT v);
12377
12378     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12379     HRESULT onpropertychange([retval, out] VARIANT *p);
12380
12381     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12382     HRESULT dir([in] BSTR v);
12383
12384     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12385     HRESULT dir([retval, out] BSTR *p);
12386
12387     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12388     HRESULT oncontextmenu([in] VARIANT v);
12389
12390     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12391     HRESULT oncontextmenu([retval, out] VARIANT *p);
12392
12393     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12394     HRESULT onstop([in] VARIANT v);
12395
12396     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12397     HRESULT onstop([retval, out] VARIANT *p);
12398
12399     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12400     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12401
12402     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12403     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12404
12405     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12406     HRESULT enableDownload([in] VARIANT_BOOL v);
12407
12408     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12409     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12410
12411     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12412     HRESULT baseUrl([in] BSTR v);
12413
12414     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12415     HRESULT baseUrl([retval, out] BSTR *p);
12416
12417     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12418     HRESULT childNodes([retval, out] IDispatch **p);
12419
12420     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12421     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12422
12423     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12424     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12425
12426     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12427     HRESULT onbeforeeditfocus([in] VARIANT v);
12428
12429     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12430     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12431
12432     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12433     HRESULT getElementsByName(
12434         [in] BSTR v,
12435         [retval, out] IHTMLElementCollection **pelColl);
12436
12437     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12438     HRESULT getElementById(
12439         [in] BSTR v,
12440         [retval, out] IHTMLElement **pel);
12441
12442     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12443     HRESULT getElementsByTagName(
12444         [in] BSTR v,
12445         [retval, out] IHTMLElementCollection **pelColl);
12446 }
12447
12448 /*****************************************************************************
12449  *    IHTMLDocument4 interface
12450  */
12451 [
12452     odl,
12453     oleautomation,
12454     dual,
12455     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12456 ]
12457 interface IHTMLDocument4 : IDispatch
12458 {
12459     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12460     HRESULT focus();
12461
12462     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12463     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12464
12465     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12466     HRESULT onselectionchange([in] VARIANT v);
12467
12468     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12469     HRESULT onselectionchange([retval, out] VARIANT *p);
12470
12471     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12472     HRESULT namespaces([retval, out] IDispatch **p);
12473
12474     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12475     HRESULT createDocumentFromUrl(
12476         [in] BSTR bstrUrl,
12477         [in] BSTR bstrOptions,
12478         [retval, out] IHTMLDocument2 **newDoc);
12479
12480     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12481     HRESULT media([in] BSTR v);
12482
12483     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12484     HRESULT media([retval, out] BSTR *p);
12485
12486     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12487     HRESULT createEventObject(
12488         [optional, in] VARIANT *pvarEventObject,
12489         [retval, out] IHTMLEventObj **ppEventObj);
12490
12491     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12492     HRESULT fireEvent(
12493         [in] BSTR bstrEventName,
12494         [optional, in] VARIANT *pvarEventObject,
12495         [retval, out] VARIANT_BOOL *pfCancelled);
12496
12497     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12498     HRESULT createRenderStyle(
12499         [in] BSTR v,
12500         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12501
12502     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12503     HRESULT oncontrolselect([in] VARIANT v);
12504
12505     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12506     HRESULT oncontrolselect([retval, out] VARIANT *p);
12507
12508     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12509     HRESULT URLUnencoded([retval, out] BSTR *p);
12510 }
12511
12512 /*****************************************************************************
12513  *    IHTMLDocument5 interface
12514  */
12515 [
12516     odl,
12517     oleautomation,
12518     dual,
12519     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12520 ]
12521 interface IHTMLDocument5 : IDispatch
12522 {
12523     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12524     HRESULT onmousewheel([in] VARIANT v);
12525
12526     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12527     HRESULT onmousewheel([retval, out] VARIANT *p);
12528
12529     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12530     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12531
12532     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12533     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12534
12535     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12536     HRESULT createAttribute(
12537         [in] BSTR bstrattrName,
12538         [retval, out] IHTMLDOMAttribute **ppattribute);
12539
12540     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12541     HRESULT createComment(
12542         [in] BSTR bstrdata,
12543         [retval, out] IHTMLDOMNode **ppRetNode);
12544
12545     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12546     HRESULT onfocusin([in] VARIANT v);
12547
12548     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12549     HRESULT onfocusin([retval, out] VARIANT *p);
12550
12551     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12552     HRESULT onfocusout([in] VARIANT v);
12553
12554     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12555     HRESULT onfocusout([retval, out] VARIANT *p);
12556
12557     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12558     HRESULT onactivate([in] VARIANT v);
12559
12560     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12561     HRESULT onactivate([retval, out] VARIANT *p);
12562
12563     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12564     HRESULT ondeactivate([in] VARIANT v);
12565
12566     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12567     HRESULT ondeactivate([retval, out] VARIANT *p);
12568
12569     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12570     HRESULT onbeforeactivate([in] VARIANT v);
12571
12572     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12573     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12574
12575     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12576     HRESULT onbeforedeactivate([in] VARIANT v);
12577
12578     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12579     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12580
12581     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12582     HRESULT compatMode([retval, out] BSTR *p);
12583 }
12584
12585 /*****************************************************************************
12586  *    IHTMLDocument6 interface
12587  */
12588 [
12589     odl,
12590     oleautomation,
12591     dual,
12592     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
12593 ]
12594 interface IHTMLDocument6 : IDispatch
12595 {
12596     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12597     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
12598
12599     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12600     HRESULT documentMode([retval, out] VARIANT *p);
12601
12602     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12603     HRESULT onstorage([in] VARIANT v);
12604
12605     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12606     HRESULT onstorage([out] VARIANT *p);
12607
12608     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12609     HRESULT onstoragecommit([in] VARIANT v);
12610
12611     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12612     HRESULT onstoragecommit([out] VARIANT *p);
12613
12614     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12615     HRESULT getElementById(
12616         [in] BSTR bstrId,
12617         [retval, out] IHTMLElement2 **p);
12618
12619     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12620     HRESULT updateSettings();
12621 }
12622
12623 /*****************************************************************************
12624  *    DispHTMLDocument dispinterface
12625  */
12626 [
12627     hidden,
12628     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12629 ]
12630 dispinterface DispHTMLDocument
12631 {
12632 properties:
12633 methods:
12634     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
12635     IDispatch *Script();
12636
12637     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12638     IHTMLElementCollection *all();
12639
12640     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12641     IHTMLElement *body();
12642
12643     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12644     IHTMLElement *activeElement();
12645
12646     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12647     IHTMLElementCollection *images();
12648
12649     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12650     IHTMLElementCollection *applets();
12651
12652     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12653     IHTMLElementCollection *links();
12654
12655     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12656     IHTMLElementCollection *forms();
12657
12658     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12659     IHTMLElementCollection *anchors();
12660
12661     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12662     void title(BSTR v);
12663
12664     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12665     BSTR title();
12666
12667     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12668     IHTMLElementCollection *scripts();
12669
12670     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12671     void designMode(BSTR v);
12672
12673     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12674     BSTR designMode();
12675
12676     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12677     IHTMLSelectionObject *selection();
12678
12679     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
12680     BSTR readyState();
12681
12682     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12683     IHTMLFramesCollection2 *frames();
12684
12685     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12686     IHTMLElementCollection *embeds();
12687
12688     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12689     IHTMLElementCollection *plugins();
12690
12691     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12692     void alinkColor(VARIANT v);
12693
12694     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12695     VARIANT alinkColor();
12696
12697     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12698     void bgColor(VARIANT v);
12699
12700     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12701     VARIANT bgColor();
12702
12703     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12704     void fgColor(VARIANT v);
12705
12706     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12707     VARIANT fgColor();
12708
12709     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12710     void linkColor(VARIANT v);
12711
12712     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12713     VARIANT linkColor();
12714
12715     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12716     void vlinkColor(VARIANT v);
12717
12718     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12719     VARIANT vlinkColor();
12720
12721     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12722     BSTR referrer();
12723
12724     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12725     IHTMLLocation *location();
12726
12727     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12728     BSTR lastModified();
12729
12730     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12731     void URL(BSTR v);
12732
12733     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12734     BSTR URL();
12735
12736     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12737     void domain(BSTR v);
12738
12739     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12740     BSTR domain();
12741
12742     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12743     void cookie(BSTR v);
12744
12745     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12746     BSTR cookie();
12747
12748     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12749     void expando(VARIANT_BOOL v);
12750
12751     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12752     VARIANT_BOOL expando();
12753
12754     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12755     void charset(BSTR v);
12756
12757     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12758     BSTR charset();
12759
12760     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12761     void defaultCharset(BSTR v);
12762
12763     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12764     BSTR defaultCharset();
12765
12766     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12767     BSTR mimeType();
12768
12769     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12770     BSTR fileSize();
12771
12772     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12773     BSTR fileCreatedDate();
12774
12775     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12776     BSTR fileModifiedDate();
12777
12778     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12779     BSTR fileUpdatedDate();
12780
12781     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12782     BSTR security();
12783
12784     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12785     BSTR protocol();
12786
12787     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12788     BSTR nameProp();
12789
12790     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12791     void write([in] SAFEARRAY(VARIANT) psarray);
12792
12793     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12794     void writeln([in] SAFEARRAY(VARIANT) psarray);
12795
12796     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12797     IDispatch *open(
12798         [defaultvalue("text/html"), in] BSTR url,
12799         [optional, in] VARIANT name,
12800         [optional, in] VARIANT features,
12801         [optional, in] VARIANT replace);
12802
12803     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12804     void close();
12805
12806     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12807     void clear();
12808
12809     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12810     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12811
12812     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12813     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12814
12815     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12816     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12817
12818     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12819     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12820
12821     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12822     BSTR queryCommandText([in] BSTR cmdID);
12823
12824     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12825     VARIANT queryCommandValue([in] BSTR cmdID);
12826
12827     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12828     VARIANT_BOOL execCommand(
12829         [in] BSTR cmdID,
12830         [defaultvalue(0), in] VARIANT_BOOL showUI,
12831         [optional, in] VARIANT value);
12832
12833     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12834     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12835
12836     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12837     IHTMLElement *createElement([in] BSTR eTag);
12838
12839     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12840     void onhelp(VARIANT v);
12841
12842     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12843     VARIANT onhelp();
12844
12845     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12846     void onclick(VARIANT v);
12847
12848     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12849     VARIANT onclick();
12850
12851     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12852     void ondblclick(VARIANT v);
12853
12854     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12855     VARIANT ondblclick();
12856
12857     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12858     void onkeyup(VARIANT v);
12859
12860     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12861     VARIANT onkeyup();
12862
12863     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12864     void onkeydown(VARIANT v);
12865
12866     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12867     VARIANT onkeydown();
12868
12869     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12870     void onkeypress(VARIANT v);
12871
12872     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12873     VARIANT onkeypress();
12874
12875     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12876     void onmouseup(VARIANT v);
12877
12878     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12879     VARIANT onmouseup();
12880
12881     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12882     void onmousedown(VARIANT v);
12883
12884     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12885     VARIANT onmousedown();
12886
12887     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12888     void onmousemove(VARIANT v);
12889
12890     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12891     VARIANT onmousemove();
12892
12893     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12894     void onmouseout(VARIANT v);
12895
12896     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12897     VARIANT onmouseout();
12898
12899     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12900     void onmouseover(VARIANT v);
12901
12902     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12903     VARIANT onmouseover();
12904
12905     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12906     void onreadystatechange(VARIANT v);
12907
12908     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12909     VARIANT onreadystatechange();
12910
12911     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12912     void onafterupdate(VARIANT v);
12913
12914     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12915     VARIANT onafterupdate();
12916
12917     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12918     void onrowexit(VARIANT v);
12919
12920     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12921     VARIANT onrowexit();
12922
12923     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12924     void onrowenter(VARIANT v);
12925
12926     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12927     VARIANT onrowenter();
12928
12929     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12930     void ondragstart(VARIANT v);
12931
12932     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12933     VARIANT ondragstart();
12934
12935     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12936     void onselectstart(VARIANT v);
12937
12938     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12939     VARIANT onselectstart();
12940
12941     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12942     IHTMLElement *elementFromPoint(
12943         [in] LONG x,
12944         [in] LONG y);
12945
12946     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12947     IHTMLWindow2 *parentWindow();
12948
12949     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12950     IHTMLStyleSheetsCollection *styleSheets();
12951
12952     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12953     void onbeforeupdate(VARIANT v);
12954
12955     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12956     VARIANT onbeforeupdate();
12957
12958     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12959     void onerrorupdate(VARIANT v);
12960
12961     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12962     VARIANT onerrorupdate();
12963
12964     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12965     BSTR toString();
12966
12967     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12968     IHTMLStyleSheet *createStyleSheet(
12969         [defaultvalue(""), in] BSTR bstrHref,
12970         [defaultvalue(-1), in] LONG lIndex);
12971
12972     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12973     void releaseCapture();
12974
12975     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12976     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12977
12978     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12979     IHTMLDOMNode *createTextNode([in] BSTR text);
12980
12981     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12982     IHTMLElement *documentElement();
12983
12984     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12985     BSTR uniqueID();
12986
12987     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12988     VARIANT_BOOL attachEvent(
12989         [in] BSTR event,
12990         [in] IDispatch *pDisp);
12991
12992     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12993     void detachEvent(
12994         [in] BSTR event,
12995         [in] IDispatch *pDisp);
12996
12997     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12998     void onrowsdelete(VARIANT v);
12999
13000     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13001     VARIANT onrowsdelete();
13002
13003     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13004     void onrowsinserted(VARIANT v);
13005
13006     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13007     VARIANT onrowsinserted();
13008
13009     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13010     void oncellchange(VARIANT v);
13011
13012     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13013     VARIANT oncellchange();
13014
13015     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13016     void ondatasetchanged(VARIANT v);
13017
13018     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13019     VARIANT ondatasetchanged();
13020
13021     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13022     void ondataavailable(VARIANT v);
13023
13024     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13025     VARIANT ondataavailable();
13026
13027     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13028     void ondatasetcomplete(VARIANT v);
13029
13030     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13031     VARIANT ondatasetcomplete();
13032
13033     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13034     void onpropertychange(VARIANT v);
13035
13036     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13037     VARIANT onpropertychange();
13038
13039     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13040     void dir(BSTR v);
13041
13042     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13043     BSTR dir();
13044
13045     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13046     void oncontextmenu(VARIANT v);
13047
13048     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13049     VARIANT oncontextmenu();
13050
13051     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13052     void onstop(VARIANT v);
13053
13054     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13055     VARIANT onstop();
13056
13057     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13058     IHTMLDocument2 *createDocumentFragment();
13059
13060     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13061     IHTMLDocument2 *parentDocument();
13062
13063     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13064     void enableDownload(VARIANT_BOOL v);
13065
13066     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13067     VARIANT_BOOL enableDownload();
13068
13069     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13070     void baseUrl(BSTR v);
13071
13072     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13073     BSTR baseUrl();
13074
13075     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13076     void inheritStyleSheets(VARIANT_BOOL v);
13077
13078     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13079     VARIANT_BOOL inheritStyleSheets();
13080
13081     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13082     void onbeforeeditfocus(VARIANT v);
13083
13084     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13085     VARIANT onbeforeeditfocus();
13086
13087     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13088     IHTMLElementCollection *getElementsByName([in] BSTR v);
13089
13090     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13091     IHTMLElement *getElementById([in] BSTR v);
13092
13093     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13094     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13095
13096     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13097     void focus();
13098
13099     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13100     VARIANT_BOOL hasFocus();
13101
13102     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13103     void onselectionchange(VARIANT v);
13104
13105     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13106     VARIANT onselectionchange();
13107
13108     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13109     IDispatch *namespaces();
13110
13111     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13112     IHTMLDocument2 *createDocumentFromUrl(
13113         [in] BSTR bstrUrl,
13114         [in] BSTR bstrOptions);
13115
13116     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13117     void media(BSTR v);
13118
13119     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13120     BSTR media();
13121
13122     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13123     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13124
13125     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13126     VARIANT_BOOL fireEvent(
13127         [in] BSTR bstrEventName,
13128         [optional, in] VARIANT *pvarEventObject);
13129
13130     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13131     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13132
13133     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13134     void oncontrolselect(VARIANT v);
13135
13136     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13137     VARIANT oncontrolselect();
13138
13139     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13140     BSTR URLUnencoded();
13141
13142     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13143     void onmousewheel(VARIANT v);
13144
13145     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13146     VARIANT onmousewheel();
13147
13148     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13149     IHTMLDOMNode *doctype();
13150
13151     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13152     IHTMLDOMImplementation *implementation();
13153
13154     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13155     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13156
13157     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13158     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13159
13160     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13161     void onfocusin(VARIANT v);
13162
13163     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13164     VARIANT onfocusin();
13165
13166     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13167     void onfocusout(VARIANT v);
13168
13169     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13170     VARIANT onfocusout();
13171
13172     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13173     void onactivate(VARIANT v);
13174
13175     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13176     VARIANT onactivate();
13177
13178     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13179     void ondeactivate(VARIANT v);
13180
13181     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13182     VARIANT ondeactivate();
13183
13184     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13185     void onbeforeactivate(VARIANT v);
13186
13187     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13188     VARIANT onbeforeactivate();
13189
13190     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13191     void onbeforedeactivate(VARIANT v);
13192
13193     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13194     VARIANT onbeforedeactivate();
13195
13196     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13197     BSTR compatMode();
13198
13199     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13200     IHTMLDocumentCompatibleInfoCollection *compatible();
13201
13202     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13203     VARIANT documentMode();
13204
13205     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13206     void onstorage(VARIANT v);
13207
13208     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13209     VARIANT onstorage();
13210
13211     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13212     void onstoragecommit(VARIANT v);
13213
13214     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13215     VARIANT onstoragecommit();
13216
13217     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13218     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13219
13220     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13221     void updateSettings();
13222
13223     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13224 }
13225
13226 /*****************************************************************************
13227  *    HTMLDocument coclass
13228  */
13229 [
13230     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13231 ]
13232 coclass HTMLDocument
13233 {
13234     [default]         dispinterface DispHTMLDocument;
13235     [source, default] dispinterface HTMLDocumentEvents;
13236     [source]          dispinterface HTMLDocumentEvents2;
13237                       interface IHTMLDocument2;
13238                       interface IHTMLDocument3;
13239                       interface IHTMLDocument4;
13240                       interface IHTMLDocument5;
13241                       interface IHTMLDocument6;
13242                       interface IHTMLDOMNode;
13243                       interface IHTMLDOMNode2;
13244 }
13245
13246 /*****************************************************************************
13247  *    DWebBridgeEvents dispinterface
13248  */
13249 [
13250     hidden,
13251     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13252 ]
13253 dispinterface DWebBridgeEvents
13254 {
13255 properties:
13256 methods:
13257     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13258     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13259
13260     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13261     void onreadystatechange();
13262
13263     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13264     VARIANT_BOOL onclick();
13265
13266     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13267     VARIANT_BOOL ondblclick();
13268
13269     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13270     void onkeydown();
13271
13272     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13273     void onkeyup();
13274
13275     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
13276     VARIANT_BOOL onkeypress();
13277
13278     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
13279     void onmousedown();
13280
13281     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
13282     void onmousemove();
13283
13284     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
13285     void onmouseup();
13286 }
13287
13288 /*****************************************************************************
13289  *    IWebBridge interface
13290  */
13291 [
13292     odl,
13293     oleautomation,
13294     dual,
13295     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
13296 ]
13297 interface IWebBridge : IDispatch
13298 {
13299     [propput, id(DISPID_IWEBBRIDGE_URL)]
13300     HRESULT URL([in] BSTR v);
13301
13302     [propget, id(DISPID_IWEBBRIDGE_URL)]
13303     HRESULT URL([retval, out] BSTR * p);
13304
13305     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13306     HRESULT Scrollbar([in] VARIANT_BOOL v);
13307
13308     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13309     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
13310
13311     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
13312     HRESULT embed([in] VARIANT_BOOL v);
13313
13314     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
13315     HRESULT embed([retval, out] VARIANT_BOOL * p);
13316
13317     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
13318     HRESULT event([retval, out] IDispatch* * p);
13319
13320     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
13321     HRESULT readyState([retval, out] long * p);
13322
13323     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
13324     HRESULT AboutBox();
13325 }
13326
13327 /*****************************************************************************
13328  *    Scriptlet coclass
13329  */
13330 [
13331     control,
13332     helpstring("Microsoft Scriptlet Component"),
13333     progid("ScriptBridge.ScriptBridge.1"),
13334     vi_progid("ScriptBridge.ScriptBridge"),
13335     threading(apartment),
13336     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
13337 ]
13338 coclass Scriptlet
13339 {
13340     [default]           interface IWebBridge;
13341     [source, default]   dispinterface DWebBridgeEvents;
13342 }
13343
13344 /*****************************************************************************
13345  *    IHTMLEmbedElement interface
13346  */
13347 [
13348     odl,
13349     oleautomation,
13350     dual,
13351     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
13352 ]
13353 interface IHTMLEmbedElement : IDispatch
13354 {
13355     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13356     HRESULT hidden([in] BSTR v);
13357
13358     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13359     HRESULT hidden([retval, out] BSTR *p);
13360
13361     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13362     HRESULT palette([retval, out] BSTR *p);
13363
13364     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13365     HRESULT pluginspage([retval, out] BSTR *p);
13366
13367     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13368     HRESULT src([in] BSTR v);
13369
13370     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13371     HRESULT src([retval, out] BSTR *p);
13372
13373     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13374     HRESULT units([in] BSTR v);
13375
13376     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13377     HRESULT units([retval, out] BSTR *p);
13378
13379     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13380     HRESULT name([in] BSTR v);
13381
13382     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13383     HRESULT name([retval, out] BSTR *p);
13384
13385     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13386     HRESULT width([in] VARIANT v);
13387
13388     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13389     HRESULT width([retval, out] VARIANT *p);
13390
13391     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13392     HRESULT height([in] VARIANT v);
13393
13394     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13395     HRESULT height([retval, out] VARIANT *p);
13396 }
13397
13398 /*****************************************************************************
13399  *    DispHTMLEmbedElement dispinterface
13400  */
13401 [
13402     hidden,
13403     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
13404 ]
13405 dispinterface DispHTMLEmbed
13406 {
13407 properties:
13408 methods:
13409     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13410
13411     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13412     void hidden(BSTR v);
13413
13414     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13415     BSTR hidden();
13416
13417     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13418     BSTR palette();
13419
13420     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13421     BSTR pluginspage();
13422
13423     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13424     void src(BSTR v);
13425
13426     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13427     BSTR src();
13428
13429     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13430     void units(BSTR v);
13431
13432     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13433     BSTR units();
13434
13435     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13436     void name(BSTR v);
13437
13438     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13439     BSTR name();
13440
13441     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13442     void width(VARIANT v);
13443
13444     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13445     VARIANT width();
13446
13447     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13448     void height(VARIANT v);
13449
13450     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13451     VARIANT height();
13452
13453     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13454     void ie8_src(BSTR v);
13455
13456     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13457     BSTR ie8_src();
13458
13459     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
13460     BSTR ie8_pluginspage();
13461 }
13462
13463 /*****************************************************************************
13464  *    IHTMLCommentElement interface
13465  */
13466 [
13467     odl,
13468     oleautomation,
13469     dual,
13470     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13471 ]
13472 interface IHTMLCommentElement : IDispatch
13473 {
13474     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13475     HRESULT text([in] BSTR v);
13476
13477     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13478     HRESULT text([out, retval] BSTR *p);
13479
13480     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13481     HRESULT atomic([in] LONG v);
13482
13483     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13484     HRESULT atomic([out, retval] LONG *p);
13485 }
13486
13487 /*****************************************************************************
13488  *    IHTMLCommentElement2 interface
13489  */
13490 [
13491     odl,
13492     oleautomation,
13493     dual,
13494     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13495 ]
13496 interface IHTMLCommentElement2 : IDispatch
13497 {
13498     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13499     HRESULT data([in] BSTR v);
13500
13501     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13502     HRESULT data([out, retval] BSTR *p);
13503
13504     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13505     HRESULT length([out, retval] LONG *p);
13506
13507     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13508     HRESULT substringData(
13509             [in] LONG offset,
13510             [in] LONG Count,
13511             [out, retval] BSTR *pbstrsubString);
13512
13513     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13514     HRESULT appendData([in] BSTR bstrstring);
13515
13516     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13517     HRESULT insertData(
13518             [in] LONG offset,
13519             [in] BSTR bstrstring);
13520
13521     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13522     HRESULT deleteData(
13523             [in] LONG offset,
13524             [in] LONG Count);
13525
13526     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13527     HRESULT replaceData(
13528             [in] LONG offset,
13529             [in] LONG Count,
13530             [in] BSTR bstrstring);
13531 }
13532
13533 /*****************************************************************************
13534  *    DispHTMLCommentElement dispinterface
13535  */
13536 [
13537     hidden,
13538     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13539 ]
13540 dispinterface DispHTMLCommentElement
13541 {
13542 properties:
13543 methods:
13544     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13545
13546     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13547     void text(BSTR v);
13548
13549     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13550     BSTR text();
13551
13552     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13553     void atomic(LONG v);
13554
13555     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13556     LONG atomic();
13557
13558     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13559     void data(BSTR v);
13560
13561     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13562     BSTR data();
13563
13564     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13565     LONG length();
13566
13567     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13568     BSTR substringData(
13569             [in] LONG offset,
13570             [in] LONG Count);
13571
13572     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13573     void appendData([in] BSTR bstrstring);
13574
13575     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13576      void insertData(
13577             [in] LONG offset,
13578             [in] BSTR bstrstring);
13579
13580     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13581     void deleteData(
13582             [in] LONG offset,
13583             [in] LONG Count);
13584
13585     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13586     void replaceData(
13587             [in] LONG offset,
13588             [in] LONG Count,
13589             [in] BSTR bstrstring);
13590 }
13591
13592 [
13593     hidden,
13594     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
13595 ]
13596 dispinterface HTMLElementEvents2
13597 {
13598 properties:
13599 methods:
13600     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13601     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13602
13603     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13604     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13605
13606     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13607     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13608
13609     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13610     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13611
13612     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13613     void onkeydown([in] IHTMLEventObj* pEvtObj);
13614
13615     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13616     void onkeyup([in] IHTMLEventObj* pEvtObj);
13617
13618     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13619     void onmouseout([in] IHTMLEventObj* pEvtObj);
13620
13621     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13622     void onmouseover([in] IHTMLEventObj* pEvtObj);
13623
13624     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13625     void onmousemove([in] IHTMLEventObj* pEvtObj);
13626
13627     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13628     void onmousedown([in] IHTMLEventObj* pEvtObj);
13629
13630     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13631     void onmouseup([in] IHTMLEventObj* pEvtObj);
13632
13633     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13634     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13635
13636     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13637     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13638
13639     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13640     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13641
13642     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13643     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13644
13645     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13646     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13647
13648     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13649     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13650
13651     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13652     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13653
13654     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13655     void onrowenter([in] IHTMLEventObj* pEvtObj);
13656
13657     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13658     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13659
13660     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13661     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13662
13663     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13664     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13665
13666     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13667     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13668
13669     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13670     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13671
13672     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13673     void onscroll([in] IHTMLEventObj* pEvtObj);
13674
13675     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13676     void onfocus([in] IHTMLEventObj* pEvtObj);
13677
13678     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13679     void onblur([in] IHTMLEventObj* pEvtObj);
13680
13681     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13682     void onresize([in] IHTMLEventObj* pEvtObj);
13683
13684     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13685     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13686
13687     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13688     void ondragend([in] IHTMLEventObj* pEvtObj);
13689
13690     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13691     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13692
13693     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13694     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13695
13696     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13697     void ondragleave([in] IHTMLEventObj* pEvtObj);
13698
13699     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13700     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13701
13702     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13703     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13704
13705     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13706     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13707
13708     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13709     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13710
13711     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13712     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13713
13714     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13715     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13716
13717     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13718     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13719
13720     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13721     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13722
13723     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13724     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13725
13726     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13727     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13728
13729     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13730     void oncellchange([in] IHTMLEventObj* pEvtObj);
13731
13732     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13733     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13734
13735     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13736     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13737
13738     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13739     void onpage([in] IHTMLEventObj* pEvtObj);
13740
13741     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13742     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13743
13744     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13745     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13746
13747     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13748     void onactivate([in] IHTMLEventObj* pEvtObj);
13749
13750     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13751     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13752
13753     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13754     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13755
13756     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13757     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13758
13759     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13760     void onfocusin([in] IHTMLEventObj* pEvtObj);
13761
13762     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13763     void onfocusout([in] IHTMLEventObj* pEvtObj);
13764
13765     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13766     void onmove([in] IHTMLEventObj* pEvtObj);
13767
13768     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13769     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13770
13771     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13772     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13773
13774     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13775     void onmoveend([in] IHTMLEventObj* pEvtObj);
13776
13777     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13778     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13779
13780     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13781     void onresizeend([in] IHTMLEventObj* pEvtObj);
13782
13783     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13784     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13785 }
13786
13787 [
13788     hidden,
13789     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
13790 ]
13791 dispinterface HTMLElementEvents
13792 {
13793 properties:
13794 methods:
13795     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13796     VARIANT_BOOL onhelp();
13797
13798     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13799     VARIANT_BOOL onclick();
13800
13801     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13802     VARIANT_BOOL ondblclick();
13803
13804     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13805     VARIANT_BOOL onkeypress();
13806
13807     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13808     void onkeydown();
13809
13810     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13811     void onkeyup();
13812
13813     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13814     void onmouseout();
13815
13816     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13817     void onmouseover();
13818
13819     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13820     void onmousemove();
13821
13822     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13823     void onmousedown();
13824
13825     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13826     void onmouseup();
13827
13828     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13829     VARIANT_BOOL onselectstart();
13830
13831     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13832     void onfilterchange();
13833
13834     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13835     VARIANT_BOOL ondragstart();
13836
13837     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13838     VARIANT_BOOL onbeforeupdate();
13839
13840     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13841     void onafterupdate();
13842
13843     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13844     VARIANT_BOOL onerrorupdate();
13845
13846     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13847     VARIANT_BOOL onrowexit();
13848
13849     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13850     void onrowenter();
13851
13852     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13853     void ondatasetchanged();
13854
13855     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13856     void ondataavailable();
13857
13858     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13859     void ondatasetcomplete();
13860
13861     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13862     void onlosecapture();
13863
13864     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13865     void onpropertychange();
13866
13867     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13868     void onscroll();
13869
13870     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13871     void onfocus();
13872
13873     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13874     void onblur();
13875
13876     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13877     void onresize();
13878
13879     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13880     VARIANT_BOOL ondrag();
13881
13882     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13883     void ondragend();
13884
13885     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13886     VARIANT_BOOL ondragenter();
13887
13888     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13889     VARIANT_BOOL ondragover();
13890
13891     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13892     void ondragleave();
13893
13894     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13895     VARIANT_BOOL ondrop();
13896
13897     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13898     VARIANT_BOOL onbeforecut();
13899
13900     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13901     VARIANT_BOOL oncut();
13902
13903     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13904     VARIANT_BOOL onbeforecopy();
13905
13906     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13907     VARIANT_BOOL oncopy();
13908
13909     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13910     VARIANT_BOOL onbeforepaste();
13911
13912     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13913     VARIANT_BOOL onpaste();
13914
13915     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13916     VARIANT_BOOL oncontextmenu();
13917
13918     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13919     void onrowsdelete();
13920
13921     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13922     void onrowsinserted();
13923
13924     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13925     void oncellchange();
13926
13927     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13928     void onreadystatechange();
13929
13930     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13931     void onbeforeeditfocus();
13932
13933     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13934     void onlayoutcomplete();
13935
13936     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13937     void onpage();
13938
13939     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13940     VARIANT_BOOL onbeforedeactivate();
13941
13942     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13943     VARIANT_BOOL onbeforeactivate();
13944
13945     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13946     void onmove();
13947
13948     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13949     VARIANT_BOOL oncontrolselect();
13950
13951     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13952     VARIANT_BOOL onmovestart();
13953
13954     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13955     void onmoveend();
13956
13957     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13958     VARIANT_BOOL onresizestart();
13959
13960     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13961     void onresizeend();
13962
13963     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13964     void onmouseenter();
13965
13966     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13967     void onmouseleave();
13968
13969     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13970     VARIANT_BOOL onmousewheel();
13971
13972     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13973     void onactivate();
13974
13975     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13976     void ondeactivate();
13977
13978     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13979     void onfocusin();
13980
13981     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13982     void onfocusout();
13983 }
13984
13985 [
13986     noncreatable,
13987     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
13988 ]
13989 coclass HTMLCommentElement
13990 {
13991     [default]           dispinterface DispHTMLCommentElement;
13992     [source, default]   dispinterface HTMLElementEvents;
13993     [source]            dispinterface HTMLElementEvents2;
13994                         interface IHTMLElement;
13995                         interface IHTMLElement2;
13996                         interface IHTMLElement3;
13997                         interface IHTMLElement4;
13998                         interface IHTMLUniqueName;
13999                         interface IHTMLDOMNode;
14000                         interface IHTMLDOMNode2;
14001                         interface IHTMLCommentElement;
14002                         interface IHTMLCommentElement2;
14003 }
14004
14005 /*****************************************************************************
14006  *    HTMLTableEvents dispinterface
14007  */
14008 [
14009     hidden,
14010     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14011 ]
14012 dispinterface HTMLTableEvents
14013 {
14014 properties:
14015 methods:
14016     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14017     VARIANT_BOOL onhelp();
14018
14019     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14020     VARIANT_BOOL onclick();
14021
14022     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14023     VARIANT_BOOL ondblclick();
14024
14025     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14026     VARIANT_BOOL onkeypress();
14027
14028     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14029     void onkeydown();
14030
14031     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14032     void onkeyup();
14033
14034     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14035     void onmouseout();
14036
14037     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14038     void onmouseover();
14039
14040     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14041     void onmousemove();
14042
14043     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14044     void onmousedown();
14045
14046     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14047     void onmouseup();
14048
14049     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14050     VARIANT_BOOL onselectstart();
14051
14052     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14053     void onfilterchange();
14054
14055     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14056     VARIANT_BOOL ondragstart();
14057
14058     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14059     VARIANT_BOOL onbeforeupdate();
14060
14061     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14062     void onafterupdate();
14063
14064     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14065     VARIANT_BOOL onerrorupdate();
14066
14067     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14068     VARIANT_BOOL onrowexit();
14069
14070     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14071     void onrowenter();
14072
14073     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14074     void ondatasetchanged();
14075
14076     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14077     void ondataavailable();
14078
14079     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14080     void ondatasetcomplete();
14081
14082     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14083     void onlosecapture();
14084
14085     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14086     void onpropertychange();
14087
14088     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14089     void onscroll();
14090
14091     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14092     void onfocus();
14093
14094     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14095     void onblur();
14096
14097     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14098     void onresize();
14099
14100     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14101     VARIANT_BOOL ondrag();
14102
14103     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14104     void ondragend();
14105
14106     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14107     VARIANT_BOOL ondragenter();
14108
14109     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14110     VARIANT_BOOL ondragover();
14111
14112     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14113     void ondragleave();
14114
14115     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14116     VARIANT_BOOL ondrop();
14117
14118     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14119     VARIANT_BOOL onbeforecut();
14120
14121     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14122     VARIANT_BOOL oncut();
14123
14124     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14125     VARIANT_BOOL onbeforecopy();
14126
14127     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14128     VARIANT_BOOL oncopy();
14129
14130     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14131     VARIANT_BOOL onbeforepaste();
14132
14133     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14134     VARIANT_BOOL onpaste();
14135
14136     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14137     VARIANT_BOOL oncontextmenu();
14138
14139     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14140     void onrowsdelete();
14141
14142     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14143     void onrowsinserted();
14144
14145     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14146     void oncellchange();
14147
14148     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14149     void onreadystatechange();
14150
14151     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14152     void onbeforeeditfocus();
14153
14154     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14155     void onlayoutcomplete();
14156
14157     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14158     void onpage();
14159
14160     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14161     VARIANT_BOOL onbeforedeactivate();
14162
14163     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14164     VARIANT_BOOL onbeforeactivate();
14165
14166     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14167     void onmove();
14168
14169     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14170     VARIANT_BOOL oncontrolselect();
14171
14172     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14173     VARIANT_BOOL onmovestart();
14174
14175     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14176     void onmoveend();
14177
14178     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14179     VARIANT_BOOL onresizestart();
14180
14181     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14182     void onresizeend();
14183
14184     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14185     void onmouseenter();
14186
14187     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14188     void onmouseleave();
14189
14190     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14191     VARIANT_BOOL onmousewheel();
14192
14193     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14194     void onactivate();
14195
14196     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14197     void ondeactivate();
14198
14199     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14200     void onfocusin();
14201
14202     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14203     void onfocusout();
14204 }
14205
14206 [
14207     hidden,
14208     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14209 ]
14210 dispinterface HTMLTableEvents2
14211 {
14212 properties:
14213 methods:
14214     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14215     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14216
14217     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14218     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14219
14220     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14221     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14222
14223     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14224     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14225
14226     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14227     void onkeydown([in] IHTMLEventObj* pEvtObj);
14228
14229     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14230     void onkeyup([in] IHTMLEventObj* pEvtObj);
14231
14232     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14233     void onmouseout([in] IHTMLEventObj* pEvtObj);
14234
14235     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14236     void onmouseover([in] IHTMLEventObj* pEvtObj);
14237
14238     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14239     void onmousemove([in] IHTMLEventObj* pEvtObj);
14240
14241     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14242     void onmousedown([in] IHTMLEventObj* pEvtObj);
14243
14244     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14245     void onmouseup([in] IHTMLEventObj* pEvtObj);
14246
14247     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14248     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14249
14250     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14251     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14252
14253     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14254     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14255
14256     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14257     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14258
14259     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14260     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14261
14262     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14263     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14264
14265     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14266     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14267
14268     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14269     void onrowenter([in] IHTMLEventObj* pEvtObj);
14270
14271     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14272     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14273
14274     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14275     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14276
14277     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14278     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14279
14280     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14281     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14282
14283     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14284     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14285
14286     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14287     void onscroll([in] IHTMLEventObj* pEvtObj);
14288
14289     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14290     void onfocus([in] IHTMLEventObj* pEvtObj);
14291
14292     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14293     void onblur([in] IHTMLEventObj* pEvtObj);
14294
14295     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14296     void onresize([in] IHTMLEventObj* pEvtObj);
14297
14298     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14299     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14300
14301     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14302     void ondragend([in] IHTMLEventObj* pEvtObj);
14303
14304     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14305     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14306
14307     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14308     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14309
14310     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14311     void ondragleave([in] IHTMLEventObj* pEvtObj);
14312
14313     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14314     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14315
14316     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14317     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14318
14319     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14320     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14321
14322     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14323     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14324
14325     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14326     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14327
14328     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14329     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14330
14331     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14332     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14333
14334     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14335     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14336
14337     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14338     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14339
14340     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14341     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14342
14343     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14344     void oncellchange([in] IHTMLEventObj* pEvtObj);
14345
14346     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14347     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14348
14349     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14350     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14351
14352     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14353     void onpage([in] IHTMLEventObj* pEvtObj);
14354
14355     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14356     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14357
14358     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14359     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14360
14361     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14362     void onactivate([in] IHTMLEventObj* pEvtObj);
14363
14364     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14365     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14366
14367     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14368     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14369
14370     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14371     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14372
14373     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14374     void onfocusin([in] IHTMLEventObj* pEvtObj);
14375
14376     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14377     void onfocusout([in] IHTMLEventObj* pEvtObj);
14378
14379     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14380     void onmove([in] IHTMLEventObj* pEvtObj);
14381
14382     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14383     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14384
14385     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14386     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14387
14388     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14389     void onmoveend([in] IHTMLEventObj* pEvtObj);
14390
14391     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14392     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14393
14394     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14395     void onresizeend([in] IHTMLEventObj* pEvtObj);
14396
14397     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14398     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14399 }
14400
14401 /*****************************************************************************
14402  *    IHTMLTableCaption interface
14403  */
14404 [
14405     odl,
14406     oleautomation,
14407     dual,
14408     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14409 ]
14410 interface IHTMLTableCaption : IDispatch
14411 {
14412     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14413     HRESULT align([in] BSTR v);
14414
14415     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14416     HRESULT align([retval, out] BSTR *p);
14417
14418     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14419     HRESULT vAlign([in] BSTR v);
14420
14421     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14422     HRESULT vAlign([retval, out] BSTR *p);
14423 }
14424
14425 interface IHTMLTableSection;
14426
14427 /*****************************************************************************
14428  *    IHTMLTable interface
14429  */
14430 [
14431     odl,
14432     oleautomation,
14433     dual,
14434     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14435 ]
14436 interface IHTMLTable : IDispatch
14437 {
14438     [propput, id(DISPID_IHTMLTABLE_COLS)]
14439     HRESULT cols([in] LONG v);
14440
14441     [propget, id(DISPID_IHTMLTABLE_COLS)]
14442     HRESULT cols([retval, out] LONG *p);
14443
14444     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14445     HRESULT border([in] VARIANT v);
14446
14447     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14448     HRESULT border([retval, out] VARIANT *p);
14449
14450     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14451     HRESULT frame([in] BSTR v);
14452
14453     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14454     HRESULT frame([retval, out] BSTR *p);
14455
14456     [propput, id(DISPID_IHTMLTABLE_RULES)]
14457     HRESULT rules([in] BSTR v);
14458
14459     [propget, id(DISPID_IHTMLTABLE_RULES)]
14460     HRESULT rules([retval, out] BSTR *p);
14461
14462     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14463     HRESULT cellSpacing([in] VARIANT v);
14464
14465     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14466     HRESULT cellSpacing([retval, out] VARIANT *p);
14467
14468     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14469     HRESULT cellPadding([in] VARIANT v);
14470
14471     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14472     HRESULT cellPadding([retval, out] VARIANT *p);
14473
14474     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14475     HRESULT background([in] BSTR v);
14476
14477     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14478     HRESULT background([retval, out] BSTR *p);
14479
14480     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14481     HRESULT bgColor([in] VARIANT v);
14482
14483     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14484     HRESULT bgColor([retval, out] VARIANT *p);
14485
14486     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14487     HRESULT borderColor([in] VARIANT v);
14488
14489     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14490     HRESULT borderColor([retval, out] VARIANT *p);
14491
14492     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14493     HRESULT borderColorLight([in] VARIANT v);
14494
14495     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14496     HRESULT borderColorLight([retval, out] VARIANT *p);
14497
14498     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14499     HRESULT borderColorDark([in] VARIANT v);
14500
14501     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14502     HRESULT borderColorDark([retval, out] VARIANT *p);
14503
14504     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14505     HRESULT align([in] BSTR v);
14506
14507     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14508     HRESULT align([retval, out] BSTR * p);
14509
14510     [id(DISPID_IHTMLTABLE_REFRESH)]
14511     HRESULT refresh();
14512
14513     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14514     HRESULT rows([retval, out] IHTMLElementCollection **p);
14515
14516     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14517     HRESULT width([in] VARIANT v);
14518
14519     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14520     HRESULT width([retval, out] VARIANT *p);
14521
14522     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14523     HRESULT height([in] VARIANT v);
14524
14525     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14526     HRESULT height([retval, out] VARIANT *p);
14527
14528     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14529     HRESULT dataPageSize([in] LONG v);
14530
14531     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14532     HRESULT dataPageSize([retval, out] LONG *p);
14533
14534     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14535     HRESULT nextPage();
14536
14537     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14538     HRESULT previousPage();
14539
14540     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14541     HRESULT tHead([retval, out] IHTMLTableSection **p);
14542
14543     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14544     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14545
14546     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14547     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14548
14549     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14550     HRESULT caption([retval, out] IHTMLTableCaption **p);
14551
14552     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14553     HRESULT createTHead([retval, out] IDispatch **head);
14554
14555     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14556     HRESULT deleteTHead();
14557
14558     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14559     HRESULT createTFoot([retval, out] IDispatch **foot);
14560
14561     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14562     HRESULT deleteTFoot();
14563
14564     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14565     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14566
14567     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14568     HRESULT deleteCaption();
14569
14570     [id(DISPID_IHTMLTABLE_INSERTROW)]
14571     HRESULT insertRow(
14572             [defaultvalue(-1), in] LONG index,
14573             [retval, out] IDispatch **row);
14574
14575     [id(DISPID_IHTMLTABLE_DELETEROW)]
14576     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14577
14578     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14579     HRESULT readyState([retval, out] BSTR *p);
14580
14581     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14582     HRESULT onreadystatechange([in] VARIANT v);
14583
14584     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14585     HRESULT onreadystatechange([retval, out] VARIANT *p);
14586 }
14587
14588 [
14589     odl,
14590     oleautomation,
14591     dual,
14592     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
14593 ]
14594 interface IHTMLTable2 : IDispatch
14595 {
14596     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14597     HRESULT firstPage();
14598
14599     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14600     HRESULT lastPage();
14601
14602     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14603     HRESULT cells([retval, out] IHTMLElementCollection* * p);
14604
14605     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14606     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
14607         [defaultvalue(-1), in] LONG indexTo,
14608         [retval, out] IDispatch** row);
14609 }
14610
14611 [
14612     odl,
14613     oleautomation,
14614     dual,
14615     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
14616 ]
14617 interface IHTMLTable3 : IDispatch
14618 {
14619     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14620     HRESULT summary([in] BSTR v);
14621
14622     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14623     HRESULT summary([retval, out] BSTR * p);
14624 }
14625
14626 [
14627     noncreatable,
14628     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
14629 ]
14630 coclass HTMLTable
14631 {
14632     [default]           dispinterface DispHTMLTable;
14633     [source, default]   dispinterface HTMLTableEvents;
14634     [source]            dispinterface HTMLTableEvents2;
14635                         interface IHTMLElement;
14636                         interface IHTMLElement2;
14637                         interface IHTMLElement3;
14638                         interface IHTMLElement4;
14639                         interface IHTMLUniqueName;
14640                         interface IHTMLDOMNode;
14641                         interface IHTMLDOMNode2;
14642                         interface IHTMLDatabinding;
14643                         interface IHTMLControlElement;
14644                         interface IHTMLTable;
14645                         interface IHTMLTable2;
14646                         interface IHTMLTable3;
14647 }
14648
14649 [
14650     odl,
14651     oleautomation,
14652     dual,
14653     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
14654 ]
14655 interface IHTMLTableSection : IDispatch
14656 {
14657     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14658     HRESULT align([in] BSTR v);
14659
14660     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14661     HRESULT align([retval, out] BSTR *p);
14662
14663     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14664     HRESULT vAlign([in] BSTR v);
14665
14666     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14667     HRESULT vAlign([retval, out] BSTR *p);
14668
14669     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14670     HRESULT bgColor([in] VARIANT v);
14671
14672     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14673     HRESULT bgColor([retval, out] VARIANT *p);
14674
14675     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
14676     HRESULT rows([retval, out] IHTMLElementCollection **p);
14677
14678     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
14679     HRESULT insertRow(
14680             [defaultvalue(-1), in] LONG index,
14681             [retval, out] IDispatch **row);
14682
14683     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
14684     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14685 }
14686
14687 /*****************************************************************************
14688  *    IHTMLTableRow interface
14689  */
14690 [
14691     odl,
14692     oleautomation,
14693     dual,
14694     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
14695 ]
14696 interface IHTMLTableRow : IDispatch
14697 {
14698     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14699     HRESULT align([in] BSTR v);
14700
14701     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14702     HRESULT align([out, retval] BSTR *p);
14703
14704     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14705     HRESULT vAlign([in] BSTR v);
14706
14707     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14708     HRESULT vAlign([out, retval] BSTR *p);
14709
14710     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14711     HRESULT bgColor([in] VARIANT v);
14712
14713     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14714     HRESULT bgColor([out, retval] VARIANT *p);
14715
14716     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14717     HRESULT borderColor([in] VARIANT v);
14718
14719     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14720     HRESULT borderColor([out, retval] VARIANT *p);
14721
14722     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14723     HRESULT borderColorLight([in] VARIANT v);
14724
14725     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14726     HRESULT borderColorLight([out, retval] VARIANT *p);
14727
14728     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14729     HRESULT borderColorDark([in] VARIANT v);
14730
14731     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14732     HRESULT borderColorDark([out, retval] VARIANT *p);
14733
14734     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14735     HRESULT rowIndex([out, retval] LONG *p);
14736
14737     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14738     HRESULT sectionRowIndex([out, retval] LONG *p);
14739
14740     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14741     HRESULT cells([out, retval] IHTMLElementCollection **p);
14742
14743     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14744     HRESULT insertCell(
14745             [in, defaultvalue(-1)] LONG index,
14746             [out, retval] IDispatch **row);
14747
14748     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14749     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
14750 }
14751
14752 /*****************************************************************************
14753  *    DispHTMLTable interface
14754  */
14755 [
14756     hidden,
14757     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
14758 ]
14759 dispinterface DispHTMLTable
14760 {
14761 properties:
14762 methods:
14763     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14764
14765     [propput, id(DISPID_IHTMLTABLE_COLS)]
14766     void cols(LONG v);
14767
14768     [propget, id(DISPID_IHTMLTABLE_COLS)]
14769     LONG cols();
14770
14771     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14772     void border(VARIANT v);
14773
14774     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14775     VARIANT border();
14776
14777     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14778     void frame(BSTR v);
14779
14780     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14781     BSTR frame();
14782
14783     [propput, id(DISPID_IHTMLTABLE_RULES)]
14784     void rules(BSTR v);
14785
14786     [propget, id(DISPID_IHTMLTABLE_RULES)]
14787     BSTR rules();
14788
14789     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14790     void cellSpacing(VARIANT v);
14791
14792     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14793     VARIANT cellSpacing();
14794
14795     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14796     void cellPadding(VARIANT v);
14797
14798     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14799     VARIANT cellPadding();
14800
14801     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14802     void background(BSTR v);
14803
14804     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14805     BSTR background();
14806
14807     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14808     void bgColor(VARIANT v);
14809
14810     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14811     VARIANT bgColor();
14812
14813     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14814     void borderColor(VARIANT v);
14815
14816     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14817     VARIANT borderColor();
14818
14819     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14820     void borderColorLight(VARIANT v);
14821
14822     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14823     VARIANT borderColorLight();
14824
14825     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14826     void borderColorDark(VARIANT v);
14827
14828     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14829     VARIANT borderColorDark();
14830
14831     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14832     void align(BSTR v);
14833
14834     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14835     BSTR align();
14836
14837     [id(DISPID_IHTMLTABLE_REFRESH)]
14838     void refresh();
14839
14840     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14841     IHTMLElementCollection *rows();
14842
14843     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14844     void width(VARIANT v);
14845
14846     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14847     VARIANT width();
14848
14849     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14850     void height(VARIANT v);
14851
14852     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14853     VARIANT height();
14854
14855     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14856     void dataPageSize(LONG v);
14857
14858     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14859     LONG dataPageSize();
14860
14861     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14862     void nextPage();
14863
14864     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14865     void previousPage();
14866
14867     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14868     IHTMLTableSection *tHead();
14869
14870     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14871     IHTMLTableSection *tFoot();
14872
14873     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14874     IHTMLElementCollection *tBodies();
14875
14876     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14877     IHTMLTableCaption *caption();
14878
14879     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14880     IDispatch *createTHead();
14881
14882     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14883     void deleteTHead();
14884
14885     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14886     IDispatch *createTFoot();
14887
14888     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14889     void deleteTFoot();
14890
14891     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14892     IHTMLTableCaption *createCaption();
14893
14894     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14895     void deleteCaption();
14896
14897     [id(DISPID_IHTMLTABLE_INSERTROW)]
14898     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
14899
14900     [id(DISPID_IHTMLTABLE_DELETEROW)]
14901     void deleteRow([in, defaultvalue(-1)] LONG index);
14902
14903     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14904     void firstPage();
14905
14906     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14907     void lastPage();
14908
14909     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14910     IHTMLElementCollection *cells();
14911
14912     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14913     IDispatch *moveRow(
14914             [in, defaultvalue(-1)] LONG indexFrom,
14915             [in, defaultvalue(-1)] LONG indexTo);
14916
14917     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14918     void summary(BSTR v);
14919
14920     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14921     BSTR summary();
14922 }
14923
14924 /*****************************************************************************
14925  *    DispHTMLTableRow dispinterface
14926  */
14927 [
14928     hidden,
14929     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
14930 ]
14931 dispinterface DispHTMLTableRow
14932 {
14933 properties:
14934 methods:
14935     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14936
14937     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14938     void align(BSTR v);
14939
14940     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14941     BSTR align();
14942
14943     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14944     void vAlign(BSTR v);
14945
14946     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14947     BSTR vAlign();
14948
14949     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14950     void bgColor(VARIANT v);
14951
14952     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14953     VARIANT bgColor();
14954
14955     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14956     void borderColor(VARIANT v);
14957
14958     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14959     VARIANT borderColor();
14960
14961     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14962     void borderColorLight(VARIANT v);
14963
14964     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14965     VARIANT borderColorLight();
14966
14967     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14968     void borderColorDark(VARIANT v);
14969
14970     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14971     VARIANT borderColorDark();
14972
14973     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14974     LONG rowIndex();
14975
14976     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14977     LONG sectionRowIndex();
14978
14979     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14980     IHTMLElementCollection *cells();
14981
14982     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14983     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
14984
14985     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14986     void deleteCell([in, defaultvalue(-1)] LONG index);
14987
14988     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14989     void height(VARIANT v);
14990
14991     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14992     VARIANT height();
14993
14994     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14995     void ch(BSTR v);
14996
14997     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14998     BSTR ch();
14999
15000     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15001     void chOff(BSTR v);
15002
15003     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15004     BSTR chOff();
15005 }
15006
15007 /*****************************************************************************
15008  *    IHTMLScriptElement interface
15009  */
15010 [
15011     odl,
15012     oleautomation,
15013     dual,
15014     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15015 ]
15016 interface IHTMLScriptElement : IDispatch
15017 {
15018     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15019     HRESULT src([in] BSTR v);
15020
15021     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15022     HRESULT src([retval, out] BSTR *p);
15023
15024     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15025     HRESULT htmlFor([in] BSTR v);
15026
15027     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15028     HRESULT htmlFor([retval, out] BSTR *p);
15029
15030     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15031     HRESULT event([in] BSTR v);
15032
15033     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15034     HRESULT event([retval, out] BSTR *p);
15035
15036     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15037     HRESULT text([in] BSTR v);
15038
15039     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15040     HRESULT text([retval, out] BSTR *p);
15041
15042     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15043     HRESULT defer([in] VARIANT_BOOL v);
15044
15045     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15046     HRESULT defer([retval, out] VARIANT_BOOL *p);
15047
15048     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
15049     HRESULT readyState([retval, out] BSTR *p);
15050
15051     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15052     HRESULT onerror([in] VARIANT v);
15053
15054     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15055     HRESULT onerror([retval, out] VARIANT *p);
15056
15057     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15058     HRESULT type([in] BSTR v);
15059
15060     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15061     HRESULT type([retval, out] BSTR *p);
15062 }
15063
15064 /*****************************************************************************
15065  *    IHTMLScriptElement2 interface
15066  */
15067 [
15068     odl,
15069     oleautomation,
15070     dual,
15071     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
15072 ]
15073 interface IHTMLScriptElement2 : IDispatch
15074 {
15075     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15076     HRESULT charset([in] BSTR v);
15077
15078     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15079     HRESULT charset([retval, out] BSTR *p);
15080 }
15081
15082 /*****************************************************************************
15083  *    DispHTMLScriptElement dispinterface
15084  */
15085 [
15086     hidden,
15087     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
15088 ]
15089 dispinterface DispHTMLScriptElement
15090 {
15091 properties:
15092 methods:
15093     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15094
15095     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15096     void src(BSTR v);
15097
15098     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15099     BSTR src();
15100
15101     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15102     void htmlFor(BSTR v);
15103
15104     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15105     BSTR htmlFor();
15106
15107     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15108     void event(BSTR v);
15109
15110     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15111     BSTR event();
15112
15113     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15114     void text(BSTR v);
15115
15116     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15117     BSTR text();
15118
15119     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15120     void defer(VARIANT_BOOL v);
15121
15122     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15123     VARIANT_BOOL defer();
15124
15125     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15126     void onerror(VARIANT v);
15127
15128     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15129     VARIANT onerror();
15130
15131     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15132     void type(BSTR v);
15133
15134     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15135     BSTR type();
15136
15137     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15138     void charset(BSTR v);
15139
15140     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15141     BSTR charset();
15142
15143     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15144     void ie8_src(BSTR v);
15145
15146     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15147     BSTR ie8_src();
15148 }
15149
15150 /*****************************************************************************
15151  *    IHTMLObjectElement interface
15152  */
15153 [
15154     odl,
15155     oleautomation,
15156     dual,
15157     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
15158 ]
15159 interface IHTMLObjectElement : IDispatch
15160 {
15161     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15162     HRESULT object([retval, out] IDispatch **p);
15163
15164     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
15165     HRESULT classid([retval, out] BSTR *p);
15166
15167     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
15168     HRESULT data([retval, out] BSTR *p);
15169
15170     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15171     HRESULT recordset([in] IDispatch *v);
15172
15173     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15174     HRESULT recordset([retval, out] IDispatch **p);
15175
15176     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15177     HRESULT align([in] BSTR v);
15178
15179     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15180     HRESULT align([retval, out] BSTR *p);
15181
15182     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15183     HRESULT name([in] BSTR v);
15184
15185     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15186     HRESULT name([retval, out] BSTR *p);
15187
15188     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15189     HRESULT codeBase([in] BSTR v);
15190
15191     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15192     HRESULT codeBase([retval, out] BSTR *p);
15193
15194     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15195     HRESULT codeType([in] BSTR v);
15196
15197     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15198     HRESULT codeType([retval, out] BSTR *p);
15199
15200     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15201     HRESULT code([in] BSTR v);
15202
15203     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15204     HRESULT code([retval, out] BSTR *p);
15205
15206     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15207     HRESULT BaseHref([retval, out] BSTR *p);
15208
15209     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15210     HRESULT type([in] BSTR v);
15211
15212     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15213     HRESULT type([retval, out] BSTR *p);
15214
15215     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15216     HRESULT form([retval, out] IHTMLFormElement **p);
15217
15218     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15219     HRESULT width([in] VARIANT v);
15220
15221     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15222     HRESULT width([retval, out] VARIANT *p);
15223
15224     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15225     HRESULT height([in] VARIANT v);
15226
15227     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15228     HRESULT height([retval, out] VARIANT *p);
15229
15230     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
15231     HRESULT readyState([retval, out] long *p);
15232
15233     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15234     HRESULT onreadystatechange([in] VARIANT v);
15235
15236     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15237     HRESULT onreadystatechange([retval, out] VARIANT *p);
15238
15239     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15240     HRESULT onerror([in] VARIANT v);
15241
15242     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15243     HRESULT onerror([retval, out] VARIANT *p);
15244
15245     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15246     HRESULT altHtml([in] BSTR v);
15247
15248     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15249     HRESULT altHtml([retval, out] BSTR *p);
15250
15251     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15252     HRESULT vspace([in] long v);
15253
15254     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15255     HRESULT vspace([retval, out] long *p);
15256
15257     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15258     HRESULT hspace([in] long v);
15259
15260     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15261     HRESULT hspace([retval, out] long *p);
15262 }
15263
15264 /*****************************************************************************
15265  *    IHTMLParamElement interface
15266  */
15267 [
15268     odl,
15269     oleautomation,
15270     dual,
15271     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
15272 ]
15273 interface IHTMLParamElement : IDispatch
15274 {
15275     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15276     HRESULT name([in] BSTR v);
15277
15278     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15279     HRESULT name([retval, out] BSTR *p);
15280
15281     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15282     HRESULT value([in] BSTR v);
15283
15284     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15285     HRESULT value([retval, out] BSTR *p);
15286
15287     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15288     HRESULT type([in] BSTR v);
15289
15290     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15291     HRESULT type([retval, out] BSTR *p);
15292
15293     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15294     HRESULT valueType([in] BSTR v);
15295
15296     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15297     HRESULT valueType([retval, out] BSTR *p);
15298 }
15299
15300 /*****************************************************************************
15301  *    IHTMLParamElement2 interface
15302  */
15303 [
15304     odl,
15305     oleautomation,
15306     dual,
15307     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
15308 ]
15309 interface IHTMLParamElement2 : IDispatch
15310 {
15311     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15312     HRESULT name([in] BSTR v);
15313
15314     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15315     HRESULT name([retval, out] BSTR *p);
15316
15317     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15318     HRESULT type([in] BSTR v);
15319
15320     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15321     HRESULT type([retval, out] BSTR *p);
15322
15323     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15324     HRESULT value([in] BSTR v);
15325
15326     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15327     HRESULT value([retval, out] BSTR *p);
15328
15329     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15330     HRESULT valueType([in] BSTR v);
15331
15332     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15333     HRESULT valueType([retval, out] BSTR *p);
15334 }
15335
15336 /*****************************************************************************
15337  *    DispHTMLObjectElement dispinterface
15338  */
15339 [
15340     hidden,
15341     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
15342 ]
15343 dispinterface DispHTMLObjectElement
15344 {
15345 properties:
15346 methods:
15347     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15348
15349     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15350     IDispatch *object();
15351
15352     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15353     void recordset(IDispatch *v);
15354
15355     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15356     IDispatch *recordset();
15357
15358     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15359     void align(BSTR v);
15360
15361     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15362     BSTR align();
15363
15364     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15365     void name(BSTR v);
15366
15367     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15368     BSTR name();
15369
15370     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15371     void codeBase(BSTR v);
15372
15373     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15374     BSTR codeBase();
15375
15376     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15377     void codeType(BSTR v);
15378
15379     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15380     BSTR codeType();
15381
15382     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15383     void code(BSTR v);
15384
15385     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15386     BSTR code();
15387
15388     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15389     BSTR BaseHref();
15390
15391     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15392     void type(BSTR v);
15393
15394     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15395     BSTR type();
15396
15397     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15398     IHTMLFormElement *form();
15399
15400     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15401     void width(VARIANT v);
15402
15403     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15404     VARIANT width();
15405
15406     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15407     void height(VARIANT v);
15408
15409     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15410     VARIANT height();
15411
15412     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15413     void onerror(VARIANT v);
15414
15415     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15416     VARIANT onerror();
15417
15418     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15419     void altHtml(BSTR v);
15420
15421     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15422     BSTR altHtml();
15423
15424     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15425     void vspace(long v);
15426
15427     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15428     long vspace();
15429
15430     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15431     void hspace(long v);
15432
15433     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15434     long hspace();
15435
15436     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
15437     IDispatch *namedRecordset(
15438             [in] BSTR dataMember,
15439             [optional, in] VARIANT *hierarchy);
15440
15441     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15442     void classid(BSTR v);
15443
15444     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15445     BSTR classid();
15446
15447     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15448     void data(BSTR v);
15449
15450     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15451     BSTR data();
15452
15453     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15454     void archive(BSTR v);
15455
15456     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15457     BSTR archive();
15458
15459     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15460     void alt(BSTR v);
15461
15462     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15463     BSTR alt();
15464
15465     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15466     void declare(VARIANT_BOOL v);
15467
15468     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15469     VARIANT_BOOL declare();
15470
15471     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15472     void standby(BSTR v);
15473
15474     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15475     BSTR standby();
15476
15477     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15478     void border(VARIANT v);
15479
15480     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15481     VARIANT border();
15482
15483     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15484     void useMap(BSTR v);
15485
15486     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15487     BSTR useMap();
15488
15489     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
15490     IDispatch *contentDocument();
15491
15492     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15493     void ie8_codeBase(BSTR v);
15494
15495     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15496     BSTR ie8_codeBase();
15497
15498     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15499     void ie8_data(BSTR v);
15500
15501     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15502     BSTR ie8_data();
15503 }
15504
15505 /*****************************************************************************
15506  *    DispHTMLParamElement dispinterface
15507  */
15508 [
15509     hidden,
15510     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
15511 ]
15512 dispinterface DispHTMLParamElement
15513 {
15514 properties:
15515 methods:
15516     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15517
15518     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15519     void name(BSTR v);
15520
15521     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15522     BSTR name();
15523
15524     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15525     void value(BSTR v);
15526
15527     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15528     BSTR value();
15529
15530     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15531     void type(BSTR v);
15532
15533     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15534     BSTR type();
15535
15536     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15537     void valueType(BSTR v);
15538
15539     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15540     BSTR valueType();
15541
15542     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15543     void ie8_valueType(BSTR v);
15544
15545     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15546     BSTR ie8_valueType();
15547 }
15548
15549 /*****************************************************************************
15550  *    IHTMLFrameBase interface
15551  */
15552 [
15553     odl,
15554     oleautomation,
15555     dual,
15556     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
15557 ]
15558 interface IHTMLFrameBase : IDispatch
15559 {
15560     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
15561     HRESULT src([in] BSTR v);
15562
15563     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
15564     HRESULT src([out, retval] BSTR *p);
15565
15566     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
15567     HRESULT name([in] BSTR v);
15568
15569     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
15570     HRESULT name([out, retval] BSTR *p);
15571
15572     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15573     HRESULT border([in] VARIANT v);
15574
15575     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15576     HRESULT border([out, retval] VARIANT *p);
15577
15578     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15579     HRESULT frameBorder([in] BSTR v);
15580
15581     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15582     HRESULT frameBorder([out, retval] BSTR *p);
15583
15584     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15585     HRESULT frameSpacing([in] VARIANT v);
15586
15587     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15588     HRESULT frameSpacing([out, retval] VARIANT *p);
15589
15590     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15591     HRESULT marginWidth([in] VARIANT v);
15592
15593     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15594     HRESULT marginWidth([out, retval] VARIANT *p);
15595
15596     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15597     HRESULT marginHeight([in] VARIANT v);
15598
15599     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15600     HRESULT marginHeight([out, retval] VARIANT *p);
15601
15602     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15603     HRESULT noResize([in] VARIANT_BOOL v);
15604
15605     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15606     HRESULT noResize([out, retval] VARIANT_BOOL *p);
15607
15608     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15609     HRESULT scrolling([in] BSTR v);
15610
15611     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15612     HRESULT scrolling([out, retval] BSTR *p);
15613 }
15614
15615 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
15616     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15617     void src(BSTR v);                                   \
15618                                                         \
15619     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15620     BSTR src();                                         \
15621                                                         \
15622     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15623     void name(BSTR v);                                  \
15624                                                         \
15625     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15626     BSTR name();                                        \
15627                                                         \
15628     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15629     void border(VARIANT v);                             \
15630                                                         \
15631     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15632     VARIANT border();                                   \
15633                                                         \
15634     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
15635     void frameBorder(BSTR v);                           \
15636                                                         \
15637     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
15638     BSTR frameBorder();                                 \
15639                                                         \
15640     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
15641     void frameSpacing(VARIANT v);                       \
15642                                                         \
15643     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
15644     VARIANT frameSpacing();                             \
15645                                                         \
15646     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
15647     void marginWidth(VARIANT v);                        \
15648                                                         \
15649     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
15650     VARIANT marginWidth();                              \
15651                                                         \
15652     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
15653     void marginHeight(VARIANT v);                       \
15654                                                         \
15655     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
15656     VARIANT marginHeight();                             \
15657                                                         \
15658     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
15659     void noResize(VARIANT_BOOL v);                      \
15660                                                         \
15661     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
15662     VARIANT_BOOL noResize();                            \
15663                                                         \
15664     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
15665     void scrolling(BSTR v);                             \
15666                                                         \
15667     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
15668     BSTR scrolling()
15669
15670 /*****************************************************************************
15671  *    IHTMLFrameBase2 interface
15672  */
15673 [
15674     odl,
15675     oleautomation,
15676     dual,
15677     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
15678 ]
15679 interface IHTMLFrameBase2 : IDispatch
15680 {
15681     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
15682     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
15683
15684     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
15685     HRESULT onload([in] VARIANT v);
15686
15687     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
15688     HRESULT onload([retval, out] VARIANT *p);
15689
15690     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
15691     HRESULT onreadystatechange([in] VARIANT v);
15692
15693     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
15694     HRESULT onreadystatechange([retval, out] VARIANT *p);
15695
15696     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
15697     HRESULT readyState([retval, out] BSTR *p);
15698
15699     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
15700     HRESULT allowTransparency([in] VARIANT_BOOL v);
15701
15702     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
15703     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
15704 }
15705
15706 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
15707     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
15708     IHTMLWindow2 *contentWindow();                                      \
15709                                                                         \
15710     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
15711     void onload(VARIANT v);                                             \
15712                                                                         \
15713     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
15714     VARIANT onload();                                                   \
15715                                                                         \
15716     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
15717     void allowTransparency(VARIANT_BOOL v);                             \
15718                                                                         \
15719     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
15720     VARIANT_BOOL allowTransparency()
15721
15722 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
15723     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
15724     void longDesc(BSTR v);                                                \
15725                                                                           \
15726     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
15727     BSTR longDesc()
15728
15729
15730 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
15731     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
15732     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
15733     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
15734     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
15735
15736 /*****************************************************************************
15737  *    IHTMLFrameElement3 interface
15738  */
15739 [
15740     odl,
15741     oleautomation,
15742     dual,
15743     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
15744 ]
15745 interface IHTMLFrameElement3 : IDispatch
15746 {
15747     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
15748     HRESULT contentDocument([out, retval] IDispatch **p);
15749
15750     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15751     HRESULT src([in] BSTR v);
15752
15753     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15754     HRESULT src([out, retval] BSTR *p);
15755
15756     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15757     HRESULT longDesc([in] BSTR v);
15758
15759     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15760     HRESULT longDesc([out, retval] BSTR *p);
15761
15762     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15763     HRESULT frameBorder([in] BSTR v);
15764
15765     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15766     HRESULT frameBorder([out, retval] BSTR * p);
15767 }
15768
15769 /*****************************************************************************
15770  *    DispHTMLFrameElement dispinterface
15771  */
15772 [
15773     hidden,
15774     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
15775 ]
15776 dispinterface DispHTMLFrameElement
15777 {
15778 properties:
15779 methods:
15780     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15781
15782     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15783     void borderColor(VARIANT v);
15784
15785     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15786     VARIANT borderColor();
15787
15788     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15789     void height(VARIANT v);
15790
15791     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15792     VARIANT height();
15793
15794     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15795     void width(VARIANT v);
15796
15797     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15798     VARIANT width();
15799
15800     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
15801     IDispatch *contentDocument();
15802
15803     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15804     void ie8_src(BSTR v);
15805
15806     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15807     BSTR ie8_src();
15808
15809     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15810     void ie8_longDesc(BSTR v);
15811
15812     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15813     BSTR ie8_longDesc();
15814
15815     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15816     void ie8_frameBorder(BSTR v);
15817
15818     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15819     BSTR ie8_frameBorder();
15820 }
15821
15822 /*****************************************************************************
15823  *    IHTMLIFrameElement interface
15824  */
15825 [
15826     odl,
15827     oleautomation,
15828     dual,
15829     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
15830 ]
15831 interface IHTMLIFrameElement : IDispatch
15832 {
15833     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15834     HRESULT vspace([in] LONG v);
15835
15836     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15837     HRESULT vspace([retval, out] LONG *p);
15838
15839     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15840     HRESULT hspace([in] LONG v);
15841
15842     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15843     HRESULT hspace([retval, out] LONG *p);
15844
15845     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15846     HRESULT align([in] BSTR v);
15847
15848     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15849     HRESULT align([retval, out] BSTR *p);
15850 }
15851
15852 /*****************************************************************************
15853  *    DispHTMLIFrame dispinterface
15854  */
15855 [
15856     hidden,
15857     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
15858 ]
15859 dispinterface DispHTMLIFrame
15860 {
15861 properties:
15862 methods:
15863     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15864
15865     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15866     void vspace(LONG v);
15867
15868     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15869     LONG vspace();
15870
15871     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15872     void hspace(LONG v);
15873
15874     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15875     LONG hspace();
15876
15877     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15878     void align(BSTR v);
15879
15880     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15881     BSTR align();
15882
15883     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15884     void height(VARIANT v);
15885
15886     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15887     VARIANT height();
15888
15889     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15890     void width(VARIANT v);
15891
15892     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15893     VARIANT width();
15894 }
15895
15896 /*****************************************************************************
15897  *    IHTMLStyleElement interface
15898  */
15899 [
15900     odl,
15901     oleautomation,
15902     dual,
15903     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
15904 ]
15905 interface IHTMLStyleElement : IDispatch
15906 {
15907     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15908     HRESULT type([in] BSTR v);
15909
15910     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15911     HRESULT type([retval, out] BSTR *p);
15912
15913     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
15914     HRESULT readyState([retval, out] BSTR *p);
15915
15916     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15917     HRESULT onreadystatechange([in] VARIANT v);
15918
15919     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15920     HRESULT onreadystatechange([retval, out] VARIANT *p);
15921
15922     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15923     HRESULT onload([in] VARIANT v);
15924
15925     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15926     HRESULT onload([retval, out] VARIANT *p);
15927
15928     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15929     HRESULT onerror([in] VARIANT v);
15930
15931     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15932     HRESULT onerror([retval, out] VARIANT *p);
15933
15934     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
15935     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
15936
15937     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
15938     HRESULT disabled([in] VARIANT_BOOL v);
15939
15940     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
15941     HRESULT disabled([retval, out] VARIANT_BOOL *p);
15942
15943     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15944     HRESULT media([in] BSTR v);
15945
15946     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15947     HRESULT media([retval, out] BSTR *p);
15948 }
15949
15950 /*****************************************************************************
15951  *    DispHTMLStyleElement dispinterface
15952  */
15953 [
15954     hidden,
15955     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
15956 ]
15957 dispinterface DispHTMLStyleElement
15958 {
15959 properties:
15960 methods:
15961     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15962
15963     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15964     void type(BSTR v);
15965
15966     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15967     BSTR type();
15968
15969     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15970     void onload(VARIANT v);
15971
15972     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15973     VARIANT onload();
15974
15975     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15976     void onerror(VARIANT v);
15977
15978     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15979     VARIANT onerror();
15980
15981     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
15982     IHTMLStyleSheet *styleSheet();
15983
15984     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15985     void media(BSTR v);
15986
15987     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15988     BSTR media();
15989 }
15990
15991 /*****************************************************************************
15992  *    IMarkupContainer interface
15993  */
15994 [
15995     object,
15996     pointer_default(unique),
15997     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
15998 ]
15999 interface IMarkupContainer : IUnknown
16000 {
16001     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16002 }
16003
16004 /*****************************************************************************
16005  *    IMarkupPointer interface
16006  */
16007 [
16008     object,
16009     pointer_default(unique),
16010     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
16011 ]
16012 interface IMarkupPointer : IUnknown
16013 {
16014     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16015
16016     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
16017
16018     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
16019
16020     HRESULT Cling([out] BOOL *pfCling);
16021
16022     HRESULT SetCling([in] BOOL fCLing);
16023
16024     HRESULT UnPosition();
16025
16026     HRESULT IsPositioned([out] BOOL *pfPositioned);
16027
16028     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
16029
16030     HRESULT MoveAdjacentToElement(
16031         [in] IHTMLElement *pElement,
16032         [in] ELEMENT_ADJACENCY eAdj);
16033
16034     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
16035
16036     HRESULT MoveToContainer(
16037         [in] IMarkupContainer *pContainer,
16038         [in] BOOL fAtStart);
16039
16040     HRESULT Left(
16041         [in] BOOL fMove,
16042         [out] MARKUP_CONTEXT_TYPE *pContext,
16043         [out] IHTMLElement **ppElement,
16044         [in, out] LONG *pcch,
16045         [out, size_is(*pcch)] OLECHAR *pchText);
16046
16047     HRESULT Right(
16048         [in] BOOL fMove,
16049         [out] MARKUP_CONTEXT_TYPE *pContext,
16050         [out] IHTMLElement **ppElement,
16051         [in, out] LONG *pcch,
16052         [out, size_is(*pcch)] OLECHAR *pchText);
16053
16054     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
16055
16056     HRESULT IsLeftOf(
16057         [in] IMarkupPointer *pPointerThat,
16058         [out] BOOL *pfResult);
16059
16060     HRESULT IsLeftOfOrEqualTo(
16061         [in] IMarkupPointer *pPointerThat,
16062         [out] BOOL *pfResult);
16063
16064     HRESULT IsRightOf(
16065         [in] IMarkupPointer *pPointerThat,
16066         [out] BOOL *pfResult);
16067
16068     HRESULT IsRightOfOrEqualTo(
16069         [in] IMarkupPointer *pPointerThat,
16070         [out] BOOL *pfResult);
16071
16072     HRESULT IsEqualTo(
16073         [in] IMarkupPointer *pPointerThat,
16074         [out] BOOL *pfAreEqual);
16075
16076     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
16077
16078     HRESULT FindText(
16079         [in] OLECHAR *pchFindText,
16080         [in] DWORD dwFlags,
16081         [in] IMarkupPointer *pIEndMatch,
16082         [in] IMarkupPointer *pIEndSearch);
16083 }
16084
16085 /*****************************************************************************
16086  *    ISegment interface
16087  */
16088 [
16089     object,
16090     pointer_default(unique),
16091     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
16092 ]
16093 interface ISegment : IUnknown
16094 {
16095     HRESULT GetPointers(
16096         [in] IMarkupPointer *pIStart,
16097         [in] IMarkupPointer *pIEnd);
16098 }
16099
16100 /*****************************************************************************
16101  *    IElementSegment interface
16102  */
16103 [
16104     object,
16105     pointer_default(unique),
16106     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
16107 ]
16108 interface IElementSegment : ISegment
16109 {
16110     HRESULT GetElement([out] IHTMLElement **ppIElement);
16111
16112     HRESULT SetPrimary([in] BOOL fPrimary);
16113
16114     HRESULT IsPrimary([out] BOOL *pfPrimary);
16115 }
16116
16117 /*****************************************************************************
16118  *    ISelectionServicesListener interface
16119  */
16120 [
16121     object,
16122     pointer_default(unique),
16123     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
16124 ]
16125 interface ISelectionServicesListener : IUnknown
16126 {
16127     HRESULT BeginSelectionUndo();
16128
16129     HRESULT EndSelectionUndo();
16130
16131     HRESULT OnSelectedElementExit(
16132         [in] IMarkupPointer *pIElementStart,
16133         [in] IMarkupPointer *pIElementEnd,
16134         [in] IMarkupPointer *pIElementContentStart,
16135         [in] IMarkupPointer *pIElementContentEnd);
16136
16137     HRESULT OnChangeType(
16138         [in] SELECTION_TYPE eType,
16139         [in] ISelectionServicesListener *pIListener);
16140
16141     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
16142 }
16143
16144 /*****************************************************************************
16145  *    ISelectionServices interface
16146  */
16147 [
16148     object,
16149     pointer_default(unique),
16150     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
16151 ]
16152 interface ISelectionServices : IUnknown
16153 {
16154     HRESULT SetSelectionType(
16155         [in] SELECTION_TYPE eType,
16156         [in] ISelectionServicesListener *pIListener);
16157
16158     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
16159
16160     HRESULT AddSegment(
16161         [in] IMarkupPointer *pIStart,
16162         [in] IMarkupPointer *pIEnd,
16163         [out] ISegment **ppISegmentAdded);
16164
16165     HRESULT AddElementSegment(
16166         [in] IHTMLElement *pIElement,
16167         [out] IElementSegment **ppISegmentAdded);
16168
16169     HRESULT RemoveSegment([in] ISegment *pISegment);
16170
16171     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
16172 }
16173
16174 /*****************************************************************************
16175  *    IHTMLEditDesigner interface
16176  */
16177 [
16178     object,
16179     pointer_default(unique),
16180     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
16181 ]
16182 interface IHTMLEditDesigner : IUnknown
16183 {
16184     HRESULT PreHandleEvent(
16185         [in] DISPID inEvtDispId,
16186         [in] IHTMLEventObj *pIEventObj);
16187
16188     HRESULT PostHandleEvent(
16189         [in] DISPID inEvtDispId,
16190         [in] IHTMLEventObj *pIEventObj);
16191
16192     HRESULT TranslateAccelerator(
16193         [in] DISPID inEvtDispId,
16194         [in] IHTMLEventObj *pIEventObj);
16195
16196     HRESULT PostEditorEventNotify(
16197         [in] DISPID inEvtDispId,
16198         [in] IHTMLEventObj *pIEventObj);
16199 }
16200
16201 /*****************************************************************************
16202  *    IHTMLEditServices interface
16203  */
16204 [
16205     object,
16206     pointer_default(unique),
16207     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
16208 ]
16209 interface IHTMLEditServices : IUnknown
16210 {
16211     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
16212
16213     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
16214
16215     HRESULT GetSelectionServices(
16216         [in] IMarkupContainer *pIContainer,
16217         [out] ISelectionServices **ppSelSvc);
16218
16219     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
16220
16221     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
16222
16223     HRESULT SelectRange(
16224         [in] IMarkupPointer* pStart,
16225         [in] IMarkupPointer* pEnd,
16226         [in] SELECTION_TYPE eType);
16227 }
16228
16229 /*****************************************************************************
16230  *    IElementBehaviorSite interface
16231  */
16232 [
16233     odl,
16234     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
16235 ]
16236 interface IElementBehaviorSite : IUnknown {
16237     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
16238     HRESULT RegisterNotification([in] long lEvent);
16239 }
16240
16241 /*****************************************************************************
16242  *    IElementBehavior interface
16243  */
16244 [
16245     odl,
16246     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
16247 ]
16248 interface IElementBehavior : IUnknown {
16249     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
16250     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
16251     HRESULT Detach();
16252 }
16253
16254 /*****************************************************************************
16255  *    IElementBehaviorFactory interface
16256  */
16257 [
16258     odl,
16259     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
16260 ]
16261 interface IElementBehaviorFactory : IUnknown
16262 {
16263     HRESULT FindBehavior(
16264         [in] BSTR bstrBehavior,
16265         [in] BSTR bstrBehaviorUrl,
16266         [in] IElementBehaviorSite *pSite,
16267         [out] IElementBehavior **ppBehavior);
16268 }
16269
16270 } /* library MSHTML */
16271
16272 interface IOleCommandTarget;
16273
16274 /*****************************************************************************
16275  *    IHTMLPrivateWindow interface
16276  */
16277 [
16278     object,
16279     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
16280     local
16281 ]
16282 interface IHTMLPrivateWindow : IUnknown
16283 {
16284     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
16285     HRESULT GetPendingUrl(BSTR *url);
16286     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
16287     HRESULT PICSComplete(int arg);
16288     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
16289     HRESULT GetAddressBarUrl(BSTR *url);
16290 }