msvcrt: Fixed fgetwc behavior on multibyte characters and Unicode files.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27 import "dispex.idl";
28
29 cpp_quote("#include <olectl.h>")
30
31 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
34 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
35 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
36
37 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
38 cpp_quote("#undef FindText")
39 cpp_quote("#endif")
40
41 typedef enum {
42     POINTER_GRAVITY_Left,
43     POINTER_GRAVITY_Right,
44     POINTER_GRAVITY_Max = 2147483647
45 } POINTER_GRAVITY;
46
47 typedef enum {
48     CONTEXT_TYPE_None,
49     CONTEXT_TYPE_Text,
50     CONTEXT_TYPE_EnterScope,
51     CONTEXT_TYPE_ExitScope,
52     CONTEXT_TYPE_NoScope,
53     MARKUP_CONTEXT_TYPE_Max = 2147483647
54 } MARKUP_CONTEXT_TYPE;
55
56 typedef enum {
57     ELEM_ADJ_BeforeBegin,
58     ELEM_ADJ_AfterBegin,
59     ELEM_ADJ_BeforeEnd,
60     ELEM_ADJ_AfterEnd,
61     ELEMENT_ADJACENCY_Max = 2147483647
62 } ELEMENT_ADJACENCY;
63
64 typedef enum {
65     MOVEUNIT_PREVCHAR,
66     MOVEUNIT_NEXTCHAR,
67     MOVEUNIT_PREVCLUSTERBEG,
68     MOVEUNIT_NEXTCLUSTERBEG,
69     MOVEUNIT_PREVCLUSTEREND,
70     MOVEUNIT_NEXTCLUSTEREND,
71     MOVEUNIT_PREVWORDBEG,
72     MOVEUNIT_NEXTWORDBEG,
73     MOVEUNIT_PREVWORDEND,
74     MOVEUNIT_NEXTWORDEND,
75     MOVEUNIT_PREVPROOFWORD,
76     MOVEUNIT_NEXTPROOFWORD,
77     MOVEUNIT_NEXTURLBEG,
78     MOVEUNIT_PREVURLBEG,
79     MOVEUNIT_NEXTURLEND,
80     MOVEUNIT_PREVURLEND,
81     MOVEUNIT_PREVSENTENCE,
82     MOVEUNIT_NEXTSENTENCE,
83     MOVEUNIT_PREVBLOCK,
84     MOVEUNIT_NEXTBLOCK,
85     MOVEUNIT_ACTION_Max = 2147483647
86 } MOVEUNIT_ACTION;
87
88 typedef enum _SELECTION_TYPE {
89     SELECTION_TYPE_None,
90     SELECTION_TYPE_Caret,
91     SELECTION_TYPE_Text,
92     SELECTION_TYPE_Control,
93     SELECTION_TYPE_Max = 2147483647
94 } SELECTION_TYPE;
95
96 [
97     version(4.0),
98     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
99 ]
100 library MSHTML
101 {
102
103 importlib("stdole2.tlb");
104
105 typedef enum _DomConstructor {
106     DomConstructorObject                      = 0,
107     DomConstructorAttr                        = 1,
108     DomConstructorBehaviorUrnsCollection      = 2,
109     DomConstructorBookmarkCollection          = 3,
110     DomConstructorCompatibleInfo              = 4,
111     DomConstructorCompatibleInfoCollection    = 5,
112     DomConstructorControlRangeCollection      = 6,
113     DomConstructorCSSCurrentStyleDeclaration  = 7,
114     DomConstructorCSSRuleList                 = 8,
115     DomConstructorCSSRuleStyleDeclaration     = 9,
116     DomConstructorCSSStyleDeclaration         = 10,
117     DomConstructorCSSStyleRule                = 11,
118     DomConstructorCSSStyleSheet               = 12,
119     DomConstructorDataTransfer                = 13,
120     DomConstructorDOMImplementation           = 14,
121     DomConstructorElement                     = 15,
122     DomConstructorEvent                       = 16,
123     DomConstructorHistory                     = 17,
124     DomConstructorHTCElementBehaviorDefaults  = 18,
125     DomConstructorHTMLAnchorElement           = 19,
126     DomConstructorHTMLAreaElement             = 20,
127     DomConstructorHTMLAreasCollection         = 21,
128     DomConstructorHTMLBaseElement             = 22,
129     DomConstructorHTMLBaseFontElement         = 23,
130     DomConstructorHTMLBGSoundElement          = 24,
131     DomConstructorHTMLBlockElement            = 25,
132     DomConstructorHTMLBodyElement             = 26,
133     DomConstructorHTMLBRElement               = 27,
134     DomConstructorHTMLButtonElement           = 28,
135     DomConstructorHTMLCollection              = 29,
136     DomConstructorHTMLCommentElement          = 30,
137     DomConstructorHTMLDDElement               = 31,
138     DomConstructorHTMLDivElement              = 32,
139     DomConstructorHTMLDocument                = 33,
140     DomConstructorHTMLDListElement            = 34,
141     DomConstructorHTMLDTElement               = 35,
142     DomConstructorHTMLEmbedElement            = 36,
143     DomConstructorHTMLFieldSetElement         = 37,
144     DomConstructorHTMLFontElement             = 38,
145     DomConstructorHTMLFormElement             = 39,
146     DomConstructorHTMLFrameElement            = 40,
147     DomConstructorHTMLFrameSetElement         = 41,
148     DomConstructorHTMLGenericElement          = 42,
149     DomConstructorHTMLHeadElement             = 43,
150     DomConstructorHTMLHeadingElement          = 44,
151     DomConstructorHTMLHRElement               = 45,
152     DomConstructorHTMLHtmlElement             = 46,
153     DomConstructorHTMLIFrameElement           = 47,
154     DomConstructorHTMLImageElement            = 48,
155     DomConstructorHTMLInputElement            = 49,
156     DomConstructorHTMLIsIndexElement          = 50,
157     DomConstructorHTMLLabelElement            = 51,
158     DomConstructorHTMLLegendElement           = 52,
159     DomConstructorHTMLLIElement               = 53,
160     DomConstructorHTMLLinkElement             = 54,
161     DomConstructorHTMLMapElement              = 55,
162     DomConstructorHTMLMarqueeElement          = 56,
163     DomConstructorHTMLMetaElement             = 57,
164     DomConstructorHTMLModelessDialog          = 58,
165     DomConstructorHTMLNamespaceInfo           = 59,
166     DomConstructorHTMLNamespaceInfoCollection = 60,
167     DomConstructorHTMLNextIdElement           = 61,
168     DomConstructorHTMLNoShowElement           = 62,
169     DomConstructorHTMLObjectElement           = 63,
170     DomConstructorHTMLOListElement            = 64,
171     DomConstructorHTMLOptionElement           = 65,
172     DomConstructorHTMLParagraphElement        = 66,
173     DomConstructorHTMLParamElement            = 67,
174     DomConstructorHTMLPhraseElement           = 68,
175     DomConstructorHTMLPluginsCollection       = 69,
176     DomConstructorHTMLPopup                   = 70,
177     DomConstructorHTMLScriptElement           = 71,
178     DomConstructorHTMLSelectElement           = 72,
179     DomConstructorHTMLSpanElement             = 73,
180     DomConstructorHTMLStyleElement            = 74,
181     DomConstructorHTMLTableCaptionElement     = 75,
182     DomConstructorHTMLTableCellElement        = 76,
183     DomConstructorHTMLTableColElement         = 77,
184     DomConstructorHTMLTableElement            = 78,
185     DomConstructorHTMLTableRowElement         = 79,
186     DomConstructorHTMLTableSectionElement     = 80,
187     DomConstructorHTMLTextAreaElement         = 81,
188     DomConstructorHTMLTextElement             = 82,
189     DomConstructorHTMLTitleElement            = 83,
190     DomConstructorHTMLUListElement            = 84,
191     DomConstructorHTMLUnknownElement          = 85,
192     DomConstructorImage                       = 86,
193     DomConstructorLocation                    = 87,
194     DomConstructorNamedNodeMap                = 88,
195     DomConstructorNavigator                   = 89,
196     DomConstructorNodeList                    = 90,
197     DomConstructorOption                      = 91,
198     DomConstructorScreen                      = 92,
199     DomConstructorSelection                   = 93,
200     DomConstructorStaticNodeList              = 94,
201     DomConstructorStorage                     = 95,
202     DomConstructorStyleSheetList              = 96,
203     DomConstructorStyleSheetPage              = 97,
204     DomConstructorStyleSheetPageList          = 98,
205     DomConstructorText                        = 99,
206     DomConstructorTextRange                   = 100,
207     DomConstructorTextRangeCollection         = 101,
208     DomConstructorTextRectangle               = 102,
209     DomConstructorTextRectangleList           = 103,
210     DomConstructorWindow                      = 104,
211     DomConstructorXDomainRequest              = 105,
212     DomConstructorXMLHttpRequest              = 106,
213     DomConstructorMax                         = 107,
214     DomConstructor_Max                        = 2147483647L
215 } DomConstructor;
216
217 [
218     odl,
219     oleautomation,
220     dual,
221     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
222 ]
223 interface IHTMLDOMConstructor : IDispatch
224 {
225     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
226     HRESULT constructor([retval, out] IDispatch* * p);
227
228     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
229
230     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
231
232     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
233
234     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
235 }
236
237 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
238     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
239     IDispatch *constructor()
240
241 interface IHTMLDocument2;
242 interface IHTMLElement2;
243 interface IHTMLStyleSheetsCollection;
244 interface IHTMLFrameBase;
245 interface IHTMLStorage;
246 interface IDOMEvent;
247
248 /*****************************************************************************
249  *    IHTMLFiltersCollection interface
250  */
251 [
252     odl,
253     oleautomation,
254     dual,
255     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
256 ]
257 interface IHTMLFiltersCollection : IDispatch
258 {
259     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
260     HRESULT length([retval, out] LONG *p);
261
262     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
263     HRESULT _newEnum([retval, out] IUnknown **p);
264
265     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
266     HRESULT item(
267         [in] VARIANT *pvarIndex,
268         [retval, out] VARIANT *pvarResult);
269 }
270
271 /*****************************************************************************
272  *    IHTMLStyle interface
273  */
274 [
275     odl,
276     oleautomation,
277     dual,
278     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
279 ]
280 interface IHTMLStyle : IDispatch
281 {
282     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
283     HRESULT fontFamily([in] BSTR v);
284
285     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
286     HRESULT fontFamily([retval, out] BSTR *p);
287
288     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
289     HRESULT fontStyle([in] BSTR v);
290
291     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
292     HRESULT fontStyle([retval, out] BSTR *p);
293
294     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
295     HRESULT fontVariant([in] BSTR v);
296
297     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
298     HRESULT fontVariant([retval, out] BSTR *p);
299
300     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
301     HRESULT fontWeight([in] BSTR v);
302
303     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
304     HRESULT fontWeight([retval, out] BSTR *p);
305
306     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
307     HRESULT fontSize([in] VARIANT v);
308
309     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
310     HRESULT fontSize([retval, out] VARIANT *p);
311
312     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
313     HRESULT font([in] BSTR v);
314
315     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
316     HRESULT font([retval, out] BSTR *p);
317
318     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
319     HRESULT color([in] VARIANT v);
320
321     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
322     HRESULT color([retval, out] VARIANT *p);
323
324     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
325     HRESULT background([in] BSTR v);
326
327     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
328     HRESULT background([retval, out] BSTR *p);
329
330     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
331     HRESULT backgroundColor([in] VARIANT v);
332
333     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
334     HRESULT backgroundColor([retval, out] VARIANT *p);
335
336     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
337     HRESULT backgroundImage([in] BSTR v);
338
339     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
340     HRESULT backgroundImage([retval, out] BSTR *p);
341
342     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
343     HRESULT backgroundRepeat([in] BSTR v);
344
345     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
346     HRESULT backgroundRepeat([retval, out] BSTR *p);
347
348     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
349     HRESULT backgroundAttachment([in] BSTR v);
350
351     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
352     HRESULT backgroundAttachment([retval, out] BSTR *p);
353
354     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
355     HRESULT backgroundPosition([in] BSTR v);
356
357     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
358     HRESULT backgroundPosition([retval, out] BSTR *p);
359
360     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
361     HRESULT backgroundPositionX([in] VARIANT v);
362
363     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
364     HRESULT backgroundPositionX([retval, out] VARIANT *p);
365
366     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
367     HRESULT backgroundPositionY([in] VARIANT v);
368
369     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
370     HRESULT backgroundPositionY([retval, out] VARIANT *p);
371
372     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
373     HRESULT wordSpacing([in] VARIANT v);
374
375     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
376     HRESULT wordSpacing([retval, out] VARIANT *p);
377
378     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
379     HRESULT letterSpacing([in] VARIANT v);
380
381     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
382     HRESULT letterSpacing([retval, out] VARIANT *p);
383
384     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
385     HRESULT textDecoration([in] BSTR v);
386
387     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
388     HRESULT textDecoration([retval, out] BSTR *p);
389
390     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
391     HRESULT textDecorationNone([in] VARIANT_BOOL v);
392
393     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
394     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
395
396     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
397     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
398
399     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
400     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
401
402     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
403     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
404
405     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
406     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
407
408     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
409     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
410
411     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
412     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
413
414     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
415     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
416
417     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
418     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
419
420     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
421     HRESULT verticalAlign([in] VARIANT v);
422
423     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
424     HRESULT verticalAlign([retval, out] VARIANT *p);
425
426     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
427     HRESULT textTransform([in] BSTR v);
428
429     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
430     HRESULT textTransform([retval, out] BSTR *p);
431
432     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
433     HRESULT textAlign([in] BSTR v);
434
435     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
436     HRESULT textAlign([retval, out] BSTR *p);
437
438     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
439     HRESULT textIndent([in] VARIANT v);
440
441     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
442     HRESULT textIndent([retval, out] VARIANT *p);
443
444     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
445     HRESULT lineHeight([in] VARIANT v);
446
447     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
448     HRESULT lineHeight([retval, out] VARIANT *p);
449
450     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
451     HRESULT marginTop([in] VARIANT v);
452
453     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
454     HRESULT marginTop([retval, out] VARIANT *p);
455
456     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
457     HRESULT marginRight([in] VARIANT v);
458
459     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
460     HRESULT marginRight([retval, out] VARIANT *p);
461
462     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
463     HRESULT marginBottom([in] VARIANT v);
464
465     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
466     HRESULT marginBottom([retval, out] VARIANT *p);
467
468     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
469     HRESULT marginLeft([in] VARIANT v);
470
471     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
472     HRESULT marginLeft([retval, out] VARIANT *p);
473
474     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
475     HRESULT margin([in] BSTR v);
476
477     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
478     HRESULT margin([retval, out] BSTR *p);
479
480     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
481     HRESULT paddingTop([in] VARIANT v);
482
483     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
484     HRESULT paddingTop([retval, out] VARIANT *p);
485
486     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
487     HRESULT paddingRight([in] VARIANT v);
488
489     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
490     HRESULT paddingRight([retval, out] VARIANT *p);
491
492     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
493     HRESULT paddingBottom([in] VARIANT v);
494
495     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
496     HRESULT paddingBottom([retval, out] VARIANT *p);
497
498     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
499     HRESULT paddingLeft([in] VARIANT v);
500
501     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
502     HRESULT paddingLeft([retval, out] VARIANT *p);
503
504     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
505     HRESULT padding([in] BSTR v);
506
507     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
508     HRESULT padding([retval, out] BSTR *p);
509
510     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
511     HRESULT border([in] BSTR v);
512
513     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
514     HRESULT border([retval, out] BSTR *p);
515
516     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
517     HRESULT borderTop([in] BSTR v);
518
519     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
520     HRESULT borderTop([retval, out] BSTR *p);
521
522     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
523     HRESULT borderRight([in] BSTR v);
524
525     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
526     HRESULT borderRight([retval, out] BSTR *p);
527
528     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
529     HRESULT borderBottom([in] BSTR v);
530
531     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
532     HRESULT borderBottom([retval, out] BSTR *p);
533
534     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
535     HRESULT borderLeft([in] BSTR v);
536
537     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
538     HRESULT borderLeft([retval, out] BSTR *p);
539
540     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
541     HRESULT borderColor([in] BSTR v);
542
543     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
544     HRESULT borderColor([retval, out] BSTR *p);
545
546     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
547     HRESULT borderTopColor([in] VARIANT v);
548
549     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
550     HRESULT borderTopColor([retval, out] VARIANT *p);
551
552     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
553     HRESULT borderRightColor([in] VARIANT v);
554
555     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
556     HRESULT borderRightColor([retval, out] VARIANT *p);
557
558     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
559     HRESULT borderBottomColor([in] VARIANT v);
560
561     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
562     HRESULT borderBottomColor([retval, out] VARIANT *p);
563
564     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
565     HRESULT borderLeftColor([in] VARIANT v);
566
567     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
568     HRESULT borderLeftColor([retval, out] VARIANT *p);
569
570     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
571     HRESULT borderWidth([in] BSTR v);
572
573     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
574     HRESULT borderWidth([retval, out] BSTR *p);
575
576     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
577     HRESULT borderTopWidth([in] VARIANT v);
578
579     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
580     HRESULT borderTopWidth([retval, out] VARIANT *p);
581
582     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
583     HRESULT borderRightWidth([in] VARIANT v);
584
585     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
586     HRESULT borderRightWidth([retval, out] VARIANT *p);
587
588     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
589     HRESULT borderBottomWidth([in] VARIANT v);
590
591     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
592     HRESULT borderBottomWidth([retval, out] VARIANT *p);
593
594     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
595     HRESULT borderLeftWidth([in] VARIANT v);
596
597     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
598     HRESULT borderLeftWidth([retval, out] VARIANT *p);
599
600     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
601     HRESULT borderStyle([in] BSTR v);
602
603     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
604     HRESULT borderStyle([retval, out] BSTR *p);
605
606     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
607     HRESULT borderTopStyle([in] BSTR v);
608
609     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
610     HRESULT borderTopStyle([retval, out] BSTR *p);
611
612     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
613     HRESULT borderRightStyle([in] BSTR v);
614
615     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
616     HRESULT borderRightStyle([retval, out] BSTR *p);
617
618     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
619     HRESULT borderBottomStyle([in] BSTR v);
620
621     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
622     HRESULT borderBottomStyle([retval, out] BSTR *p);
623
624     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
625     HRESULT borderLeftStyle([in] BSTR v);
626
627     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
628     HRESULT borderLeftStyle([retval, out] BSTR *p);
629
630     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
631     HRESULT width([in] VARIANT v);
632
633     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
634     HRESULT width([retval, out] VARIANT *p);
635
636     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
637     HRESULT height([in] VARIANT v);
638
639     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
640     HRESULT height([retval, out] VARIANT *p);
641
642     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
643     HRESULT styleFloat([in] BSTR v);
644
645     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
646     HRESULT styleFloat([retval, out] BSTR *p);
647
648     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
649     HRESULT clear([in] BSTR v);
650
651     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
652     HRESULT clear([retval, out] BSTR *p);
653
654     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
655     HRESULT display([in] BSTR v);
656
657     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
658     HRESULT display([retval, out] BSTR *p);
659
660     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
661     HRESULT visibility([in] BSTR v);
662
663     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
664     HRESULT visibility([retval, out] BSTR *p);
665
666     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
667     HRESULT listStyleType([in] BSTR v);
668
669     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
670     HRESULT listStyleType([retval, out] BSTR *p);
671
672     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
673     HRESULT listStylePosition([in] BSTR v);
674
675     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
676     HRESULT listStylePosition([retval, out] BSTR *p);
677
678     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
679     HRESULT listStyleImage([in] BSTR v);
680
681     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
682     HRESULT listStyleImage([retval, out] BSTR *p);
683
684     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
685     HRESULT listStyle([in] BSTR v);
686
687     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
688     HRESULT listStyle([retval, out] BSTR *p);
689
690     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
691     HRESULT whiteSpace([in] BSTR v);
692
693     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
694     HRESULT whiteSpace([retval, out] BSTR *p);
695
696     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
697     HRESULT top([in] VARIANT v);
698
699     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
700     HRESULT top([retval, out] VARIANT *p);
701
702     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
703     HRESULT left([in] VARIANT v);
704
705     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
706     HRESULT left([retval, out] VARIANT *p);
707
708     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
709     HRESULT position([retval, out] BSTR *p);
710
711     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
712     HRESULT zIndex([in] VARIANT v);
713
714     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
715     HRESULT zIndex([retval, out] VARIANT *p);
716
717     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
718     HRESULT overflow([in] BSTR v);
719
720     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
721     HRESULT overflow([retval, out] BSTR *p);
722
723     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
724     HRESULT pageBreakBefore([in] BSTR v);
725
726     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
727     HRESULT pageBreakBefore([retval, out] BSTR *p);
728
729     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
730     HRESULT pageBreakAfter([in] BSTR v);
731
732     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
733     HRESULT pageBreakAfter([retval, out] BSTR *p);
734
735     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
736     HRESULT cssText([in] BSTR v);
737
738     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
739     HRESULT cssText([retval, out] BSTR *p);
740
741     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
742     HRESULT pixelTop([in] LONG v);
743
744     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
745     HRESULT pixelTop([retval, out] LONG *p);
746
747     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
748     HRESULT pixelLeft([in] LONG v);
749
750     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
751     HRESULT pixelLeft([retval, out] LONG *p);
752
753     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
754     HRESULT pixelWidth([in] LONG v);
755
756     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
757     HRESULT pixelWidth([retval, out] LONG *p);
758
759     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
760     HRESULT pixelHeight([in] LONG v);
761
762     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
763     HRESULT pixelHeight([retval, out] LONG *p);
764
765     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
766     HRESULT posTop([in] float v);
767
768     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
769     HRESULT posTop([retval, out] float *p);
770
771     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
772     HRESULT posLeft([in] float v);
773
774     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
775     HRESULT posLeft([retval, out] float *p);
776
777     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
778     HRESULT posWidth([in] float v);
779
780     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
781     HRESULT posWidth([retval, out] float *p);
782
783     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
784     HRESULT posHeight([in] float v);
785
786     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
787     HRESULT posHeight([retval, out] float *p);
788
789     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
790     HRESULT cursor([in] BSTR v);
791
792     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
793     HRESULT cursor([retval, out] BSTR *p);
794
795     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
796     HRESULT clip([in] BSTR v);
797
798     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
799     HRESULT clip([retval, out] BSTR *p);
800
801     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
802     HRESULT filter([in] BSTR v);
803
804     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
805     HRESULT filter([retval, out] BSTR *p);
806
807     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
808     HRESULT setAttribute(
809         [in] BSTR strAttributeName,
810         [in] VARIANT AttributeValue,
811         [defaultvalue(1), in] LONG lFlags);
812
813     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
814     HRESULT getAttribute(
815         [in] BSTR strAttributeName,
816         [defaultvalue(0), in] LONG lFlags,
817         [retval, out] VARIANT *AttributeValue);
818
819     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
820     HRESULT removeAttribute(
821         [in] BSTR strAttributeName,
822         [defaultvalue(1), in]
823         LONG lFlags,
824         [retval, out] VARIANT_BOOL *pfSuccess);
825
826     [id(DISPID_IHTMLSTYLE_TOSTRING)]
827     HRESULT toString([retval, out] BSTR *String);
828 }
829
830 /*****************************************************************************
831  *    IHTMLStyle2 interface
832  */
833 [
834     odl,
835     oleautomation,
836     dual,
837     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
838 ]
839 interface IHTMLStyle2 : IDispatch
840 {
841     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
842     HRESULT tableLayout([in] BSTR v);
843
844     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
845     HRESULT tableLayout([out, retval] BSTR *p);
846
847     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
848     HRESULT borderCollapse([in] BSTR v);
849
850     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
851     HRESULT borderCollapse([out, retval] BSTR *p);
852
853     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
854     HRESULT direction([in] BSTR v);
855
856     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
857     HRESULT direction([out, retval] BSTR *p);
858
859     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
860     HRESULT behavior([in] BSTR v);
861
862     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
863     HRESULT behavior([out, retval] BSTR *p);
864
865     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
866     HRESULT setExpression(
867             [in] BSTR propname,
868             [in] BSTR expression,
869             [in, defaultvalue("")] BSTR language);
870
871     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
872     HRESULT getExpression(
873             [in] BSTR propname,
874             [out, retval] VARIANT *expression);
875
876     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
877     HRESULT removeExpression(
878             [in] BSTR propname,
879             [out, retval] VARIANT_BOOL *pfSuccess);
880
881     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
882     HRESULT position([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
885     HRESULT position([out, retval] BSTR *p);
886
887     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
888     HRESULT unicodeBidi([in] BSTR v);
889
890     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
891     HRESULT unicodeBidi([out, retval] BSTR *p);
892
893     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
894     HRESULT bottom([in] VARIANT v);
895
896     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
897     HRESULT bottom([out, retval] VARIANT *p);
898
899     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
900     HRESULT right([in] VARIANT v);
901
902     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
903     HRESULT right([out, retval] VARIANT *p);
904
905     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
906     HRESULT pixelBottom([in] LONG v);
907
908     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
909     HRESULT pixelBottom([out, retval] LONG *p);
910
911     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
912     HRESULT pixelRight([in] LONG v);
913
914     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
915     HRESULT pixelRight([out, retval] LONG *p);
916
917     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
918     HRESULT posBottom([in] float v);
919
920     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
921     HRESULT posBottom([out, retval] float *p);
922
923     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
924     HRESULT posRight([in] float v);
925
926     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
927     HRESULT posRight([out, retval] float *p);
928
929     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
930     HRESULT imeMode([in] BSTR v);
931
932     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
933     HRESULT imeMode([out, retval] BSTR *p);
934
935     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
936     HRESULT rubyAlign([in] BSTR v);
937
938     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
939     HRESULT rubyAlign([out, retval] BSTR *p);
940
941     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
942     HRESULT rubyPosition([in] BSTR v);
943
944     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
945     HRESULT rubyPosition([out, retval] BSTR *p);
946
947     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
948     HRESULT rubyOverhang([in] BSTR v);
949
950     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
951     HRESULT rubyOverhang([out, retval] BSTR *p);
952
953     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
954     HRESULT layoutGridChar([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
957     HRESULT layoutGridChar([out, retval] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
960     HRESULT layoutGridLine([in] VARIANT v);
961
962     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
963     HRESULT layoutGridLine([out, retval] VARIANT *p);
964
965     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
966     HRESULT layoutGridMode([in] BSTR v);
967
968     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
969     HRESULT layoutGridMode([out, retval] BSTR *p);
970
971     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
972     HRESULT layoutGridType([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
975     HRESULT layoutGridType([out, retval] BSTR *p);
976
977     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
978     HRESULT layoutGrid([in] BSTR v);
979
980     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
981     HRESULT layoutGrid([out, retval] BSTR *p);
982
983     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
984     HRESULT wordBreak([in] BSTR v);
985
986     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
987     HRESULT wordBreak([out, retval] BSTR *p);
988
989     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
990     HRESULT lineBreak([in] BSTR v);
991
992     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
993     HRESULT lineBreak([out, retval] BSTR *p);
994
995     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
996     HRESULT textJustify([in] BSTR v);
997
998     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
999     HRESULT textJustify([out, retval] BSTR *p);
1000
1001     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1002     HRESULT textJustifyTrim([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1005     HRESULT textJustifyTrim([out, retval] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1008     HRESULT textKashida([in] VARIANT v);
1009
1010     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1011     HRESULT textKashida([out, retval] VARIANT *p);
1012
1013     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1014     HRESULT textAutospace([in] BSTR v);
1015
1016     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1017     HRESULT textAutospace([out, retval] BSTR *p);
1018
1019     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1020     HRESULT overflowX([in] BSTR v);
1021
1022     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1023     HRESULT overflowX([out, retval] BSTR *p);
1024
1025     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1026     HRESULT overflowY([in] BSTR v);
1027
1028     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1029     HRESULT overflowY([out, retval] BSTR *p);
1030
1031     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1032     HRESULT accelerator([in] BSTR v);
1033
1034     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1035     HRESULT accelerator([out, retval] BSTR *p);
1036 }
1037
1038 /*****************************************************************************
1039  *    IHTMLRuleStyle interface
1040  */
1041 [
1042     odl,
1043     oleautomation,
1044     dual,
1045     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
1046 ]
1047 interface IHTMLRuleStyle : IDispatch
1048 {
1049     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
1050     HRESULT fontFamily([in] BSTR v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
1053     HRESULT fontFamily([retval, out] BSTR *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
1056     HRESULT fontStyle([in] BSTR v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
1059     HRESULT fontStyle([retval, out] BSTR *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
1062     HRESULT fontVariant([in] BSTR v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
1065     HRESULT fontVariant([retval, out] BSTR *p);
1066
1067     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
1068     HRESULT fontWeight([in] BSTR v);
1069
1070     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
1071     HRESULT fontWeight([retval, out] BSTR *p);
1072
1073     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
1074     HRESULT fontSize([in] VARIANT v);
1075
1076     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
1077     HRESULT fontSize([retval, out] VARIANT *p);
1078
1079     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
1080     HRESULT font([in] BSTR v);
1081
1082     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
1083     HRESULT font([retval, out] BSTR *p);
1084
1085     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
1086     HRESULT color([in] VARIANT v);
1087
1088     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
1089     HRESULT color([retval, out] VARIANT *p);
1090
1091     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
1092     HRESULT background([in] BSTR v);
1093
1094     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
1095     HRESULT background([retval, out] BSTR *p);
1096
1097     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
1098     HRESULT backgroundColor([in] VARIANT v);
1099
1100     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
1101     HRESULT backgroundColor([retval, out] VARIANT *p);
1102
1103     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
1104     HRESULT backgroundImage([in] BSTR v);
1105
1106     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
1107     HRESULT backgroundImage([retval, out] BSTR *p);
1108
1109     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1110     HRESULT backgroundRepeat([in] BSTR v);
1111
1112     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1113     HRESULT backgroundRepeat([retval, out] BSTR *p);
1114
1115     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1116     HRESULT backgroundAttachment([in] BSTR v);
1117
1118     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1119     HRESULT backgroundAttachment([retval, out] BSTR *p);
1120
1121     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1122     HRESULT backgroundPosition([in] BSTR v);
1123
1124     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1125     HRESULT backgroundPosition([retval, out] BSTR *p);
1126
1127     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1128     HRESULT backgroundPositionX([in] VARIANT v);
1129
1130     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1131     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1132
1133     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1134     HRESULT backgroundPositionY([in] VARIANT v);
1135
1136     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1137     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1138
1139     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1140     HRESULT wordSpacing([in] VARIANT v);
1141
1142     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1143     HRESULT wordSpacing([retval, out] VARIANT *p);
1144
1145     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1146     HRESULT letterSpacing([in] VARIANT v);
1147
1148     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1149     HRESULT letterSpacing([retval, out] VARIANT *p);
1150
1151     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1152     HRESULT textDecoration([in] BSTR v);
1153
1154     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1155     HRESULT textDecoration([retval, out] BSTR *p);
1156
1157     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1158     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1159
1160     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1161     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1162
1163     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1164     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1165
1166     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1167     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1168
1169     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1170     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1171
1172     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1173     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1174
1175     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1176     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1177
1178     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1179     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1180
1181     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1182     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1183
1184     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1185     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1186
1187     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1188     HRESULT verticalAlign([in] VARIANT v);
1189
1190     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1191     HRESULT verticalAlign([retval, out] VARIANT *p);
1192
1193     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1194     HRESULT textTransform([in] BSTR v);
1195
1196     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1197     HRESULT textTransform([retval, out] BSTR *p);
1198
1199     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1200     HRESULT textAlign([in] BSTR v);
1201
1202     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1203     HRESULT textAlign([retval, out] BSTR *p);
1204
1205     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1206     HRESULT textIndent([in] VARIANT v);
1207
1208     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1209     HRESULT textIndent([retval, out] VARIANT *p);
1210
1211     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1212     HRESULT lineHeight([in] VARIANT v);
1213
1214     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1215     HRESULT lineHeight([retval, out] VARIANT *p);
1216
1217     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1218     HRESULT marginTop([in] VARIANT v);
1219
1220     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1221     HRESULT marginTop([retval, out] VARIANT *p);
1222
1223     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1224     HRESULT marginRight([in] VARIANT v);
1225
1226     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1227     HRESULT marginRight([retval, out] VARIANT *p);
1228
1229     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1230     HRESULT marginBottom([in] VARIANT v);
1231
1232     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1233     HRESULT marginBottom([retval, out] VARIANT *p);
1234
1235     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1236     HRESULT marginLeft([in] VARIANT v);
1237
1238     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1239     HRESULT marginLeft([retval, out] VARIANT *p);
1240
1241     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1242     HRESULT margin([in] BSTR v);
1243
1244     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1245     HRESULT margin([retval, out] BSTR *p);
1246
1247     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1248     HRESULT paddingTop([in] VARIANT v);
1249
1250     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1251     HRESULT paddingTop([retval, out] VARIANT *p);
1252
1253     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1254     HRESULT paddingRight([in] VARIANT v);
1255
1256     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1257     HRESULT paddingRight([retval, out] VARIANT *p);
1258
1259     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1260     HRESULT paddingBottom([in] VARIANT v);
1261
1262     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1263     HRESULT paddingBottom([retval, out] VARIANT *p);
1264
1265     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1266     HRESULT paddingLeft([in] VARIANT v);
1267
1268     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1269     HRESULT paddingLeft([retval, out] VARIANT *p);
1270
1271     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1272     HRESULT padding([in] BSTR v);
1273
1274     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1275     HRESULT padding([retval, out] BSTR *p);
1276
1277     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1278     HRESULT border([in] BSTR v);
1279
1280     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1281     HRESULT border([retval, out] BSTR *p);
1282
1283     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1284     HRESULT borderTop([in] BSTR v);
1285
1286     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1287     HRESULT borderTop([retval, out] BSTR *p);
1288
1289     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1290     HRESULT borderRight([in] BSTR v);
1291
1292     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1293     HRESULT borderRight([retval, out] BSTR *p);
1294
1295     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1296     HRESULT borderBottom([in] BSTR v);
1297
1298     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1299     HRESULT borderBottom([retval, out] BSTR *p);
1300
1301     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1302     HRESULT borderLeft([in] BSTR v);
1303
1304     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1305     HRESULT borderLeft([retval, out] BSTR *p);
1306
1307     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1308     HRESULT borderColor([in] BSTR v);
1309
1310     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1311     HRESULT borderColor([retval, out] BSTR *p);
1312
1313     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1314     HRESULT borderTopColor([in] VARIANT v);
1315
1316     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1317     HRESULT borderTopColor([retval, out] VARIANT *p);
1318
1319     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1320     HRESULT borderRightColor([in] VARIANT v);
1321
1322     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1323     HRESULT borderRightColor([retval, out] VARIANT *p);
1324
1325     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1326     HRESULT borderBottomColor([in] VARIANT v);
1327
1328     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1329     HRESULT borderBottomColor([retval, out] VARIANT *p);
1330
1331     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1332     HRESULT borderLeftColor([in] VARIANT v);
1333
1334     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1335     HRESULT borderLeftColor([retval, out] VARIANT *p);
1336
1337     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1338     HRESULT borderWidth([in] BSTR v);
1339
1340     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1341     HRESULT borderWidth([retval, out] BSTR *p);
1342
1343     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1344     HRESULT borderTopWidth([in] VARIANT v);
1345
1346     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1347     HRESULT borderTopWidth([retval, out] VARIANT *p);
1348
1349     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1350     HRESULT borderRightWidth([in] VARIANT v);
1351
1352     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1353     HRESULT borderRightWidth([retval, out] VARIANT *p);
1354
1355     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1356     HRESULT borderBottomWidth([in] VARIANT v);
1357
1358     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1359     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1360
1361     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1362     HRESULT borderLeftWidth([in] VARIANT v);
1363
1364     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1365     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1366
1367     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1368     HRESULT borderStyle([in] BSTR v);
1369
1370     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1371     HRESULT borderStyle([retval, out] BSTR *p);
1372
1373     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1374     HRESULT borderTopStyle([in] BSTR v);
1375
1376     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1377     HRESULT borderTopStyle([retval, out] BSTR *p);
1378
1379     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1380     HRESULT borderRightStyle([in] BSTR v);
1381
1382     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1383     HRESULT borderRightStyle([retval, out] BSTR *p);
1384
1385     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1386     HRESULT borderBottomStyle([in] BSTR v);
1387
1388     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1389     HRESULT borderBottomStyle([retval, out] BSTR *p);
1390
1391     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1392     HRESULT borderLeftStyle([in] BSTR v);
1393
1394     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1395     HRESULT borderLeftStyle([retval, out] BSTR *p);
1396
1397     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1398     HRESULT width([in] VARIANT v);
1399
1400     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1401     HRESULT width([retval, out] VARIANT *p);
1402
1403     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1404     HRESULT height([in] VARIANT v);
1405
1406     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1407     HRESULT height([retval, out] VARIANT *p);
1408
1409     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1410     HRESULT styleFloat([in] BSTR v);
1411
1412     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1413     HRESULT styleFloat([retval, out] BSTR *p);
1414
1415     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1416     HRESULT clear([in] BSTR v);
1417
1418     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1419     HRESULT clear([retval, out] BSTR *p);
1420
1421     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1422     HRESULT display([in] BSTR v);
1423
1424     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1425     HRESULT display([retval, out] BSTR *p);
1426
1427     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1428     HRESULT visibility([in] BSTR v);
1429
1430     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1431     HRESULT visibility([retval, out] BSTR *p);
1432
1433     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1434     HRESULT listStyleType([in] BSTR v);
1435
1436     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1437     HRESULT listStyleType([retval, out] BSTR *p);
1438
1439     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1440     HRESULT listStylePosition([in] BSTR v);
1441
1442     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1443     HRESULT listStylePosition([retval, out] BSTR *p);
1444
1445     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1446     HRESULT listStyleImage([in] BSTR v);
1447
1448     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1449     HRESULT listStyleImage([retval, out] BSTR *p);
1450
1451     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1452     HRESULT listStyle([in] BSTR v);
1453
1454     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1455     HRESULT listStyle([retval, out] BSTR *p);
1456
1457     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1458     HRESULT whiteSpace([in] BSTR v);
1459
1460     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1461     HRESULT whiteSpace([retval, out] BSTR *p);
1462
1463     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1464     HRESULT top([in] VARIANT v);
1465
1466     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1467     HRESULT top([retval, out] VARIANT *p);
1468
1469     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1470     HRESULT left([in] VARIANT v);
1471
1472     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1473     HRESULT left([retval, out] VARIANT *p);
1474
1475     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1476     HRESULT position([retval, out] BSTR *p);
1477
1478     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1479     HRESULT zIndex([in] VARIANT v);
1480
1481     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1482     HRESULT zIndex([retval, out] VARIANT *p);
1483
1484     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1485     HRESULT overflow([in] BSTR v);
1486
1487     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1488     HRESULT overflow([retval, out] BSTR *p);
1489
1490     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1491     HRESULT pageBreakBefore([in] BSTR v);
1492
1493     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1494     HRESULT pageBreakBefore([retval, out] BSTR *p);
1495
1496     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1497     HRESULT pageBreakAfter([in] BSTR v);
1498
1499     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1500     HRESULT pageBreakAfter([retval, out] BSTR *p);
1501
1502     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1503     HRESULT cssText([in] BSTR v);
1504
1505     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1506     HRESULT cssText([retval, out] BSTR *p);
1507
1508     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1509     HRESULT cursor([in] BSTR v);
1510
1511     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1512     HRESULT cursor([retval, out] BSTR *p);
1513
1514     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1515     HRESULT clip([in] BSTR v);
1516
1517     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1518     HRESULT clip([retval, out] BSTR *p);
1519
1520     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1521     HRESULT filter([in] BSTR v);
1522
1523     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1524     HRESULT filter([retval, out] BSTR *p);
1525
1526     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1527     HRESULT setAttribute(
1528         [in] BSTR strAttributeName,
1529         [in] VARIANT AttributeValue,
1530         [defaultvalue(1), in] LONG lFlags);
1531
1532     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1533     HRESULT getAttribute(
1534         [in] BSTR strAttributeName,
1535         [defaultvalue(0), in] LONG lFlags,
1536         [retval, out] VARIANT *AttributeValue);
1537
1538     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1539     HRESULT removeAttribute(
1540         [in] BSTR strAttributeName,
1541         [defaultvalue(1), in] LONG lFlags,
1542         [retval, out] VARIANT_BOOL *pfSuccess);
1543 }
1544
1545 /*****************************************************************************
1546  *    DispHTMLStyle dispinterface
1547  */
1548 [
1549     hidden,
1550     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1551 ]
1552 dispinterface DispHTMLStyle
1553 {
1554 properties:
1555 methods:
1556     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1557     void fontFamily(BSTR v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1560     BSTR fontFamily();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1563     void fontStyle(BSTR v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1566     BSTR fontStyle();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1569     void fontVariant(BSTR v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1572     BSTR fontVariant();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1575     void fontWeight(BSTR v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1578     BSTR fontWeight();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1581     void fontSize(VARIANT v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1584     VARIANT fontSize();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1587     void font(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1590     BSTR font();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1593     void color(VARIANT v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1596     VARIANT color();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1599     void background(BSTR v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1602     BSTR background();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1605     void backgroundColor(VARIANT v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1608     VARIANT backgroundColor();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1611     void backgroundImage(BSTR v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1614     BSTR backgroundImage();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1617     void backgroundRepeat(BSTR v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1620     BSTR backgroundRepeat();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1623     void backgroundAttachment(BSTR v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1626     BSTR backgroundAttachment();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1629     void backgroundPosition(BSTR v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1632     BSTR backgroundPosition();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1635     void backgroundPositionX(VARIANT v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1638     VARIANT backgroundPositionX();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1641     void backgroundPositionY(VARIANT v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1644     VARIANT backgroundPositionY();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1647     void wordSpacing(VARIANT v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1650     VARIANT wordSpacing();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1653     void letterSpacing(VARIANT v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1656     VARIANT letterSpacing();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1659     void textDecoration(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1662     BSTR textDecoration();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1665     void textDecorationNone(VARIANT_BOOL v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1668     VARIANT_BOOL textDecorationNone();
1669
1670     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1671     void textDecorationUnderline(VARIANT_BOOL v);
1672
1673     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1674     VARIANT_BOOL textDecorationUnderline();
1675
1676     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1677     void textDecorationOverline(VARIANT_BOOL v);
1678
1679     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1680     VARIANT_BOOL textDecorationOverline();
1681
1682     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1683     void textDecorationLineThrough(VARIANT_BOOL v);
1684
1685     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1686     VARIANT_BOOL textDecorationLineThrough();
1687
1688     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1689     void textDecorationBlink(VARIANT_BOOL v);
1690
1691     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1692     VARIANT_BOOL textDecorationBlink();
1693
1694     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1695     void verticalAlign(VARIANT v);
1696
1697     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1698     VARIANT verticalAlign();
1699
1700     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1701     void textTransform(BSTR v);
1702
1703     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1704     BSTR textTransform();
1705
1706     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1707     void textAlign(BSTR v);
1708
1709     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1710     BSTR textAlign();
1711
1712     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1713     void textIndent(VARIANT v);
1714
1715     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1716     VARIANT textIndent();
1717
1718     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1719     void lineHeight(VARIANT v);
1720
1721     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1722     VARIANT lineHeight();
1723
1724     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1725     void marginTop(VARIANT v);
1726
1727     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1728     VARIANT marginTop();
1729
1730     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1731     void marginRight(VARIANT v);
1732
1733     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1734     VARIANT marginRight();
1735
1736     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1737     void marginBottom(VARIANT v);
1738
1739     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1740     VARIANT marginBottom();
1741
1742     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1743     void marginLeft(VARIANT v);
1744
1745     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1746     VARIANT marginLeft();
1747
1748     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1749     void margin(BSTR v);
1750
1751     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1752     BSTR margin();
1753
1754     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1755     void paddingTop(VARIANT v);
1756
1757     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1758     VARIANT paddingTop();
1759
1760     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1761     void paddingRight(VARIANT v);
1762
1763     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1764     VARIANT paddingRight();
1765
1766     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1767     void paddingBottom(VARIANT v);
1768
1769     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1770     VARIANT paddingBottom();
1771
1772     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1773     void paddingLeft(VARIANT v);
1774
1775     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1776     VARIANT paddingLeft();
1777
1778     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1779     void padding(BSTR v);
1780
1781     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1782     BSTR padding();
1783
1784     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1785     void border(BSTR v);
1786
1787     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1788     BSTR border();
1789
1790     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1791     void borderTop(BSTR v);
1792
1793     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1794     BSTR borderTop();
1795
1796     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1797     void borderRight(BSTR v);
1798
1799     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1800     BSTR borderRight();
1801
1802     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1803     void borderBottom(BSTR v);
1804
1805     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1806     BSTR borderBottom();
1807
1808     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1809     void borderLeft(BSTR v);
1810
1811     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1812     BSTR borderLeft();
1813
1814     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1815     void borderColor(BSTR v);
1816
1817     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1818     BSTR borderColor();
1819
1820     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1821     void borderTopColor(VARIANT v);
1822
1823     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1824     VARIANT borderTopColor();
1825
1826     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1827     void borderRightColor(VARIANT v);
1828
1829     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1830     VARIANT borderRightColor();
1831
1832     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1833     void borderBottomColor(VARIANT v);
1834
1835     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1836     VARIANT borderBottomColor();
1837
1838     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1839     void borderLeftColor(VARIANT v);
1840
1841     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1842     VARIANT borderLeftColor();
1843
1844     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1845     void borderWidth(BSTR v);
1846
1847     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1848     BSTR borderWidth();
1849
1850     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1851     void borderTopWidth(VARIANT v);
1852
1853     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1854     VARIANT borderTopWidth();
1855
1856     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1857     void borderRightWidth(VARIANT v);
1858
1859     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1860     VARIANT borderRightWidth();
1861
1862     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1863     void borderBottomWidth(VARIANT v);
1864
1865     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1866     VARIANT borderBottomWidth();
1867
1868     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1869     void borderLeftWidth(VARIANT v);
1870
1871     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1872     VARIANT borderLeftWidth();
1873
1874     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1875     void borderStyle(BSTR v);
1876
1877     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1878     BSTR borderStyle();
1879
1880     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1881     void borderTopStyle(BSTR v);
1882
1883     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1884     BSTR borderTopStyle();
1885
1886     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1887     void borderRightStyle(BSTR v);
1888
1889     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1890     BSTR borderRightStyle();
1891
1892     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1893     void borderBottomStyle(BSTR v);
1894
1895     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1896     BSTR borderBottomStyle();
1897
1898     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1899     void borderLeftStyle(BSTR v);
1900
1901     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1902     BSTR borderLeftStyle();
1903
1904     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1905     void width(VARIANT v);
1906
1907     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1908     VARIANT width();
1909
1910     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1911     void height(VARIANT v);
1912
1913     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1914     VARIANT height();
1915
1916     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1917     void styleFloat(BSTR v);
1918
1919     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1920     BSTR styleFloat();
1921
1922     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1923     void clear(BSTR v);
1924
1925     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1926     BSTR clear();
1927
1928     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1929     void display(BSTR v);
1930
1931     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1932     BSTR display();
1933
1934     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1935     void visibility(BSTR v);
1936
1937     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1938     BSTR visibility();
1939
1940     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1941     void listStyleType(BSTR v);
1942
1943     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1944     BSTR listStyleType();
1945
1946     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1947     void listStylePosition(BSTR v);
1948
1949     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1950     BSTR listStylePosition();
1951
1952     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1953     void listStyleImage(BSTR v);
1954
1955     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1956     BSTR listStyleImage();
1957
1958     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1959     void listStyle(BSTR v);
1960
1961     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1962     BSTR listStyle();
1963
1964     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1965     void whiteSpace(BSTR v);
1966
1967     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1968     BSTR whiteSpace();
1969
1970     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1971     void top(VARIANT v);
1972
1973     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1974     VARIANT top();
1975
1976     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1977     void left(VARIANT v);
1978
1979     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1980     VARIANT left();
1981
1982     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1983     void zIndex(VARIANT v);
1984
1985     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1986     VARIANT zIndex();
1987
1988     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1989     void overflow(BSTR v);
1990
1991     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1992     BSTR overflow();
1993
1994     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1995     void pageBreakBefore(BSTR v);
1996
1997     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1998     BSTR pageBreakBefore();
1999
2000     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2001     void pageBreakAfter(BSTR v);
2002
2003     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2004     BSTR pageBreakAfter();
2005
2006     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
2007     void cssText(BSTR v);
2008
2009     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
2010     BSTR cssText();
2011
2012     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
2013     void pixelTop(LONG v);
2014
2015     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
2016     LONG pixelTop();
2017
2018     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
2019     void pixelLeft(LONG v);
2020
2021     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
2022     LONG pixelLeft();
2023
2024     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
2025     void pixelWidth(LONG v);
2026
2027     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
2028     LONG pixelWidth();
2029
2030     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
2031     void pixelHeight(LONG v);
2032
2033     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
2034     LONG pixelHeight();
2035
2036     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
2037     void posTop(float v);
2038
2039     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
2040     float posTop();
2041
2042     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
2043     void posLeft(float v);
2044
2045     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
2046     float posLeft();
2047
2048     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
2049     void posWidth(float v);
2050
2051     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
2052     float posWidth();
2053
2054     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
2055     void posHeight(float v);
2056
2057     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
2058     float posHeight();
2059
2060     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
2061     void cursor(BSTR v);
2062
2063     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
2064     BSTR cursor();
2065
2066     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
2067     void clip(BSTR v);
2068
2069     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
2070     BSTR clip();
2071
2072     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
2073     void filter(BSTR v);
2074
2075     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
2076     BSTR filter();
2077
2078     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
2079     void setAttribute(
2080             [in] BSTR strAttributeName,
2081             [in] VARIANT AttributeValue,
2082             [in, defaultvalue(1)] LONG lFlags);
2083
2084     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
2085     VARIANT getAttribute(
2086             [in] BSTR strAttributeName,
2087             [in, defaultvalue(0)] LONG lFlags);
2088
2089     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
2090     VARIANT_BOOL removeAttribute(
2091             [in] BSTR strAttributeName,
2092             [in, defaultvalue(1)] LONG lFlags);
2093
2094     [id(DISPID_IHTMLSTYLE_TOSTRING)]
2095     BSTR toString();
2096
2097     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
2098     void tableLayout(BSTR v);
2099
2100     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
2101     BSTR tableLayout();
2102
2103     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
2104     void borderCollapse(BSTR v);
2105
2106     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
2107     BSTR borderCollapse();
2108
2109     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2110     void direction(BSTR v);
2111
2112     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2113     BSTR direction();
2114
2115     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2116     void behavior(BSTR v);
2117
2118     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2119     BSTR behavior();
2120
2121     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2122     void setExpression(
2123             [in] BSTR propname,
2124             [in] BSTR expression,
2125             [in, defaultvalue("")] BSTR language);
2126
2127     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2128     VARIANT getExpression([in] BSTR propname);
2129
2130     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2131     VARIANT_BOOL removeExpression([in] BSTR propname);
2132
2133     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2134     void position(BSTR v);
2135
2136     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2137     BSTR position();
2138
2139     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2140     void unicodeBidi(BSTR v);
2141
2142     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2143     BSTR unicodeBidi();
2144
2145     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2146     void bottom(VARIANT v);
2147
2148     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2149     VARIANT bottom();
2150
2151     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2152     void right(VARIANT v);
2153
2154     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2155     VARIANT right();
2156
2157     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2158     void pixelBottom(LONG v);
2159
2160     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2161     LONG pixelBottom();
2162
2163     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2164     void pixelRight(LONG v);
2165
2166     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2167     LONG pixelRight();
2168
2169     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2170     void posBottom(float v);
2171
2172     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2173     float posBottom();
2174
2175     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2176     void posRight(float v);
2177
2178     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2179     float posRight();
2180
2181     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2182     void imeMode(BSTR v);
2183
2184     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2185     BSTR imeMode();
2186
2187     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2188     void rubyAlign(BSTR v);
2189
2190     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2191     BSTR rubyAlign();
2192
2193     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2194     void rubyPosition(BSTR v);
2195
2196     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2197     BSTR rubyPosition();
2198
2199     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2200     void rubyOverhang(BSTR v);
2201
2202     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2203     BSTR rubyOverhang();
2204
2205     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2206     void layoutGridChar(VARIANT v);
2207
2208     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2209     VARIANT layoutGridChar();
2210
2211     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2212     void layoutGridLine(VARIANT v);
2213
2214     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2215     VARIANT layoutGridLine();
2216
2217     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2218     void layoutGridMode(BSTR v);
2219
2220     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2221     BSTR layoutGridMode();
2222
2223     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2224     void layoutGridType(BSTR v);
2225
2226     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2227     BSTR layoutGridType();
2228
2229     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2230     void layoutGrid(BSTR v);
2231
2232     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2233     BSTR layoutGrid();
2234
2235     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2236     void wordBreak(BSTR v);
2237
2238     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2239     BSTR wordBreak();
2240
2241     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2242     void lineBreak(BSTR v);
2243
2244     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2245     BSTR lineBreak();
2246
2247     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2248     void textJustify(BSTR v);
2249
2250     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2251     BSTR textJustify();
2252
2253     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2254     void textJustifyTrim(BSTR v);
2255
2256     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2257     BSTR textJustifyTrim();
2258
2259     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2260     void textKashida(VARIANT v);
2261
2262     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2263     VARIANT textKashida();
2264
2265     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2266     void textAutospace(BSTR v);
2267
2268     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2269     BSTR textAutospace();
2270
2271     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2272     void overflowX(BSTR v);
2273
2274     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2275     BSTR overflowX();
2276
2277     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2278     void overflowY(BSTR v);
2279
2280     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2281     BSTR overflowY();
2282
2283     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2284     void accelerator(BSTR v);
2285
2286     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2287     BSTR accelerator();
2288
2289     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2290     void layoutFlow(BSTR v);
2291
2292     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2293     BSTR layoutFlow();
2294
2295     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2296     void zoom(VARIANT v);
2297
2298     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2299     VARIANT zoom();
2300
2301     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2302     void wordWrap(BSTR v);
2303
2304     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2305     BSTR wordWrap();
2306
2307     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2308     void textUnderlinePosition(BSTR v);
2309
2310     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2311     BSTR textUnderlinePosition();
2312
2313     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2314     void scrollbarBaseColor(VARIANT v);
2315
2316     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2317     VARIANT scrollbarBaseColor();
2318
2319     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2320     void scrollbarFaceColor(VARIANT v);
2321
2322     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2323     VARIANT scrollbarFaceColor();
2324
2325     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2326     void scrollbar3dLightColor(VARIANT v);
2327
2328     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2329     VARIANT scrollbar3dLightColor();
2330
2331     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2332     void scrollbarShadowColor(VARIANT v);
2333
2334     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2335     VARIANT scrollbarShadowColor();
2336
2337     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2338     void scrollbarHighlightColor(VARIANT v);
2339
2340     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2341     VARIANT scrollbarHighlightColor();
2342
2343     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2344     void scrollbarDarkShadowColor(VARIANT v);
2345
2346     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2347     VARIANT scrollbarDarkShadowColor();
2348
2349     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2350     void scrollbarArrowColor(VARIANT v);
2351
2352     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2353     VARIANT scrollbarArrowColor();
2354
2355     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2356     void scrollbarTrackColor(VARIANT v);
2357
2358     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2359     VARIANT scrollbarTrackColor();
2360
2361     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2362     void writingMode(BSTR v);
2363
2364     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2365     BSTR writingMode();
2366
2367     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2368     void textAlignLast(BSTR v);
2369
2370     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2371     BSTR textAlignLast();
2372
2373     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2374     void textKashidaSpace(VARIANT v);
2375
2376     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2377     VARIANT textKashidaSpace();
2378
2379     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2380     void textOverflow(BSTR v);
2381
2382     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2383     BSTR textOverflow();
2384
2385     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2386     void minHeight(VARIANT v);
2387
2388     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2389     VARIANT minHeight();
2390
2391     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2392     void msInterpolationMode(BSTR v);
2393
2394     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2395     BSTR msInterpolationMode();
2396
2397     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2398     void maxHeight(VARIANT v);
2399
2400     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2401     VARIANT maxHeight();
2402
2403     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2404     void minWidth(VARIANT v);
2405
2406     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2407     VARIANT minWidth();
2408
2409     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2410     void maxWidth(VARIANT v);
2411
2412     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2413     VARIANT maxWidth();
2414
2415     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2416     void content(BSTR v);
2417
2418     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2419     BSTR content();
2420
2421     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2422     void captionSide(BSTR v);
2423
2424     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2425     BSTR captionSide();
2426
2427     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2428     void counterIncrement(BSTR v);
2429
2430     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2431     BSTR counterIncrement();
2432
2433     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2434     void counterReset(BSTR v);
2435
2436     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2437     BSTR counterReset();
2438
2439     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2440     void outline(BSTR v);
2441
2442     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2443     BSTR outline();
2444
2445     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2446     void outlineWidth(VARIANT v);
2447
2448     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2449     VARIANT outlineWidth();
2450
2451     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2452     void outlineStyle(BSTR v);
2453
2454     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2455     BSTR outlineStyle();
2456
2457     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2458     void outlineColor(VARIANT v);
2459
2460     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2461     VARIANT outlineColor();
2462
2463     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2464     void boxSizing(BSTR v);
2465
2466     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2467     BSTR boxSizing();
2468
2469     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2470     void borderSpacing(BSTR v);
2471
2472     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2473     BSTR borderSpacing();
2474
2475     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2476     void orphans(VARIANT v);
2477
2478     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2479     VARIANT orphans();
2480
2481     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2482     void widows(VARIANT v);
2483
2484     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2485     VARIANT widows();
2486
2487     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2488     void pageBreakInside(BSTR v);
2489
2490     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2491     BSTR pageBreakInside();
2492
2493     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2494     void emptyCells(BSTR v);
2495
2496     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2497     BSTR emptyCells();
2498
2499     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2500     void msBlockProgression(BSTR v);
2501
2502     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2503     BSTR msBlockProgression();
2504
2505     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2506     void quotes(BSTR v);
2507
2508     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2509     BSTR quotes();
2510
2511     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2512     IDispatch *constructor();
2513 }
2514
2515 [
2516     odl,
2517     oleautomation,
2518     dual,
2519     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2520 ]
2521 interface IHTMLStyle3 : IDispatch
2522 {
2523     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2524     HRESULT layoutFlow([in] BSTR v);
2525
2526     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2527     HRESULT layoutFlow([retval, out] BSTR * p);
2528
2529     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2530     HRESULT zoom([in] VARIANT v);
2531
2532     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2533     HRESULT zoom([retval, out] VARIANT * p);
2534
2535     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2536     HRESULT wordWrap([in] BSTR v);
2537
2538     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2539     HRESULT wordWrap([retval, out] BSTR * p);
2540
2541     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2542     HRESULT textUnderlinePosition([in] BSTR v);
2543
2544     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2545     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2546
2547     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2548     HRESULT scrollbarBaseColor([in] VARIANT v);
2549
2550     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2551     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2552
2553     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2554     HRESULT scrollbarFaceColor([in] VARIANT v);
2555
2556     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2557     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2558
2559     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2560     HRESULT scrollbar3dLightColor([in] VARIANT v);
2561
2562     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2563     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2564
2565     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2566     HRESULT scrollbarShadowColor([in] VARIANT v);
2567
2568     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2569     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2570
2571     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2572     HRESULT scrollbarHighlightColor([in] VARIANT v);
2573
2574     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2575     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2576
2577     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2578     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2579
2580     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2581     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2582
2583     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2584     HRESULT scrollbarArrowColor([in] VARIANT v);
2585
2586     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2587     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2588
2589     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2590     HRESULT scrollbarTrackColor([in] VARIANT v);
2591
2592     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2593     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2594
2595     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2596     HRESULT writingMode([in] BSTR v);
2597
2598     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2599     HRESULT writingMode([retval, out] BSTR * p);
2600
2601     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2602     HRESULT textAlignLast([in] BSTR v);
2603
2604     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2605     HRESULT textAlignLast([retval, out] BSTR * p);
2606
2607     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2608     HRESULT textKashidaSpace([in] VARIANT v);
2609
2610     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2611     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2612 }
2613
2614 /*****************************************************************************
2615  *    IHTMLSytyle4 interface
2616  */
2617 [
2618     odl,
2619     oleautomation,
2620     dual,
2621     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2622 ]
2623 interface IHTMLStyle4 : IDispatch
2624 {
2625     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2626     HRESULT textOverflow([in] BSTR v);
2627
2628     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2629     HRESULT textOverflow([retval, out] BSTR * p);
2630
2631     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2632     HRESULT minHeight([in] VARIANT v);
2633
2634     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2635     HRESULT minHeight([retval, out] VARIANT * p);
2636 }
2637
2638 /*****************************************************************************
2639  *    IHTMLSytyle5 interface
2640  */
2641 [
2642     odl,
2643     oleautomation,
2644     dual,
2645     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2646 ]
2647 interface IHTMLStyle5 : IDispatch
2648 {
2649     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2650     HRESULT msInterpolationMode([in] BSTR v);
2651
2652     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2653     HRESULT msInterpolationMode([out, retval] BSTR *p);
2654
2655     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2656     HRESULT maxHeight([in] VARIANT v);
2657
2658     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2659     HRESULT maxHeight([out, retval] VARIANT *p);
2660
2661     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2662     HRESULT minWidth([in] VARIANT v);
2663
2664     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2665     HRESULT minWidth([out, retval] VARIANT *p);
2666
2667     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2668     HRESULT maxWidth([in] VARIANT v);
2669
2670     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2671     HRESULT maxWidth([out, retval] VARIANT *p);
2672 }
2673
2674 /*****************************************************************************
2675  *    IHTMLSytyle6 interface
2676  */
2677 [
2678     odl,
2679     oleautomation,
2680     dual,
2681     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2682 ]
2683 interface IHTMLStyle6 : IDispatch
2684 {
2685     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2686     HRESULT content([in] BSTR v);
2687
2688     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2689     HRESULT content([out, retval] BSTR *p);
2690
2691     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2692     HRESULT captionSide([in] BSTR v);
2693
2694     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2695     HRESULT captionSide([retval, out] BSTR *p);
2696
2697     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2698     HRESULT counterIncrement([in] BSTR v);
2699
2700     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2701     HRESULT counterIncrement([out, retval] BSTR *p);
2702
2703     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2704     HRESULT counterReset([in] BSTR v);
2705
2706     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2707     HRESULT counterReset([out, retval] BSTR *p);
2708
2709     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2710     HRESULT outline([in] BSTR v);
2711
2712     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2713     HRESULT outline([out, retval] BSTR *p);
2714
2715     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2716     HRESULT outlineWidth([in] VARIANT v);
2717
2718     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2719     HRESULT outlineWidth([out, retval] VARIANT *p);
2720
2721     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2722     HRESULT outlineStyle([in] BSTR v);
2723
2724     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2725     HRESULT outlineStyle([out, retval] BSTR *p);
2726
2727     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2728     HRESULT outlineColor([in] VARIANT v);
2729
2730     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2731     HRESULT outlineColor([out, retval] VARIANT *p);
2732
2733     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2734     HRESULT boxSizing([in] BSTR v);
2735
2736     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2737     HRESULT boxSizing([out, retval] BSTR *p);
2738
2739     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2740     HRESULT borderSpacing([in] BSTR v);
2741
2742     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2743     HRESULT borderSpacing([out, retval] BSTR *p);
2744
2745     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2746     HRESULT orphans([in] VARIANT v);
2747
2748     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2749     HRESULT orphans([out, retval] VARIANT *p);
2750
2751     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2752     HRESULT widows([in] VARIANT v);
2753
2754     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2755     HRESULT widows([out, retval] VARIANT *p);
2756
2757     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2758     HRESULT pageBreakInside([in] BSTR v);
2759
2760     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2761     HRESULT pageBreakInside([out, retval] BSTR *p);
2762
2763     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2764     HRESULT emptyCells([in] BSTR v);
2765
2766     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2767     HRESULT emptyCells([out, retval] BSTR *p);
2768
2769     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2770     HRESULT msBlockProgression([in] BSTR v);
2771
2772     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2773     HRESULT msBlockProgression([out, retval] BSTR *p);
2774
2775     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2776     HRESULT quotes([in] BSTR v);
2777
2778     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2779     HRESULT quotes([out, retval] BSTR *p);
2780 }
2781
2782 [
2783     noncreatable,
2784     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2785 ]
2786 coclass HTMLStyle
2787 {
2788     [default] dispinterface DispHTMLStyle;
2789     interface IHTMLStyle;
2790     interface IHTMLStyle2;
2791     interface IHTMLStyle3;
2792     interface IHTMLStyle4;
2793     interface IHTMLStyle5;
2794     interface IHTMLStyle6;
2795 }
2796
2797 /*****************************************************************************
2798  *    IHTMLRenderStyle interface
2799  */
2800 [
2801     odl,
2802     oleautomation,
2803     dual,
2804     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2805 ]
2806 interface IHTMLRenderStyle : IDispatch
2807 {
2808     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2809     HRESULT textLineThroughStyle([in] BSTR v);
2810
2811     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2812     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2813
2814     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2815     HRESULT textUnderlineStyle([in] BSTR v);
2816
2817     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2818     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2819
2820     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2821     HRESULT textEffect([in] BSTR v);
2822
2823     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2824     HRESULT textEffect([retval, out] BSTR *p);
2825
2826     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2827     HRESULT textColor([in] VARIANT v);
2828
2829     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2830     HRESULT textColor([retval, out] VARIANT *p);
2831
2832     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2833     HRESULT textBackgroundColor([in] VARIANT v);
2834
2835     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2836     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2837
2838     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2839     HRESULT textDecorationColor([in] VARIANT v);
2840
2841     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2842     HRESULT textDecorationColor([retval, out] VARIANT *p);
2843
2844     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2845     HRESULT renderingPriority([in] LONG v);
2846
2847     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2848     HRESULT renderingPriority([retval, out] LONG *p);
2849
2850     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2851     HRESULT defaultTextSelection([in] BSTR v);
2852
2853     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2854     HRESULT defaultTextSelection([retval, out] BSTR *p);
2855
2856     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2857     HRESULT textDecoration([in] BSTR v);
2858
2859     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2860     HRESULT textDecoration([retval, out] BSTR *p);
2861 }
2862
2863 /*****************************************************************************
2864  *    IHTMLCurrentStyle interface
2865  */
2866 [
2867     odl,
2868     oleautomation,
2869     dual,
2870     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2871 ]
2872 interface IHTMLCurrentStyle : IDispatch
2873 {
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2875     HRESULT position([retval, out] BSTR *p);
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2878     HRESULT styleFloat([retval, out] BSTR *p);
2879
2880     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2881     HRESULT color([retval, out] VARIANT *p);
2882
2883     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2884     HRESULT backgroundColor([retval, out] VARIANT *p);
2885
2886     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2887     HRESULT fontFamily([retval, out] BSTR *p);
2888
2889     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2890     HRESULT fontStyle([retval, out] BSTR *p);
2891
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2893     HRESULT fontVariant([retval, out] BSTR *p);
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2896     HRESULT fontWeight([retval, out] VARIANT *p);
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2899     HRESULT fontSize([retval, out] VARIANT *p);
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2902     HRESULT backgroundImage([retval, out] BSTR *p);
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2905     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2908     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2911     HRESULT backgroundRepeat([retval, out] BSTR *p);
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2914     HRESULT borderLeftColor([retval, out] VARIANT *p);
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2917     HRESULT borderTopColor([retval, out] VARIANT *p);
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2920     HRESULT borderRightColor([retval, out] VARIANT *p);
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2923     HRESULT borderBottomColor([retval, out] VARIANT *p);
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2926     HRESULT borderTopStyle([retval, out] BSTR *p);
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2929     HRESULT borderRightStyle([retval, out] BSTR *p);
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2932     HRESULT borderBottomStyle([retval, out] BSTR *p);
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2935     HRESULT borderLeftStyle([retval, out] BSTR *p);
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2938     HRESULT borderTopWidth([retval, out] VARIANT *p);
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2941     HRESULT borderRightWidth([retval, out] VARIANT *p);
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2944     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2947     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2948
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2950     HRESULT left([retval, out] VARIANT *p);
2951
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2953     HRESULT top([retval, out] VARIANT *p);
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2956     HRESULT width([retval, out] VARIANT *p);
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2959     HRESULT height([retval, out] VARIANT *p);
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2962     HRESULT paddingLeft([retval, out] VARIANT *p);
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2965     HRESULT paddingTop([retval, out] VARIANT *p);
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2968     HRESULT paddingRight([retval, out] VARIANT *p);
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2971     HRESULT paddingBottom([retval, out] VARIANT *p);
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2974     HRESULT textAlign([retval, out] BSTR *p);
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2977     HRESULT textDecoration([retval, out] BSTR *p);
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2980     HRESULT display([retval, out] BSTR *p);
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2983     HRESULT visibility([retval, out] BSTR *p);
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2986     HRESULT zIndex([retval, out] VARIANT *p);
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2989     HRESULT letterSpacing([retval, out] VARIANT *p);
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2992     HRESULT lineHeight([retval, out] VARIANT *p);
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2995     HRESULT textIndent([retval, out] VARIANT *p);
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2998     HRESULT verticalAlign([retval, out] VARIANT *p);
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3001     HRESULT backgroundAttachment([retval, out] BSTR *p);
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3004     HRESULT marginTop([retval, out] VARIANT *p);
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3007     HRESULT marginRight([retval, out] VARIANT *p);
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3010     HRESULT marginBottom([retval, out] VARIANT *p);
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3013     HRESULT marginLeft([retval, out] VARIANT *p);
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3016     HRESULT clear([retval, out] BSTR *p);
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3019     HRESULT listStyleType([retval, out] BSTR *p);
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3022     HRESULT listStylePosition([retval, out] BSTR *p);
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3025     HRESULT listStyleImage([retval, out] BSTR *p);
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3028     HRESULT clipTop([retval, out] VARIANT *p);
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3031     HRESULT clipRight([retval, out] VARIANT *p);
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3034     HRESULT clipBottom([retval, out] VARIANT *p);
3035
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3037     HRESULT clipLeft([retval, out] VARIANT *p);
3038
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3040     HRESULT overflow([retval, out] BSTR *p);
3041
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3043     HRESULT pageBreakBefore([retval, out] BSTR *p);
3044
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3046     HRESULT pageBreakAfter([retval, out] BSTR *p);
3047
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3049     HRESULT cursor([retval, out] BSTR *p);
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3052     HRESULT tableLayout([retval, out] BSTR *p);
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3055     HRESULT borderCollapse([retval, out] BSTR *p);
3056
3057     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3058     HRESULT direction([retval, out] BSTR *p);
3059
3060     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3061     HRESULT behavior([retval, out] BSTR *p);
3062
3063     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3064     HRESULT getAttribute(
3065         [in] BSTR strAttributeName,
3066         [defaultvalue(0), in] LONG lFlags,
3067         [retval, out] VARIANT *AttributeValue);
3068
3069     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3070     HRESULT unicodeBidi([retval, out] BSTR *p);
3071
3072     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3073     HRESULT right([retval, out] VARIANT *p);
3074
3075     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3076     HRESULT bottom([retval, out] VARIANT *p);
3077
3078     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3079     HRESULT imeMode([retval, out] BSTR *p);
3080
3081     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3082     HRESULT rubyAlign([retval, out] BSTR *p);
3083
3084     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3085     HRESULT rubyPosition([retval, out] BSTR *p);
3086
3087     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3088     HRESULT rubyOverhang([retval, out] BSTR *p);
3089
3090     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3091     HRESULT textAutospace([retval, out] BSTR *p);
3092
3093     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3094     HRESULT lineBreak([retval, out] BSTR *p);
3095
3096     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3097     HRESULT wordBreak([retval, out] BSTR *p);
3098
3099     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3100     HRESULT textJustify([retval, out] BSTR *p);
3101
3102     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3103     HRESULT textJustifyTrim([retval, out] BSTR *p);
3104
3105     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3106     HRESULT textKashida([retval, out] VARIANT *p);
3107
3108     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3109     HRESULT blockDirection([retval, out] BSTR *p);
3110
3111     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3112     HRESULT layoutGridChar([retval, out] VARIANT *p);
3113
3114     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3115     HRESULT layoutGridLine([retval, out] VARIANT *p);
3116
3117     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3118     HRESULT layoutGridMode([retval, out] BSTR *p);
3119
3120     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3121     HRESULT layoutGridType([retval, out] BSTR *p);
3122
3123     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3124     HRESULT borderStyle([retval, out] BSTR *p);
3125
3126     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3127     HRESULT borderColor([retval, out] BSTR *p);
3128
3129     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3130     HRESULT borderWidth([retval, out] BSTR *p);
3131
3132     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3133     HRESULT padding([retval, out] BSTR *p);
3134
3135     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3136     HRESULT margin([retval, out] BSTR *p);
3137
3138     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3139     HRESULT accelerator([retval, out] BSTR *p);
3140
3141     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3142     HRESULT overflowX([retval, out] BSTR *p);
3143
3144     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3145     HRESULT overflowY([retval, out] BSTR *p);
3146
3147     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3148     HRESULT textTransform([retval, out] BSTR *p);
3149 }
3150
3151 /*****************************************************************************
3152  *    IHTMLCurrentStyle2 interface
3153  */
3154 [
3155     odl,
3156     oleautomation,
3157     dual,
3158     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3159 ]
3160 interface IHTMLCurrentStyle2 : IDispatch
3161 {
3162     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3163     HRESULT layoutFlow([retval, out] BSTR * p);
3164
3165     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3166     HRESULT wordWrap([retval, out] BSTR * p);
3167
3168     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3169     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3170
3171     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3172     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3173
3174     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3175     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3176
3177     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3178     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3179
3180     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3181     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3182
3183     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3184     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3185
3186     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3187     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3188
3189     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3190     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3191
3192     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3193     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3194
3195     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3196     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3197
3198     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3199     HRESULT writingMode([retval, out] BSTR * p);
3200
3201     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3202     HRESULT zoom([retval, out] VARIANT * p);
3203
3204     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3205     HRESULT filter([retval, out] BSTR * p);
3206
3207     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3208     HRESULT textAlignLast([retval, out] BSTR * p);
3209
3210     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3211     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3212
3213     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3214     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3215 }
3216
3217 /*****************************************************************************
3218  *    IHTMLCurrentStyle3 interface
3219  */
3220 [
3221     odl,
3222     oleautomation,
3223     dual,
3224     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3225 ]
3226 interface IHTMLCurrentStyle3 : IDispatch
3227 {
3228     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3229     HRESULT textOverflow([retval, out] BSTR * p);
3230
3231     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3232     HRESULT minHeight([retval, out] VARIANT * p);
3233
3234     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3235     HRESULT wordSpacing([retval, out] VARIANT * p);
3236
3237     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3238     HRESULT whiteSpace([retval, out] BSTR * p);
3239 }
3240
3241 /*****************************************************************************
3242  *    IHTMLCurrentStyle4 interface
3243  */
3244 [
3245     odl,
3246     oleautomation,
3247     dual,
3248     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3249 ]
3250 interface IHTMLCurrentStyle4 : IDispatch
3251 {
3252     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3253     HRESULT msInterpolationMode([retval, out] BSTR * p);
3254
3255     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3256     HRESULT maxHeight([retval, out] VARIANT * p);
3257
3258     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3259     HRESULT minWidth([retval, out] VARIANT * p);
3260
3261     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3262     HRESULT maxWidth([retval, out] VARIANT * p);
3263 }
3264
3265 /*****************************************************************************
3266  *    DispHTMLCurrentStyle dispinterface
3267  */
3268 [
3269     hidden,
3270     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3271 ]
3272 dispinterface DispHTMLCurrentStyle
3273 {
3274 properties:
3275 methods:
3276     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3277     BSTR position();
3278
3279     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3280     BSTR styleFloat();
3281
3282     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3283     VARIANT color();
3284
3285     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3286     VARIANT backgroundColor();
3287
3288     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3289     BSTR fontFamily();
3290
3291     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3292     BSTR fontStyle();
3293
3294     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3295     BSTR fontVariant();
3296
3297     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3298     VARIANT fontWeight();
3299
3300     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3301     VARIANT fontSize();
3302
3303     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3304     BSTR backgroundImage();
3305
3306     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3307     VARIANT backgroundPositionX();
3308
3309     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3310     VARIANT backgroundPositionY();
3311
3312     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3313     BSTR backgroundRepeat();
3314
3315     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3316     VARIANT borderLeftColor();
3317
3318     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3319     VARIANT borderTopColor();
3320
3321     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3322     VARIANT borderRightColor();
3323
3324     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3325     VARIANT borderBottomColor();
3326
3327     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3328     BSTR borderTopStyle();
3329
3330     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3331     BSTR borderRightStyle();
3332
3333     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3334     BSTR borderBottomStyle();
3335
3336     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3337     BSTR borderLeftStyle();
3338
3339     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3340     VARIANT borderTopWidth();
3341
3342     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3343     VARIANT borderRightWidth();
3344
3345     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3346     VARIANT borderBottomWidth();
3347
3348     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3349     VARIANT borderLeftWidth();
3350
3351     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3352     VARIANT left();
3353
3354     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3355     VARIANT top();
3356
3357     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3358     VARIANT width();
3359
3360     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3361     VARIANT height();
3362
3363     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3364     VARIANT paddingLeft();
3365
3366     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3367     VARIANT paddingTop();
3368
3369     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3370     VARIANT paddingRight();
3371
3372     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3373     VARIANT paddingBottom();
3374
3375     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3376     BSTR textAlign();
3377
3378     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3379     BSTR textDecoration();
3380
3381     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3382     BSTR display();
3383
3384     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3385     BSTR visibility();
3386
3387     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3388     VARIANT zIndex();
3389
3390     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3391     VARIANT letterSpacing();
3392
3393     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3394     VARIANT lineHeight();
3395
3396     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3397     VARIANT textIndent();
3398
3399     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3400     VARIANT verticalAlign();
3401
3402     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3403     BSTR backgroundAttachment();
3404
3405     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3406     VARIANT marginTop();
3407
3408     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3409     VARIANT marginRight();
3410
3411     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3412     VARIANT marginBottom();
3413
3414     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3415     VARIANT marginLeft();
3416
3417     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3418     BSTR clear();
3419
3420     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3421     BSTR listStyleType();
3422
3423     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3424     BSTR listStylePosition();
3425
3426     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3427     BSTR listStyleImage();
3428
3429     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3430     VARIANT clipTop();
3431
3432     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3433     VARIANT clipRight();
3434
3435     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3436     VARIANT clipBottom();
3437
3438     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3439     VARIANT clipLeft();
3440
3441     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3442     BSTR overflow();
3443
3444     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3445     BSTR pageBreakBefore();
3446
3447     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3448     BSTR pageBreakAfter();
3449
3450     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3451     BSTR cursor();
3452
3453     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3454     BSTR tableLayout();
3455
3456     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3457     BSTR borderCollapse();
3458
3459     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3460     BSTR direction();
3461
3462     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3463     BSTR behavior();
3464
3465     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3466     VARIANT getAttribute(
3467             [in] BSTR strAttributeName,
3468             [in, defaultvalue(0)] LONG lFlags);
3469
3470     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3471     BSTR unicodeBidi();
3472
3473     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3474     VARIANT right();
3475
3476     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3477     VARIANT bottom();
3478
3479     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3480     BSTR imeMode();
3481
3482     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3483     BSTR rubyAlign();
3484
3485     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3486     BSTR rubyPosition();
3487
3488     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3489     BSTR rubyOverhang();
3490
3491     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3492     BSTR textAutospace();
3493
3494     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3495     BSTR lineBreak();
3496
3497     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3498     BSTR wordBreak();
3499
3500     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3501     BSTR textJustify();
3502
3503     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3504     BSTR textJustifyTrim();
3505
3506     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3507     VARIANT textKashida();
3508
3509     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3510     BSTR blockDirection();
3511
3512     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3513     VARIANT layoutGridChar();
3514
3515     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3516     VARIANT layoutGridLine();
3517
3518     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3519     BSTR layoutGridMode();
3520
3521     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3522     BSTR layoutGridType();
3523
3524     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3525     BSTR borderStyle();
3526
3527     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3528     BSTR borderColor();
3529
3530     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3531     BSTR borderWidth();
3532
3533     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3534     BSTR padding();
3535
3536     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3537     BSTR margin();
3538
3539     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3540     BSTR accelerator();
3541
3542     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3543     BSTR overflowX();
3544
3545     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3546     BSTR overflowY();
3547
3548     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3549     BSTR textTransform();
3550
3551     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3552     BSTR layoutFlow();
3553
3554     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3555     BSTR wordWrap();
3556
3557     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3558     BSTR textUnderlinePosition();
3559
3560     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3561     VARIANT_BOOL hasLayout();
3562
3563     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3564     VARIANT scrollbarBaseColor();
3565
3566     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3567     VARIANT scrollbarFaceColor();
3568
3569     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3570     VARIANT scrollbar3dLightColor();
3571
3572     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3573     VARIANT scrollbarShadowColor();
3574
3575     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3576     VARIANT scrollbarHighlightColor();
3577
3578     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3579     VARIANT scrollbarDarkShadowColor();
3580
3581     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3582     VARIANT scrollbarArrowColor();
3583
3584     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3585     VARIANT scrollbarTrackColor();
3586
3587     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3588     BSTR writingMode();
3589
3590     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3591     VARIANT zoom();
3592
3593     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3594     BSTR filter();
3595
3596     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3597     BSTR textAlignLast();
3598
3599     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3600     VARIANT textKashidaSpace();
3601
3602     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3603     VARIANT_BOOL isBlock();
3604
3605     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3606     BSTR textOverflow();
3607
3608     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3609     VARIANT minHeight();
3610
3611     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3612     VARIANT wordSpacing();
3613
3614     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3615     BSTR whiteSpace();
3616
3617     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3618     BSTR msInterpolationMode();
3619
3620     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3621     VARIANT maxHeight();
3622
3623     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3624     VARIANT minWidth();
3625
3626     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3627     VARIANT maxWidth();
3628 }
3629
3630 [
3631     noncreatable,
3632     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3633 ]
3634 coclass HTMLCurrentStyle
3635 {
3636     [default] dispinterface DispHTMLCurrentStyle;
3637     interface IHTMLCurrentStyle;
3638     interface IHTMLCurrentStyle2;
3639     interface IHTMLCurrentStyle3;
3640     interface IHTMLCurrentStyle4;
3641 }
3642
3643 /*****************************************************************************
3644  *    IHTMLRect interface
3645  */
3646 [
3647     odl,
3648     oleautomation,
3649     dual,
3650     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3651 ]
3652 interface IHTMLRect : IDispatch
3653 {
3654     [propput, id(DISPID_IHTMLRECT_LEFT)]
3655     HRESULT left([in] LONG v);
3656
3657     [propget, id(DISPID_IHTMLRECT_LEFT)]
3658     HRESULT left([retval, out] LONG *p);
3659
3660     [propput, id(DISPID_IHTMLRECT_TOP)]
3661     HRESULT top([in] LONG v);
3662
3663     [propget, id(DISPID_IHTMLRECT_TOP)]
3664     HRESULT top([retval, out] LONG *p);
3665
3666     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3667     HRESULT right([in] LONG v);
3668
3669     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3670     HRESULT right([retval, out] LONG *p);
3671
3672     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3673     HRESULT bottom([in] LONG v);
3674
3675     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3676     HRESULT bottom([retval, out] LONG *p);
3677 }
3678
3679 /*****************************************************************************
3680  *    IHTMLRectCollection interface
3681  */
3682 [
3683     odl,
3684     oleautomation,
3685     dual,
3686     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3687 ]
3688 interface IHTMLRectCollection : IDispatch
3689 {
3690     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3691     HRESULT length([retval, out] LONG *p);
3692
3693     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3694     HRESULT _newEnum([retval, out] IUnknown **p);
3695
3696     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3697     HRESULT item(
3698         [in] VARIANT *pvarIndex,
3699         [retval, out] VARIANT *pvarResult);
3700 }
3701
3702 /*****************************************************************************
3703  *    IHTMLDOMNode interface
3704  */
3705 [
3706     odl,
3707     oleautomation,
3708     dual,
3709     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3710 ]
3711 interface IHTMLDOMNode : IDispatch
3712 {
3713     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3714     HRESULT nodeType([retval, out] LONG *p);
3715
3716     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3717     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3718
3719     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3720     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3721
3722     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3723     HRESULT childNodes([retval, out] IDispatch **p);
3724
3725     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3726     HRESULT attributes([retval, out] IDispatch **p);
3727
3728     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3729     HRESULT insertBefore(
3730         [in] IHTMLDOMNode *newChild,
3731         [optional, in] VARIANT refChild,
3732         [retval, out] IHTMLDOMNode **node);
3733
3734     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3735     HRESULT removeChild(
3736         [in] IHTMLDOMNode *oldChild,
3737         [retval, out] IHTMLDOMNode **node);
3738
3739     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3740     HRESULT replaceChild(
3741         [in] IHTMLDOMNode *newChild,
3742         [in] IHTMLDOMNode *oldChild,
3743         [retval, out] IHTMLDOMNode **node);
3744
3745     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3746     HRESULT cloneNode(
3747         [in] VARIANT_BOOL fDeep,
3748         [retval, out] IHTMLDOMNode **clonedNode);
3749
3750     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3751     HRESULT removeNode(
3752         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3753         [retval, out] IHTMLDOMNode **removed);
3754
3755     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3756     HRESULT swapNode(
3757         [in] IHTMLDOMNode *otherNode,
3758         [retval, out] IHTMLDOMNode **swappedNode);
3759
3760     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3761     HRESULT replaceNode(
3762         [in] IHTMLDOMNode *replacement,
3763         [retval, out] IHTMLDOMNode **replaced);
3764
3765     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3766     HRESULT appendChild(
3767         [in] IHTMLDOMNode *newChild,
3768         [retval, out] IHTMLDOMNode **node);
3769
3770     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3771     HRESULT nodeName([retval, out] BSTR *p);
3772
3773     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3774     HRESULT nodeValue([in] VARIANT v);
3775
3776     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3777     HRESULT nodeValue([retval, out] VARIANT *p);
3778
3779     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3780     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3781
3782     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3783     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3784
3785     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3786     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3787
3788     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3789     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3790 }
3791
3792 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3793     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3794     LONG nodeType();                                                    \
3795                                                                         \
3796     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3797     IHTMLDOMNode* parentNode();                                         \
3798                                                                         \
3799     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3800     VARIANT_BOOL hasChildNodes();                                       \
3801                                                                         \
3802     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3803     IDispatch* childNodes();                                            \
3804                                                                         \
3805     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3806     IDispatch* attributes();                                            \
3807                                                                         \
3808     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3809     IHTMLDOMNode* insertBefore(                                         \
3810             [in] IHTMLDOMNode* newChild,                                \
3811             [optional, in] VARIANT refChild);                           \
3812                                                                         \
3813     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3814     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3815                                                                         \
3816     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3817     IHTMLDOMNode* replaceChild(                                         \
3818         [in] IHTMLDOMNode* newChild,                                    \
3819         [in] IHTMLDOMNode* oldChild);                                   \
3820                                                                         \
3821     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3822     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3823                                                                         \
3824     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3825     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3826                                                                         \
3827     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3828     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3829                                                                         \
3830     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3831     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3832                                                                         \
3833     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3834     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3835                                                                         \
3836     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3837     BSTR nodeName();                                                    \
3838                                                                         \
3839     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3840     void nodeValue(VARIANT v);                                          \
3841                                                                         \
3842     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3843     VARIANT nodeValue();                                                \
3844                                                                         \
3845     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3846     IHTMLDOMNode* firstChild();                                         \
3847                                                                         \
3848     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3849     IHTMLDOMNode* lastChild();                                          \
3850                                                                         \
3851     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3852     IHTMLDOMNode* previousSibling();                                    \
3853                                                                         \
3854     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3855     IHTMLDOMNode* nextSibling()
3856
3857 /*****************************************************************************
3858  *    IHTMLDOMNode2 interface
3859  */
3860 [
3861     odl,
3862     oleautomation,
3863     dual,
3864     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3865 ]
3866 interface IHTMLDOMNode2 : IDispatch
3867 {
3868     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3869     HRESULT ownerDocument([retval, out] IDispatch **p);
3870 }
3871
3872 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3873     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3874     IDispatch *ownerDocument()
3875
3876 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3877     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3878     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3879
3880 /*****************************************************************************
3881  *    IHTMLDOMAttribute interface
3882  */
3883 [
3884     odl,
3885     oleautomation,
3886     dual,
3887     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3888 ]
3889 interface IHTMLDOMAttribute : IDispatch
3890 {
3891     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3892     HRESULT nodeName([retval, out] BSTR *p);
3893
3894     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3895     HRESULT nodeValue([in] VARIANT v);
3896
3897     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3898     HRESULT nodeValue([retval, out] VARIANT *p);
3899
3900     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3901     HRESULT specified([retval, out] VARIANT_BOOL *p);
3902 }
3903
3904 /*****************************************************************************
3905  *    IHTMLDOMAttribute2 interface
3906  */
3907 [
3908     odl,
3909     oleautomation,
3910     dual,
3911     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3912 ]
3913 interface IHTMLDOMAttribute2 : IDispatch
3914 {
3915     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3916     HRESULT name([retval, out] BSTR *p);
3917
3918     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3919     HRESULT value([in] BSTR v);
3920
3921     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3922     HRESULT value([retval, out] BSTR *p);
3923
3924     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3925     HRESULT expando([retval, out] VARIANT_BOOL *p);
3926
3927     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3928     HRESULT nodeType([retval, out] long *p);
3929
3930     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3931     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3932
3933     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3934     HRESULT childNodes([retval, out] IDispatch **p);
3935
3936     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3937     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3938
3939     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3940     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3941
3942     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3943     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3944
3945     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3946     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3947
3948     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3949     HRESULT attributes([retval, out] IDispatch **p);
3950
3951     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3952     HRESULT ownerDocument([retval, out] IDispatch **p);
3953
3954     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3955     HRESULT insertBefore(
3956             [in] IHTMLDOMNode *newChild,
3957             [optional, in] VARIANT refChild,
3958             [retval, out] IHTMLDOMNode **node);
3959
3960     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3961     HRESULT replaceChild(
3962             [in] IHTMLDOMNode *newChild,
3963             [in] IHTMLDOMNode *oldChild,
3964             [retval, out] IHTMLDOMNode **node);
3965
3966     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3967     HRESULT removeChild(
3968             [in] IHTMLDOMNode *oldChild,
3969             [retval, out] IHTMLDOMNode **node);
3970
3971     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3972     HRESULT appendChild(
3973             [in] IHTMLDOMNode *newChild,
3974             [retval, out] IHTMLDOMNode **node);
3975
3976     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3977     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3978
3979     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3980     HRESULT cloneNode(
3981             [in] VARIANT_BOOL fDeep,
3982             [retval, out] IHTMLDOMAttribute **clonedNode);
3983 }
3984
3985 /*****************************************************************************
3986  *    IHTMLDOMTextNode interface
3987  */
3988 [
3989     odl,
3990     oleautomation,
3991     dual,
3992     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3993 ]
3994 interface IHTMLDOMTextNode : IDispatch
3995 {
3996     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3997     HRESULT data([in] BSTR v);
3998
3999     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4000     HRESULT data([out, retval] BSTR *p);
4001
4002     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4003     HRESULT toString([out, retval] BSTR *String);
4004
4005     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4006     HRESULT length([out, retval] LONG *p);
4007
4008     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4009     HRESULT splitText(
4010             [in] LONG offset,
4011             [out, retval] IHTMLDOMNode **pRetNode);
4012 }
4013
4014 /*****************************************************************************
4015  *    IHTMLDOMTextNode2 interface
4016  */
4017 [
4018     odl,
4019     oleautomation,
4020     dual,
4021     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
4022 ]
4023 interface IHTMLDOMTextNode2 : IDispatch
4024 {
4025     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4026     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
4027
4028     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4029     HRESULT appendData([in] BSTR bstrstring);
4030
4031     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4032     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
4033
4034     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4035     HRESULT deleteData([in] LONG offset,[in] LONG Count);
4036
4037     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4038     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
4039 }
4040
4041 [
4042     noncreatable,
4043     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
4044 ]
4045 coclass HTMLDOMTextNode
4046 {
4047     [default]           dispinterface DispHTMLDOMTextNode;
4048                         interface IHTMLDOMTextNode;
4049                         interface IHTMLDOMTextNode2;
4050                         interface IHTMLDOMNode;
4051                         interface IHTMLDOMNode2;
4052 }
4053
4054 /*****************************************************************************
4055  *    IHTMLDOMImplementation interface
4056  */
4057 [
4058     odl,
4059     oleautomation,
4060     dual,
4061     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
4062 ]
4063 interface IHTMLDOMImplementation : IDispatch
4064 {
4065     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
4066     HRESULT hasFeature(
4067         [in] BSTR bstrfeature,
4068         [optional, in] VARIANT version,
4069         [retval, out] VARIANT_BOOL *pfHasFeature);
4070 }
4071
4072 /*****************************************************************************
4073  *    DispHTMLDOMAttribute dispinterface
4074  */
4075 [
4076     hidden,
4077     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
4078 ]
4079 dispinterface DispHTMLDOMAttribute
4080 {
4081  properties:
4082     methods:
4083     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
4084     BSTR nodeName();
4085
4086     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
4087     void nodeValue(VARIANT v);
4088
4089     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
4090     VARIANT nodeValue();
4091
4092     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
4093     VARIANT_BOOL specified();
4094
4095     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
4096     BSTR name();
4097
4098     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4099     void value(BSTR v);
4100
4101     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4102     BSTR value();
4103
4104     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
4105     VARIANT_BOOL expando();
4106
4107     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
4108     long nodeType();
4109
4110     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
4111     IHTMLDOMNode *parentNode();
4112
4113     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4114     IDispatch *childNodes();
4115
4116     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4117     IHTMLDOMNode *firstChild();
4118
4119     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4120     IHTMLDOMNode *lastChild();
4121
4122     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4123     IHTMLDOMNode *previousSibling();
4124
4125     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4126     IHTMLDOMNode *nextSibling();
4127
4128     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4129     IDispatch *attributes();
4130
4131     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4132     IDispatch *ownerDocument();
4133
4134     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4135     IHTMLDOMNode *insertBefore(
4136             [in] IHTMLDOMNode *newChild,
4137             [optional, in] VARIANT refChild);
4138
4139     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4140     IHTMLDOMNode *replaceChild(
4141             [in] IHTMLDOMNode *newChild,
4142             [in] IHTMLDOMNode *oldChild);
4143
4144     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4145     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4146
4147     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4148     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4149
4150     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4151     VARIANT_BOOL hasChildNodes();
4152
4153     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4154     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4155
4156     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4157     void ie8_nodeValue(VARIANT v);
4158
4159     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4160     VARIANT ie8_nodeValue();
4161
4162     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4163     void ie8_value(BSTR v);
4164
4165     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4166     BSTR ie8_value();
4167
4168     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4169     VARIANT_BOOL ie8_specified();
4170
4171     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4172     IHTMLElement2 *ownerElement();
4173
4174     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4175 }
4176
4177 /*****************************************************************************
4178  *    IHTMLDocumentCompatibleInfo interface
4179  */
4180 [
4181     odl,
4182     oleautomation,
4183     dual,
4184     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4185 ]
4186 interface IHTMLDocumentCompatibleInfo : IDispatch
4187 {
4188     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4189     HRESULT userAgent([retval, out] BSTR *p);
4190
4191     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4192     HRESULT version([retval, out] BSTR *p);
4193 }
4194
4195 /*****************************************************************************
4196  *    IHTMLDocumentCompatibleInfoCollection interface
4197  */
4198 [
4199     odl,
4200     oleautomation,
4201     dual,
4202     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4203 ]
4204 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4205 {
4206     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4207     HRESULT length([retval, out] long *p);
4208
4209     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4210     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4211 }
4212
4213 /*****************************************************************************
4214  *    DispHTMLDOMTextNode dispinterface
4215  */
4216 [
4217     hidden,
4218     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4219 ]
4220 dispinterface DispHTMLDOMTextNode
4221 {
4222 properties:
4223 methods:
4224     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4225     void data(BSTR v);
4226
4227     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4228     BSTR data();
4229
4230     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4231     BSTR toString();
4232
4233     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4234     LONG length();
4235
4236     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4237     IHTMLDOMNode *splitText([in] LONG offset);
4238
4239     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4240     BSTR substringData(
4241             [in] LONG offset,
4242             [in] LONG Count);
4243
4244     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4245     void appendData([in] BSTR bstrstring);
4246
4247     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4248     void insertData(
4249             [in] LONG offset,
4250             [in] BSTR bstrstring);
4251
4252     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4253     void deleteData(
4254             [in] LONG offset,
4255             [in] LONG Count);
4256
4257     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4258     void replaceData(
4259             [in] LONG offset,
4260             [in] LONG Count,
4261             [in] BSTR bstrstring);
4262
4263     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4264 }
4265
4266 /*****************************************************************************
4267  *    IHTMLAttributeCollection interface
4268  */
4269 [
4270     odl,
4271     oleautomation,
4272     dual,
4273     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4274 ]
4275 interface IHTMLAttributeCollection : IDispatch
4276 {
4277     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4278     HRESULT length(
4279             [retval, out] long *p);
4280
4281     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4282     HRESULT _newEnum(
4283             [retval, out] IUnknown **p);
4284
4285     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4286     HRESULT item(
4287             [optional, in] VARIANT *name,
4288             [retval, out] IDispatch **pdisp);
4289 }
4290
4291 /*****************************************************************************
4292  *    IHTMLAttributeCollection2 interface
4293  */
4294 [
4295     odl,
4296     oleautomation,
4297     dual,
4298     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4299     ]
4300 interface IHTMLAttributeCollection2 : IDispatch
4301 {
4302     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4303     HRESULT getNamedItem(
4304             [in] BSTR bstrName,
4305             [retval, out] IHTMLDOMAttribute **newretNode);
4306
4307     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4308     HRESULT setNamedItem(
4309             [in] IHTMLDOMAttribute *ppNode,
4310             [retval, out] IHTMLDOMAttribute **newretNode);
4311
4312     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4313     HRESULT removeNamedItem(
4314             [in] BSTR bstrName,
4315             [retval, out] IHTMLDOMAttribute **newretNode);
4316 }
4317
4318 /*****************************************************************************
4319  *    IHTMLAttributeCollection3 interface
4320  */
4321 [
4322     odl,
4323     oleautomation,
4324     dual,
4325     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4326 ]
4327 interface IHTMLAttributeCollection3 : IDispatch
4328 {
4329     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4330     HRESULT getNamedItem(
4331             [in] BSTR bstrName,
4332             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4333
4334     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4335     HRESULT setNamedItem(
4336             [in] IHTMLDOMAttribute *pNodeIn,
4337             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4338
4339     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4340     HRESULT removeNamedItem(
4341             [in] BSTR bstrName,
4342             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4343
4344     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4345     HRESULT item(
4346             [in] long index,
4347             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4348
4349     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4350     HRESULT length([retval, out] long *p);
4351 }
4352
4353 /*****************************************************************************
4354  *    DispHTMLAttributeCollection dispinterface
4355  */
4356 [
4357     hidden,
4358     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4359 ]
4360 dispinterface DispHTMLAttributeCollection
4361 {
4362 properties:
4363 methods:
4364     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4365     long length();
4366
4367     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4368     IUnknown *_newEnum();
4369
4370     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4371     IDispatch *item([optional, in] VARIANT *name);
4372
4373     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4374     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4375
4376     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4377     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4378
4379     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4380     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4381
4382     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4383     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4384
4385     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4386     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4387
4388     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4389     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4390
4391     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4392     IHTMLDOMAttribute *ie8_item([in] long index);
4393
4394     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4395     long ie8_length();
4396
4397     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4398     IDispatch *constructor();
4399 }
4400
4401 /*****************************************************************************
4402  *    IHTMLDOMChildrenCollection interface
4403  */
4404 [
4405     odl,
4406     oleautomation,
4407     dual,
4408     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4409 ]
4410 interface IHTMLDOMChildrenCollection : IDispatch
4411 {
4412     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4413     HRESULT length([out, retval] LONG *p);
4414
4415     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4416     HRESULT _newEnum([out, retval] IUnknown **p);
4417
4418     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4419     HRESULT item(
4420             [in] LONG index,
4421             [out, retval] IDispatch **ppItem);
4422 }
4423
4424 /*****************************************************************************
4425  *    DispDOMChildrenCollection dispinterface
4426  */
4427 [
4428     hidden,
4429     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4430 ]
4431 dispinterface DispDOMChildrenCollection
4432 {
4433 properties:
4434 methods:
4435     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4436     LONG length();
4437
4438     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4439     IUnknown *_newEnum();
4440
4441     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4442     IDispatch *item([in] LONG index);
4443 }
4444
4445 interface IHTMLElementCollection;
4446
4447 /*****************************************************************************
4448  *    IHTMLElement interface
4449  */
4450 [
4451     odl,
4452     dual,
4453     oleautomation,
4454     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4455 ]
4456 interface IHTMLElement : IDispatch
4457 {
4458     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4459     HRESULT setAttribute(
4460         [in] BSTR strAttributeName,
4461         [in] VARIANT AttributeValue,
4462         [defaultvalue(1), in] LONG lFlags);
4463
4464     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4465     HRESULT getAttribute(
4466         [in] BSTR strAttributeName,
4467         [defaultvalue(0), in] LONG lFlags,
4468         [retval, out] VARIANT *AttributeValue);
4469
4470     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4471     HRESULT removeAttribute(
4472         [in] BSTR strAttributeName,
4473         [defaultvalue(1), in] LONG lFlags,
4474         [retval, out] VARIANT_BOOL *pfSuccess);
4475
4476     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4477     HRESULT className([in] BSTR v);
4478
4479     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4480     HRESULT className([retval, out] BSTR *p);
4481
4482     [propput, id(DISPID_IHTMLELEMENT_ID)]
4483     HRESULT id([in] BSTR v);
4484
4485     [propget, id(DISPID_IHTMLELEMENT_ID)]
4486     HRESULT id([retval, out] BSTR *p);
4487
4488     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4489     HRESULT tagName([retval, out] BSTR *p);
4490
4491     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4492     HRESULT parentElement([retval, out] IHTMLElement **p);
4493
4494     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4495     HRESULT style([retval, out] IHTMLStyle **p);
4496
4497     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4498     HRESULT onhelp([in] VARIANT v);
4499
4500     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4501     HRESULT onhelp([retval, out] VARIANT *p);
4502
4503     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4504     HRESULT onclick([in] VARIANT v);
4505
4506     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4507     HRESULT onclick([retval, out] VARIANT *p);
4508
4509     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4510     HRESULT ondblclick([in] VARIANT v);
4511
4512     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4513     HRESULT ondblclick([retval, out] VARIANT *p);
4514
4515     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4516     HRESULT onkeydown([in] VARIANT v);
4517
4518     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4519     HRESULT onkeydown([retval, out] VARIANT *p);
4520
4521     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4522     HRESULT onkeyup([in] VARIANT v);
4523
4524     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4525     HRESULT onkeyup([retval, out] VARIANT *p);
4526
4527     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4528     HRESULT onkeypress([in] VARIANT v);
4529
4530     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4531     HRESULT onkeypress([retval, out] VARIANT *p);
4532
4533     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4534     HRESULT onmouseout([in] VARIANT v);
4535
4536     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4537     HRESULT onmouseout([retval, out] VARIANT *p);
4538
4539     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4540     HRESULT onmouseover([in] VARIANT v);
4541
4542     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4543     HRESULT onmouseover([retval, out] VARIANT *p);
4544
4545     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4546     HRESULT onmousemove([in] VARIANT v);
4547
4548     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4549     HRESULT onmousemove([retval, out] VARIANT *p);
4550
4551     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4552     HRESULT onmousedown([in] VARIANT v);
4553
4554     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4555     HRESULT onmousedown([retval, out] VARIANT *p);
4556
4557     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4558     HRESULT onmouseup([in] VARIANT v);
4559
4560     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4561     HRESULT onmouseup([retval, out] VARIANT *p);
4562
4563     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4564     HRESULT document([retval, out] IDispatch **p);
4565
4566     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4567     HRESULT title([in] BSTR v);
4568
4569     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4570     HRESULT title([retval, out] BSTR *p);
4571
4572     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4573     HRESULT language([in] BSTR v);
4574
4575     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4576     HRESULT language([retval, out] BSTR *p);
4577
4578     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4579     HRESULT onselectstart([in] VARIANT v);
4580
4581     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4582     HRESULT onselectstart([retval, out] VARIANT *p);
4583
4584     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4585     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4586
4587     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4588     HRESULT contains(
4589         [in] IHTMLElement *pChild,
4590         [retval, out] VARIANT_BOOL *pfResult);
4591
4592     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4593     HRESULT sourceIndex([retval, out] LONG *p);
4594
4595     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4596     HRESULT recordNumber([retval, out] VARIANT *p);
4597
4598     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4599     HRESULT lang([in] BSTR v);
4600
4601     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4602     HRESULT lang([retval, out] BSTR *p);
4603
4604     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4605     HRESULT offsetLeft([retval, out] LONG *p);
4606
4607     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4608     HRESULT offsetTop([retval, out] LONG *p);
4609
4610     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4611     HRESULT offsetWidth([retval, out] LONG *p);
4612
4613     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4614     HRESULT offsetHeight([retval, out] LONG *p);
4615
4616     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4617     HRESULT offsetParent([retval, out] IHTMLElement **p);
4618
4619     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4620     HRESULT innerHTML([in] BSTR v);
4621
4622     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4623     HRESULT innerHTML([retval, out] BSTR *p);
4624
4625     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4626     HRESULT innerText([in] BSTR v);
4627
4628     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4629     HRESULT innerText([retval, out] BSTR *p);
4630
4631     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4632     HRESULT outerHTML([in] BSTR v);
4633
4634     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4635     HRESULT outerHTML([retval, out] BSTR *p);
4636
4637     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4638     HRESULT outerText([in] BSTR v);
4639
4640     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4641     HRESULT outerText([retval, out] BSTR *p);
4642
4643     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4644     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4645
4646     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4647     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4648
4649     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4650     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4651
4652     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4653     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4654
4655     [id(DISPID_IHTMLELEMENT_CLICK)]
4656     HRESULT click();
4657
4658     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4659     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4660
4661     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4662     HRESULT ondragstart([in] VARIANT v);
4663
4664     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4665     HRESULT ondragstart([retval, out] VARIANT *p);
4666
4667     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4668     HRESULT toString([retval, out] BSTR *String);
4669
4670     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4671     HRESULT onbeforeupdate([in] VARIANT v);
4672
4673     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4674     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4675
4676     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4677     HRESULT onafterupdate([in] VARIANT v);
4678
4679     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4680     HRESULT onafterupdate([retval, out] VARIANT *p);
4681
4682     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4683     HRESULT onerrorupdate([in] VARIANT v);
4684
4685     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4686     HRESULT onerrorupdate([retval, out] VARIANT *p);
4687
4688     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4689     HRESULT onrowexit([in] VARIANT v);
4690
4691     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4692     HRESULT onrowexit([retval, out] VARIANT *p);
4693
4694     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4695     HRESULT onrowenter([in] VARIANT v);
4696
4697     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4698     HRESULT onrowenter([retval, out] VARIANT *p);
4699
4700     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4701     HRESULT ondatasetchanged([in] VARIANT v);
4702
4703     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4704     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4705
4706     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4707     HRESULT ondataavailable([in] VARIANT v);
4708
4709     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4710     HRESULT ondataavailable([retval, out] VARIANT *p);
4711
4712     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4713     HRESULT ondatasetcomplete([in] VARIANT v);
4714
4715     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4716     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4717
4718     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4719     HRESULT onfilterchange([in] VARIANT v);
4720
4721     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4722     HRESULT onfilterchange([retval, out] VARIANT *p);
4723
4724     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4725     HRESULT children([retval, out] IDispatch **p);
4726
4727     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4728     HRESULT all([retval, out] IDispatch **p);
4729 }
4730
4731 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4732     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4733     void setAttribute(                                                  \
4734         [in] BSTR strAttributeName,                                     \
4735         [in] VARIANT AttValue,                                          \
4736         [defaultvalue(1), in] LONG lFlags);                             \
4737                                                                         \
4738     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4739     VARIANT getAttribute(                                               \
4740         [in] BSTR strAttributeName,                                     \
4741         [defaultvalue(0), in] LONG lFlags);                             \
4742                                                                         \
4743     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4744     VARIANT_BOOL removeAttribute(                                       \
4745         [in] BSTR strAttributeName,                                     \
4746         [defaultvalue(1), in] LONG lFlags);                             \
4747                                                                         \
4748     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4749     void className(BSTR v);                                             \
4750                                                                         \
4751     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4752     BSTR className();                                                   \
4753                                                                         \
4754     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4755     void id(BSTR v);                                                    \
4756                                                                         \
4757     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4758     BSTR id();                                                          \
4759                                                                         \
4760     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4761     BSTR tagName();                                                     \
4762                                                                         \
4763     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4764     IHTMLElement *parentElement();                                      \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4767     IHTMLStyle *style();                                                \
4768                                                                         \
4769     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4770     void onhelp(VARIANT v);                                             \
4771                                                                         \
4772     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4773     VARIANT onhelp();                                                   \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4776     void onclick(VARIANT v);                                            \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4779     VARIANT onclick();                                                  \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4782     void ondblclick(VARIANT v);                                         \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4785     VARIANT ondblclick();                                               \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4788     void onkeydown(VARIANT v);                                          \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4791     VARIANT onkeydown();                                                \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4794     void onkeyup(VARIANT v);                                            \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4797     VARIANT onkeyup();                                                  \
4798                                                                         \
4799     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4800     void onkeypress(VARIANT v);                                         \
4801                                                                         \
4802     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4803     VARIANT onkeypress();                                               \
4804                                                                         \
4805     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4806     void onmouseout(VARIANT v);                                         \
4807                                                                         \
4808     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4809     VARIANT onmouseout();                                               \
4810                                                                         \
4811     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4812     void onmouseover(VARIANT v);                                        \
4813                                                                         \
4814     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4815     VARIANT onmouseover();                                              \
4816                                                                         \
4817     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4818     void onmousemove(VARIANT v);                                        \
4819                                                                         \
4820     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4821     VARIANT onmousemove();                                              \
4822                                                                         \
4823     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4824     void onmousedown(VARIANT v);                                        \
4825                                                                         \
4826     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4827     VARIANT onmousedown();                                              \
4828                                                                         \
4829     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4830     void onmouseup(VARIANT v);                                          \
4831                                                                         \
4832     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4833     VARIANT onmouseup();                                                \
4834                                                                         \
4835     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4836                                                                         \
4837     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4838     void title(BSTR v);                                                 \
4839                                                                         \
4840     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4841     BSTR title();                                                       \
4842                                                                         \
4843     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4844     void language(BSTR v);                                              \
4845                                                                         \
4846     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4847     BSTR language();                                                    \
4848                                                                         \
4849     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4850     void onselectstart(VARIANT v);                                      \
4851                                                                         \
4852     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4853     VARIANT onselectstart();                                            \
4854                                                                         \
4855     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4856     void scrollIntoView([optional, in] VARIANT varargStart);            \
4857                                                                         \
4858     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4859     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4860                                                                         \
4861     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4862     LONG sourceIndex();                                                 \
4863                                                                         \
4864     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4865     VARIANT recordNumber();                                             \
4866                                                                         \
4867     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4868     void lang(BSTR v);                                                  \
4869                                                                         \
4870     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4871     BSTR lang();                                                        \
4872                                                                         \
4873     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4874     LONG offsetLeft();                                                  \
4875                                                                         \
4876     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4877     LONG offsetTop();                                                   \
4878                                                                         \
4879     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4880     LONG offsetWidth();                                                 \
4881                                                                         \
4882     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4883     LONG offsetHeight();                                                \
4884                                                                         \
4885     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4886     IHTMLElement* offsetParent();                                       \
4887                                                                         \
4888     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4889     void innerHTML(BSTR v);                                             \
4890                                                                         \
4891     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4892     BSTR innerHTML();                                                   \
4893                                                                         \
4894     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4895     void innerText(BSTR v);                                             \
4896                                                                         \
4897     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4898     BSTR innerText();                                                   \
4899                                                                         \
4900     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4901     void outerHTML(BSTR v);                                             \
4902                                                                         \
4903     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4904     BSTR outerHTML();                                                   \
4905                                                                         \
4906     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4907     void outerText(BSTR v);                                             \
4908                                                                         \
4909     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4910     BSTR outerText();                                                   \
4911                                                                         \
4912     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4913     void insertAdjacentHTML(                                            \
4914         [in] BSTR where,                                                \
4915         [in] BSTR html);                                                \
4916                                                                         \
4917     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4918     void insertAdjacentText(                                            \
4919         [in] BSTR where,                                                \
4920         [in] BSTR text);                                                \
4921                                                                         \
4922     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4923     IHTMLElement* parentTextEdit();                                     \
4924                                                                         \
4925     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4926     VARIANT_BOOL isTextEdit();                                          \
4927                                                                         \
4928     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4929     void click();                                                       \
4930                                                                         \
4931     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4932     IHTMLFiltersCollection* filters();                                  \
4933                                                                         \
4934     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4935     void ondragstart(VARIANT v);                                        \
4936                                                                         \
4937     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4938     VARIANT ondragstart();                                              \
4939                                                                         \
4940     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4941     BSTR toString();                                                    \
4942                                                                         \
4943     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4944     void onbeforeupdate(VARIANT v);                                     \
4945                                                                         \
4946     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4947     VARIANT onbeforeupdate();                                           \
4948                                                                         \
4949     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4950     void onafterupdate(VARIANT v);                                      \
4951                                                                         \
4952     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4953     VARIANT onafterupdate();                                            \
4954                                                                         \
4955     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4956     void onerrorupdate(VARIANT v);                                      \
4957                                                                         \
4958     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4959     VARIANT onerrorupdate();                                            \
4960                                                                         \
4961     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4962     void onrowexit(VARIANT v);                                          \
4963                                                                         \
4964     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4965     VARIANT onrowexit();                                                \
4966                                                                         \
4967     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4968     void onrowenter(VARIANT v);                                         \
4969                                                                         \
4970     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4971     VARIANT onrowenter();                                               \
4972                                                                         \
4973     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4974     void ondatasetchanged(VARIANT v);                                   \
4975                                                                         \
4976     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4977     VARIANT ondatasetchanged();                                         \
4978                                                                         \
4979     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4980     void ondataavailable(VARIANT v);                                    \
4981                                                                         \
4982     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4983     VARIANT ondataavailable();                                          \
4984                                                                         \
4985     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4986     void ondatasetcomplete(VARIANT v);                                  \
4987                                                                         \
4988     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4989     VARIANT ondatasetcomplete();                                        \
4990                                                                         \
4991     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4992     void onfilterchange(VARIANT v);                                     \
4993                                                                         \
4994     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4995     VARIANT onfilterchange();                                           \
4996                                                                         \
4997     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4998     IDispatch* children();                                              \
4999                                                                         \
5000     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
5001     IDispatch* all()
5002
5003 /*****************************************************************************
5004  *    IHTMLElement2 interface
5005  */
5006 [
5007     odl,
5008     oleautomation,
5009     dual,
5010     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
5011 ]
5012 interface IHTMLElement2 : IDispatch
5013 {
5014     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5015     HRESULT scopeName([retval, out] BSTR *p);
5016
5017     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5018     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
5019
5020     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5021     HRESULT releaseCapture();
5022
5023     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5024     HRESULT onlosecapture([in] VARIANT v);
5025
5026     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5027     HRESULT onlosecapture([retval, out] VARIANT *p);
5028
5029     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5030     HRESULT componentFromPoint(
5031         [in] LONG x,
5032         [in] LONG y,
5033         [retval, out] BSTR *component);
5034
5035     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5036     HRESULT doScroll([optional, in] VARIANT component);
5037
5038     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5039     HRESULT onscroll([in] VARIANT v);
5040
5041     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5042     HRESULT onscroll([retval, out] VARIANT *p);
5043
5044     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5045     HRESULT ondrag([in] VARIANT v);
5046
5047     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5048     HRESULT ondrag([retval, out] VARIANT *p);
5049
5050     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5051     HRESULT ondragend([in] VARIANT v);
5052
5053     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5054     HRESULT ondragend([retval, out] VARIANT *p);
5055
5056     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5057     HRESULT ondragenter([in] VARIANT v);
5058
5059     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5060     HRESULT ondragenter([retval, out] VARIANT *p);
5061
5062     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5063     HRESULT ondragover([in] VARIANT v);
5064
5065     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5066     HRESULT ondragover([retval, out] VARIANT *p);
5067
5068     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5069     HRESULT ondragleave([in] VARIANT v);
5070
5071     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5072     HRESULT ondragleave([retval, out] VARIANT *p);
5073
5074     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5075     HRESULT ondrop([in] VARIANT v);
5076
5077     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5078     HRESULT ondrop([retval, out] VARIANT *p);
5079
5080     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5081     HRESULT onbeforecut([in] VARIANT v);
5082
5083     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5084     HRESULT onbeforecut([retval, out] VARIANT *p);
5085
5086     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5087     HRESULT oncut([in] VARIANT v);
5088
5089     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5090     HRESULT oncut([retval, out] VARIANT *p);
5091
5092     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5093     HRESULT onbeforecopy([in] VARIANT v);
5094
5095     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5096     HRESULT onbeforecopy([retval, out] VARIANT *p);
5097
5098     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5099     HRESULT oncopy([in] VARIANT v);
5100
5101     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5102     HRESULT oncopy([retval, out] VARIANT *p);
5103
5104     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5105     HRESULT onbeforepaste([in] VARIANT v);
5106
5107     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5108     HRESULT onbeforepaste([retval, out] VARIANT *p);
5109
5110     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5111     HRESULT onpaste([in] VARIANT v);
5112
5113     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5114     HRESULT onpaste([retval, out] VARIANT *p);
5115
5116     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5117     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5118
5119     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5120     HRESULT onpropertychange([in] VARIANT v);
5121
5122     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5123     HRESULT onpropertychange([retval, out] VARIANT *p);
5124
5125     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5126     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5127
5128     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5129     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5130
5131     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5132     HRESULT setExpression(
5133         [in] BSTR propname,
5134         [in] BSTR expression,
5135         [defaultvalue(""), in] BSTR language);
5136
5137     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5138     HRESULT getExpression(
5139         [in] BSTR propname,
5140         [retval, out] VARIANT *expression);
5141
5142     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5143     HRESULT removeExpression(
5144         [in] BSTR propname,
5145         [retval, out] VARIANT_BOOL *pfSuccess);
5146
5147     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5148     HRESULT tabIndex([in] short v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5151     HRESULT tabIndex([retval, out] short *p);
5152
5153     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5154     HRESULT focus();
5155
5156     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5157     HRESULT accessKey([in] BSTR v);
5158
5159     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5160     HRESULT accessKey([retval, out] BSTR *p);
5161
5162     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5163     HRESULT onblur([in] VARIANT v);
5164
5165     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5166     HRESULT onblur([retval, out] VARIANT *p);
5167
5168     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5169     HRESULT onfocus([in] VARIANT v);
5170
5171     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5172     HRESULT onfocus([retval, out] VARIANT *p);
5173
5174     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5175     HRESULT onresize([in] VARIANT v);
5176
5177     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5178     HRESULT onresize([retval, out] VARIANT *p);
5179
5180     [id(DISPID_IHTMLELEMENT2_BLUR)]
5181     HRESULT blur();
5182
5183     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5184     HRESULT addFilter([in] IUnknown *pUnk);
5185
5186     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5187     HRESULT removeFilter([in] IUnknown *pUnk);
5188
5189     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5190     HRESULT clientHeight([retval, out] LONG *p);
5191
5192     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5193     HRESULT clientWidth([retval, out] LONG *p);
5194
5195     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5196     HRESULT clientTop([retval, out] LONG *p);
5197
5198     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5199     HRESULT clientLeft([retval, out] LONG *p);
5200
5201     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5202     HRESULT attachEvent(
5203         [in] BSTR event,
5204         [in] IDispatch *pDisp,
5205         [retval, out] VARIANT_BOOL *pfResult);
5206
5207     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5208     HRESULT detachEvent(
5209         [in] BSTR event,
5210         [in] IDispatch *pDisp);
5211
5212     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5213     HRESULT readyState([retval, out] VARIANT *p);
5214
5215     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5216     HRESULT onreadystatechange([in] VARIANT v);
5217
5218     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5219     HRESULT onreadystatechange([retval, out] VARIANT *p);
5220
5221     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5222     HRESULT onrowsdelete([in] VARIANT v);
5223
5224     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5225     HRESULT onrowsdelete([retval, out] VARIANT *p);
5226
5227     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5228     HRESULT onrowsinserted([in] VARIANT v);
5229
5230     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5231     HRESULT onrowsinserted([retval, out] VARIANT *p);
5232
5233     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5234     HRESULT oncellchange([in] VARIANT v);
5235
5236     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5237     HRESULT oncellchange([retval, out] VARIANT *p);
5238
5239     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5240     HRESULT dir([in] BSTR v);
5241
5242     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5243     HRESULT dir([retval, out] BSTR *p);
5244
5245     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5246     HRESULT createControlRange([retval, out] IDispatch **range);
5247
5248     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5249     HRESULT scrollHeight([retval, out] LONG *p);
5250
5251     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5252     HRESULT scrollWidth([retval, out] LONG *p);
5253
5254     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5255     HRESULT scrollTop([in] LONG v);
5256
5257     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5258     HRESULT scrollTop([retval, out] LONG *p);
5259
5260     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5261     HRESULT scrollLeft([in] LONG v);
5262
5263     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5264     HRESULT scrollLeft([retval, out] LONG *p);
5265
5266     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5267     HRESULT clearAttributes();
5268
5269     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5270     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5271
5272     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5273     HRESULT oncontextmenu([in] VARIANT v);
5274
5275     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5276     HRESULT oncontextmenu([retval, out] VARIANT *p);
5277
5278     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5279     HRESULT insertAdjacentElement(
5280         [in] BSTR where,
5281         [in] IHTMLElement *insertedElement,
5282         [retval, out] IHTMLElement **inserted);
5283
5284     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5285     HRESULT applyElement(
5286         [in] IHTMLElement *apply,
5287         [in] BSTR where,
5288         [retval, out] IHTMLElement **applied);
5289
5290     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5291     HRESULT getAdjacentText(
5292         [in] BSTR where,
5293         [retval, out] BSTR *text);
5294
5295     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5296     HRESULT replaceAdjacentText(
5297         [in] BSTR where,
5298         [in] BSTR newText,
5299         [retval, out] BSTR *oldText);
5300
5301     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5302     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5303
5304     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5305     HRESULT addBehavior(
5306         [in] BSTR bstrUrl,
5307         [optional, in] VARIANT *pvarFactory,
5308         [retval, out] LONG *pCookie);
5309
5310     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5311     HRESULT removeBehavior(
5312         [in] LONG cookie,
5313         [retval, out] VARIANT_BOOL *pfResult);
5314
5315     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5316     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5317
5318     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5319     HRESULT behaviorUrns([retval, out] IDispatch **p);
5320
5321     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5322     HRESULT tagUrn([in] BSTR v);
5323
5324     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5325     HRESULT tagUrn([retval, out] BSTR *p);
5326
5327     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5328     HRESULT onbeforeeditfocus([in] VARIANT v);
5329
5330     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5331     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5332
5333     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5334     HRESULT readyStateValue([retval, out] LONG *p);
5335
5336     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5337     HRESULT getElementsByTagName(
5338         [in] BSTR v,
5339         [retval, out] IHTMLElementCollection **pelColl);
5340 }
5341
5342 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5343     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5344     BSTR scopeName();                                                   \
5345                                                                         \
5346     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5347     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5348                                                                         \
5349     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5350     void releaseCapture();                                              \
5351                                                                         \
5352     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5353     void onlosecapture(VARIANT v);                                      \
5354                                                                         \
5355     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5356     VARIANT onlosecapture();                                            \
5357                                                                         \
5358     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5359     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5360                                                                         \
5361     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5362     void doScroll([optional, in] VARIANT component);                    \
5363                                                                         \
5364     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5365     void onscroll(VARIANT v);                                           \
5366                                                                         \
5367     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5368     VARIANT onscroll();                                                 \
5369                                                                         \
5370     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5371     void ondrag(VARIANT v);                                             \
5372                                                                         \
5373     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5374     VARIANT ondrag();                                                   \
5375                                                                         \
5376     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5377     void ondragend(VARIANT v);                                          \
5378                                                                         \
5379     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5380     VARIANT ondragend();                                                \
5381                                                                         \
5382     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5383     void ondragenter(VARIANT v);                                        \
5384                                                                         \
5385     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5386     VARIANT ondragenter();                                              \
5387                                                                         \
5388     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5389     void ondragover(VARIANT v);                                         \
5390                                                                         \
5391     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5392     VARIANT ondragover();                                               \
5393                                                                         \
5394     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5395     void ondragleave(VARIANT v);                                        \
5396                                                                         \
5397     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5398     VARIANT ondragleave();                                              \
5399                                                                         \
5400     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5401     void ondrop(VARIANT v);                                             \
5402                                                                         \
5403     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5404     VARIANT ondrop();                                                   \
5405                                                                         \
5406     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5407     void onbeforecut(VARIANT v);                                        \
5408                                                                         \
5409     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5410     VARIANT onbeforecut();                                              \
5411                                                                         \
5412     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5413     void oncut(VARIANT v);                                              \
5414                                                                         \
5415     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5416     VARIANT oncut();                                                    \
5417                                                                         \
5418     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5419     void onbeforecopy(VARIANT v);                                       \
5420                                                                         \
5421     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5422     VARIANT onbeforecopy();                                             \
5423                                                                         \
5424     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5425     void oncopy(VARIANT v);                                             \
5426                                                                         \
5427     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5428     VARIANT oncopy();                                                   \
5429                                                                         \
5430     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5431     void onbeforepaste(VARIANT v);                                      \
5432                                                                         \
5433     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5434     VARIANT onbeforepaste();                                            \
5435                                                                         \
5436     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5437     void onpaste(VARIANT v);                                            \
5438                                                                         \
5439     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5440     VARIANT onpaste();                                                  \
5441                                                                         \
5442     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5443     IHTMLCurrentStyle* currentStyle();                                  \
5444                                                                         \
5445     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5446     void onpropertychange(VARIANT v);                                   \
5447                                                                         \
5448     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5449     VARIANT onpropertychange();                                         \
5450                                                                         \
5451     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5452     IHTMLRectCollection* getClientRects();                              \
5453                                                                         \
5454     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5455     IHTMLRect* getBoundingClientRect();                                 \
5456                                                                         \
5457     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5458     void setExpression(                                                 \
5459         [in] BSTR propname,                                             \
5460         [in] BSTR expr,                                                 \
5461         [defaultvalue(""), in] BSTR lang);                              \
5462                                                                         \
5463     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5464     VARIANT getExpression([in] BSTR propname);                          \
5465                                                                         \
5466     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5467     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5468                                                                         \
5469     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5470     void tabIndex(short v);                                             \
5471                                                                         \
5472     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5473     short tabIndex();                                                   \
5474                                                                         \
5475     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5476     void focus();                                                       \
5477                                                                         \
5478     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5479     void accessKey(BSTR v);                                             \
5480                                                                         \
5481     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5482     BSTR accessKey();                                                   \
5483                                                                         \
5484     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5485     void onblur(VARIANT v);                                             \
5486                                                                         \
5487     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5488     VARIANT onblur();                                                   \
5489                                                                         \
5490     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5491     void onfocus(VARIANT v);                                            \
5492                                                                         \
5493     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5494     VARIANT onfocus();                                                  \
5495                                                                         \
5496     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5497     void onresize(VARIANT v);                                           \
5498                                                                         \
5499     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5500     VARIANT onresize();                                                 \
5501                                                                         \
5502     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5503     void blur();                                                        \
5504                                                                         \
5505     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5506     void addFilter([in] IUnknown* pUnk);                                \
5507                                                                         \
5508     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5509     void removeFilter([in] IUnknown* pUnk);                             \
5510                                                                         \
5511     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5512     LONG clientHeight();                                                \
5513                                                                         \
5514     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5515     LONG clientWidth();                                                 \
5516                                                                         \
5517     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5518     LONG clientTop();                                                   \
5519                                                                         \
5520     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5521     LONG clientLeft();                                                  \
5522                                                                         \
5523     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5524     VARIANT_BOOL attachEvent(                                           \
5525             [in] BSTR event,                                            \
5526             [in] IDispatch* pDisp);                                     \
5527                                                                         \
5528     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5529     void detachEvent(                                                   \
5530             [in] BSTR event,                                            \
5531             [in] IDispatch* pDisp);                                     \
5532                                                                         \
5533     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5534                                                                         \
5535     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5536     void onreadystatechange(VARIANT v);                                 \
5537                                                                         \
5538     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5539     VARIANT onreadystatechange();                                       \
5540                                                                         \
5541     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5542     void onrowsdelete(VARIANT v);                                       \
5543                                                                         \
5544     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5545     VARIANT onrowsdelete();                                             \
5546                                                                         \
5547     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5548     void onrowsinserted(VARIANT v);                                     \
5549                                                                         \
5550     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5551     VARIANT onrowsinserted();                                           \
5552                                                                         \
5553     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5554     void oncellchange(VARIANT v);                                       \
5555                                                                         \
5556     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5557     VARIANT oncellchange();                                             \
5558                                                                         \
5559     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5560     void dir(BSTR v);                                                   \
5561                                                                         \
5562     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5563     BSTR dir();                                                         \
5564                                                                         \
5565     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5566     IDispatch* createControlRange();                                    \
5567                                                                         \
5568     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5569     LONG scrollHeight();                                                \
5570                                                                         \
5571     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5572     LONG scrollWidth();                                                 \
5573                                                                         \
5574     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5575     void scrollTop(LONG v);                                             \
5576                                                                         \
5577     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5578     LONG scrollTop();                                                   \
5579                                                                         \
5580     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5581     void scrollLeft(LONG v);                                            \
5582                                                                         \
5583     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5584     LONG scrollLeft();                                                  \
5585                                                                         \
5586     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5587     void clearAttributes();                                             \
5588                                                                         \
5589     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5590     void oncontextmenu(VARIANT v);                                      \
5591                                                                         \
5592     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5593     VARIANT oncontextmenu();                                            \
5594                                                                         \
5595     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5596     IHTMLElement* insertAdjacentElement(                                \
5597         [in] BSTR where,                                                \
5598         [in] IHTMLElement* insertedElement);                            \
5599                                                                         \
5600     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5601     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5602                                                                         \
5603     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5604     BSTR getAdjacentText([in] BSTR where);                              \
5605                                                                         \
5606     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5607     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5608                                                                         \
5609     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5610     VARIANT_BOOL canHaveChildren();                                     \
5611                                                                         \
5612     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5613     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5614                                                                         \
5615     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5616     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5617                                                                         \
5618     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5619     IHTMLStyle* runtimeStyle();                                         \
5620                                                                         \
5621     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5622     IDispatch* behaviorUrns();                                          \
5623                                                                         \
5624     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5625     void tagUrn(BSTR v);                                                \
5626                                                                         \
5627     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5628     BSTR tagUrn();                                                      \
5629                                                                         \
5630     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5631     void onbeforeeditfocus(VARIANT v);                                  \
5632                                                                         \
5633     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5634     VARIANT onbeforeeditfocus();                                        \
5635                                                                         \
5636     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5637     LONG readyStateValue();                                             \
5638                                                                         \
5639     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5640     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5641
5642 /*****************************************************************************
5643  *    IHTMLElement3 interface
5644  */
5645 [
5646     odl,
5647     oleautomation,
5648     dual,
5649     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5650 ]
5651 interface IHTMLElement3 : IDispatch
5652 {
5653     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5654     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5655
5656     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5657     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5658
5659     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5660     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5661
5662     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5663     HRESULT onlayoutcomplete([in] VARIANT v);
5664
5665     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5666     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5667
5668     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5669     HRESULT onpage([in] VARIANT v);
5670
5671     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5672     HRESULT onpage([retval, out] VARIANT * p);
5673
5674     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5675     HRESULT inflateBlock([in] VARIANT_BOOL v);
5676
5677     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5678     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5679
5680     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5681     HRESULT onbeforedeactivate([in] VARIANT v);
5682
5683     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5684     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5685
5686     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5687
5688     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5689     HRESULT contentEditable([in] BSTR v);
5690
5691     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5692     HRESULT contentEditable([retval, out] BSTR * p);
5693
5694     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5695     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5696
5697     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5698     HRESULT hideFocus([in] VARIANT_BOOL v);
5699
5700     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5701     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5702
5703     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5704     HRESULT disabled([in] VARIANT_BOOL v);
5705
5706     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5707     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5708
5709     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5710     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5711
5712     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5713     HRESULT onmove([in] VARIANT v);
5714
5715     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5716     HRESULT onmove([retval, out] VARIANT * p);
5717
5718     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5719     HRESULT oncontrolselect([in] VARIANT v);
5720
5721     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5722     HRESULT oncontrolselect([retval, out] VARIANT * p);
5723
5724     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5725     HRESULT fireEvent(
5726         [in] BSTR bstrEventName,
5727         [optional, in] VARIANT* pvarEventObject,
5728         [retval, out] VARIANT_BOOL* pfCancelled);
5729
5730     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5731     HRESULT onresizestart([in] VARIANT v);
5732
5733     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5734     HRESULT onresizestart([retval, out] VARIANT * p);
5735
5736     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5737     HRESULT onresizeend([in] VARIANT v);
5738
5739     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5740     HRESULT onresizeend([retval, out] VARIANT * p);
5741
5742     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5743     HRESULT onmovestart([in] VARIANT v);
5744
5745     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5746     HRESULT onmovestart([retval, out] VARIANT * p);
5747
5748     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5749     HRESULT onmoveend([in] VARIANT v);
5750
5751     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5752     HRESULT onmoveend([retval, out] VARIANT * p);
5753
5754     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5755     HRESULT onmouseenter([in] VARIANT v);
5756
5757     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5758     HRESULT onmouseenter([retval, out] VARIANT * p);
5759
5760     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5761     HRESULT onmouseleave([in] VARIANT v);
5762
5763     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5764     HRESULT onmouseleave([retval, out] VARIANT * p);
5765
5766     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5767     HRESULT onactivate([in] VARIANT v);
5768
5769     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5770     HRESULT onactivate([retval, out] VARIANT * p);
5771
5772     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5773     HRESULT ondeactivate([in] VARIANT v);
5774
5775     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5776     HRESULT ondeactivate([retval, out] VARIANT * p);
5777
5778     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5779     VARIANT_BOOL* pfRet);
5780
5781     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5782     HRESULT glyphMode([retval, out] LONG * p);
5783 }
5784
5785 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5786                                                                         \
5787     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5788     void mergeAttributes(                                               \
5789             [in] IHTMLElement* mergeThis,                               \
5790             [optional, in] VARIANT* pvarFlags);                         \
5791                                                                         \
5792     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5793     VARIANT_BOOL isMultiLine();                                         \
5794                                                                         \
5795     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5796     VARIANT_BOOL canHaveHTML();                                         \
5797                                                                         \
5798     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5799     void onlayoutcomplete(VARIANT v);                                   \
5800                                                                         \
5801     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5802     VARIANT onlayoutcomplete();                                         \
5803                                                                         \
5804     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5805     void onpage(VARIANT v);                                             \
5806                                                                         \
5807     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5808     VARIANT onpage();                                                   \
5809                                                                         \
5810     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5811     void inflateBlock(VARIANT_BOOL v);                                  \
5812                                                                         \
5813     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5814     VARIANT_BOOL inflateBlock();                                        \
5815                                                                         \
5816     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5817     void onbeforedeactivate(VARIANT v);                                 \
5818                                                                         \
5819     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5820     VARIANT onbeforedeactivate();                                       \
5821                                                                         \
5822     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5823     void setActive();                                                   \
5824                                                                         \
5825     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5826     void contentEditable(BSTR v);                                       \
5827                                                                         \
5828     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5829     BSTR contentEditable();                                             \
5830                                                                         \
5831     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5832     VARIANT_BOOL isContentEditable();                                   \
5833                                                                         \
5834     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5835     void hideFocus(VARIANT_BOOL v);                                     \
5836                                                                         \
5837     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5838     VARIANT_BOOL hideFocus();                                           \
5839                                                                         \
5840     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5841     void disabled(VARIANT_BOOL v);                                      \
5842                                                                         \
5843     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5844     VARIANT_BOOL disabled();                                            \
5845                                                                         \
5846     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5847     VARIANT_BOOL isDisabled();                                          \
5848                                                                         \
5849     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5850     void onmove(VARIANT v);                                             \
5851                                                                         \
5852     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5853     VARIANT onmove();                                                   \
5854                                                                         \
5855     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5856     void oncontrolselect(VARIANT v);                                    \
5857                                                                         \
5858     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5859     VARIANT oncontrolselect();                                          \
5860                                                                         \
5861     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5862     VARIANT_BOOL fireEvent(                                             \
5863         [in] BSTR bstrEventName,                                        \
5864         [optional, in] VARIANT* pvarEventObject);                       \
5865                                                                         \
5866     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5867     void onresizestart(VARIANT v);                                      \
5868                                                                         \
5869     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5870     VARIANT onresizestart();                                            \
5871                                                                         \
5872     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5873     void onresizeend(VARIANT v);                                        \
5874                                                                         \
5875     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5876     VARIANT onresizeend();                                              \
5877                                                                         \
5878     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5879     void onmovestart(VARIANT v);                                        \
5880                                                                         \
5881     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5882     VARIANT onmovestart();                                              \
5883                                                                         \
5884     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5885     void onmoveend(VARIANT v);                                          \
5886                                                                         \
5887     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5888     VARIANT onmoveend();                                                \
5889                                                                         \
5890     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5891     void onmouseenter(VARIANT v);                                       \
5892                                                                         \
5893     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5894     VARIANT onmouseenter();                                             \
5895                                                                         \
5896     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5897     void onmouseleave(VARIANT v);                                       \
5898                                                                         \
5899     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5900     VARIANT onmouseleave();                                             \
5901                                                                         \
5902     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5903     void onactivate(VARIANT v);                                         \
5904                                                                         \
5905     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5906     VARIANT onactivate();                                               \
5907                                                                         \
5908     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5909     void ondeactivate(VARIANT v);                                       \
5910                                                                         \
5911     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5912     VARIANT ondeactivate();                                             \
5913                                                                         \
5914     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5915     VARIANT_BOOL dragDrop();                                            \
5916                                                                         \
5917     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5918     LONG glyphMode()
5919
5920 /*****************************************************************************
5921  *    IHTMLElement4 interface
5922  */
5923 [
5924     odl,
5925     oleautomation,
5926     dual,
5927     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5928 ]
5929 interface IHTMLElement4 : IDispatch
5930 {
5931     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5932     HRESULT onmousewheel([in] VARIANT v);
5933
5934     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5935     HRESULT onmousewheel([retval, out] VARIANT * p);
5936
5937     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5938     HRESULT normalize();
5939
5940     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5941     HRESULT getAttributeNode([in] BSTR bstrname,
5942         [retval, out] IHTMLDOMAttribute** ppAttribute);
5943
5944     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5945     HRESULT setAttributeNode(
5946         [in] IHTMLDOMAttribute* pattr,
5947         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5948
5949     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5950     HRESULT removeAttributeNode(
5951         [in] IHTMLDOMAttribute* pattr,
5952         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5953
5954     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5955     HRESULT onbeforeactivate([in] VARIANT v);
5956
5957     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5958     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5959
5960     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5961     HRESULT onfocusin([in] VARIANT v);
5962
5963     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5964     HRESULT onfocusin([retval, out] VARIANT * p);
5965
5966     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5967     HRESULT onfocusout([in] VARIANT v);
5968
5969     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5970     HRESULT onfocusout([retval, out] VARIANT * p);
5971 }
5972
5973 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5974     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5975     void onmousewheel(VARIANT v);                                       \
5976                                                                         \
5977     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5978     VARIANT onmousewheel();                                             \
5979                                                                         \
5980     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5981     void normalize();                                                   \
5982                                                                         \
5983     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5984     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5985                                                                         \
5986     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5987     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5988                                                                         \
5989     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5990     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5991                                                                         \
5992     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5993     void onbeforeactivate(VARIANT v);                                   \
5994                                                                         \
5995     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5996     VARIANT onbeforeactivate();                                         \
5997                                                                         \
5998     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5999     void onfocusin(VARIANT v);                                          \
6000                                                                         \
6001     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
6002     VARIANT onfocusin();                                                \
6003                                                                         \
6004     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
6005     void onfocusout(VARIANT v);                                         \
6006                                                                         \
6007     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
6008     VARIANT onfocusout()
6009
6010 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
6011     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
6012     IHTMLElement *querySelector([in] BSTR v);                   \
6013                                                                 \
6014     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
6015     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
6016
6017 /*****************************************************************************
6018  *    IHTMLUniqueName interface
6019  */
6020 [
6021     odl,
6022     oleautomation,
6023     dual,
6024     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6025 ]
6026 interface IHTMLUniqueName : IDispatch
6027 {
6028     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6029     HRESULT uniqueNumber([retval, out] LONG * p);
6030
6031     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6032     HRESULT uniqueID([retval, out] BSTR * p);
6033 }
6034
6035 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
6036     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
6037     LONG uniqueNumber();                                        \
6038                                                                 \
6039     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
6040     BSTR uniqueID()
6041
6042 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
6043     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
6044     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
6045                                                                         \
6046     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
6047     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
6048                                                                         \
6049     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
6050     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
6051                                                                         \
6052     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
6053     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
6054                                                                         \
6055     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
6056     void role(BSTR v);                                                  \
6057                                                                         \
6058     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
6059     BSTR role();                                                        \
6060                                                                         \
6061     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
6062     void ariaBusy(BSTR v);                                              \
6063                                                                         \
6064     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
6065     BSTR ariaBusy();                                                    \
6066                                                                         \
6067     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
6068     void ariaChecked(BSTR v);                                           \
6069                                                                         \
6070     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
6071     BSTR ariaChecked();                                                 \
6072                                                                         \
6073     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
6074     void ariaDisabled(BSTR v);                                          \
6075                                                                         \
6076     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
6077     BSTR ariaDisabled();                                                \
6078                                                                         \
6079     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
6080     void ariaExpanded(BSTR v);                                          \
6081                                                                         \
6082     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
6083     BSTR ariaExpanded();                                                \
6084                                                                         \
6085     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
6086     void ariaHaspopup(BSTR v);                                          \
6087                                                                         \
6088     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
6089     BSTR ariaHaspopup();                                                \
6090                                                                         \
6091     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
6092     void ariaHidden(BSTR v);                                            \
6093                                                                         \
6094     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
6095     BSTR ariaHidden();                                                  \
6096                                                                         \
6097     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
6098     void ariaInvalid(BSTR v);                                           \
6099                                                                         \
6100     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
6101     BSTR ariaInvalid();                                                 \
6102                                                                         \
6103     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
6104     void ariaMultiselectable(BSTR v);                                   \
6105                                                                         \
6106     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
6107     BSTR ariaMultiselectable();                                         \
6108                                                                         \
6109     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6110     void ariaPressed(BSTR v);                                           \
6111                                                                         \
6112     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6113     BSTR ariaPressed();                                                 \
6114                                                                         \
6115     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6116     void ariaReadonly(BSTR v);                                          \
6117                                                                         \
6118     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6119     BSTR ariaReadonly();                                                \
6120                                                                         \
6121     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6122     void ariaRequired(BSTR v);                                          \
6123                                                                         \
6124     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6125     BSTR ariaRequired();                                                \
6126                                                                         \
6127     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6128     void ariaSecret(BSTR v);                                            \
6129                                                                         \
6130     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6131     BSTR ariaSecret();                                                  \
6132                                                                         \
6133     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6134     void ariaSelected(BSTR v);                                          \
6135                                                                         \
6136     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6137     BSTR ariaSelected();                                                \
6138                                                                         \
6139     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6140     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6141                                                                         \
6142     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6143     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6144                                                                         \
6145     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6146     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6147                                                                         \
6148     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6149     IHTMLAttributeCollection3 *ie8_attributes();                        \
6150                                                                         \
6151     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6152     void ariaValuenow(BSTR v);                                          \
6153                                                                         \
6154     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6155     BSTR ariaValuenow();                                                \
6156                                                                         \
6157     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6158     void ariaPosinset(short v);                                         \
6159                                                                         \
6160     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6161     short ariaPosinset();                                               \
6162                                                                         \
6163     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6164     void ariaSetsize(short v);                                          \
6165                                                                         \
6166     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6167     short ariaSetsize();                                                \
6168                                                                         \
6169     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6170     void ariaLevel(short v);                                            \
6171                                                                         \
6172     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6173     short ariaLevel();                                                  \
6174                                                                         \
6175     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6176     void ariaValuemin(BSTR v);                                          \
6177                                                                         \
6178     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6179     BSTR ariaValuemin();                                                \
6180                                                                         \
6181     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6182     void ariaValuemax(BSTR v);                                          \
6183                                                                         \
6184     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6185     BSTR ariaValuemax();                                                \
6186                                                                         \
6187     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6188     void ariaControls(BSTR v);                                          \
6189                                                                         \
6190     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6191     BSTR ariaControls();                                                \
6192                                                                         \
6193     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6194     void ariaDescribedby(BSTR v);                                       \
6195                                                                         \
6196     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6197     BSTR ariaDescribedby();                                             \
6198                                                                         \
6199     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6200     void ariaFlowto(BSTR v);                                            \
6201                                                                         \
6202     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6203     BSTR ariaFlowto();                                                  \
6204                                                                         \
6205     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6206     void ariaLabelledby(BSTR v);                                        \
6207                                                                         \
6208     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6209     BSTR ariaLabelledby();                                              \
6210                                                                         \
6211     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6212     void ariaActivedescendant(BSTR v);                                  \
6213                                                                         \
6214     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6215     BSTR ariaActivedescendant();                                        \
6216                                                                         \
6217     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6218     void ariaOwns(BSTR v);                                              \
6219                                                                         \
6220     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6221     BSTR ariaOwns();                                                    \
6222                                                                         \
6223     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6224     VARIANT_BOOL hasAttributes();                                       \
6225                                                                         \
6226     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6227     void ariaLive(BSTR v);                                              \
6228                                                                         \
6229     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6230     BSTR ariaLive();                                                    \
6231                                                                         \
6232     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6233     void ariaRelevant(BSTR v);                                          \
6234                                                                         \
6235     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6236     BSTR ariaRelevant()
6237
6238 [
6239     odl,
6240     oleautomation,
6241     dual,
6242     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6243 ]
6244 interface IHTMLDatabinding : IDispatch
6245 {
6246     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6247     HRESULT dataFld([in] BSTR v);
6248
6249     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6250     HRESULT dataFld([retval, out] BSTR * p);
6251
6252     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6253     HRESULT dataSrc([in] BSTR v);
6254
6255     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6256     HRESULT dataSrc([retval, out] BSTR * p);
6257
6258     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6259     HRESULT dataFormatAs([in] BSTR v);
6260
6261     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6262     HRESULT dataFormatAs([retval, out] BSTR * p);
6263 }
6264
6265 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6266     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6267     void dataFld(BSTR v);                               \
6268                                                         \
6269     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6270     BSTR dataFld();                                     \
6271                                                         \
6272     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6273     void dataSrc(BSTR v);                               \
6274                                                         \
6275     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6276     BSTR dataSrc();                                     \
6277                                                         \
6278     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6279     void dataFormatAs(BSTR v);                          \
6280                                                         \
6281     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6282     BSTR dataFormatAs()
6283
6284 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6285     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6286     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6287     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6288     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6289     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6290     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6291     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6292     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6293
6294 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6295     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6296     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6297     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6298     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6299     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6300     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6301     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6302     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6303     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6304     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6305
6306 /*****************************************************************************
6307  *    IHTMLGenericElement interface
6308  */
6309 [
6310     odl,
6311     oleautomation,
6312     dual,
6313     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6314 ]
6315 interface IHTMLGenericElement : IDispatch
6316 {
6317     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6318     HRESULT recordset([out, retval] IDispatch **p);
6319
6320     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6321     HRESULT namedRecordset(
6322             [in] BSTR dataMember,
6323             [in, optional] VARIANT *hierarchy,
6324             [out, retval] IDispatch **ppRecordset);
6325 }
6326
6327 /*****************************************************************************
6328  *    DispHTMLGenericElement dispinterface
6329  */
6330 [
6331     hidden,
6332     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6333 ]
6334 dispinterface DispHTMLGenericElement
6335 {
6336 properties:
6337 methods:
6338     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6339
6340     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6341     IDispatch *recordset();
6342
6343     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6344     IDispatch *namedRecordset(
6345             [in] BSTR dataMember,
6346             [in, optional] VARIANT *hierarchy);
6347 }
6348
6349 /*****************************************************************************
6350  *    IHTMLStyleSheetRule interface
6351  */
6352 [
6353     odl,
6354     oleautomation,
6355     dual,
6356     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6357 ]
6358 interface IHTMLStyleSheetRule : IDispatch
6359 {
6360     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6361     HRESULT selectorText([in] BSTR v);
6362
6363     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6364     HRESULT selectorText([retval, out] BSTR *p);
6365
6366     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6367     HRESULT style([retval, out] IHTMLRuleStyle **p);
6368
6369     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6370     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6371 }
6372
6373 [
6374     hidden,
6375     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6376 ]
6377 dispinterface DispHTMLStyleSheetRule
6378 {
6379 properties:
6380 methods:
6381     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6382     void selectorText(BSTR v);
6383
6384     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6385     BSTR selectorText();
6386
6387     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6388     IHTMLRuleStyle* style();
6389
6390     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6391     VARIANT_BOOL readOnly();
6392
6393     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6394 }
6395
6396 [
6397     noncreatable,
6398     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6399 ]
6400 coclass HTMLStyleSheetRule
6401 {
6402     [default]           dispinterface DispHTMLStyleSheetRule;
6403                         interface IHTMLStyleSheetRule;
6404                         interface IHTMLDOMConstructor;
6405 }
6406
6407 /*****************************************************************************
6408  *    IHTMLStyleSheetRulesCollection interface
6409  */
6410 [
6411     odl,
6412     oleautomation,
6413     dual,
6414     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6415 ]
6416 interface IHTMLStyleSheetRulesCollection : IDispatch
6417 {
6418     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6419     HRESULT length([retval, out] LONG *p);
6420
6421     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6422     HRESULT item(
6423         [in] LONG index,
6424         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6425 }
6426
6427 [
6428     hidden,
6429     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6430 ]
6431 dispinterface DispHTMLStyleSheetRulesCollection
6432 {
6433 properties:
6434 methods:
6435     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6436     long length();
6437
6438     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6439     IHTMLStyleSheetRule* item([in] long index);
6440
6441     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6442 }
6443
6444 [
6445     noncreatable,
6446     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6447 ]
6448 coclass HTMLStyleSheetRulesCollection
6449 {
6450     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6451                         interface IHTMLStyleSheetRulesCollection;
6452                         interface IHTMLDOMConstructor;
6453 }
6454
6455 [
6456     odl,
6457     oleautomation,
6458     dual,
6459     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6460 ]
6461 interface IHTMLStyleSheetPage : IDispatch
6462 {
6463     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6464     HRESULT selector([retval, out] BSTR *p);
6465
6466     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6467     HRESULT pseudoClass([retval, out] BSTR *p);
6468 }
6469
6470 [
6471     hidden,
6472     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6473 ]
6474 dispinterface DispHTMLStyleSheetPage
6475 {
6476 properties:
6477 methods:
6478     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6479     BSTR selector();
6480
6481     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6482     BSTR pseudoClass();
6483
6484     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6485 }
6486 [
6487     noncreatable,
6488     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6489 ]
6490 coclass HTMLStyleSheetPage
6491 {
6492     [default]           dispinterface DispHTMLStyleSheetPage;
6493                         interface IHTMLStyleSheetPage;
6494                         interface IHTMLDOMConstructor;
6495 }
6496
6497 [
6498     odl,
6499     oleautomation,
6500     dual,
6501     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6502 ]
6503 interface IHTMLStyleSheetPagesCollection : IDispatch
6504 {
6505     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6506     HRESULT length([retval, out] LONG *p);
6507
6508     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6509     HRESULT item(
6510         [in] LONG index,
6511         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6512 }
6513
6514 [
6515     hidden,
6516     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6517 ]
6518 dispinterface DispHTMLStyleSheetPagesCollection
6519 {
6520 properties:
6521 methods:
6522     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6523     long length();
6524
6525     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6526     IHTMLStyleSheetPage* item([in] long index);
6527
6528     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6529 }
6530
6531 [
6532     noncreatable,
6533     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6534 ]
6535 coclass HTMLStyleSheetPagesCollection
6536 {
6537     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6538                         interface IHTMLStyleSheetPagesCollection;
6539                         interface IHTMLDOMConstructor;
6540 }
6541
6542 /*****************************************************************************
6543  *    IHTMLStyleSheet interface
6544  */
6545 [
6546     odl,
6547     oleautomation,
6548     dual,
6549     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6550 ]
6551 interface IHTMLStyleSheet : IDispatch
6552 {
6553     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6554     HRESULT title([in] BSTR v);
6555
6556     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6557     HRESULT title([retval, out] BSTR *p);
6558
6559     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6560     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6561
6562     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6563     HRESULT owningElement([retval, out] IHTMLElement **p);
6564
6565     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6566     HRESULT disabled([in] VARIANT_BOOL v);
6567
6568     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6569     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6570
6571     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6572     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6573
6574     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6575     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6576
6577     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6578     HRESULT href([in] BSTR v);
6579
6580     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6581     HRESULT href([retval, out] BSTR *p);
6582
6583     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6584     HRESULT type([retval, out] BSTR *p);
6585
6586     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6587     HRESULT id([retval, out] BSTR *p);
6588
6589     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6590     HRESULT addImport(
6591         [in] BSTR bstrURL,
6592         [defaultvalue(-1), in] LONG lIndex,
6593         [retval, out] LONG *plIndex);
6594
6595     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6596     HRESULT addRule(
6597         [in] BSTR bstrSelector,
6598         [in] BSTR bstrStyle,
6599         [defaultvalue(-1), in] LONG lIndex,
6600         [retval, out] LONG *plNewIndex);
6601
6602     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6603     HRESULT removeImport([in] LONG lIndex);
6604
6605     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6606     HRESULT removeRule([in] LONG lIndex);
6607
6608     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6609     HRESULT media([in] BSTR v);
6610
6611     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6612     HRESULT media([retval, out] BSTR *p);
6613
6614     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6615     HRESULT cssText([in] BSTR v);
6616
6617     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6618     HRESULT cssText([retval, out] BSTR *p);
6619
6620     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6621     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6622 }
6623
6624 /*****************************************************************************
6625  *    IHTMLStyleSheet2 interface
6626  */
6627 [
6628     odl,
6629     oleautomation,
6630     dual,
6631     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6632 ]
6633 interface IHTMLStyleSheet2 : IDispatch
6634 {
6635     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6636     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6637
6638     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6639     HRESULT addPageRule(
6640         [in] BSTR bstrSelector,
6641         [in] BSTR bstrStyle,
6642         [defaultvalue(-1), in] LONG lIndex,
6643         [retval, out] LONG *plNewIndex);
6644 }
6645
6646 [
6647     hidden,
6648     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6649 ]
6650 dispinterface DispHTMLStyleSheet
6651 {
6652 properties:
6653 methods:
6654     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6655     void title(BSTR v);
6656
6657     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6658     BSTR title();
6659
6660     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6661     IHTMLStyleSheet* parentStyleSheet();
6662
6663     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6664     IHTMLElement* owningElement();
6665
6666     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6667     void disabled(VARIANT_BOOL v);
6668
6669     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6670     VARIANT_BOOL disabled();
6671
6672     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6673     VARIANT_BOOL readOnly();
6674
6675     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6676     IHTMLStyleSheetsCollection* imports();
6677
6678     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6679     void href(BSTR v);
6680
6681     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6682     BSTR href();
6683
6684     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6685     BSTR type();
6686
6687     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6688     BSTR id();
6689
6690     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6691     LONG addImport(
6692         [in] BSTR bstrURL,
6693         [defaultvalue(-1), in] LONG lIndex);
6694
6695     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6696     LONG addRule(
6697         [in] BSTR bstrSelector,
6698         [in] BSTR bstrStyle,
6699         [defaultvalue(-1), in] LONG lIndex);
6700
6701     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6702     void removeImport([in] LONG lIndex);
6703
6704     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6705     void removeRule([in] LONG lIndex);
6706
6707     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6708     void media(BSTR v);
6709
6710     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6711     BSTR media();
6712
6713     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6714     void cssText(BSTR v);
6715
6716     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6717     BSTR cssText();
6718
6719     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6720     IHTMLStyleSheetRulesCollection* rules();
6721
6722     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6723     IHTMLStyleSheetPagesCollection* pages();
6724
6725     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6726     LONG addPageRule(
6727         [in] BSTR bstrSelector,
6728         [in] BSTR bstrStyle,
6729         [defaultvalue(-1), in] LONG lIndex);
6730 }
6731
6732 [
6733     noncreatable,
6734     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6735 ]
6736 coclass HTMLStyleSheet
6737 {
6738     [default]           dispinterface DispHTMLStyleSheet;
6739                         interface IHTMLStyleSheet;
6740                         interface IHTMLStyleSheet2;
6741 }
6742
6743 /*****************************************************************************
6744  *    IHTMLStyleSheetsCollection interface
6745  */
6746 [
6747     odl,
6748     oleautomation,
6749     dual,
6750     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6751 ]
6752 interface IHTMLStyleSheetsCollection : IDispatch
6753 {
6754     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6755     HRESULT length([retval, out] LONG *p);
6756
6757     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6758     HRESULT _newEnum([retval, out] IUnknown **p);
6759
6760     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6761     HRESULT item(
6762         [in] VARIANT *pvarIndex,
6763         [retval, out] VARIANT *pvarResult);
6764 }
6765
6766 /*****************************************************************************
6767  *    DispHTMLStyleSheetsCollection dispinterface
6768  */
6769 [
6770     hidden,
6771     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6772 ]
6773 dispinterface DispHTMLStyleSheetsCollection
6774 {
6775 properties:
6776 methods:
6777     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6778     long length();
6779
6780     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6781     IUnknown *_newEnum();
6782
6783     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6784     VARIANT item([in] VARIANT *pvarIndex);
6785
6786     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6787     IDispatch *constructor();
6788 }
6789
6790 /*****************************************************************************
6791  *    IHTMLLinkElement interface
6792  */
6793 [
6794     odl,
6795     oleautomation,
6796     dual,
6797     uuid(3050f205-98b5-11cf-bb82-00aa00bdce0b)
6798 ]
6799 interface IHTMLLinkElement : IDispatch
6800 {
6801     [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6802     HRESULT href([in] BSTR v);
6803
6804     [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6805     HRESULT href([out, retval] BSTR *p);
6806
6807     [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6808     HRESULT rel([in] BSTR v);
6809
6810     [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6811     HRESULT rel([out, retval] BSTR *p);
6812
6813     [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6814     HRESULT rev([in] BSTR v);
6815
6816     [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6817     HRESULT rev([out, retval] BSTR *p);
6818
6819     [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6820     HRESULT type([in] BSTR v);
6821
6822     [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6823     HRESULT type([out, retval] BSTR *p);
6824
6825     [propget, id(DISPID_IHTMLLINKELEMENT_READYSTATE)]
6826     HRESULT readyState([out, retval] BSTR *p);
6827
6828     [propput, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
6829     HRESULT onreadystatechange([in] VARIANT v);
6830
6831     [propget, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
6832     HRESULT onreadystatechange([out, retval] VARIANT *p);
6833
6834     [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6835     HRESULT onload([in] VARIANT v);
6836
6837     [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6838     HRESULT onload([out, retval] VARIANT *p);
6839
6840     [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6841     HRESULT onerror([in] VARIANT v);
6842
6843     [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6844     HRESULT onerror([out, retval] VARIANT *p);
6845
6846     [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)]
6847     HRESULT styleSheet([out, retval] IHTMLStyleSheet **p);
6848
6849     [propput, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable]
6850     HRESULT disabled([in] VARIANT_BOOL v);
6851
6852     [propget, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable]
6853     HRESULT disabled([out, retval] VARIANT_BOOL *p);
6854
6855     [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6856     HRESULT media([in] BSTR v);
6857
6858     [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]\
6859     HRESULT media([out, retval] BSTR *p);
6860 }
6861
6862 /*****************************************************************************
6863  *    IHTMLLinkElement2 interface
6864  */
6865 [
6866     odl,
6867     oleautomation,
6868     dual,
6869     uuid(3050f4e5-98b5-11cf-bb82-00aa00bdce0b)
6870 ]
6871 interface IHTMLLinkElement2 : IDispatch
6872 {
6873     [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6874     HRESULT target([in] BSTR v);
6875
6876     [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6877     HRESULT target([out, retval] BSTR *p);
6878 }
6879
6880 /*****************************************************************************
6881  *    IHTMLLinkElement3 interface
6882  */
6883 [
6884     odl,
6885     oleautomation,
6886     dual,
6887     uuid(3050f81e-98b5-11cf-bb82-00aa00bdce0b)
6888 ]
6889 interface IHTMLLinkElement3 : IDispatch
6890 {
6891     [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6892     HRESULT charset([in] BSTR v);
6893
6894     [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6895     HRESULT charset([out, retval] BSTR *p);
6896
6897     [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6898     HRESULT hreflang([in] BSTR v);
6899
6900     [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6901     HRESULT hreflang([out, retval] BSTR *p);
6902 }
6903
6904 /*****************************************************************************
6905  *    IHTMLLinkElement4 interface
6906  */
6907 [
6908     odl,
6909     oleautomation,
6910     dual,
6911     uuid(3051043a-98b5-11cf-bb82-00aa00bdce0b)
6912 ]
6913 interface IHTMLLinkElement4 : IDispatch
6914 {
6915     [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
6916     HRESULT href([in] BSTR v);
6917
6918     [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
6919     HRESULT href([retval, out] BSTR * p);
6920 }
6921
6922 /*****************************************************************************
6923  *    DispHTMLLinkElement dispinterface
6924  */
6925 [
6926     hidden,
6927     uuid(3050f524-98b5-11cf-bb82-00aa00bdce0b)
6928 ]
6929 dispinterface DispHTMLLinkElement
6930 {
6931 properties:
6932 methods:
6933     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
6934
6935     [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6936     void href(BSTR v);
6937
6938     [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6939     BSTR href();
6940
6941     [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6942     void rel(BSTR v);
6943
6944     [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6945     BSTR rel();
6946
6947     [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6948     void rev(BSTR v);
6949
6950     [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6951     BSTR rev();
6952
6953     [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6954     void type(BSTR v);
6955
6956     [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6957     BSTR type();
6958
6959     [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6960     void onload(VARIANT v);
6961
6962     [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6963     VARIANT onload();
6964
6965     [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6966     void onerror(VARIANT v);
6967
6968     [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6969     VARIANT onerror();
6970
6971     [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)]
6972     IHTMLStyleSheet *styleSheet();
6973
6974     [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6975     void media(BSTR v);
6976
6977     [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6978     BSTR media();
6979
6980     [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6981     void target(BSTR v);
6982
6983     [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6984     BSTR target();
6985
6986     [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6987     void charset(BSTR v);
6988
6989     [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6990     BSTR charset();
6991
6992     [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6993     void hreflang(BSTR v);
6994
6995     [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6996     BSTR hreflang();
6997
6998     [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
6999     void ie8_href(BSTR v);
7000
7001     [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
7002     BSTR ie8_href();
7003 }
7004
7005 /*****************************************************************************
7006  *    IHTMLTxtRange interface
7007  */
7008 [
7009     odl,
7010     oleautomation,
7011     dual,
7012     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
7013 ]
7014 interface IHTMLTxtRange : IDispatch
7015 {
7016     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
7017     HRESULT htmlText([retval, out] BSTR *p);
7018
7019     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
7020     HRESULT text([in] BSTR v);
7021
7022     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
7023     HRESULT text([retval, out] BSTR *p);
7024
7025     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
7026     HRESULT parentElement([retval, out] IHTMLElement **parent);
7027
7028     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
7029     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
7030
7031     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
7032     HRESULT inRange(
7033         [in] IHTMLTxtRange *Range,
7034         [retval, out] VARIANT_BOOL *InRange);
7035
7036     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
7037     HRESULT isEqual(
7038         [in] IHTMLTxtRange *Range,
7039         [retval, out] VARIANT_BOOL *IsEqual);
7040
7041     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
7042     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
7043
7044     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
7045     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
7046
7047     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
7048     HRESULT expand(
7049         [in] BSTR Unit,
7050         [retval, out] VARIANT_BOOL *Success);
7051
7052     [id(DISPID_IHTMLTXTRANGE_MOVE)]
7053     HRESULT move(
7054         [in] BSTR Unit,
7055         [defaultvalue(1), in] LONG Count,
7056         [retval, out] LONG *ActualCount);
7057
7058     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
7059     HRESULT moveStart(
7060         [in] BSTR Unit,
7061         [defaultvalue(1), in] LONG Count,
7062         [retval, out] LONG *ActualCount);
7063
7064     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
7065     HRESULT moveEnd(
7066         [in] BSTR Unit,
7067         [defaultvalue(1), in] LONG Count,
7068         [retval, out] LONG *ActualCount);
7069
7070     [id(DISPID_IHTMLTXTRANGE_SELECT)]
7071     HRESULT select();
7072
7073     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
7074     HRESULT pasteHTML([in] BSTR html);
7075
7076     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
7077     HRESULT moveToElementText([in] IHTMLElement *element);
7078
7079     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
7080     HRESULT setEndPoint(
7081         [in] BSTR how,
7082         [in] IHTMLTxtRange *SourceRange);
7083
7084     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
7085     HRESULT compareEndPoints(
7086         [in] BSTR how,
7087         [in] IHTMLTxtRange *SourceRange,
7088         [retval, out] LONG *ret);
7089
7090     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
7091     HRESULT findText(
7092         [in] BSTR String,
7093         [defaultvalue(1073741823), in] LONG count,
7094         [defaultvalue(0), in] LONG Flags,
7095         [retval, out] VARIANT_BOOL *Success);
7096
7097     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
7098     HRESULT moveToPoint(
7099         [in] LONG x,
7100         [in] LONG y);
7101
7102     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
7103     HRESULT getBookmark([retval, out] BSTR *Boolmark);
7104
7105     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
7106     HRESULT moveToBookmark(
7107         [in] BSTR Bookmark,
7108         [retval, out] VARIANT_BOOL *Success);
7109
7110     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
7111     HRESULT queryCommandSupported(
7112         [in] BSTR cmdID,
7113         [retval, out] VARIANT_BOOL *pfRet);
7114
7115     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
7116     HRESULT queryCommandEnabled(
7117         [in] BSTR cmdID,
7118         [retval, out] VARIANT_BOOL *pfRet);
7119
7120     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
7121     HRESULT queryCommandState(
7122         [in] BSTR cmdID,
7123         [retval, out] VARIANT_BOOL *pfRet);
7124
7125     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
7126     HRESULT queryCommandIndeterm(
7127         [in] BSTR cmdID,
7128         [retval, out] VARIANT_BOOL *pfRet);
7129
7130     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
7131     HRESULT queryCommandText(
7132         [in] BSTR cmdID,
7133         [retval, out] BSTR *pcmdText);
7134
7135     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
7136     HRESULT queryCommandValue(
7137         [in] BSTR cmdID,
7138         [retval, out] VARIANT *pcmdValue);
7139
7140     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
7141     HRESULT execCommand(
7142         [in] BSTR cmdID,
7143         [defaultvalue(0), in] VARIANT_BOOL showUI,
7144         [optional, in] VARIANT value,
7145         [retval, out] VARIANT_BOOL *pfRet);
7146
7147     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
7148     HRESULT execCommandShowHelp(
7149         [in] BSTR cmdID,
7150         [retval, out] VARIANT_BOOL *pfRet);
7151 }
7152
7153 [
7154     noncreatable,
7155     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
7156 ]
7157 coclass HTMLStyleSheetsCollection
7158 {
7159     [default]           interface IHTMLStyleSheetsCollection;
7160 }
7161
7162 /*****************************************************************************
7163  *    IHTMLFormElement interface
7164  */
7165 [
7166     odl,
7167     oleautomation,
7168     dual,
7169     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
7170 ]
7171 interface IHTMLFormElement : IDispatch
7172 {
7173     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7174     HRESULT action([in] BSTR v);
7175
7176     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7177     HRESULT action([retval, out] BSTR *p);
7178
7179     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
7180     HRESULT dir([in] BSTR v);
7181
7182     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
7183     HRESULT dir([retval, out] BSTR *p);
7184
7185     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7186     HRESULT encoding([in] BSTR v);
7187
7188     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7189     HRESULT encoding([retval, out] BSTR *p);
7190
7191     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7192     HRESULT method([in] BSTR v);
7193
7194     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7195     HRESULT method([retval, out] BSTR *p);
7196
7197     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
7198     HRESULT elements([retval, out] IDispatch **p);
7199
7200     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7201     HRESULT target([in] BSTR v);
7202
7203     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7204     HRESULT target([retval, out] BSTR *p);
7205
7206     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
7207     HRESULT name([in] BSTR v);
7208
7209     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
7210     HRESULT name([retval, out] BSTR *p);
7211
7212     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7213     HRESULT onsubmit([in] VARIANT v);
7214
7215     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7216     HRESULT onsubmit([retval, out] VARIANT *p);
7217
7218     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7219     HRESULT onreset([in] VARIANT v);
7220
7221     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7222     HRESULT onreset([retval, out] VARIANT *p);
7223
7224     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
7225     HRESULT submit();
7226
7227     [id(DISPID_IHTMLFORMELEMENT_RESET)]
7228     HRESULT reset();
7229
7230     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7231     HRESULT length([in] LONG v);
7232
7233     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7234     HRESULT length([retval, out] LONG *p);
7235
7236     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
7237     HRESULT _newEnum([retval, out] IUnknown **p);
7238
7239     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
7240     HRESULT item(
7241         [optional, in] VARIANT name,
7242         [optional, in] VARIANT index,
7243         [retval, out] IDispatch **pdisp);
7244
7245     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7246     HRESULT tags(
7247         [in] VARIANT tagName,
7248         [retval, out] IDispatch **pdisp);
7249 }
7250
7251 /*****************************************************************************
7252  *    DispHTMLFormElement dispinterface
7253  */
7254 [
7255     hidden,
7256     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
7257 ]
7258 dispinterface DispHTMLFormElement
7259 {
7260 properties:
7261 methods:
7262     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7263
7264     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7265     void action(BSTR v);
7266
7267     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7268     BSTR action();
7269
7270     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7271     void encoding(BSTR v);
7272
7273     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7274     BSTR encoding();
7275
7276     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7277     void method(BSTR v);
7278
7279     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7280     BSTR method();
7281
7282     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
7283     IDispatch *elements();
7284
7285     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7286     void target(BSTR v);
7287
7288     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7289     BSTR target();
7290
7291     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
7292     void name(BSTR v);
7293
7294     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
7295     BSTR name();
7296
7297     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7298     void onsubmit(VARIANT v);
7299
7300     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7301     VARIANT onsubmit();
7302
7303     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7304     void onreset(VARIANT v);
7305
7306     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7307     VARIANT onreset();
7308
7309     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
7310     void submit();
7311
7312     [id(DISPID_IHTMLFORMELEMENT_RESET)]
7313     void reset();
7314
7315     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7316     void length(long v);
7317
7318     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7319     long length();
7320
7321     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
7322     IUnknown *_newEnum();
7323
7324     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
7325     IDispatch *item(VARIANT name, VARIANT index);
7326
7327     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7328     IDispatch *tags(VARIANT tagName);
7329 }
7330
7331 [
7332     hidden,
7333     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7334 ]
7335 dispinterface HTMLFormElementEvents
7336 {
7337 properties:
7338 methods:
7339     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7340     VARIANT_BOOL onhelp();
7341
7342     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7343     VARIANT_BOOL onclick();
7344
7345     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7346     VARIANT_BOOL ondblclick();
7347
7348     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7349     VARIANT_BOOL onkeypress();
7350
7351     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7352     void onkeydown();
7353
7354     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7355     void onkeyup();
7356
7357     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7358     void onmouseout();
7359
7360     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7361     void onmouseover();
7362
7363     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7364     void onmousemove();
7365
7366     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7367     void onmousedown();
7368
7369     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7370     void onmouseup();
7371
7372     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7373     VARIANT_BOOL onselectstart();
7374
7375     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7376     void onfilterchange();
7377
7378     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7379     VARIANT_BOOL ondragstart();
7380
7381     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7382     VARIANT_BOOL onbeforeupdate();
7383
7384     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7385     void onafterupdate();
7386
7387     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7388     VARIANT_BOOL onerrorupdate();
7389
7390     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7391     VARIANT_BOOL onrowexit();
7392
7393     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7394     void onrowenter();
7395
7396     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7397     void ondatasetchanged();
7398
7399     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7400     void ondataavailable();
7401
7402     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7403     void ondatasetcomplete();
7404
7405     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7406     void onlosecapture();
7407
7408     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7409     void onpropertychange();
7410
7411     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7412     void onscroll();
7413
7414     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7415     void onfocus();
7416
7417     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7418     void onblur();
7419
7420     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7421     void onresize();
7422
7423     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7424     VARIANT_BOOL ondrag();
7425
7426     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7427     void ondragend();
7428
7429     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7430     VARIANT_BOOL ondragenter();
7431
7432     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7433     VARIANT_BOOL ondragover();
7434
7435     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7436     void ondragleave();
7437
7438     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7439     VARIANT_BOOL ondrop();
7440
7441     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7442     VARIANT_BOOL onbeforecut();
7443
7444     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7445     VARIANT_BOOL oncut();
7446
7447     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7448     VARIANT_BOOL onbeforecopy();
7449
7450     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7451     VARIANT_BOOL oncopy();
7452
7453     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7454     VARIANT_BOOL onbeforepaste();
7455
7456     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7457     VARIANT_BOOL onpaste();
7458
7459     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7460     VARIANT_BOOL oncontextmenu();
7461
7462     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7463     void onrowsdelete();
7464
7465     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7466     void onrowsinserted();
7467
7468     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7469     void oncellchange();
7470
7471     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7472     void onreadystatechange();
7473
7474     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7475     void onbeforeeditfocus();
7476
7477     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7478     void onlayoutcomplete();
7479
7480     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7481     void onpage();
7482
7483     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7484     VARIANT_BOOL onbeforedeactivate();
7485
7486     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7487     VARIANT_BOOL onbeforeactivate();
7488
7489     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7490     void onmove();
7491
7492     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7493     VARIANT_BOOL oncontrolselect();
7494
7495     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7496     VARIANT_BOOL onmovestart();
7497
7498     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7499     void onmoveend();
7500
7501     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7502     VARIANT_BOOL onresizestart();
7503
7504     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7505     void onresizeend();
7506
7507     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7508     void onmouseenter();
7509
7510     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7511     void onmouseleave();
7512
7513     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7514     VARIANT_BOOL onmousewheel();
7515
7516     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7517     void onactivate();
7518
7519     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7520     void ondeactivate();
7521
7522     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7523     void onfocusin();
7524
7525     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7526     void onfocusout();
7527
7528     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7529     VARIANT_BOOL onsubmit();
7530
7531     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7532     VARIANT_BOOL onreset();
7533 }
7534
7535 interface IHTMLEventObj;
7536
7537 [
7538     hidden,
7539     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7540 ]
7541 dispinterface HTMLFormElementEvents2
7542 {
7543 properties:
7544 methods:
7545     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7546     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7547
7548     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7549     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7550
7551     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7552     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7553
7554     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7555     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7556
7557     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7558     void onkeydown([in] IHTMLEventObj* pEvtObj);
7559
7560     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7561     void onkeyup([in] IHTMLEventObj* pEvtObj);
7562
7563     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7564     void onmouseout([in] IHTMLEventObj* pEvtObj);
7565
7566     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7567     void onmouseover([in] IHTMLEventObj* pEvtObj);
7568
7569     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7570     void onmousemove([in] IHTMLEventObj* pEvtObj);
7571
7572     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7573     void onmousedown([in] IHTMLEventObj* pEvtObj);
7574
7575     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7576     void onmouseup([in] IHTMLEventObj* pEvtObj);
7577
7578     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7579     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7580
7581     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7582     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7583
7584     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7585     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7586
7587     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7588     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7589
7590     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7591     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7592
7593     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7594     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7595
7596     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7597     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7598
7599     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7600     void onrowenter([in] IHTMLEventObj* pEvtObj);
7601
7602     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7603     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7604
7605     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7606     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7607
7608     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7609     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7610
7611     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7612     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7613
7614     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7615     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7616
7617     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7618     void onscroll([in] IHTMLEventObj* pEvtObj);
7619
7620     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7621     void onfocus([in] IHTMLEventObj* pEvtObj);
7622
7623     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7624     void onblur([in] IHTMLEventObj* pEvtObj);
7625
7626     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7627     void onresize([in] IHTMLEventObj* pEvtObj);
7628
7629     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7630     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7631
7632     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7633     void ondragend([in] IHTMLEventObj* pEvtObj);
7634
7635     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7636     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7637
7638     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7639     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7640
7641     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7642     void ondragleave([in] IHTMLEventObj* pEvtObj);
7643
7644     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7645     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7646
7647     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7648     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7649
7650     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7651     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7652
7653     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7654     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7655
7656     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7657     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7658
7659     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7660     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7661
7662     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7663     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7664
7665     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7666     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7667
7668     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7669     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7670
7671     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7672     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7673
7674     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7675     void oncellchange([in] IHTMLEventObj* pEvtObj);
7676
7677     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7678     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7679
7680     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7681     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7682
7683     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7684     void onpage([in] IHTMLEventObj* pEvtObj);
7685
7686     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7687     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7688
7689     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7690     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7691
7692     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7693     void onactivate([in] IHTMLEventObj* pEvtObj);
7694
7695     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7696     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7697
7698     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7699     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7700
7701     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7702     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7703
7704     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7705     void onfocusin([in] IHTMLEventObj* pEvtObj);
7706
7707     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7708     void onfocusout([in] IHTMLEventObj* pEvtObj);
7709
7710     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7711     void onmove([in] IHTMLEventObj* pEvtObj);
7712
7713     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7714     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7715
7716     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7717     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7718
7719     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7720     void onmoveend([in] IHTMLEventObj* pEvtObj);
7721
7722     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7723     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7724
7725     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7726     void onresizeend([in] IHTMLEventObj* pEvtObj);
7727
7728     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7729     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7730
7731     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7732     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7733
7734     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7735     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7736 }
7737
7738 [
7739     noncreatable,
7740     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7741 ]
7742 coclass HTMLFormElement
7743 {
7744     [default]           dispinterface DispHTMLFormElement;
7745     [source, default]   dispinterface HTMLFormElementEvents;
7746     [source]            dispinterface HTMLFormElementEvents2;
7747                         interface IHTMLElement;
7748                         interface IHTMLElement2;
7749                         interface IHTMLElement3;
7750                         interface IHTMLElement4;
7751                         interface IHTMLUniqueName;
7752                         interface IHTMLDOMNode;
7753                         interface IHTMLDOMNode2;
7754                         interface IHTMLDOMConstructor;
7755                         interface IHTMLFormElement;
7756 }
7757
7758 /*****************************************************************************
7759  *    IHTMLTextContainer interface
7760  */
7761 [
7762     odl,
7763     oleautomation,
7764     dual,
7765     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7766 ]
7767 interface IHTMLTextContainer : IDispatch
7768 {
7769     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7770     HRESULT createControlRange([retval, out] IDispatch **range);
7771
7772     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7773     HRESULT scrollHeight([retval, out] LONG *p);
7774
7775     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7776     HRESULT scrollWidth([retval, out] LONG *p);
7777
7778     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7779     HRESULT scrollTop([in] LONG v);
7780
7781     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7782     HRESULT scrollTop([retval, out] LONG *p);
7783
7784     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7785     HRESULT scrollLeft([in] LONG v);
7786
7787     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7788     HRESULT scrollLeft([retval, out] LONG *p);
7789
7790     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7791     HRESULT onscroll([in] VARIANT v);
7792
7793     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7794     HRESULT onscroll([retval, out] VARIANT *p);
7795 }
7796
7797 /*****************************************************************************
7798  *    IHTMLImgElement interface
7799  */
7800 [
7801     odl,
7802     oleautomation,
7803     dual,
7804     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7805 ]
7806 interface IHTMLImgElement : IDispatch
7807 {
7808     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7809     HRESULT isMap([in] VARIANT_BOOL v);
7810
7811     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7812     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7813
7814     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7815     HRESULT useMap([in] BSTR v);
7816
7817     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7818     HRESULT useMap([retval, out] BSTR *p);
7819
7820     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7821     HRESULT mimeType([retval, out] BSTR *p);
7822
7823     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7824     HRESULT fileSize([retval, out] BSTR *p);
7825
7826     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7827     HRESULT fileCreatedDate([retval, out] BSTR *p);
7828
7829     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7830     HRESULT fileModifiedDate([retval, out] BSTR *p);
7831
7832     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7833     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7834
7835     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7836     HRESULT protocol([retval, out] BSTR *p);
7837
7838     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7839     HRESULT href([retval, out] BSTR *p);
7840
7841     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7842     HRESULT nameProp([retval, out] BSTR *p);
7843
7844     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7845     HRESULT border([in] VARIANT v);
7846
7847     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7848     HRESULT border([retval, out] VARIANT *p);
7849
7850     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7851     HRESULT vspace([in] LONG v);
7852
7853     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7854     HRESULT vspace([retval, out] LONG *p);
7855
7856     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7857     HRESULT hspace([in] LONG v);
7858
7859     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7860     HRESULT hspace([retval, out] LONG *p);
7861
7862     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7863     HRESULT alt([in] BSTR v);
7864
7865     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7866     HRESULT alt([retval, out] BSTR *p);
7867
7868     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7869     HRESULT src([in] BSTR v);
7870
7871     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7872     HRESULT src([retval, out] BSTR *p);
7873
7874     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7875     HRESULT lowsrc([in] BSTR v);
7876
7877     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7878     HRESULT lowsrc([retval, out] BSTR *p);
7879
7880     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7881     HRESULT vrml([in] BSTR v);
7882
7883     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7884     HRESULT vrml([retval, out] BSTR *p);
7885
7886     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7887     HRESULT dynsrc([in] BSTR v);
7888
7889     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7890     HRESULT dynsrc([retval, out] BSTR *p);
7891
7892     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7893     HRESULT readyState([retval, out] BSTR *p);
7894
7895     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7896     HRESULT complete([retval, out] VARIANT_BOOL *p);
7897
7898     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7899     HRESULT loop([in] VARIANT v);
7900
7901     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7902     HRESULT loop([retval, out] VARIANT *p);
7903
7904     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7905     HRESULT align([in] BSTR v);
7906
7907     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7908     HRESULT align([retval, out] BSTR *p);
7909
7910     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7911     HRESULT onload([in] VARIANT v);
7912
7913     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7914     HRESULT onload([retval, out] VARIANT *p);
7915
7916     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7917     HRESULT onerror([in] VARIANT v);
7918
7919     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7920     HRESULT onerror([retval, out] VARIANT *p);
7921
7922     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7923     HRESULT onabort([in] VARIANT v);
7924
7925     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7926     HRESULT onabort([retval, out] VARIANT *p);
7927
7928     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7929     HRESULT name([in] BSTR v);
7930
7931     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7932     HRESULT name([retval, out] BSTR *p);
7933
7934     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7935     HRESULT width([in] LONG v);
7936
7937     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7938     HRESULT width([retval, out] LONG *p);
7939
7940     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7941     HRESULT height([in] LONG v);
7942
7943     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7944     HRESULT height([retval, out] LONG *p);
7945
7946     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7947     HRESULT start([in] BSTR v);
7948
7949     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7950     HRESULT start([retval, out] BSTR *p);
7951 }
7952
7953 /*****************************************************************************
7954  *    IHTMLImageElementFactory interface
7955  */
7956 [
7957     odl,
7958     oleautomation,
7959     dual,
7960     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7961 ]
7962 interface IHTMLImageElementFactory : IDispatch
7963 {
7964     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7965     HRESULT create(
7966         [optional, in] VARIANT width,
7967         [optional, in] VARIANT height,
7968         [retval, out]  IHTMLImgElement **elem);
7969 }
7970
7971 /*****************************************************************************
7972  *    DispHTMLImg interface
7973  */
7974 [
7975     hidden,
7976     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7977 ]
7978 dispinterface DispHTMLImg
7979 {
7980 properties:
7981 methods:
7982     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7983
7984     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7985     void isMap(VARIANT_BOOL v);
7986
7987     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7988     VARIANT_BOOL isMap();
7989
7990     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7991     void useMap(BSTR v);
7992
7993     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7994     BSTR useMap();
7995
7996     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7997     BSTR mimeType();
7998
7999     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
8000     BSTR fileSize();
8001
8002     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
8003     BSTR fileCreatedDate();
8004
8005     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
8006     BSTR fileModifiedDate();
8007
8008     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
8009     BSTR fileUpdatedDate();
8010
8011     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
8012     BSTR protocol();
8013
8014     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
8015     BSTR href();
8016
8017     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
8018     BSTR nameProp();
8019
8020     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
8021     void border(VARIANT v);
8022
8023     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
8024     VARIANT border();
8025
8026     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
8027     void vspace(LONG v);
8028
8029     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
8030     LONG vspace();
8031
8032     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
8033     void hspace(LONG v);
8034
8035     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
8036     LONG hspace();
8037
8038     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
8039     void alt(BSTR v);
8040
8041     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
8042     BSTR alt();
8043
8044     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
8045     void src(BSTR v);
8046
8047     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
8048     BSTR src();
8049
8050     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
8051     void lowsrc(BSTR v);
8052
8053     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
8054     BSTR lowsrc();
8055
8056     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
8057     void vrml(BSTR v);
8058
8059     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
8060     BSTR vrml();
8061
8062     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
8063     void dynsrc(BSTR v);
8064
8065     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
8066     BSTR dynsrc();
8067
8068     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
8069     VARIANT_BOOL complete();
8070
8071     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
8072     void loop(VARIANT v);
8073
8074     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
8075     VARIANT loop();
8076
8077     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
8078     void align(BSTR v);
8079
8080     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
8081     BSTR align();
8082
8083     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
8084     void onload(VARIANT v);
8085
8086     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
8087     VARIANT onload();
8088
8089     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
8090     void onerror(VARIANT v);
8091
8092     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
8093     VARIANT onerror();
8094
8095     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
8096     void onabort(VARIANT v);
8097
8098     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
8099     VARIANT onabort();
8100
8101     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
8102     void name(BSTR v);
8103
8104     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
8105     BSTR name();
8106
8107     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8108     void width(LONG v);
8109
8110     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8111     LONG width();
8112
8113     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8114     void height(LONG v);
8115
8116     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8117     LONG height();
8118
8119     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
8120     void start(BSTR v);
8121
8122     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
8123     BSTR start();
8124
8125     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
8126     void longDesc(BSTR v);
8127
8128     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
8129     BSTR longDesc();
8130 }
8131
8132 /*****************************************************************************
8133  *    IHTMLXMLHttpRequest interface
8134  */
8135 [
8136     odl,
8137     oleautomation,
8138     dual,
8139     uuid(3051040a-98b5-11cf-bb82-00aa00bdce0b)
8140 ]
8141 interface IHTMLXMLHttpRequest : IDispatch
8142 {
8143     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
8144     HRESULT readyState([out, retval] long *p);
8145
8146     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
8147     HRESULT responseBody([out, retval] VARIANT *p);
8148
8149     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
8150     HRESULT responseText([out, retval] BSTR *p);
8151
8152     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
8153     HRESULT responseXML([out, retval] IDispatch **p);
8154
8155     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
8156     HRESULT status([out, retval] long *p);
8157
8158     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
8159     HRESULT statusText([out, retval] BSTR *p);
8160
8161     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8162     HRESULT onreadystatechange([in] VARIANT v);
8163
8164     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8165     HRESULT onreadystatechange([out, retval] VARIANT *p);
8166
8167     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)] HRESULT abort();
8168
8169     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
8170     HRESULT open(
8171             [in] BSTR bstrMethod,
8172             [in] BSTR bstrUrl,
8173             [in] VARIANT varAsync,
8174             [in, optional] VARIANT varUser,
8175             [in, optional] VARIANT varPassword);
8176
8177     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
8178     HRESULT send([in, optional] VARIANT varBody);
8179
8180     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
8181     HRESULT getAllResponseHeaders([out, retval] BSTR *p);
8182
8183     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
8184     HRESULT getResponseHeader(
8185             [in] BSTR bstrHeader,
8186             [out, retval] BSTR *p);
8187
8188     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
8189     HRESULT setRequestHeader(
8190             [in] BSTR bstrHeader,
8191             [in] BSTR bstrValue);
8192 }
8193
8194 /*****************************************************************************
8195  *    IHTMLXMLHttpRequest2 interface
8196  */
8197 [
8198     odl,
8199     oleautomation,
8200     dual,
8201     uuid(30510482-98b5-11cf-bb82-00aa00bdce0b)
8202 ]
8203 interface IHTMLXMLHttpRequest2 : IDispatch
8204 {
8205     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8206     HRESULT timeout([in] long v);
8207
8208     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8209     HRESULT timeout([out, retval] long *p);
8210
8211     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8212     HRESULT ontimeout([in] VARIANT v);
8213
8214     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8215     HRESULT ontimeout([out, retval] VARIANT *p);
8216 }
8217
8218 /*****************************************************************************
8219  *    IHTMLXMLHttpRequestFactory interface
8220  */
8221 [
8222     odl,
8223     oleautomation,
8224     dual,
8225     uuid(3051040c-98b5-11cf-bb82-00aa00bdce0b)
8226 ]
8227 interface IHTMLXMLHttpRequestFactory : IDispatch
8228 {
8229     [id(DISPID_IHTMLXMLHTTPREQUESTFACTORY_CREATE)]
8230     HRESULT create([out, retval] IHTMLXMLHttpRequest **p);
8231 }
8232
8233 /*****************************************************************************
8234  *    DispHTMLXMLHttpRequest dispinterface
8235  */
8236 [
8237     hidden,
8238     uuid(3050f596-98b5-11cf-bb82-00aa00bdce0b)
8239 ]
8240 dispinterface DispHTMLXMLHttpRequest
8241 {
8242 properties:
8243 methods:
8244     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
8245     long readyState();
8246
8247     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
8248     VARIANT responseBody();
8249
8250     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
8251     BSTR responseText();
8252
8253     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
8254     IDispatch *responseXML();
8255
8256     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
8257     long status();
8258
8259     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
8260     BSTR statusText();
8261
8262     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8263     void onreadystatechange(VARIANT v);
8264
8265     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8266     VARIANT onreadystatechange();
8267
8268     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)]
8269     void abort();
8270
8271     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
8272     void open(
8273             [in] BSTR bstrMethod,
8274             [in] BSTR bstrUrl,
8275             [in] VARIANT varAsync,
8276             [in, optional] VARIANT varUser,
8277             [in, optional] VARIANT varPassword);
8278
8279     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
8280     void send([in, optional] VARIANT varBody);
8281
8282     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
8283     BSTR getAllResponseHeaders();
8284
8285     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
8286     BSTR getResponseHeader([in] BSTR bstrHeader);
8287
8288     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
8289     void setRequestHeader(
8290             [in] BSTR bstrHeader,
8291             [in] BSTR bstrValue);
8292
8293     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8294     void timeout(long v);
8295
8296     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8297     long timeout();
8298
8299     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8300     void ontimeout(VARIANT v);
8301
8302     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8303     VARIANT ontimeout();
8304
8305     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
8306
8307
8308     [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
8309     void addEventListener(
8310             [in] BSTR type,
8311             [in] IDispatch *listener,
8312             [in] VARIANT_BOOL useCapture);
8313
8314     [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
8315     void removeEventListener(
8316             [in] BSTR type,
8317             [in] IDispatch *listener,
8318             [in] VARIANT_BOOL useCapture);
8319
8320     [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
8321     VARIANT_BOOL dispatchEvent([in] IDOMEvent *evt);
8322 }
8323
8324 /*****************************************************************************
8325  *    IHTMLControlElement interface
8326  */
8327 [
8328     odl,
8329     oleautomation,
8330     dual,
8331     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
8332 ]
8333 interface IHTMLControlElement : IDispatch
8334 {
8335     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8336     HRESULT tabIndex([in] short v);
8337
8338     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8339     HRESULT tabIndex([retval, out] short * p);
8340
8341     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
8342     HRESULT focus();
8343
8344     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8345     HRESULT accessKey([in] BSTR v);
8346
8347     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8348     HRESULT accessKey([retval, out] BSTR * p);
8349
8350     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8351     HRESULT onblur([in] VARIANT v);
8352
8353     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8354     HRESULT onblur([retval, out] VARIANT * p);
8355
8356     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8357     HRESULT onfocus([in] VARIANT v);
8358
8359     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8360     HRESULT onfocus([retval, out] VARIANT * p);
8361
8362     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8363     HRESULT onresize([in] VARIANT v);
8364
8365     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8366     HRESULT onresize([retval, out] VARIANT * p);
8367
8368     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
8369     HRESULT blur();
8370
8371     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
8372     HRESULT addFilter([in] IUnknown* pUnk);
8373
8374     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
8375     HRESULT removeFilter([in] IUnknown* pUnk);
8376
8377     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
8378     HRESULT clientHeight([retval, out] LONG * p);
8379
8380     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
8381     HRESULT clientWidth([retval, out] LONG * p);
8382
8383     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
8384     HRESULT clientTop([retval, out] LONG * p);
8385
8386     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
8387     HRESULT clientLeft([retval, out] LONG * p);
8388 }
8389
8390 /*****************************************************************************
8391  *    IHTMLBodyElement interface
8392  */
8393 [
8394     odl,
8395     oleautomation,
8396     dual,
8397     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
8398 ]
8399 interface IHTMLBodyElement : IDispatch
8400 {
8401     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8402     HRESULT background([in] BSTR v);
8403
8404     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8405     HRESULT background([retval, out] BSTR *p);
8406
8407     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8408     HRESULT bgProperties([in] BSTR v);
8409
8410     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8411     HRESULT bgProperties([retval, out] BSTR *p);
8412
8413     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8414     HRESULT leftMargin([in] VARIANT v);
8415
8416     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8417     HRESULT leftMargin([retval, out] VARIANT *p);
8418
8419     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8420     HRESULT topMargin([in] VARIANT v);
8421
8422     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8423     HRESULT topMargin([retval, out] VARIANT *p);
8424
8425     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8426     HRESULT rightMargin([in] VARIANT v);
8427
8428     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8429     HRESULT rightMargin([retval, out] VARIANT *p);
8430
8431     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8432     HRESULT bottomMargin([in] VARIANT v);
8433
8434     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8435     HRESULT bottomMargin([retval, out] VARIANT *p);
8436
8437     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8438     HRESULT noWrap([in] VARIANT_BOOL v);
8439
8440     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8441     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
8442
8443     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8444     HRESULT bgColor([in] VARIANT v);
8445
8446     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8447     HRESULT bgColor([retval, out] VARIANT *p);
8448
8449     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8450     HRESULT text([in] VARIANT v);
8451
8452     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8453     HRESULT text([retval, out] VARIANT *p);
8454
8455     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8456     HRESULT link([in] VARIANT v);
8457
8458     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8459     HRESULT link([retval, out] VARIANT *p);
8460
8461     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8462     HRESULT vLink([in] VARIANT v);
8463
8464     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8465     HRESULT vLink([retval, out] VARIANT *p);
8466
8467     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8468     HRESULT aLink([in] VARIANT v);
8469
8470     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8471     HRESULT aLink([retval, out] VARIANT *p);
8472
8473     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8474     HRESULT onload([in] VARIANT v);
8475
8476     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8477     HRESULT onload([retval, out] VARIANT *p);
8478
8479     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8480     HRESULT onunload([in] VARIANT v);
8481
8482     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8483     HRESULT onunload([retval, out] VARIANT *p);
8484
8485     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8486     HRESULT scroll([in] BSTR v);
8487
8488     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8489     HRESULT scroll([retval, out] BSTR *p);
8490
8491     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8492     HRESULT onselect([in] VARIANT v);
8493
8494     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8495     HRESULT onselect([retval, out] VARIANT *p);
8496
8497     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8498     HRESULT onbeforeunload([in] VARIANT v);
8499
8500     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8501     HRESULT onbeforeunload([retval, out] VARIANT *p);
8502
8503     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8504     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8505 }
8506
8507 /*****************************************************************************
8508  *    IHTMLBodyElement2 interface
8509  */
8510 [
8511     odl,
8512     oleautomation,
8513     dual,
8514     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
8515 ]
8516 interface IHTMLBodyElement2 : IDispatch
8517 {
8518     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8519     HRESULT onbeforeprint([in] VARIANT v);
8520
8521     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8522     HRESULT onbeforeprint([retval, out] VARIANT *p);
8523
8524     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8525     HRESULT onafterprint([in] VARIANT v);
8526
8527     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8528     HRESULT onafterprint([retval, out] VARIANT *p);
8529 }
8530
8531 [
8532     hidden,
8533     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8534 ]
8535 dispinterface DispHTMLBody
8536 {
8537 properties:
8538 methods:
8539     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8540
8541     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8542     void background(BSTR v);
8543
8544     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8545     BSTR background();
8546
8547     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8548     void bgProperties(BSTR v);
8549
8550     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8551     BSTR bgProperties();
8552
8553     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8554     void leftMargin(VARIANT v);
8555
8556     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8557     VARIANT leftMargin();
8558
8559     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8560     void topMargin(VARIANT v);
8561
8562     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8563     VARIANT topMargin();
8564
8565     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8566     void rightMargin(VARIANT v);
8567
8568     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8569     VARIANT rightMargin();
8570
8571     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8572     void bottomMargin(VARIANT v);
8573
8574     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8575     VARIANT bottomMargin();
8576
8577     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8578     void noWrap(VARIANT_BOOL v);
8579
8580     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8581     VARIANT_BOOL noWrap();
8582
8583     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8584     void bgColor(VARIANT v);
8585
8586     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8587     VARIANT bgColor();
8588
8589     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8590     void text(VARIANT v);
8591
8592     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8593     VARIANT text();
8594
8595     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8596     void link(VARIANT v);
8597
8598     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8599     VARIANT link();
8600
8601     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8602     void vLink(VARIANT v);
8603
8604     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8605     VARIANT vLink();
8606
8607     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8608     void aLink(VARIANT v);
8609
8610     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8611     VARIANT aLink();
8612
8613     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8614     void onload(VARIANT v);
8615
8616     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8617     VARIANT onload();
8618
8619     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8620     void onunload(VARIANT v);
8621
8622     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8623     VARIANT onunload();
8624
8625     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8626     void scroll(BSTR v);
8627
8628     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8629     BSTR scroll();
8630
8631     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8632     void onselect(VARIANT v);
8633
8634     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8635     VARIANT onselect();
8636
8637     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8638     void onbeforeunload(VARIANT v);
8639
8640     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8641     VARIANT onbeforeunload();
8642
8643     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8644     IHTMLTxtRange* createTextRange();
8645
8646     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8647     void onbeforeprint(VARIANT v);
8648
8649     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8650     VARIANT onbeforeprint();
8651
8652     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8653     void onafterprint(VARIANT v);
8654
8655     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8656     VARIANT onafterprint();
8657 }
8658
8659 [
8660     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8661 ]
8662 coclass HTMLBody
8663 {
8664     [default]           dispinterface DispHTMLBody;
8665     [source, default]   dispinterface HTMLTextContainerEvents;
8666     [source]            dispinterface HTMLTextContainerEvents2;
8667                         interface IHTMLElement;
8668                         interface IHTMLElement2;
8669                         interface IHTMLElement3;
8670                         interface IHTMLElement4;
8671                         interface IHTMLUniqueName;
8672                         interface IHTMLDOMNode;
8673                         interface IHTMLDOMNode2;
8674                         interface IHTMLControlElement;
8675                         interface IHTMLTextContainer;
8676                         interface IHTMLBodyElement;
8677                         interface IHTMLBodyElement2;
8678 }
8679
8680 /*****************************************************************************
8681  *    IHTMLAnchorElement interface
8682  */
8683 [
8684     odl,
8685     oleautomation,
8686     dual,
8687     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8688 ]
8689 interface IHTMLAnchorElement : IDispatch
8690 {
8691     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8692     HRESULT href([in] BSTR v);
8693
8694     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8695     HRESULT href([retval, out] BSTR *p);
8696
8697     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8698     HRESULT target([in] BSTR v);
8699
8700     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8701     HRESULT target([retval, out] BSTR *p);
8702
8703     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8704     HRESULT rel([in] BSTR v);
8705
8706     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8707     HRESULT rel([retval, out] BSTR *p);
8708
8709     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8710     HRESULT rev([in] BSTR v);
8711
8712     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8713     HRESULT rev([retval, out] BSTR *p);
8714
8715     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8716     HRESULT urn([in] BSTR v);
8717
8718     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8719     HRESULT urn([retval, out] BSTR *p);
8720
8721     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8722     HRESULT Methods([in] BSTR v);
8723
8724     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8725     HRESULT Methods([retval, out] BSTR *p);
8726
8727     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8728     HRESULT name([in] BSTR v);
8729
8730     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8731     HRESULT name([retval, out] BSTR *p);
8732
8733     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8734     HRESULT host([in] BSTR v);
8735
8736     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8737     HRESULT host([retval, out] BSTR *p);
8738
8739     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8740     HRESULT hostname([in] BSTR v);
8741
8742     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8743     HRESULT hostname([retval, out] BSTR *p);
8744
8745     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8746     HRESULT pathname([in] BSTR v);
8747
8748     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8749     HRESULT pathname([retval, out] BSTR *p);
8750
8751     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8752     HRESULT port([in] BSTR v);
8753
8754     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8755     HRESULT port([retval, out] BSTR *p);
8756
8757     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8758     HRESULT protocol([in] BSTR v);
8759
8760     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8761     HRESULT protocol([retval, out] BSTR *p);
8762
8763     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8764     HRESULT search([in] BSTR v);
8765
8766     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8767     HRESULT search([retval, out] BSTR *p);
8768
8769     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8770     HRESULT hash([in] BSTR v);
8771
8772     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8773     HRESULT hash([retval, out] BSTR *p);
8774
8775     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8776     HRESULT onblur([in] VARIANT v);
8777
8778     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8779     HRESULT onblur([retval, out] VARIANT *p);
8780
8781     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8782     HRESULT onfocus([in] VARIANT v);
8783
8784     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8785     HRESULT onfocus([retval, out] VARIANT *p);
8786
8787     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8788     HRESULT accessKey([in] BSTR v);
8789
8790     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8791     HRESULT accessKey([retval, out] BSTR *p);
8792
8793     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8794     HRESULT protocolLong([retval, out] BSTR *p);
8795
8796     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8797     HRESULT mimeType([retval, out] BSTR *p);
8798
8799     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8800     HRESULT nameProp([retval, out] BSTR *p);
8801
8802     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8803     HRESULT tabIndex([in] short v);
8804
8805     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8806     HRESULT tabIndex([retval, out] short *p);
8807
8808     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8809     HRESULT focus();
8810
8811     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8812     HRESULT blur();
8813 }
8814
8815 /*****************************************************************************
8816  *    DispHTMLAnchorElement dispinterface
8817  */
8818 [
8819     hidden,
8820     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8821 ]
8822 dispinterface DispHTMLAnchorElement
8823 {
8824 properties:
8825 methods:
8826     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8827
8828     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8829     void href(BSTR v);
8830
8831     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8832     BSTR href();
8833
8834     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8835     void target(BSTR v);
8836
8837     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8838     BSTR target();
8839
8840     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8841     void rel(BSTR v);
8842
8843     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8844     BSTR rel();
8845
8846     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8847     void rev(BSTR v);
8848
8849     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8850     BSTR rev();
8851
8852     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8853     void urn(BSTR v);
8854
8855     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8856     BSTR urn();
8857
8858     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8859     void Methods(BSTR v);
8860
8861     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8862     BSTR Methods();
8863
8864     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8865     void name(BSTR v);
8866
8867     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8868     BSTR name();
8869
8870     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8871     void host(BSTR v);
8872
8873     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8874     BSTR host();
8875
8876     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8877     void hostname(BSTR v);
8878
8879     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8880     BSTR hostname();
8881
8882     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8883     void pathname(BSTR v);
8884
8885     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8886     BSTR pathname();
8887
8888     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8889     void port(BSTR v);
8890
8891     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8892     BSTR port();
8893
8894     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8895     void protocol(BSTR v);
8896
8897     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8898     BSTR protocol();
8899
8900     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8901     void search(BSTR v);
8902
8903     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8904     BSTR search();
8905
8906     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8907     void hash(BSTR v);
8908
8909     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8910     BSTR hash();
8911
8912     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8913     BSTR protocolLong();
8914
8915     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8916     BSTR mimeType();
8917
8918     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8919     BSTR nameProp();
8920
8921     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8922     void charset(BSTR v);
8923
8924     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8925     BSTR charset();
8926
8927     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8928     void coords(BSTR v);
8929
8930     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8931     BSTR coords();
8932
8933     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8934     void hreflang(BSTR v);
8935
8936     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8937     BSTR hreflang();
8938
8939     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8940     void shape(BSTR v);
8941
8942     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8943     BSTR shape();
8944
8945     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8946     void type(BSTR v);
8947
8948     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8949     BSTR type();
8950
8951     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8952     void ie8_shape(BSTR v);
8953
8954     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8955     BSTR ie8_shape();
8956
8957     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8958     void ie8_coords(BSTR v);
8959
8960     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8961     BSTR ie8_coords();
8962
8963     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8964     void ie8_href(BSTR v);
8965
8966     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8967     BSTR ie8_href();
8968 }
8969
8970 /*****************************************************************************
8971  *    IHTMLLabelElement interface
8972  */
8973 [
8974     odl,
8975     oleautomation,
8976     dual,
8977     uuid(3050f32a-98b5-11cf-bb82-00aa00bdce0b)
8978 ]
8979 interface IHTMLLabelElement : IDispatch
8980 {
8981     [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
8982     HRESULT htmlFor([in] BSTR v);
8983
8984     [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
8985     HRESULT htmlFor([out, retval] BSTR *p);
8986
8987     [propput, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable]
8988     HRESULT accessKey([in] BSTR v);
8989
8990     [propget, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable]
8991     HRESULT accessKey([out, retval] BSTR *p);
8992 }
8993
8994 /*****************************************************************************
8995  *    IHTMLLabelElement2 interface
8996  */
8997 [
8998     odl,
8999     oleautomation,
9000     dual,
9001     uuid(3050f832-98b5-11cf-bb82-00aa00bdce0b)
9002 ]
9003 interface IHTMLLabelElement2 : IDispatch
9004 {
9005     [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)]
9006     HRESULT form([out, retval] IHTMLFormElement **p);
9007 }
9008
9009 /*****************************************************************************
9010  *    DispHTMLLabelElement dispinterface
9011  */
9012 [
9013     hidden,
9014     uuid(3050f522-98b5-11cf-bb82-00aa00bdce0b)
9015 ]
9016 dispinterface DispHTMLLabelElement
9017 {
9018 properties:
9019 methods:
9020     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9021
9022     [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9023     void htmlFor(BSTR v);
9024
9025     [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9026     BSTR htmlFor();
9027
9028     [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)]
9029     IHTMLFormElement *form();
9030 }
9031
9032 /*****************************************************************************
9033  *    IHTMLElementCollection interface
9034  */
9035 [
9036     odl,
9037     oleautomation,
9038     dual,
9039     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
9040 ]
9041 interface IHTMLElementCollection : IDispatch
9042 {
9043     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
9044     HRESULT toString([retval, out] BSTR *String);
9045
9046     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9047     HRESULT length([in] LONG v);
9048
9049     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9050     HRESULT length([retval, out] LONG *p);
9051
9052     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
9053     HRESULT _newEnum([retval, out] IUnknown **p);
9054
9055     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
9056     HRESULT item(
9057         [optional, in] VARIANT name,
9058         [optional, in] VARIANT index,
9059         [retval,  out] IDispatch **pdisp);
9060
9061     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9062     HRESULT tags(
9063         [in] VARIANT tagName,
9064         [retval, out] IDispatch **pdisp);
9065 }
9066
9067 /*****************************************************************************
9068  *    DispHTMLElementCollection dispinterface
9069  */
9070 [
9071     hidden,
9072     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
9073 ]
9074 dispinterface DispHTMLElementCollection
9075 {
9076 properties:
9077 methods:
9078     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
9079     BSTR toString();
9080
9081     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9082     void length(LONG v);
9083
9084     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9085     LONG length();
9086
9087     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
9088     IUnknown *_newEnum();
9089
9090     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
9091     IDispatch *item(
9092             [in, optional] VARIANT name,
9093             [in, optional] VARIANT index);
9094
9095     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9096     IDispatch *tags(
9097             [in] VARIANT tagName);
9098
9099     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
9100     IDispatch *urns([in] VARIANT urn);
9101
9102     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
9103     IDispatch *namedItem([in] BSTR name);
9104 }
9105
9106 /*****************************************************************************
9107  *    IHTMLSelectElement interface
9108  */
9109 [
9110     odl,
9111     oleautomation,
9112     dual,
9113     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
9114 ]
9115 interface IHTMLSelectElement : IDispatch
9116 {
9117     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9118     HRESULT size([in] LONG v);
9119
9120     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9121     HRESULT size([retval, out] LONG *p);
9122
9123     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9124     HRESULT multiple([in] VARIANT_BOOL v);
9125
9126     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9127     HRESULT multiple([retval, out] VARIANT_BOOL *p);
9128
9129     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9130     HRESULT name([in] BSTR v);
9131
9132     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9133     HRESULT name([retval, out] BSTR *p);
9134
9135     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9136     HRESULT options([retval, out] IDispatch **p);
9137
9138     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9139     HRESULT onchange([in] VARIANT v);
9140
9141     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9142     HRESULT onchange([retval, out] VARIANT *p);
9143
9144     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9145     HRESULT selectedIndex([in] LONG v);
9146
9147     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9148     HRESULT selectedIndex([retval, out] LONG *p);
9149
9150     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9151     HRESULT type([retval, out] BSTR *p);
9152
9153     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9154     HRESULT value([in] BSTR v);
9155
9156     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9157     HRESULT value([retval, out] BSTR *p);
9158
9159     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9160     HRESULT disabled([in] VARIANT_BOOL v);
9161
9162     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9163     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9164
9165     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9166     HRESULT form([retval, out] IHTMLFormElement **p);
9167
9168     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9169     HRESULT add(
9170         [in] IHTMLElement *element,
9171         [optional, in] VARIANT before);
9172
9173     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9174     HRESULT remove([defaultvalue(-1), in] LONG index);
9175
9176     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9177     HRESULT length([in] LONG v);
9178
9179     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9180     HRESULT length([retval, out] LONG *p);
9181
9182     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9183     HRESULT _newEnum([retval, out] IUnknown **p);
9184
9185     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9186     HRESULT item(
9187         [optional, in] VARIANT name,
9188         [optional, in] VARIANT index,
9189         [retval, out] IDispatch **pdisp);
9190
9191     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9192     HRESULT tags(
9193         [in] VARIANT tagName,
9194         [retval, out] IDispatch **pdisp);
9195 }
9196
9197 /*****************************************************************************
9198  *    DispHTMLSelectElement dispinterface
9199  */
9200 [
9201     hidden,
9202     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
9203 ]
9204 dispinterface DispHTMLSelectElement
9205 {
9206 properties:
9207 methods:
9208     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9209
9210     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9211     void size(LONG v);
9212
9213     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9214     LONG size();
9215
9216     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9217     void multiple(VARIANT_BOOL v);
9218
9219     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9220     VARIANT_BOOL multiple();
9221
9222     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9223     void name(BSTR v);
9224
9225     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9226     BSTR name();
9227
9228     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9229     IDispatch *options();
9230
9231     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9232     void onchange(VARIANT v);
9233
9234     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9235     VARIANT onchange();
9236
9237     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9238     void selectedIndex(LONG v);
9239
9240     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9241     LONG selectedIndex();
9242
9243     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9244     BSTR type();
9245
9246     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9247     void value(BSTR v);
9248
9249     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9250     BSTR value();
9251
9252     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9253     IHTMLFormElement *form();
9254
9255     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9256     void add(
9257             [in] IHTMLElement *element,
9258             [in, optional] VARIANT before);
9259
9260     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9261     void remove([in, defaultvalue(-1)] LONG index);
9262
9263     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9264     void length(LONG v);
9265
9266     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9267     LONG length();
9268
9269     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9270     IUnknown *_newEnum();
9271
9272     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9273     IDispatch *item(
9274             [in, optional] VARIANT name,
9275             [in, optional] VARIANT index);
9276
9277     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9278     IDispatch *tags([in] VARIANT tagName);
9279
9280     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9281     IDispatch *urns([in] VARIANT urn);
9282
9283     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9284     IDispatch *namedItem([in] BSTR name);
9285 }
9286
9287 /*****************************************************************************
9288  *    IHTMLSelectionObject interface
9289  */
9290 [
9291     odl,
9292     oleautomation,
9293     dual,
9294     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9295 ]
9296 interface IHTMLSelectionObject : IDispatch
9297 {
9298     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9299     HRESULT createRange([retval, out] IDispatch **range);
9300
9301     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9302     HRESULT empty();
9303
9304     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9305     HRESULT clear();
9306
9307     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9308     HRESULT type([retval, out] BSTR *p);
9309 }
9310
9311 /*****************************************************************************
9312  *    IHTMLOptionElement interface
9313  */
9314 [
9315     odl,
9316     oleautomation,
9317     dual,
9318     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9319 ]
9320 interface IHTMLOptionElement : IDispatch
9321 {
9322     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9323     HRESULT selected([in] VARIANT_BOOL v);
9324
9325     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9326     HRESULT selected([retval, out] VARIANT_BOOL *p);
9327
9328     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9329     HRESULT value([in] BSTR v);
9330
9331     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9332     HRESULT value([retval, out] BSTR *p);
9333
9334     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9335     HRESULT defaultSelected([in] VARIANT_BOOL v);
9336
9337     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9338     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9339
9340     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9341     HRESULT index([in] LONG v);
9342
9343     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9344     HRESULT index([retval, out] LONG *p);
9345
9346     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9347     HRESULT text([in] BSTR v);
9348
9349     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9350     HRESULT text([retval, out] BSTR *p);
9351
9352     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9353     HRESULT form([retval, out] IHTMLFormElement **p);
9354 }
9355
9356 [
9357     odl,
9358     oleautomation,
9359     dual,
9360     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
9361 ]
9362 interface IHTMLOptionElement3 : IDispatch
9363 {
9364     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9365     HRESULT label([in] BSTR v);
9366
9367     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9368     HRESULT label([retval, out] BSTR * p);
9369 }
9370
9371 /*****************************************************************************
9372  *    IHTMLOptionElementFactory interface
9373  */
9374 [
9375     odl,
9376     oleautomation,
9377     dual,
9378     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9379 ]
9380 interface IHTMLOptionElementFactory : IDispatch
9381 {
9382     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9383     HRESULT create(
9384         [optional, in] VARIANT text,
9385         [optional, in] VARIANT value,
9386         [optional, in] VARIANT defaultselected,
9387         [optional, in] VARIANT selected,
9388         [retval, out] IHTMLOptionElement **optelem);
9389 }
9390
9391 /*****************************************************************************
9392  *    DispHTMLOptionElement dispinterface
9393  */
9394 [
9395     hidden,
9396     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9397 ]
9398 dispinterface DispHTMLOptionElement
9399 {
9400 properties:
9401 methods:
9402     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9403
9404     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9405     void selected(VARIANT_BOOL v);
9406
9407     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9408     VARIANT_BOOL selected();
9409
9410     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9411     void value(BSTR v);
9412
9413     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9414     BSTR value();
9415
9416     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9417     void defaultSelected(VARIANT_BOOL v);
9418
9419     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9420     VARIANT_BOOL defaultSelected();
9421
9422     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9423     void index(LONG v);
9424
9425     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9426     LONG index();
9427
9428     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9429     void text(BSTR v);
9430
9431     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9432     BSTR text();
9433
9434     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9435     IHTMLFormElement *form();
9436
9437     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9438     void label(BSTR v);
9439
9440     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9441     BSTR label();
9442 }
9443
9444 [
9445     noncreatable,
9446     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
9447 ]
9448 coclass HTMLOptionElement
9449 {
9450     [default]           dispinterface DispHTMLOptionElement;
9451     [source, default]   dispinterface HTMLElementEvents;
9452     [source]            dispinterface HTMLElementEvents2;
9453                         interface IHTMLElement;
9454                         interface IHTMLElement2;
9455                         interface IHTMLElement3;
9456                         interface IHTMLElement4;
9457                         interface IHTMLUniqueName;
9458                         interface IHTMLDOMNode;
9459                         interface IHTMLDOMNode2;
9460                         interface IHTMLDatabinding;
9461                         interface IHTMLOptionElement;
9462                         interface IHTMLOptionElement3;
9463 }
9464
9465 /*****************************************************************************
9466  *    IHTMLInputElement interface
9467  */
9468 [
9469     odl,
9470     oleautomation,
9471     dual,
9472     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9473 ]
9474 interface IHTMLInputElement : IDispatch
9475 {
9476     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9477     HRESULT type([in] BSTR v);
9478
9479     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9480     HRESULT type([retval, out] BSTR *p);
9481
9482     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9483     HRESULT value([in] BSTR v);
9484
9485     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9486     HRESULT value([retval, out] BSTR *p);
9487
9488     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9489     HRESULT name([in] BSTR v);
9490
9491     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9492     HRESULT name([retval, out] BSTR *p);
9493
9494     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9495     HRESULT status([in] VARIANT_BOOL v);
9496
9497     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9498     HRESULT status([retval, out] VARIANT_BOOL *p);
9499
9500     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9501     HRESULT disabled([in] VARIANT_BOOL v);
9502
9503     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9504     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9505
9506     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9507     HRESULT form([retval, out] IHTMLFormElement **p);
9508
9509     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9510     HRESULT size([in] LONG v);
9511
9512     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9513     HRESULT size([retval, out] LONG *p);
9514
9515     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9516     HRESULT maxLength([in] LONG v);
9517
9518     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9519     HRESULT maxLength([retval, out] LONG *p);
9520
9521     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9522     HRESULT select();
9523
9524     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9525     HRESULT onchange([in] VARIANT v);
9526
9527     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9528     HRESULT onchange([retval, out] VARIANT *p);
9529
9530     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9531     HRESULT onselect([in] VARIANT v);
9532
9533     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9534     HRESULT onselect([retval, out] VARIANT *p);
9535
9536     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9537     HRESULT defaultValue([in] BSTR v);
9538
9539     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9540     HRESULT defaultValue([retval, out] BSTR *p);
9541
9542     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9543     HRESULT readOnly([in] VARIANT_BOOL v);
9544
9545     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9546     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9547
9548     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9549     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9550
9551     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9552     HRESULT indeterminate([in] VARIANT_BOOL v);
9553
9554     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9555     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
9556
9557     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9558     HRESULT defaultChecked([in] VARIANT_BOOL v);
9559
9560     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9561     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
9562
9563     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9564     HRESULT checked([in] VARIANT_BOOL v);
9565
9566     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9567     HRESULT checked([retval, out] VARIANT_BOOL *p);
9568
9569     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9570     HRESULT border([in] VARIANT v);
9571
9572     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9573     HRESULT border([retval, out] VARIANT *p);
9574
9575     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9576     HRESULT vspace([in] LONG v);
9577
9578     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9579     HRESULT vspace([retval, out] LONG *p);
9580
9581     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9582     HRESULT hspace([in] LONG v);
9583
9584     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9585     HRESULT hspace([retval, out] LONG *p);
9586
9587     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9588     HRESULT alt([in] BSTR v);
9589
9590     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9591     HRESULT alt([retval, out] BSTR *p);
9592
9593     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9594     HRESULT src([in] BSTR v);
9595
9596     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9597     HRESULT src([retval, out] BSTR *p);
9598
9599     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9600     HRESULT lowsrc([in] BSTR v);
9601
9602     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9603     HRESULT lowsrc([retval, out] BSTR *p);
9604
9605     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9606     HRESULT vrml([in] BSTR v);
9607
9608     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9609     HRESULT vrml([retval, out] BSTR *p);
9610
9611     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9612     HRESULT dynsrc([in] BSTR v);
9613
9614     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9615     HRESULT dynsrc([retval, out] BSTR *p);
9616
9617     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9618     HRESULT readyState([retval, out] BSTR *p);
9619
9620     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9621     HRESULT complete([retval, out] VARIANT_BOOL *p);
9622
9623     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9624     HRESULT loop([in] VARIANT v);
9625
9626     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9627     HRESULT loop([retval, out] VARIANT *p);
9628
9629     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9630     HRESULT align([in] BSTR v);
9631
9632     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9633     HRESULT align([retval, out] BSTR *p);
9634
9635     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9636     HRESULT onload([in] VARIANT v);
9637
9638     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9639     HRESULT onload([retval, out] VARIANT *p);
9640
9641     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9642     HRESULT onerror([in] VARIANT v);
9643
9644     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9645     HRESULT onerror([retval, out] VARIANT *p);
9646
9647     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9648     HRESULT onabort([in] VARIANT v);
9649
9650     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9651     HRESULT onabort([retval, out] VARIANT *p);
9652
9653     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9654     HRESULT width([in] LONG v);
9655
9656     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9657     HRESULT width([retval, out] LONG *p);
9658
9659     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9660     HRESULT height([in] LONG v);
9661
9662     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9663     HRESULT height([retval, out] LONG *p);
9664
9665     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9666     HRESULT start([in] BSTR v);
9667
9668     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9669     HRESULT start([retval, out] BSTR *p);
9670 }
9671
9672 /*****************************************************************************
9673  *    IHTMLInputTextElement interface
9674  */
9675 [
9676     odl,
9677     oleautomation,
9678     dual,
9679     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9680 ]
9681 interface IHTMLInputTextElement : IDispatch
9682 {
9683     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9684     HRESULT type([retval, out] BSTR *p);
9685
9686     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9687     HRESULT value([in] BSTR v);
9688
9689     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9690     HRESULT value([retval, out] BSTR *p);
9691
9692     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9693     HRESULT name([in] BSTR v);
9694
9695     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9696     HRESULT name([retval, out] BSTR *p);
9697
9698     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9699     HRESULT status([in] VARIANT v);
9700
9701     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9702     HRESULT status([retval, out] VARIANT *p);
9703
9704     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9705     HRESULT disabled([in] VARIANT_BOOL v);
9706
9707     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9708     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9709
9710     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9711     HRESULT form([retval, out] IHTMLFormElement **p);
9712
9713     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9714     HRESULT defaultValue([in] BSTR v);
9715
9716     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9717     HRESULT defaultValue([retval, out] BSTR *p);
9718
9719     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9720     HRESULT size([in] LONG v);
9721
9722     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9723     HRESULT size([retval, out] LONG *p);
9724
9725     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9726     HRESULT maxLength([in] LONG v);
9727
9728     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9729     HRESULT maxLength([retval, out] LONG *p);
9730
9731     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9732     HRESULT select();
9733
9734     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9735     HRESULT onchange([in] VARIANT v);
9736
9737     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9738     HRESULT onchange([retval, out] VARIANT *p);
9739
9740     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9741     HRESULT onselect([in] VARIANT v);
9742
9743     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9744     HRESULT onselect([retval, out] VARIANT *p);
9745
9746     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9747     HRESULT readOnly([in] VARIANT_BOOL v);
9748
9749     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9750     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9751
9752     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9753     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9754 }
9755
9756 [
9757     hidden,
9758     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9759 ]
9760 dispinterface DispHTMLInputElement
9761 {
9762 properties:
9763 methods:
9764     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9765
9766     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9767     void type(BSTR v);
9768
9769     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9770     BSTR type();
9771
9772     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9773     void value(BSTR v);
9774
9775     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9776     BSTR value();
9777
9778     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9779     void name(BSTR v);
9780
9781     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9782     BSTR name();
9783
9784     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9785     void status(VARIANT_BOOL v);
9786
9787     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9788     VARIANT_BOOL status();
9789
9790     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9791     IHTMLFormElement *form();
9792
9793     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9794     void size(LONG v);
9795
9796     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9797     LONG size();
9798
9799     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9800     void maxLength(LONG v);
9801
9802     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9803     LONG maxLength();
9804
9805     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9806     void select();
9807
9808     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9809     void onchange(VARIANT v);
9810
9811     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9812     VARIANT onchange();
9813
9814     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9815     void onselect(VARIANT v);
9816
9817     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9818     VARIANT onselect();
9819
9820     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9821     void defaultValue(BSTR v);
9822
9823     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9824     BSTR defaultValue();
9825
9826     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9827     void readOnly(VARIANT_BOOL v);
9828
9829     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9830     VARIANT_BOOL readOnly();
9831
9832     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9833     IHTMLTxtRange *createTextRange();
9834
9835     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9836     void indeterminate(VARIANT_BOOL v);
9837
9838     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9839     VARIANT_BOOL indeterminate();
9840
9841     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9842     void defaultChecked(VARIANT_BOOL v);
9843
9844     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9845     VARIANT_BOOL defaultChecked();
9846
9847     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9848     void checked(VARIANT_BOOL v);
9849
9850     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9851     VARIANT_BOOL checked();
9852
9853     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9854     void border(VARIANT v);
9855
9856     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9857     VARIANT border();
9858
9859     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9860     void vspace(LONG v);
9861
9862     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9863     LONG vspace();
9864
9865     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9866     void hspace(LONG v);
9867
9868     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9869     LONG hspace();
9870
9871     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9872     void alt(BSTR v);
9873
9874     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9875     BSTR alt();
9876
9877     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9878     void src(BSTR v);
9879
9880     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9881     BSTR src();
9882
9883     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9884     void lowsrc(BSTR v);
9885
9886     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9887     BSTR lowsrc();
9888
9889     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9890     void vrml(BSTR v);
9891
9892     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9893     BSTR vrml();
9894
9895     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9896     void dynsrc(BSTR v);
9897
9898     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9899     BSTR dynsrc();
9900
9901     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9902     VARIANT_BOOL complete();
9903
9904     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9905     void loop(VARIANT v);
9906
9907     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9908     VARIANT loop();
9909
9910     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9911     void align(BSTR v);
9912
9913     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9914     BSTR align();
9915
9916     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9917     void onload(VARIANT v);
9918
9919     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9920     VARIANT onload();
9921
9922     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9923     void onerror(VARIANT v);
9924
9925     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9926     VARIANT onerror();
9927
9928     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9929     void onabort(VARIANT v);
9930
9931     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9932     VARIANT onabort();
9933
9934     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9935     void width(LONG v);
9936
9937     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9938     LONG width();
9939
9940     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9941     void height(LONG v);
9942
9943     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9944     LONG height();
9945
9946     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9947     void start(BSTR v);
9948
9949     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9950     BSTR start();
9951
9952     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9953     void accept(BSTR v);
9954
9955     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9956     BSTR accept();
9957
9958     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9959     void useMap(BSTR v);
9960
9961     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9962     BSTR useMap();
9963 }
9964
9965 /*****************************************************************************
9966  *    IHTMLTextAreaElement interface
9967  */
9968 [
9969     odl,
9970     oleautomation,
9971     dual,
9972     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9973 ]
9974 interface IHTMLTextAreaElement : IDispatch
9975 {
9976     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9977     HRESULT type([retval, out] BSTR *p);
9978
9979     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9980     HRESULT value([in] BSTR v);
9981
9982     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9983     HRESULT value([retval, out] BSTR *p);
9984
9985     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9986     HRESULT name([in] BSTR v);
9987
9988     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9989     HRESULT name([retval, out] BSTR *p);
9990
9991     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9992     HRESULT status([in] VARIANT v);
9993
9994     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9995     HRESULT status([retval, out] VARIANT *p);
9996
9997     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9998     HRESULT disabled([in] VARIANT_BOOL v);
9999
10000     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10001     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10002
10003     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10004     HRESULT form([retval, out] IHTMLFormElement **p);
10005
10006     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10007     HRESULT defaultValue([in] BSTR v);
10008
10009     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10010     HRESULT defaultValue([retval, out] BSTR *p);
10011
10012     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10013     HRESULT select();
10014
10015     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10016     HRESULT onchange([in] VARIANT v);
10017
10018     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10019     HRESULT onchange([retval, out] VARIANT *p);
10020
10021     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10022     HRESULT onselect([in] VARIANT v);
10023
10024     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10025     HRESULT onselect([retval, out] VARIANT *p);
10026
10027     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10028     HRESULT readOnly([in] VARIANT_BOOL v);
10029
10030     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10031     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10032
10033     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10034     HRESULT rows([in] LONG v);
10035
10036     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10037     HRESULT rows([retval, out] LONG *p);
10038
10039     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10040     HRESULT cols([in] LONG v);
10041
10042     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10043     HRESULT cols([retval, out] LONG *p);
10044
10045     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10046     HRESULT wrap([in] BSTR v);
10047
10048     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10049     HRESULT wrap([retval, out] BSTR *p);
10050
10051     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10052     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10053 }
10054
10055 /*****************************************************************************
10056  *    DispHTMLTextAreaElement dispinterface
10057  */
10058 [
10059     hidden,
10060     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
10061 ]
10062 dispinterface DispHTMLTextAreaElement
10063 {
10064 properties:
10065 methods:
10066     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10067
10068     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
10069     BSTR type();
10070
10071     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10072     void value(BSTR v);
10073
10074     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10075     BSTR value();
10076
10077     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10078     void name(BSTR v);
10079
10080     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10081     BSTR name();
10082
10083     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10084     void status(VARIANT v);
10085
10086     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10087     VARIANT status();
10088
10089     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10090     IHTMLFormElement *form();
10091
10092     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10093     void defaultValue(BSTR v);
10094
10095     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10096     BSTR defaultValue();
10097
10098     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10099     void select();
10100
10101     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10102     void onchange(VARIANT v);
10103
10104     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10105     VARIANT onchange();
10106
10107     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10108     void onselect(VARIANT v);
10109
10110     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10111     VARIANT onselect();
10112
10113     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10114     void readOnly(VARIANT_BOOL v);
10115
10116     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10117     VARIANT_BOOL readOnly();
10118
10119     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10120     void rows(LONG v);
10121
10122     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10123     LONG rows();
10124
10125     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10126     void cols(LONG v);
10127
10128     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10129     LONG cols();
10130
10131     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10132     void wrap(BSTR v);
10133
10134     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10135     BSTR wrap();
10136
10137     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10138     IHTMLTxtRange *createTextRange();
10139 }
10140
10141 /*****************************************************************************
10142  *    IHTMLButtonElement interface
10143  */
10144 [
10145     odl,
10146     oleautomation,
10147     dual,
10148     uuid(3050f2bb-98b5-11cf-bb82-00aa00bdce0b)
10149 ]
10150 interface IHTMLButtonElement : IDispatch
10151 {
10152     [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)]
10153     HRESULT type([out, retval] BSTR *p);
10154
10155     [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10156     HRESULT value([in] BSTR v);
10157
10158     [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10159     HRESULT value([out, retval] BSTR *p);
10160
10161     [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10162     HRESULT name([in] BSTR v);
10163
10164     [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10165     HRESULT name([out, retval] BSTR *p);
10166
10167     [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10168     HRESULT status([in] VARIANT v);
10169
10170     [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10171     HRESULT status([out, retval] VARIANT *p);
10172
10173     [propput, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable]
10174     HRESULT disabled([in] VARIANT_BOOL v);
10175
10176     [propget, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable]
10177     HRESULT disabled([out, retval] VARIANT_BOOL *p);
10178
10179     [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)]
10180     HRESULT form([out, retval] IHTMLFormElement **p);
10181
10182     [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)]
10183     HRESULT createTextRange([out, retval] IHTMLTxtRange **range);
10184 }
10185
10186 /*****************************************************************************
10187  *    DispHTMLButtonElement dispinterface
10188  */
10189 [
10190     hidden,
10191     uuid(3050f51f-98b5-11cf-bb82-00aa00bdce0b)
10192 ]
10193 dispinterface DispHTMLButtonElement
10194 {
10195 properties:
10196 methods:
10197     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10198
10199     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10200     IDispatch *constructor();
10201
10202     [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)]
10203     BSTR type();
10204
10205     [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10206     void value(BSTR v);
10207
10208     [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10209     BSTR value();
10210
10211     [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10212     void name(BSTR v);
10213
10214     [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10215     BSTR name();
10216
10217     [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10218     void status(VARIANT v);
10219
10220     [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10221     VARIANT status();
10222
10223     [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)]
10224     IHTMLFormElement *form();
10225
10226     [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)]
10227     IHTMLTxtRange *createTextRange();
10228 }
10229
10230 /*****************************************************************************
10231  *    IHTMLHeadElement interface
10232  */
10233 [
10234     odl,
10235     oleautomation,
10236     dual,
10237     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
10238 ]
10239 interface IHTMLHeadElement : IDispatch
10240 {
10241     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10242     HRESULT profile([in] BSTR v);
10243
10244     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10245     HRESULT profile([retval, out] BSTR *p);
10246 }
10247
10248 /*****************************************************************************
10249  *    IHTMLHeadElement2 interface
10250  */
10251 [
10252     odl,
10253     oleautomation,
10254     dual,
10255     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
10256 ]
10257 interface IHTMLHeadElement2 : IDispatch
10258 {
10259     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10260     HRESULT profile([in] BSTR v);
10261
10262     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10263     HRESULT profile([retval, out] BSTR *p);
10264 }
10265
10266 /*****************************************************************************
10267  *    IHTMLTitleElement interface
10268  */
10269 [
10270     odl,
10271     oleautomation,
10272     dual,
10273     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
10274 ]
10275 interface IHTMLTitleElement : IDispatch
10276 {
10277     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10278     HRESULT text([in] BSTR v);
10279
10280     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10281     HRESULT text([retval, out] BSTR *p);
10282 }
10283
10284 /*****************************************************************************
10285  *    IHTMLMetaElement interface
10286  */
10287 [
10288     odl,
10289     oleautomation,
10290     dual,
10291     uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
10292 ]
10293 interface IHTMLMetaElement : IDispatch
10294 {
10295     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10296     HRESULT httpEquiv([in] BSTR v);
10297
10298     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10299     HRESULT httpEquiv([out, retval] BSTR *p);
10300
10301     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10302     HRESULT content([in] BSTR v);
10303
10304     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10305     HRESULT content([out, retval] BSTR *p);
10306
10307     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10308     HRESULT name([in] BSTR v);
10309
10310     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10311     HRESULT name([out, retval] BSTR *p);
10312
10313     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10314     HRESULT url([in] BSTR v);
10315
10316     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10317     HRESULT url([out, retval] BSTR *p);
10318
10319     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10320     HRESULT charset([in] BSTR v);
10321
10322     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10323     HRESULT charset([out, retval] BSTR *p);
10324 }
10325
10326 /*****************************************************************************
10327  *    IHTMLMetaElement2 interface
10328  */
10329 [
10330     odl,
10331     oleautomation,
10332     dual,
10333     uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
10334 ]
10335 interface IHTMLMetaElement2 : IDispatch
10336 {
10337     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10338     HRESULT scheme([in] BSTR v);
10339
10340     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10341     HRESULT scheme([out, retval] BSTR *p);
10342 }
10343
10344 /*****************************************************************************
10345  *    IHTMLMetaElement3 interface
10346  */
10347 [
10348     odl,
10349     oleautomation,
10350     dual,
10351     uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
10352 ]
10353 interface IHTMLMetaElement3 : IDispatch
10354 {
10355     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10356     HRESULT url([in] BSTR v);
10357
10358     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10359     HRESULT url([out, retval] BSTR *p);
10360 }
10361
10362 /*****************************************************************************
10363  *    DispHTMLHeadElement interface
10364  */
10365 [
10366     hidden,
10367     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
10368 ]
10369 dispinterface DispHTMLHeadElement
10370 {
10371 properties:
10372 methods:
10373     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10374
10375     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10376     void profile(BSTR v);
10377
10378     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10379     BSTR profile();
10380
10381     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10382     void ie8_profile(BSTR v);
10383
10384     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10385     BSTR ie8_profile();
10386 }
10387
10388 /*****************************************************************************
10389  *    DispHTMLTitleElement interface
10390  */
10391 [
10392     hidden,
10393     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
10394 ]
10395 dispinterface DispHTMLTitleElement
10396 {
10397 properties:
10398 methods:
10399     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10400
10401     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10402     void text(BSTR v);
10403
10404     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10405     BSTR text();
10406 }
10407
10408 /*****************************************************************************
10409  *    DispHTMLMetaElement dispinterface
10410  */
10411 [
10412     hidden,
10413     uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
10414 ]
10415 dispinterface DispHTMLMetaElement
10416 {
10417 properties:
10418 methods:
10419     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10420
10421     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10422     void httpEquiv(BSTR v);
10423
10424     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10425     BSTR httpEquiv();
10426
10427     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10428     void content(BSTR v);
10429
10430     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10431     BSTR content();
10432
10433     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10434     void name(BSTR v);
10435
10436     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10437     BSTR name();
10438
10439     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10440     void url(BSTR v);
10441
10442     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10443     BSTR url();
10444
10445     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10446     void charset(BSTR v);
10447
10448     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10449     BSTR charset();
10450
10451     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10452     void scheme(BSTR v);
10453
10454     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10455     BSTR scheme();
10456
10457     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10458     void ie8_url(BSTR v);
10459
10460     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10461     BSTR ie8_url();
10462 }
10463
10464 /*****************************************************************************
10465  *    DispHTMLUnknownElement dispinterface
10466  */
10467 [
10468     hidden,
10469     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
10470 ]
10471 dispinterface DispHTMLUnknownElement
10472 {
10473 properties:
10474 methods:
10475     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10476 }
10477
10478 /*****************************************************************************
10479  *    IOmHistory interface
10480  */
10481 [
10482     odl,
10483     oleautomation,
10484     dual,
10485     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
10486 ]
10487 interface IOmHistory : IDispatch
10488 {
10489     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10490     HRESULT length([retval, out] short *p);
10491
10492     [id(DISPID_IOMHISTORY_BACK)]
10493     HRESULT back([optional, in] VARIANT *pvargdistance);
10494
10495     [id(DISPID_IOMHISTORY_FORWARD)]
10496     HRESULT forward([optional, in] VARIANT *pvargdistance);
10497
10498     [id(DISPID_IOMHISTORY_GO)]
10499     HRESULT go([optional, in] VARIANT *pvargdistance);
10500 }
10501
10502 [
10503     noncreatable,
10504     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
10505 ]
10506 coclass HTMLHistory
10507 {
10508     [default]           interface IOmHistory;
10509 }
10510
10511 /*****************************************************************************
10512  *    IHTMLMimeTypesCollection interface
10513  */
10514 [
10515     odl,
10516     oleautomation,
10517     dual,
10518     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
10519 ]
10520 interface IHTMLMimeTypesCollection : IDispatch
10521 {
10522     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
10523     HRESULT length([retval, out] LONG *p);
10524 }
10525
10526 [
10527     noncreatable,
10528     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
10529 ]
10530 coclass CMimeTypes
10531 {
10532     [default]           interface IHTMLMimeTypesCollection;
10533 }
10534
10535 /*****************************************************************************
10536  *    IHTMLPluginsCollection interface
10537  */
10538 [
10539     odl,
10540     oleautomation,
10541     dual,
10542     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
10543 ]
10544 interface IHTMLPluginsCollection : IDispatch
10545 {
10546     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10547     HRESULT length([retval, out] LONG *p);
10548
10549     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10550     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10551 }
10552
10553 [
10554     hidden,
10555     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
10556 ]
10557 dispinterface DispCPlugins
10558 {
10559  properties:
10560 methods:
10561     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10562     long length();
10563
10564     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10565     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10566
10567     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10568     IDispatch *constructor();
10569 }
10570
10571 [
10572     noncreatable,
10573     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
10574 ]
10575 coclass CPlugins
10576 {
10577     [default]  dispinterface DispCPlugins;
10578                interface IHTMLPluginsCollection;
10579                interface IHTMLDOMConstructor;
10580 }
10581
10582 /*****************************************************************************
10583  *    IHTMLOpsProfile interface
10584  */
10585 [
10586     odl,
10587     oleautomation,
10588     dual,
10589     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
10590 ]
10591 interface IHTMLOpsProfile : IDispatch
10592 {
10593     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
10594     HRESULT addRequest(
10595         [in] BSTR name,
10596         [optional, in] VARIANT reserved,
10597         [retval, out] VARIANT_BOOL *success);
10598
10599     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
10600     HRESULT clearRequest();
10601
10602     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
10603     HRESULT doRequest(
10604         [in] VARIANT usage,
10605         [optional, in] VARIANT fname,
10606         [optional, in] VARIANT domain,
10607         [optional, in] VARIANT path,
10608         [optional, in] VARIANT expire,
10609         [optional, in] VARIANT reserved);
10610
10611     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
10612     HRESULT getAttribute(
10613         [in] BSTR name,
10614         [retval, out] BSTR *value);
10615
10616     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
10617     HRESULT setAttribute(
10618         [in] BSTR name,
10619         [in] BSTR value,
10620         [optional, in] VARIANT prefs,
10621         [retval, out] VARIANT_BOOL *success);
10622
10623     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
10624     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
10625
10626     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
10627     HRESULT addReadRequest(
10628         [in] BSTR name,
10629         [optional, in] VARIANT reserved,
10630         [retval, out] VARIANT_BOOL *success);
10631
10632     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
10633     HRESULT doReadRequest(
10634         [in] VARIANT usage,
10635         [optional, in] VARIANT fname,
10636         [optional, in] VARIANT domain,
10637         [optional, in] VARIANT path,
10638         [optional, in] VARIANT expire,
10639         [optional, in] VARIANT reserved);
10640
10641     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
10642     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
10643 }
10644
10645 [
10646     noncreatable,
10647     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
10648 ]
10649 coclass COpsProfile
10650 {
10651     [default]           interface IHTMLOpsProfile;
10652 }
10653
10654 /*****************************************************************************
10655  *    IOmNavigator interface
10656  */
10657 [
10658     odl,
10659     oleautomation,
10660     dual,
10661     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
10662 ]
10663 interface IOmNavigator : IDispatch
10664 {
10665     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10666     HRESULT appCodeName([retval, out] BSTR *p);
10667
10668     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10669     HRESULT appName([retval, out] BSTR *p);
10670
10671     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10672     HRESULT appVersion([retval, out] BSTR *p);
10673
10674     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10675     HRESULT userAgent([retval, out] BSTR *p);
10676
10677     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10678     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10679
10680     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10681     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10682
10683     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10684     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10685
10686     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10687     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10688
10689     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10690     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10691
10692     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10693     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10694
10695     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10696     HRESULT toString([retval, out] BSTR *String);
10697
10698     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10699     HRESULT cpuClass([retval, out] BSTR *p);
10700
10701     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10702     HRESULT systemLanguage([retval, out] BSTR *p);
10703
10704     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10705     HRESULT browserLanguage([retval, out] BSTR *p);
10706
10707     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10708     HRESULT userLanguage([retval, out] BSTR *p);
10709
10710     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10711     HRESULT platform([retval, out] BSTR *p);
10712
10713     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10714     HRESULT appMinorVersion([retval, out] BSTR *p);
10715
10716     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10717     HRESULT connectionSpeed([retval, out] LONG *p);
10718
10719     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10720     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10721
10722     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10723     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10724 }
10725
10726 /*****************************************************************************
10727  *    DispHTMLNavigator dispinterface
10728  */
10729 [
10730     hidden,
10731     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
10732 ]
10733 dispinterface DispHTMLNavigator
10734 {
10735 properties:
10736 methods:
10737     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10738     BSTR appCodeName();
10739
10740     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10741     BSTR appName();
10742
10743     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10744     BSTR appVersion();
10745
10746     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10747     BSTR userAgent();
10748
10749     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10750     VARIANT_BOOL javaEnabled();
10751
10752     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10753     VARIANT_BOOL taintEnabled();
10754
10755     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10756     IHTMLMimeTypesCollection *mimeTypes();
10757
10758     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10759     IHTMLPluginsCollection *plugins();
10760
10761     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10762     VARIANT_BOOL cookieEnabled();
10763
10764     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10765     IHTMLOpsProfile *opsProfile();
10766
10767     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10768     BSTR toString();
10769
10770     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10771     BSTR cpuClass();
10772
10773     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10774     BSTR systemLanguage();
10775
10776     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10777     BSTR browserLanguage();
10778
10779     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10780     BSTR userLanguage();
10781
10782     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10783     BSTR platform();
10784
10785     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10786     BSTR appMinorVersion();
10787
10788     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10789     LONG connectionSpeed();
10790
10791     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10792     VARIANT_BOOL onLine();
10793
10794     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10795     IHTMLOpsProfile *userProfile();
10796
10797     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10798 }
10799
10800 [
10801     noncreatable,
10802     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
10803 ]
10804 coclass HTMLNavigator
10805 {
10806     [default]  dispinterface DispHTMLNavigator;
10807                interface IOmNavigator;
10808 }
10809
10810 /*****************************************************************************
10811  *    IHTMLLocation interface
10812  */
10813 [
10814     odl,
10815     oleautomation,
10816     dual,
10817     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10818 ]
10819 interface IHTMLLocation : IDispatch
10820 {
10821     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10822     HRESULT href([in] BSTR v);
10823
10824     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10825     HRESULT href([retval, out] BSTR *p);
10826
10827     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10828     HRESULT protocol([in] BSTR v);
10829
10830     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10831     HRESULT protocol([retval, out] BSTR *p);
10832
10833     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10834     HRESULT host([in] BSTR v);
10835
10836     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10837     HRESULT host([retval, out] BSTR *p);
10838
10839     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10840     HRESULT hostname([in] BSTR v);
10841
10842     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10843     HRESULT hostname([retval, out] BSTR *p);
10844
10845     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10846     HRESULT port([in] BSTR v);
10847
10848     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10849     HRESULT port([retval, out] BSTR *p);
10850
10851     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10852     HRESULT pathname([in] BSTR v);
10853
10854     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10855     HRESULT pathname([retval, out] BSTR *p);
10856
10857     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10858     HRESULT search([in] BSTR v);
10859
10860     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10861     HRESULT search([retval, out] BSTR *p);
10862
10863     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10864     HRESULT hash([in] BSTR v);
10865
10866     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10867     HRESULT hash([retval, out] BSTR *p);
10868
10869     [id(DISPID_IHTMLLOCATION_RELOAD)]
10870     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10871
10872     [id(DISPID_IHTMLLOCATION_REPLACE)]
10873     HRESULT replace([in] BSTR bstr);
10874
10875     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10876     HRESULT assign([in] BSTR bstr);
10877
10878     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10879     HRESULT toString([retval, out] BSTR *String);
10880 }
10881
10882 /*****************************************************************************
10883  *    DispHTMLHistory dispinterface
10884  */
10885 [
10886     hidden,
10887     uuid(3050f549-98b5-11cf-bb82-00aa00bdce0b)
10888 ]
10889 dispinterface DispHTMLHistory
10890 {
10891 properties:
10892 methods:
10893     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10894     short length();
10895
10896     [id(DISPID_IOMHISTORY_BACK)]
10897     void back([optional, in] VARIANT *pvargdistance);
10898
10899     [id(DISPID_IOMHISTORY_FORWARD)]
10900     void forward([optional, in] VARIANT *pvargdistance);
10901
10902     [id(DISPID_IOMHISTORY_GO)]
10903     void go([optional, in] VARIANT *pvargdistance);
10904
10905     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10906     IDispatch *constructor();
10907 }
10908
10909 /*****************************************************************************
10910  *    DispHTMLLocation dispinterface
10911  */
10912 [
10913     hidden,
10914     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10915 ]
10916 dispinterface DispHTMLLocation
10917 {
10918 properties:
10919 methods:
10920     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10921     void href(BSTR v);
10922
10923     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10924     BSTR href();
10925
10926     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10927     void protocol(BSTR v);
10928
10929     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10930     BSTR protocol();
10931
10932     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10933     void host(BSTR v);
10934
10935     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10936     BSTR host();
10937
10938     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10939     void hostname(BSTR v);
10940
10941     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10942     BSTR hostname();
10943
10944     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10945     void port(BSTR v);
10946
10947     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10948     BSTR port();
10949
10950     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10951     void pathname(BSTR v);
10952
10953     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10954     BSTR pathname();
10955
10956     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10957     void search(BSTR v);
10958
10959     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10960     BSTR search();
10961
10962     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10963     void hash(BSTR v);
10964
10965     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10966     BSTR hash();
10967
10968     [id(DISPID_IHTMLLOCATION_RELOAD)]
10969     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10970
10971     [id(DISPID_IHTMLLOCATION_REPLACE)]
10972     void replace([in] BSTR bstr);
10973
10974     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10975     void assign([in] BSTR bstr);
10976
10977     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10978     BSTR toString();
10979
10980     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10981 }
10982
10983 [
10984     noncreatable,
10985     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10986 ]
10987 coclass HTMLLocation
10988 {
10989     [default]  dispinterface DispHTMLLocation;
10990                interface IHTMLLocation;
10991 }
10992
10993 [
10994     odl,
10995     oleautomation,
10996     dual,
10997     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10998 ]
10999 interface IHTMLBookmarkCollection : IDispatch
11000 {
11001     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
11002     HRESULT length([out, retval] LONG *p);
11003
11004     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
11005     HRESULT _newEnum([out, retval] IUnknown **p);
11006
11007     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
11008     HRESULT item(
11009             [in] LONG index,
11010             [out, retval] VARIANT *pVarBookmark);
11011 }
11012
11013 /*****************************************************************************
11014  *    IHTMLDataTransfer interface
11015  */
11016 [
11017     odl,
11018     oleautomation,
11019     dual,
11020     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
11021 ]
11022 interface IHTMLDataTransfer : IDispatch
11023 {
11024     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
11025     HRESULT setData(
11026             [in] BSTR format,
11027             [in] VARIANT *data,
11028             [out, retval] VARIANT_BOOL *pret);
11029
11030     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
11031     HRESULT getData(
11032             [in] BSTR format,
11033             [out, retval] VARIANT *pvarRet);
11034
11035     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
11036     HRESULT clearData(
11037             [in] BSTR format,
11038             [out, retval] VARIANT_BOOL *pret);
11039
11040     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
11041     HRESULT dropEffect([in] BSTR v);
11042
11043     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
11044     HRESULT dropEffect([out, retval] BSTR *p);
11045
11046     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
11047     HRESULT effectAllowed([in] BSTR v);
11048
11049     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
11050     HRESULT effectAllowed([out, retval] BSTR *p);
11051 }
11052
11053 /*****************************************************************************
11054  *    IHTMLEventObj interface
11055  */
11056 [
11057     odl,
11058     oleautomation,
11059     dual,
11060     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
11061 ]
11062 interface IHTMLEventObj : IDispatch
11063 {
11064     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
11065     HRESULT srcElement([retval, out] IHTMLElement **p);
11066
11067     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
11068     HRESULT altKey([retval, out] VARIANT_BOOL *p);
11069
11070     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
11071     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
11072
11073     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
11074     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
11075
11076     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11077     HRESULT returnValue([in] VARIANT v);
11078
11079     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11080     HRESULT returnValue([retval, out] VARIANT *p);
11081
11082     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11083     HRESULT cancelBubble([in] VARIANT_BOOL v);
11084
11085     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11086     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
11087
11088     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
11089     HRESULT fromElement([retval, out] IHTMLElement **p);
11090
11091     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
11092     HRESULT toElement([retval, out] IHTMLElement **p);
11093
11094     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11095     HRESULT keyCode([in] LONG v);
11096
11097     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11098     HRESULT keyCode([retval, out] LONG *p);
11099
11100     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
11101     HRESULT button([retval, out] LONG *p);
11102
11103     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
11104     HRESULT type([retval, out] BSTR *p);
11105
11106     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
11107     HRESULT qualifier([retval, out] BSTR *p);
11108
11109     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
11110     HRESULT reason([retval, out] LONG *p);
11111
11112     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
11113     HRESULT x([retval, out] LONG *p);
11114
11115     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
11116     HRESULT y([retval, out] LONG *p);
11117
11118     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
11119     HRESULT clientX([retval, out] LONG *p);
11120
11121     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
11122     HRESULT clientY([retval, out] LONG *p);
11123
11124     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
11125     HRESULT offsetX([retval, out] LONG *p);
11126
11127     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
11128     HRESULT offsetY([retval, out] LONG *p);
11129
11130     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
11131     HRESULT screenX([retval, out] LONG *p);
11132
11133     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
11134     HRESULT screenY([retval, out] LONG *p);
11135
11136     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
11137     HRESULT srcFilter([retval, out] IDispatch **p);
11138 }
11139
11140 /*****************************************************************************
11141  *    DispCEventObj dispinterface
11142  */
11143 [
11144     hidden,
11145     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
11146 ]
11147 dispinterface DispCEventObj
11148 {
11149 properties:
11150 methods:
11151     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11152     void returnValue(VARIANT v);
11153
11154     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11155     VARIANT returnValue();
11156
11157     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11158     void cancelBubble(VARIANT_BOOL v);
11159
11160     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11161     VARIANT_BOOL cancelBubble();
11162
11163     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11164     void keyCode(LONG v);
11165
11166     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11167     LONG keyCode();
11168
11169     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
11170     void setAttribute(
11171             [in] BSTR strAttributeName,
11172             [in] VARIANT AttributeValue,
11173             [in, defaultvalue(1)] LONG lFlags);
11174
11175     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
11176     VARIANT getAttribute(
11177             [in] BSTR strAttributeName,
11178             [in, defaultvalue(0)] LONG lFlags);
11179
11180     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
11181     VARIANT_BOOL removeAttribute(
11182             [in] BSTR strAttributeName,
11183             [in, defaultvalue(1)] LONG lFlags);
11184
11185     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
11186     void propertyName(BSTR v);
11187
11188     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
11189     BSTR propertyName();
11190
11191     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
11192     void bookmarks(IHTMLBookmarkCollection *v);
11193
11194     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
11195     IHTMLBookmarkCollection *bookmarks();
11196
11197     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
11198     void recordset(IDispatch *v);
11199
11200     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
11201     IDispatch *recordset();
11202
11203     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
11204     void dataFld(BSTR v);
11205
11206     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
11207     BSTR dataFld();
11208
11209     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
11210     void boundElements(IHTMLElementCollection *v);
11211
11212     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
11213     IHTMLElementCollection *boundElements();
11214
11215     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
11216     void repeat(VARIANT_BOOL v);
11217
11218     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
11219     VARIANT_BOOL repeat();
11220
11221     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
11222     void srcUrn(BSTR v);
11223
11224     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
11225     BSTR srcUrn();
11226
11227     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
11228     void srcElement(IHTMLElement *v);
11229
11230     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
11231     IHTMLElement *srcElement();
11232
11233     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
11234     void altKey(VARIANT_BOOL v);
11235
11236     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
11237     VARIANT_BOOL altKey();
11238
11239     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
11240     void ctrlKey(VARIANT_BOOL v);
11241
11242     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
11243     VARIANT_BOOL ctrlKey();
11244
11245     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
11246     void shiftKey(VARIANT_BOOL v);
11247
11248     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
11249     VARIANT_BOOL shiftKey();
11250
11251     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
11252     void fromElement(IHTMLElement *v);
11253
11254     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
11255     IHTMLElement *fromElement();
11256
11257     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
11258     void toElement(IHTMLElement *v);
11259
11260     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
11261     IHTMLElement *toElement();
11262
11263     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
11264     void button(LONG v);
11265
11266     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
11267     LONG button();
11268
11269     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
11270     void type(BSTR v);
11271
11272     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
11273     BSTR type();
11274
11275     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
11276     void qualifier(BSTR v);
11277
11278     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
11279     BSTR qualifier();
11280
11281     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
11282     void reason(LONG v);
11283
11284     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
11285     LONG reason();
11286
11287     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
11288     void x(LONG v);
11289
11290     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
11291     LONG x();
11292
11293     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
11294     void y(LONG v);
11295
11296     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
11297     LONG y();
11298
11299     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
11300     void clientX(LONG v);
11301
11302     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
11303     LONG clientX();
11304
11305     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
11306     void clientY(LONG v);
11307
11308     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
11309     LONG clientY();
11310     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
11311     void offsetX(LONG v);
11312
11313     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
11314     LONG offsetX();
11315
11316     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
11317     void offsetY(LONG v);
11318
11319     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
11320     LONG offsetY();
11321
11322     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
11323     void screenX(LONG v);
11324
11325     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
11326     LONG screenX();
11327
11328     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
11329     void screenY(LONG v);
11330
11331     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
11332     LONG screenY();
11333
11334     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
11335     void srcFilter(IDispatch *v);
11336
11337     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
11338     IDispatch *srcFilter();
11339
11340     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
11341     IHTMLDataTransfer *dataTransfer();
11342
11343     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
11344     VARIANT_BOOL contentOverflow();
11345
11346     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
11347     void shiftLeft(VARIANT_BOOL v);
11348
11349     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
11350     VARIANT_BOOL shiftLeft();
11351
11352     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
11353     void altLeft(VARIANT_BOOL v);
11354
11355     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
11356     VARIANT_BOOL altLeft();
11357
11358     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
11359     void ctrlLeft(VARIANT_BOOL v);
11360
11361     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
11362     VARIANT_BOOL ctrlLeft();
11363
11364     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
11365     LONG_PTR imeCompositionChange();
11366
11367     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
11368     LONG_PTR imeNotifyCommand();
11369
11370     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
11371     LONG_PTR imeNotifyData();
11372
11373     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
11374     LONG_PTR imeRequest();
11375
11376     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
11377     LONG_PTR imeRequestData();
11378
11379     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
11380     LONG_PTR keyboardLayout();
11381
11382     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
11383     LONG behaviorCookie();
11384
11385     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
11386     LONG behaviorPart();
11387
11388     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
11389     BSTR nextPage();
11390
11391     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
11392     LONG wheelDelta();
11393 }
11394
11395 /*****************************************************************************
11396  *    IHTMLFramesCollection2 interface
11397  */
11398 [
11399     odl,
11400     oleautomation,
11401     dual,
11402     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
11403 ]
11404 interface IHTMLFramesCollection2 : IDispatch
11405 {
11406     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11407     HRESULT item(
11408         [in] VARIANT *pvarIndex,
11409         [retval, out] VARIANT *pvarResult);
11410
11411     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11412     HRESULT length([retval, out] LONG *p);
11413 }
11414
11415 /*****************************************************************************
11416  *    IHTMLScreen interface
11417  */
11418 [
11419     odl,
11420     oleautomation,
11421     dual,
11422     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
11423 ]
11424 interface IHTMLScreen : IDispatch
11425 {
11426     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11427     HRESULT colorDepth([retval, out] LONG *p);
11428
11429     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11430     HRESULT bufferDepth([in] LONG v);
11431
11432     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11433     HRESULT bufferDepth([retval, out] LONG *p);
11434
11435     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11436     HRESULT width([retval, out] LONG *p);
11437
11438     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11439     HRESULT height([retval, out] LONG *p);
11440
11441     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11442     HRESULT updateInterval([in] LONG v);
11443
11444     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11445     HRESULT updateInterval([retval, out] LONG *p);
11446
11447     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11448     HRESULT availHeight([retval, out] LONG *p);
11449
11450     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11451     HRESULT availWidth([retval, out] LONG *p);
11452
11453     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11454     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
11455 }
11456
11457 /*****************************************************************************
11458  *    IHTMLWindow2 interface
11459  */
11460 [
11461     odl,
11462     oleautomation,
11463     dual,
11464     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
11465 ]
11466 interface IHTMLWindow2 : IHTMLFramesCollection2
11467 {
11468     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11469     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11470
11471     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11472     HRESULT defaultStatus([in] BSTR v);
11473
11474     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11475     HRESULT defaultStatus([retval, out] BSTR *p);
11476
11477     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11478     HRESULT status([in] BSTR v);
11479
11480     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11481     HRESULT status([retval, out] BSTR *p);
11482
11483     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
11484     HRESULT setTimeout(
11485         [in] BSTR expression,
11486         [in] LONG msec,
11487         [optional, in] VARIANT *language,
11488         [retval, out] LONG *timerID);
11489
11490     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11491     HRESULT clearTimeout([in] LONG timerID);
11492
11493     [id(DISPID_IHTMLWINDOW2_ALERT)]
11494     HRESULT alert([defaultvalue(""), in] BSTR message);
11495
11496     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11497     HRESULT confirm(
11498         [defaultvalue(""), in] BSTR message,
11499         [retval, out] VARIANT_BOOL *confirmed);
11500
11501     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11502     HRESULT prompt(
11503         [defaultvalue(""), in] BSTR message,
11504         [defaultvalue("undefined"), in] BSTR defstr,
11505         [retval, out] VARIANT *textdata);
11506
11507     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11508     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
11509
11510     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11511     HRESULT location([retval, out] IHTMLLocation **p);
11512
11513     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11514     HRESULT history([retval, out] IOmHistory **p);
11515
11516     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11517     HRESULT close();
11518
11519     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11520     HRESULT opener([in] VARIANT v);
11521
11522     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11523     HRESULT opener([retval, out] VARIANT *p);
11524
11525     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11526     HRESULT navigator([retval, out] IOmNavigator **p);
11527
11528     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11529     HRESULT name([in] BSTR v);
11530
11531     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11532     HRESULT name([retval, out] BSTR *p);
11533
11534     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11535     HRESULT parent([retval, out] IHTMLWindow2 **p);
11536
11537     [id(DISPID_IHTMLWINDOW2_OPEN)]
11538     HRESULT open(
11539         [defaultvalue(""), in] BSTR url,
11540         [defaultvalue(""), in] BSTR name,
11541         [defaultvalue(""), in] BSTR features,
11542         [defaultvalue(0), in] VARIANT_BOOL replace,
11543         [retval, out] IHTMLWindow2 **pomWindowResult);
11544
11545     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11546     HRESULT self([retval, out] IHTMLWindow2 **p);
11547
11548     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11549     HRESULT top([retval, out] IHTMLWindow2 **p);
11550
11551     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11552     HRESULT window([retval, out] IHTMLWindow2 **p);
11553
11554     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11555     HRESULT navigate([in] BSTR url);
11556
11557     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11558     HRESULT onfocus([in] VARIANT v);
11559
11560     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11561     HRESULT onfocus([retval, out] VARIANT *p);
11562
11563     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11564     HRESULT onblur([in] VARIANT v);
11565
11566     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11567     HRESULT onblur([retval, out] VARIANT *p);
11568
11569     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11570     HRESULT onload([in] VARIANT v);
11571
11572     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11573     HRESULT onload([retval, out] VARIANT *p);
11574
11575     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11576     HRESULT onbeforeunload([in] VARIANT v);
11577
11578     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11579     HRESULT onbeforeunload([retval, out] VARIANT *p);
11580
11581     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11582     HRESULT onunload([in] VARIANT v);
11583
11584     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11585     HRESULT onunload([retval, out] VARIANT *p);
11586
11587     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
11588     HRESULT onhelp([in] VARIANT v);
11589
11590     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
11591     HRESULT onhelp([retval, out] VARIANT *p);
11592
11593     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
11594     HRESULT onerror([in] VARIANT v);
11595
11596     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
11597     HRESULT onerror([retval, out] VARIANT *p);
11598
11599     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11600     HRESULT onresize([in] VARIANT v);
11601
11602     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11603     HRESULT onresize([retval, out] VARIANT *p);
11604
11605     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11606     HRESULT onscroll([in] VARIANT v);
11607
11608     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11609     HRESULT onscroll([retval, out] VARIANT *p);
11610
11611     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
11612     HRESULT document([retval, out] IHTMLDocument2 **p);
11613
11614     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11615     HRESULT event([retval, out] IHTMLEventObj **p);
11616
11617     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
11618     HRESULT _newEnum([retval, out] IUnknown **p);
11619
11620     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11621     HRESULT showModalDialog(
11622         [in] BSTR dialog,
11623         [optional, in] VARIANT *varArgIn,
11624         [optional, in] VARIANT *varOptions,
11625         [retval, out] VARIANT *varArgOut);
11626
11627     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11628     HRESULT showHelp(
11629         [in] BSTR helpURL,
11630         [optional, in] VARIANT helpArg,
11631         [defaultvalue(""), in] BSTR features);
11632
11633     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11634     HRESULT screen([retval, out] IHTMLScreen **p);
11635
11636     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11637     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
11638
11639     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11640     HRESULT focus();
11641
11642     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11643     HRESULT closed([retval, out] VARIANT_BOOL *p);
11644
11645     [id(DISPID_IHTMLWINDOW2_BLUR)]
11646     HRESULT blur();
11647
11648     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11649     HRESULT scroll([in] LONG x, [in] LONG y);
11650
11651     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11652     HRESULT clientInformation([retval, out] IOmNavigator **p);
11653
11654     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
11655     HRESULT setInterval([
11656         in] BSTR expression,
11657         [in] LONG msec,
11658         [optional, in] VARIANT *language,
11659         [retval, out] LONG *timerID);
11660
11661     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11662     HRESULT clearInterval([in] LONG timerID);
11663
11664     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11665     HRESULT offscreenBuffering([in] VARIANT v);
11666
11667     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11668     HRESULT offscreenBuffering([retval, out] VARIANT *p);
11669
11670     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11671     HRESULT execScript(
11672         [in] BSTR scode,
11673         [defaultvalue("JScript"), in] BSTR language,
11674         [retval, out] VARIANT *pvarRet);
11675
11676     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11677     HRESULT toString([retval, out] BSTR *String);
11678
11679     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11680     HRESULT scrollBy([in] LONG x, [in] LONG y);
11681
11682     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11683     HRESULT scrollTo([in] LONG x, [in] LONG y);
11684
11685     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11686     HRESULT moveTo([in] LONG x, [in] LONG y);
11687
11688     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11689     HRESULT moveBy([in] LONG x, [in] LONG y);
11690
11691     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11692     HRESULT resizeTo([in] LONG x, [in] LONG y);
11693
11694     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11695     HRESULT resizeBy([in] LONG x, [in] LONG y);
11696
11697     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11698     HRESULT external([retval, out] IDispatch **p);
11699 }
11700
11701 /*****************************************************************************
11702  *    IHTMLWindow3 interface
11703  */
11704 [
11705     odl,
11706     oleautomation,
11707     dual,
11708     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11709 ]
11710 interface IHTMLWindow3 : IDispatch
11711 {
11712     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11713     HRESULT screenLeft([out, retval] LONG *p);
11714
11715     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11716     HRESULT screenTop([out, retval] LONG *p);
11717
11718     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11719     HRESULT attachEvent(
11720             [in] BSTR event,
11721             [in] IDispatch *pDisp,
11722             [out, retval] VARIANT_BOOL *pfResult);
11723
11724     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11725     HRESULT detachEvent(
11726             [in] BSTR event,
11727             [in] IDispatch *pDisp);
11728
11729     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11730     HRESULT setTimeout(
11731             [in] VARIANT *expression,
11732             [in] LONG msec,
11733             [in, optional] VARIANT *language,
11734             [out, retval] LONG *timerID);
11735
11736     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11737     HRESULT setInterval(
11738             [in] VARIANT *expression,
11739             [in] LONG msec,
11740             [in, optional] VARIANT *language,
11741             [out, retval] LONG *timerID);
11742
11743     [id(DISPID_IHTMLWINDOW3_PRINT)]
11744     HRESULT print();
11745
11746     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11747     HRESULT onbeforeprint([in] VARIANT v);
11748
11749     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11750     HRESULT onbeforeprint([out, retval] VARIANT *p);
11751
11752     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11753     HRESULT onafterprint([in] VARIANT v);
11754
11755     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11756     HRESULT onafterprint([out, retval] VARIANT *p);
11757
11758     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11759     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11760
11761     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11762     HRESULT showModelessDialog(
11763             [in, defaultvalue("")] BSTR url,
11764             [in, optional] VARIANT *varArgIn,
11765             [in, optional] VARIANT *options,
11766             [out, retval] IHTMLWindow2 **pDialog);
11767 }
11768
11769 /*****************************************************************************
11770  *    IHTMLWindow4 interface
11771  */
11772 [
11773     odl,
11774     oleautomation,
11775     dual,
11776     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
11777 ]
11778 interface IHTMLWindow4 : IDispatch
11779 {
11780     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11781     HRESULT createPopup([optional, in] VARIANT* varArgIn,
11782                         [retval, out] IDispatch** ppPopup);
11783
11784     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11785     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
11786 }
11787
11788 /*****************************************************************************
11789  *    IHTMLWindow5 interface
11790  */
11791 [
11792     odl,
11793     oleautomation,
11794     dual,
11795     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
11796 ]
11797 interface IHTMLWindow5 : IDispatch
11798 {
11799     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11800     HRESULT XMLHttpRequest([in] VARIANT v);
11801
11802     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11803     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
11804 }
11805
11806 /*****************************************************************************
11807  *    IHTMLWindow6 interface
11808  */
11809 [
11810     odl,
11811     oleautomation,
11812     dual,
11813     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
11814 ]
11815 interface IHTMLWindow6 : IDispatch
11816 {
11817     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11818     HRESULT XDomainRequest([in] VARIANT v);
11819
11820     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11821     HRESULT XDomainRequest([out, retval] VARIANT *p);
11822
11823     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11824     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
11825
11826     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11827     HRESULT localStorage([out, retval] IHTMLStorage **p);
11828
11829     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11830     HRESULT onhashchange([in] VARIANT v);
11831
11832     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11833     HRESULT onhashchange([out, retval] VARIANT *p);
11834
11835     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11836     HRESULT maxConnectionsPerServer([out, retval] long *p);
11837
11838     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11839     HRESULT postMessage(
11840             [in] BSTR msg,
11841             [in, optional] VARIANT targetOrigin);
11842
11843     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11844     HRESULT toStaticHTML(
11845             [in] BSTR bstrHTML,
11846             [out, retval] BSTR *pbstrStaticHTML);
11847
11848     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11849     HRESULT onmessage([in] VARIANT v);
11850
11851     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11852     HRESULT onmessage([out, retval] VARIANT *p);
11853
11854     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11855     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11856 }
11857
11858 /*****************************************************************************
11859  *    DispHTMLScreen dispinterface
11860  */
11861 [
11862     hidden,
11863     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11864 ]
11865 dispinterface DispHTMLScreen
11866 {
11867 properties:
11868 methods:
11869     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11870     long colorDepth();
11871
11872     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11873     void bufferDepth(long v);
11874
11875     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11876     long bufferDepth();
11877
11878     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11879     long width();
11880
11881     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11882     long height();
11883
11884     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11885     void updateInterval(long v);
11886
11887     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11888     long updateInterval();
11889
11890     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11891     long availHeight();
11892
11893     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11894     long availWidth();
11895
11896     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11897     VARIANT_BOOL fontSmoothingEnabled();
11898
11899     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11900     long logicalXDPI();
11901
11902     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11903     long logicalYDPI();
11904
11905     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11906     long deviceXDPI();
11907
11908     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11909     long deviceYDPI();
11910
11911     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11912     long systemXDPI();
11913
11914     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11915     long systemYDPI();
11916
11917     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11918     IDispatch *constructor();
11919 }
11920
11921 /*****************************************************************************
11922  *    DispHTMLWindow2 dispinterface
11923  */
11924 [
11925     hidden,
11926     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11927 ]
11928 dispinterface DispHTMLWindow2
11929 {
11930 properties:
11931 methods:
11932     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11933     VARIANT item([in] VARIANT *pvarIndex);
11934
11935     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11936     LONG length();
11937
11938     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11939     IHTMLFramesCollection2 *frames();
11940
11941     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11942     void defaultStatus(BSTR v);
11943
11944     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11945     BSTR defaultStatus();
11946
11947     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11948     void status(BSTR v);
11949
11950     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11951     BSTR status();
11952
11953     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11954     void clearTimeout([in] LONG timerID);
11955
11956     [id(DISPID_IHTMLWINDOW2_ALERT)]
11957     void alert([in, defaultvalue("")] BSTR message);
11958
11959     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11960     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11961
11962     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11963     VARIANT prompt(
11964             [in, defaultvalue("")] BSTR message,
11965             [in, defaultvalue("undefined")] BSTR defstr);
11966
11967     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11968     IHTMLImageElementFactory *Image();
11969
11970     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11971     IHTMLLocation *location();
11972
11973     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11974     IOmHistory *history();
11975
11976     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11977     void close();
11978
11979     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11980     void opener(VARIANT v);
11981
11982     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11983     VARIANT opener();
11984
11985     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11986     IOmNavigator *navigator();
11987
11988     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11989     void name(BSTR v);
11990
11991     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11992     BSTR name();
11993
11994     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11995     IHTMLWindow2 *parent();
11996
11997     [id(DISPID_IHTMLWINDOW2_OPEN)]
11998     IHTMLWindow2 *open(
11999             [in, defaultvalue("")] BSTR url,
12000             [in, defaultvalue("")] BSTR name,
12001             [in, defaultvalue("")] BSTR features,
12002             [in, defaultvalue(0)]  VARIANT_BOOL replace);
12003
12004     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12005     IHTMLWindow2 *self();
12006
12007     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12008     IHTMLWindow2 *top();
12009
12010     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12011     IHTMLWindow2 *window();
12012
12013     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12014     void navigate([in] BSTR url);
12015
12016     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12017     void onfocus(VARIANT v);
12018
12019     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12020     VARIANT onfocus();
12021
12022     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12023     void onblur(VARIANT v);
12024
12025     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12026     VARIANT onblur();
12027
12028     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12029     VARIANT onload();
12030
12031     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12032     void onbeforeunload(VARIANT v);
12033
12034     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12035     VARIANT onbeforeunload();
12036
12037     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12038     void onunload(VARIANT v);
12039
12040     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12041     VARIANT onunload();
12042
12043     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12044     void onhelp(VARIANT v);
12045
12046     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12047     VARIANT onhelp();
12048
12049     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12050     void onerror(VARIANT v);
12051
12052     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12053     VARIANT onerror();
12054
12055     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12056     void onresize(VARIANT v);
12057
12058     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12059     VARIANT onresize();
12060
12061     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12062     void onscroll(VARIANT v);
12063
12064     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12065     VARIANT onscroll();
12066
12067     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
12068     IHTMLDocument2 *document();
12069
12070     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12071     IHTMLEventObj *event();
12072
12073     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
12074     IUnknown *_newEnum();
12075
12076     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12077     VARIANT showModalDialog(
12078             [in] BSTR dialog,
12079             [in, optional] VARIANT *varArgIn,
12080             [in, optional] VARIANT *varOptions);
12081
12082     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12083     void showHelp(
12084             [in] BSTR helpURL,
12085             [in, optional] VARIANT helpArg,
12086             [in, defaultvalue("")] BSTR features);
12087
12088     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12089     IHTMLScreen *screen();
12090
12091     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12092     IHTMLOptionElementFactory *Option();
12093
12094     [id(DISPID_IHTMLWINDOW2_FOCUS)]
12095     void focus();
12096
12097     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12098     VARIANT_BOOL closed();
12099
12100     [id(DISPID_IHTMLWINDOW2_BLUR)]
12101     void blur();
12102
12103     [id(DISPID_IHTMLWINDOW2_SCROLL)]
12104     void scroll([in] LONG x, [in] LONG y);
12105
12106     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12107     IOmNavigator *clientInformation();
12108
12109     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12110     void clearInterval([in] LONG timerID);
12111
12112     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12113     void offscreenBuffering(VARIANT v);
12114
12115     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12116     VARIANT offscreenBuffering();
12117
12118     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12119     VARIANT execScript(
12120             [in] BSTR _code,
12121             [in, defaultvalue("JScript")] BSTR language);
12122
12123     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12124     BSTR toString();
12125
12126     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12127     void scrollBy([in] LONG x, [in] LONG y);
12128
12129     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12130     void scrollTo([in] LONG x, [in] LONG y);
12131
12132     [id(DISPID_IHTMLWINDOW2_MOVETO)]
12133     void moveTo([in] LONG x, [in] LONG y);
12134
12135     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12136     void moveBy([in] LONG x, [in] LONG y);
12137
12138     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12139     void resizeTo([in] LONG x, [in] LONG y);
12140
12141     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12142     void resizeBy([in] LONG x, [in] LONG y);
12143
12144     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12145     IDispatch *external();
12146
12147     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12148     LONG screenLeft();
12149
12150     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12151     LONG screenTop();
12152
12153     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12154     VARIANT_BOOL attachEvent(
12155              [in] BSTR event,
12156              [in] IDispatch *pDisp);
12157
12158     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12159     void detachEvent(
12160             [in] BSTR event,
12161             [in] IDispatch *pDisp);
12162
12163     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12164     LONG setTimeout(
12165             [in] VARIANT *expression,
12166             [in] LONG msec,
12167             [in, optional] VARIANT *language);
12168
12169     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12170     LONG setInterval(
12171             [in] VARIANT *expression,
12172             [in] LONG msec,
12173             [in, optional] VARIANT *language);
12174
12175     [id(DISPID_IHTMLWINDOW3_PRINT)]
12176     void print();
12177
12178     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12179     void onbeforeprint(VARIANT v);
12180
12181     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12182     VARIANT onbeforeprint();
12183
12184     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12185     void onafterprint(VARIANT v);
12186
12187     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12188     VARIANT onafterprint();
12189
12190     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12191     IHTMLDataTransfer *clipboardData();
12192
12193     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12194     IHTMLWindow2 *showModelessDialog(
12195             [in, defaultvalue("")] BSTR url,
12196             [in, optional] VARIANT *varArgIn,
12197             [in, optional] VARIANT *options);
12198
12199     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12200     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
12201
12202     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12203     IHTMLFrameBase *frameElement();
12204
12205     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12206     IHTMLStorage *sessionStorage();
12207
12208     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12209     IHTMLStorage *localStorage();
12210
12211     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12212     void onhashchange(VARIANT v);
12213
12214     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12215     VARIANT onhashchange();
12216
12217     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12218     long maxConnectionsPerServer();
12219
12220     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12221     void postMessage(
12222             [in] BSTR msg,
12223             [in, optional] VARIANT targetOrigin);
12224
12225     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12226     BSTR toStaticHTML([in] BSTR bstrHTML);
12227
12228     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12229     void onmessage(VARIANT v);
12230
12231     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12232     VARIANT onmessage();
12233
12234     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12235     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12236
12237     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
12238 }
12239
12240 /*****************************************************************************
12241  *    DispHTMLWindowProxy dispinterface
12242  */
12243 [
12244     hidden,
12245     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
12246 ]
12247 dispinterface DispHTMLWindowProxy
12248 {
12249 properties:
12250 methods:
12251     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12252     VARIANT item([in] VARIANT* pvarIndex);
12253
12254     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12255     LONG length();
12256
12257     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12258     IHTMLFramesCollection2* frames();
12259
12260     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12261     void defaultStatus(BSTR v);
12262
12263     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12264     BSTR defaultStatus();
12265
12266     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12267     void status(BSTR v);
12268
12269     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12270     BSTR status();
12271
12272     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12273     void clearTimeout([in] LONG timerID);
12274
12275     [id(DISPID_IHTMLWINDOW2_ALERT)]
12276     void alert([defaultvalue(""), in] BSTR message);
12277
12278     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12279     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
12280
12281     [id(DISPID_IHTMLWINDOW2_PROMPT)]
12282     VARIANT prompt([defaultvalue(""), in] BSTR message,
12283                    [defaultvalue("undefined"), in] BSTR defstr);
12284
12285     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12286     IHTMLImageElementFactory* Image();
12287
12288     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12289     IHTMLLocation* location();
12290
12291     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12292     IOmHistory* history();
12293
12294     [id(DISPID_IHTMLWINDOW2_CLOSE)]
12295     void close();
12296
12297     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12298     void opener(VARIANT v);
12299
12300     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12301     VARIANT opener();
12302
12303     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12304     IOmNavigator* navigator();
12305
12306     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12307     void name(BSTR v);
12308
12309     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12310     BSTR name();
12311
12312     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12313     IHTMLWindow2* parent();
12314
12315     [id(DISPID_IHTMLWINDOW2_OPEN)]
12316     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
12317                        [defaultvalue(""), in] BSTR name,
12318                        [defaultvalue(""), in] BSTR features,
12319                        [defaultvalue(0), in] VARIANT_BOOL replace);
12320
12321     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12322     IHTMLWindow2* self();
12323
12324     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12325     IHTMLWindow2* top();
12326
12327     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12328     IHTMLWindow2* window();
12329
12330     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12331     void navigate([in] BSTR url);
12332
12333     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12334     void onfocus(VARIANT v);
12335
12336     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12337     VARIANT onfocus();
12338
12339     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12340     void onblur(VARIANT v);
12341
12342     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12343     VARIANT onblur();
12344
12345     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12346     void onload(VARIANT v);
12347
12348     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12349     VARIANT onload();
12350
12351     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12352     void onbeforeunload(VARIANT v);
12353
12354     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12355     VARIANT onbeforeunload();
12356
12357     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12358     void onunload(VARIANT v);
12359
12360     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12361     VARIANT onunload();
12362
12363     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12364     void onhelp(VARIANT v);
12365
12366     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12367     VARIANT onhelp();
12368
12369     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12370     void onerror(VARIANT v);
12371
12372     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12373     VARIANT onerror();
12374
12375     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12376     void onresize(VARIANT v);
12377
12378     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12379     VARIANT onresize();
12380
12381     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12382     void onscroll(VARIANT v);
12383
12384     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12385     VARIANT onscroll();
12386
12387     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
12388     IHTMLDocument2* document();
12389
12390     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12391     IHTMLEventObj* event();
12392
12393     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
12394     IUnknown* _newEnum();
12395
12396     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12397     VARIANT showModalDialog([in] BSTR dialog,
12398                             [optional, in] VARIANT* varArgIn,
12399                             [optional, in] VARIANT* varOptions);
12400
12401     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12402     void showHelp([in] BSTR helpURL,
12403                   [optional, in] VARIANT helpArg,
12404                   [defaultvalue(""), in] BSTR features);
12405
12406     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12407     IHTMLScreen* screen();
12408
12409     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12410     IHTMLOptionElementFactory* Option();
12411
12412     [id(DISPID_IHTMLWINDOW2_FOCUS)]
12413     void focus();
12414
12415     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12416     VARIANT_BOOL closed();
12417
12418     [id(DISPID_IHTMLWINDOW2_BLUR)]
12419     void blur();
12420
12421     [id(DISPID_IHTMLWINDOW2_SCROLL)]
12422     void scroll([in] LONG x,
12423                 [in] LONG y);
12424
12425     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12426     IOmNavigator* clientInformation();
12427
12428     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12429     void clearInterval([in] LONG timerID);
12430
12431     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12432     void offscreenBuffering(VARIANT v);
12433
12434     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12435     VARIANT offscreenBuffering();
12436
12437     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12438     VARIANT execScript([in] BSTR code,
12439                        [defaultvalue("JScript"), in] BSTR language);
12440
12441     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12442     BSTR toString();
12443
12444     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12445     void scrollBy([in] LONG x,
12446                   [in] LONG y);
12447
12448     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12449     void scrollTo([in] LONG x,
12450                   [in] LONG y);
12451
12452     [id(DISPID_IHTMLWINDOW2_MOVETO)]
12453     void moveTo([in] LONG x,
12454                 [in] LONG y);
12455
12456     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12457     void moveBy([in] LONG x,
12458                 [in] LONG y);
12459
12460     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12461     void resizeTo([in] LONG x,
12462                   [in] LONG y);
12463
12464     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12465     void resizeBy([in] LONG x,
12466                   [in] LONG y);
12467
12468     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12469     IDispatch* external();
12470
12471     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12472     LONG screenLeft();
12473
12474     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12475     LONG screenTop();
12476
12477     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12478     VARIANT_BOOL attachEvent([in] BSTR event,
12479                              [in] IDispatch* pDisp);
12480
12481     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12482     void detachEvent([in] BSTR event,
12483                      [in] IDispatch* pDisp);
12484
12485     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12486     LONG setTimeout([in] VARIANT* expression,
12487                     [in] LONG msec,
12488                     [optional, in] VARIANT* language);
12489
12490     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12491     LONG setInterval([in] VARIANT* expression,
12492                      [in] LONG msec,
12493                      [optional, in] VARIANT* language);
12494
12495     [id(DISPID_IHTMLWINDOW3_PRINT)]
12496     void print();
12497
12498     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12499     void onbeforeprint(VARIANT v);
12500
12501     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12502     VARIANT onbeforeprint();
12503
12504     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12505     void onafterprint(VARIANT v);
12506
12507     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12508     VARIANT onafterprint();
12509
12510     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12511     IHTMLDataTransfer* clipboardData();
12512
12513     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12514     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
12515                                      [optional, in] VARIANT* varArgIn,
12516                                      [optional, in] VARIANT* options);
12517
12518     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12519     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
12520
12521     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12522     IHTMLFrameBase* frameElement();
12523
12524     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12525     void XMLHttpRequest(VARIANT v);
12526
12527     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12528     VARIANT XMLHttpRequest();
12529
12530     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12531     IHTMLStorage *sessionStorage();
12532
12533     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12534     IHTMLStorage *localStorage();
12535
12536     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12537     void onhashchange(VARIANT v);
12538
12539     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12540     VARIANT onhashchange();
12541
12542     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12543     long maxConnectionsPerServer();
12544
12545     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12546     void postMessage(
12547             [in] BSTR msg,
12548             [in, optional] VARIANT targetOrigin);
12549
12550     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12551     BSTR toStaticHTML([in] BSTR bstrHTML);
12552
12553     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12554     void onmessage(VARIANT v);
12555
12556     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12557     VARIANT onmessage();
12558
12559     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12560     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12561
12562     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
12563 }
12564
12565 /*****************************************************************************
12566  *    HTMLWindowEvents interface
12567  */
12568 [
12569     hidden,
12570     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
12571 ]
12572 dispinterface HTMLWindowEvents
12573 {
12574 properties:
12575 methods:
12576     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
12577     void onload();
12578
12579     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
12580     void onunload();
12581
12582     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
12583     VARIANT_BOOL onhelp();
12584
12585     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
12586     void onfocus();
12587
12588     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
12589     void onblur();
12590
12591     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
12592     void onerror([in] BSTR description,
12593                  [in] BSTR url,
12594                  [in] LONG line);
12595
12596     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
12597     void onresize();
12598
12599     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
12600     void onscroll();
12601
12602     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
12603     void onbeforeunload();
12604
12605     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
12606     void onbeforeprint();
12607
12608     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
12609     void onafterprint();
12610 }
12611
12612 /*****************************************************************************
12613  *    HTMLWindowEvents2 interface
12614  */
12615 [
12616     hidden,
12617     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
12618 ]
12619 dispinterface HTMLWindowEvents2
12620 {
12621 properties:
12622 methods:
12623     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
12624     void onload([in] IHTMLEventObj* pEvtObj);
12625
12626     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
12627     void onunload([in] IHTMLEventObj* pEvtObj);
12628
12629     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
12630     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12631
12632     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
12633     void onfocus([in] IHTMLEventObj* pEvtObj);
12634
12635     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
12636     void onblur([in] IHTMLEventObj* pEvtObj);
12637
12638     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
12639     void onerror([in] BSTR description,
12640                  [in] BSTR url,
12641                  [in] LONG line);
12642
12643     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
12644     void onresize([in] IHTMLEventObj* pEvtObj);
12645
12646     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
12647     void onscroll([in] IHTMLEventObj* pEvtObj);
12648
12649     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
12650     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
12651
12652     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
12653     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
12654
12655     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
12656     void onafterprint([in] IHTMLEventObj* pEvtObj);
12657 }
12658
12659 /*****************************************************************************
12660  *    HTMLWindowProxy class
12661  */
12662 [
12663     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
12664 ]
12665 coclass HTMLWindowProxy
12666 {
12667     [default]           dispinterface DispHTMLWindowProxy;
12668     [source, default]   dispinterface HTMLWindowEvents;
12669     [source]            dispinterface HTMLWindowEvents2;
12670                         interface IHTMLWindow2;
12671                         interface IHTMLWindow3;
12672                         interface IHTMLWindow4;
12673                         interface IHTMLWindow5;
12674 }
12675
12676 /*****************************************************************************
12677  *    HTMLDocumentEvents2 interface
12678  */
12679 [
12680     hidden,
12681     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
12682 ]
12683 dispinterface HTMLDocumentEvents2
12684 {
12685     properties:
12686     methods:
12687     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
12688     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
12689
12690     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
12691     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
12692
12693     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
12694     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
12695
12696     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
12697     void onkeydown([in] IHTMLEventObj *pEvtObj);
12698
12699     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12700     void onkeyup([in] IHTMLEventObj *pEvtObj);
12701
12702     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12703     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12704
12705     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12706     void onmousedown([in] IHTMLEventObj *pEvtObj);
12707
12708     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12709     void onmousemove([in] IHTMLEventObj *pEvtObj);
12710
12711     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12712     void onmouseup([in] IHTMLEventObj *pEvtObj);
12713
12714     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12715     void onmouseout([in] IHTMLEventObj *pEvtObj);
12716
12717     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12718     void onmouseover([in] IHTMLEventObj *pEvtObj);
12719
12720     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12721     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12722
12723     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12724     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12725
12726     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12727     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12728
12729     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12730     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12731
12732     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12733     void onrowenter([in] IHTMLEventObj *pEvtObj);
12734
12735     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12736     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12737
12738     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12739     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12740
12741     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12742     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12743
12744     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12745     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12746
12747     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12748     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12749
12750     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
12751     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
12752
12753     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
12754     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
12755
12756     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
12757     void oncellchange([in] IHTMLEventObj *pEvtObj);
12758
12759     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
12760     void onpropertychange([in] IHTMLEventObj *pEvtObj);
12761
12762     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
12763     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
12764
12765     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
12766     void ondataavailable([in] IHTMLEventObj *pEvtObj);
12767
12768     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
12769     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
12770
12771     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
12772     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
12773
12774     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
12775     void onselectionchange([in] IHTMLEventObj *pEvtObj);
12776
12777     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
12778     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
12779
12780     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
12781     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
12782
12783     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
12784     void onfocusin([in] IHTMLEventObj *pEvtObj);
12785
12786     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
12787     void onfocusout([in] IHTMLEventObj *pEvtObj);
12788
12789     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
12790     void onactivate([in] IHTMLEventObj *pEvtObj);
12791
12792     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
12793     void ondeactivate([in] IHTMLEventObj *pEvtObj);
12794
12795     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
12796     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
12797
12798     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
12799     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
12800 }
12801
12802 /*****************************************************************************
12803  *    HTMLDocumentEvents interface
12804  */
12805 [
12806     hidden,
12807     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
12808 ]
12809 dispinterface HTMLDocumentEvents
12810 {
12811     properties:
12812     methods:
12813     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
12814     VARIANT_BOOL onhelp();
12815
12816     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
12817     VARIANT_BOOL onclick();
12818
12819     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
12820     VARIANT_BOOL ondblclick();
12821
12822     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
12823     void onkeydown();
12824
12825     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
12826     void onkeyup();
12827
12828     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
12829     VARIANT_BOOL onkeypress();
12830
12831     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12832     void onmousedown();
12833
12834     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12835     void onmousemove();
12836
12837     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12838     void onmouseup();
12839
12840     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12841     void onmouseout();
12842
12843     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12844     void onmouseover();
12845
12846     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12847     void onreadystatechange();
12848
12849     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12850     VARIANT_BOOL onbeforeupdate();
12851
12852     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12853     void onafterupdate();
12854
12855     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12856     VARIANT_BOOL onrowexit();
12857
12858     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12859     void onrowenter();
12860
12861     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12862     VARIANT_BOOL ondragstart();
12863
12864     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12865     VARIANT_BOOL onselectstart();
12866
12867     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12868     VARIANT_BOOL onerrorupdate();
12869
12870     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12871     VARIANT_BOOL oncontextmenu();
12872
12873     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12874     VARIANT_BOOL onstop();
12875
12876     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12877     void onrowsdelete();
12878
12879     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12880     void onrowsinserted();
12881
12882     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12883     void oncellchange();
12884
12885     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12886     void onpropertychange();
12887
12888     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12889     void ondatasetchanged();
12890
12891     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12892     void ondataavailable();
12893
12894     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12895     void ondatasetcomplete();
12896
12897     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12898     void onbeforeeditfocus();
12899
12900     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12901     void onselectionchange();
12902
12903     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12904     VARIANT_BOOL oncontrolselect();
12905
12906     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12907     VARIANT_BOOL onmousewheel();
12908
12909     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12910     void onfocusin();
12911
12912     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12913     void onfocusout();
12914
12915     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12916     void onactivate();
12917
12918     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12919     void ondeactivate();
12920
12921     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12922     VARIANT_BOOL onbeforeactivate();
12923
12924     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12925     VARIANT_BOOL onbeforedeactivate();
12926 }
12927
12928 /*****************************************************************************
12929  *    HTMLTextContainerEvents interface
12930  */
12931 [
12932     hidden,
12933     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12934 ]
12935 dispinterface HTMLTextContainerEvents
12936 {
12937 properties:
12938
12939 methods:
12940     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12941     VARIANT_BOOL onhelp();
12942
12943     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12944     VARIANT_BOOL onclick();
12945
12946     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12947     VARIANT_BOOL ondblclick();
12948
12949     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12950     VARIANT_BOOL onkeypress();
12951
12952     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12953     void onkeydown();
12954
12955     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12956     void onkeyup();
12957
12958     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12959     void onmouseout();
12960
12961     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12962     void onmouseover();
12963
12964     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12965     void onmousemove();
12966
12967     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12968     void onmousedown();
12969
12970     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12971     void onmouseup();
12972
12973     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12974     VARIANT_BOOL onselectstart();
12975
12976     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12977     void onfilterchange();
12978
12979     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12980     VARIANT_BOOL ondragstart();
12981
12982     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12983     VARIANT_BOOL onbeforeupdate();
12984
12985     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12986     void onafterupdate();
12987
12988     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12989     VARIANT_BOOL onerrorupdate();
12990
12991     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12992     VARIANT_BOOL onrowexit();
12993
12994     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12995     void onrowenter();
12996
12997     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12998     void ondatasetchanged();
12999
13000     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13001     void ondataavailable();
13002
13003     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13004     void ondatasetcomplete();
13005
13006     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13007     void onlosecapture();
13008
13009     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13010     void onpropertychange();
13011
13012     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13013     void onscroll();
13014
13015     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13016     void onfocus();
13017
13018     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13019     void onblur();
13020
13021     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13022     void onresize();
13023
13024     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13025     VARIANT_BOOL ondrag();
13026
13027     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13028     void ondragend();
13029
13030     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13031     VARIANT_BOOL ondragenter();
13032
13033     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13034     VARIANT_BOOL ondragover();
13035
13036     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13037     void ondragleave();
13038
13039     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13040     VARIANT_BOOL ondrop();
13041
13042     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13043     VARIANT_BOOL onbeforecut();
13044
13045     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13046     VARIANT_BOOL oncut();
13047
13048     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13049     VARIANT_BOOL onbeforecopy();
13050
13051     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13052     VARIANT_BOOL oncopy();
13053
13054     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13055     VARIANT_BOOL onbeforepaste();
13056
13057     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13058     VARIANT_BOOL onpaste();
13059
13060     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13061     VARIANT_BOOL oncontextmenu();
13062
13063     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13064     void onrowsdelete();
13065
13066     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13067     void onrowsinserted();
13068
13069     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13070     void oncellchange();
13071
13072     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13073     void onreadystatechange();
13074
13075     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13076     void onbeforeeditfocus();
13077
13078     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13079     void onlayoutcomplete();
13080
13081     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13082     void onpage();
13083
13084     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13085     VARIANT_BOOL onbeforedeactivate();
13086
13087     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13088     VARIANT_BOOL onbeforeactivate();
13089
13090     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13091     void onmove();
13092
13093     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13094     VARIANT_BOOL oncontrolselect();
13095
13096     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13097     VARIANT_BOOL onmovestart();
13098
13099     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13100     void onmoveend();
13101
13102     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13103     VARIANT_BOOL onresizestart();
13104
13105     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13106     void onresizeend();
13107
13108     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13109     void onmouseenter();
13110
13111     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13112     void onmouseleave();
13113
13114     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13115     VARIANT_BOOL onmousewheel();
13116
13117     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13118     void onactivate();
13119
13120     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13121     void ondeactivate();
13122
13123     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13124     void onfocusin();
13125
13126     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13127     void onfocusout();
13128
13129     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
13130     void onchange();
13131
13132     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
13133     void onselect();
13134 }
13135
13136 /*****************************************************************************
13137  *    HTMLTextContainerEvents2 interface
13138  */
13139 [
13140     hidden,
13141     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
13142 ]
13143 dispinterface HTMLTextContainerEvents2
13144 {
13145 properties:
13146 methods:
13147     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13148     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13149
13150     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13151     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13152
13153     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13154     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13155
13156     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13157     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13158
13159     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13160     void onkeydown([in] IHTMLEventObj* pEvtObj);
13161
13162     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13163     void onkeyup([in] IHTMLEventObj* pEvtObj);
13164
13165     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13166     void onmouseout([in] IHTMLEventObj* pEvtObj);
13167
13168     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13169     void onmouseover([in] IHTMLEventObj* pEvtObj);
13170
13171     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13172     void onmousemove([in] IHTMLEventObj* pEvtObj);
13173
13174     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13175     void onmousedown([in] IHTMLEventObj* pEvtObj);
13176
13177     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13178     void onmouseup([in] IHTMLEventObj* pEvtObj);
13179
13180     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13181     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13182
13183     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13184     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13185
13186     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13187     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13188
13189     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13190     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13191
13192     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13193     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13194
13195     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13196     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13197
13198     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13199     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13200
13201     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13202     void onrowenter([in] IHTMLEventObj* pEvtObj);
13203
13204     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13205     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13206
13207     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13208     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13209
13210     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13211     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13212
13213     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13214     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13215
13216     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13217     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13218
13219     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13220     void onscroll([in] IHTMLEventObj* pEvtObj);
13221
13222     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13223     void onfocus([in] IHTMLEventObj* pEvtObj);
13224
13225     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13226     void onblur([in] IHTMLEventObj* pEvtObj);
13227
13228     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13229     void onresize([in] IHTMLEventObj* pEvtObj);
13230
13231     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13232     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13233
13234     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13235     void ondragend([in] IHTMLEventObj* pEvtObj);
13236
13237     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13238     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13239
13240     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13241     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13242
13243     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13244     void ondragleave([in] IHTMLEventObj* pEvtObj);
13245
13246     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13247     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13248
13249     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13250     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13251
13252     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13253     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13254
13255     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13256     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13257
13258     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13259     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13260
13261     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13262     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13263
13264     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13265     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13266
13267     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13268     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13269
13270     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13271     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13272
13273     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13274     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13275
13276     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13277     void oncellchange([in] IHTMLEventObj* pEvtObj);
13278
13279     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13280     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13281
13282     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13283     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13284
13285     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13286     void onpage([in] IHTMLEventObj* pEvtObj);
13287
13288     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13289     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13290
13291     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13292     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13293
13294     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13295     void onactivate([in] IHTMLEventObj* pEvtObj);
13296
13297     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13298     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13299
13300     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13301     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13302
13303     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13304     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13305
13306     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13307     void onfocusin([in] IHTMLEventObj* pEvtObj);
13308
13309     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13310     void onfocusout([in] IHTMLEventObj* pEvtObj);
13311
13312     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13313     void onmove([in] IHTMLEventObj* pEvtObj);
13314
13315     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13316     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13317
13318     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13319     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13320
13321     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13322     void onmoveend([in] IHTMLEventObj* pEvtObj);
13323
13324     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13325     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13326
13327     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13328     void onresizeend([in] IHTMLEventObj* pEvtObj);
13329
13330     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13331     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13332
13333     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
13334     void onchange([in] IHTMLEventObj* pEvtObj);
13335
13336     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
13337     void onselect([in] IHTMLEventObj* pEvtObj);
13338 }
13339
13340 /*****************************************************************************
13341  *    IHTMLDocument interface
13342  */
13343 [
13344     odl,
13345     oleautomation,
13346     dual,
13347     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
13348 ]
13349 interface IHTMLDocument : IDispatch
13350 {
13351     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
13352     HRESULT Script([retval, out] IDispatch **p);
13353 }
13354
13355 /*****************************************************************************
13356  *    IHTMLDocument2 interface
13357  */
13358 [
13359     odl,
13360     oleautomation,
13361     dual,
13362     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
13363 ]
13364 interface IHTMLDocument2 : IHTMLDocument
13365 {
13366     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13367     HRESULT all([retval, out] IHTMLElementCollection **p);
13368
13369     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13370     HRESULT body([retval, out] IHTMLElement **p);
13371
13372     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13373     HRESULT activeElement([retval, out] IHTMLElement **p);
13374
13375     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13376     HRESULT images([retval, out] IHTMLElementCollection **p);
13377
13378     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13379     HRESULT applets([retval, out] IHTMLElementCollection **p);
13380
13381     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13382     HRESULT links([retval, out] IHTMLElementCollection **p);
13383
13384     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13385     HRESULT forms([retval, out] IHTMLElementCollection **p);
13386
13387     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13388     HRESULT anchors([retval, out] IHTMLElementCollection **p);
13389
13390     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13391     HRESULT title([in] BSTR v);
13392
13393     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13394     HRESULT title([retval, out] BSTR *p);
13395
13396     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13397     HRESULT scripts([retval, out] IHTMLElementCollection **p);
13398
13399     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13400     HRESULT designMode([in] BSTR v);
13401
13402     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13403     HRESULT designMode([retval, out] BSTR *p);
13404
13405     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13406     HRESULT selection([retval, out] IHTMLSelectionObject **p);
13407
13408     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
13409      HRESULT readyState([retval, out] BSTR *p);
13410
13411     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13412     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13413
13414     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13415     HRESULT embeds([retval, out] IHTMLElementCollection **p);
13416
13417     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13418     HRESULT plugins([retval, out] IHTMLElementCollection **p);
13419
13420     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13421     HRESULT alinkColor([in] VARIANT v);
13422
13423     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13424     HRESULT alinkColor([retval, out] VARIANT *p);
13425
13426     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13427     HRESULT bgColor([in] VARIANT v);
13428
13429     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13430     HRESULT bgColor([retval, out] VARIANT *p);
13431
13432     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13433     HRESULT fgColor([in] VARIANT v);
13434
13435     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13436     HRESULT fgColor([retval, out] VARIANT *p);
13437
13438     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13439     HRESULT linkColor([in] VARIANT v);
13440
13441     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13442     HRESULT linkColor([retval, out] VARIANT *p);
13443
13444     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13445     HRESULT vlinkColor([in] VARIANT v);
13446
13447     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13448     HRESULT vlinkColor([retval, out] VARIANT *p);
13449
13450     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13451     HRESULT referrer([retval, out] BSTR *p);
13452
13453     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13454     HRESULT location([retval, out] IHTMLLocation **p);
13455
13456     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13457     HRESULT lastModified([retval, out] BSTR *p);
13458
13459     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13460     HRESULT URL([in] BSTR v);
13461
13462     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13463     HRESULT URL([retval, out] BSTR *p);
13464
13465     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13466     HRESULT domain([in] BSTR v);
13467
13468     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13469     HRESULT domain([retval, out] BSTR *p);
13470
13471     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13472     HRESULT cookie([in] BSTR v);
13473
13474     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13475     HRESULT cookie([retval, out] BSTR *p);
13476
13477     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13478     HRESULT expando([in] VARIANT_BOOL v);
13479
13480     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13481     HRESULT expando([retval, out] VARIANT_BOOL *p);
13482
13483     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13484      HRESULT charset([in] BSTR v);
13485
13486     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13487     HRESULT charset([retval, out] BSTR *p);
13488
13489     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13490     HRESULT defaultCharset([in] BSTR v);
13491
13492     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13493     HRESULT defaultCharset([retval, out] BSTR *p);
13494
13495     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13496     HRESULT mimeType([retval, out] BSTR *p);
13497
13498     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13499     HRESULT fileSize([retval, out] BSTR *p);
13500
13501     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13502     HRESULT fileCreatedDate([retval, out] BSTR *p);
13503
13504     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13505     HRESULT fileModifiedDate([retval, out] BSTR *p);
13506
13507     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13508     HRESULT fileUpdatedDate([retval, out] BSTR *p);
13509
13510     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13511     HRESULT security([retval, out] BSTR *p);
13512
13513     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13514     HRESULT protocol([retval, out] BSTR *p);
13515
13516     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13517      HRESULT nameProp([retval, out] BSTR *p);
13518
13519     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13520     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
13521
13522     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13523     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
13524
13525     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13526     HRESULT open(
13527         [defaultvalue("text/html"), in] BSTR url,
13528         [optional, in] VARIANT name,
13529         [optional, in] VARIANT features,
13530         [optional, in] VARIANT replace,
13531         [retval, out]  IDispatch **pomWindowResult);
13532
13533     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13534     HRESULT close();
13535
13536     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13537     HRESULT clear();
13538
13539     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13540     HRESULT queryCommandSupported(
13541         [in] BSTR cmdID,
13542         [retval, out] VARIANT_BOOL *pfRet);
13543
13544     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13545     HRESULT queryCommandEnabled(
13546         [in] BSTR cmdID,
13547         [retval, out] VARIANT_BOOL *pfRet);
13548
13549     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13550     HRESULT queryCommandState(
13551         [in] BSTR cmdID,
13552         [retval, out] VARIANT_BOOL *pfRet);
13553
13554     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13555     HRESULT queryCommandIndeterm(
13556         [in] BSTR cmdID,
13557         [retval, out] VARIANT_BOOL *pfRet);
13558
13559     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13560     HRESULT queryCommandText(
13561         [in] BSTR cmdID,
13562         [retval, out] BSTR *pcmdText);
13563
13564     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13565     HRESULT queryCommandValue(
13566         [in] BSTR cmdID,
13567         [retval, out] VARIANT *pcmdValue);
13568
13569     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13570     HRESULT execCommand(
13571         [in] BSTR cmdID,
13572         [defaultvalue(0), in] VARIANT_BOOL showUI,
13573         [optional, in] VARIANT value,
13574         [retval, out] VARIANT_BOOL *pfRet);
13575
13576     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13577     HRESULT execCommandShowHelp(
13578         [in] BSTR cmdID,
13579         [retval, out] VARIANT_BOOL *pfRet);
13580
13581     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13582      HRESULT createElement(
13583         [in] BSTR eTag,
13584         [retval, out] IHTMLElement **newElem);
13585
13586     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13587     HRESULT onhelp([in] VARIANT v);
13588
13589     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13590     HRESULT onhelp([retval, out] VARIANT *p);
13591
13592     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13593     HRESULT onclick([in] VARIANT v);
13594
13595     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13596     HRESULT onclick([retval, out] VARIANT *p);
13597
13598     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13599     HRESULT ondblclick([in] VARIANT v);
13600
13601     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13602     HRESULT ondblclick([retval, out] VARIANT *p);
13603
13604     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13605     HRESULT onkeyup([in] VARIANT v);
13606
13607     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13608     HRESULT onkeyup([retval, out] VARIANT *p);
13609
13610     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13611     HRESULT onkeydown([in] VARIANT v);
13612
13613     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13614     HRESULT onkeydown([retval, out] VARIANT *p);
13615
13616     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13617      HRESULT onkeypress([in] VARIANT v);
13618
13619     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13620     HRESULT onkeypress([retval, out] VARIANT *p);
13621
13622     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13623     HRESULT onmouseup([in] VARIANT v);
13624
13625     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13626     HRESULT onmouseup([retval, out] VARIANT *p);
13627
13628     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13629     HRESULT onmousedown([in] VARIANT v);
13630
13631     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13632     HRESULT onmousedown([retval, out] VARIANT *p);
13633
13634     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13635     HRESULT onmousemove([in] VARIANT v);
13636
13637     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13638     HRESULT onmousemove([retval, out] VARIANT *p);
13639
13640     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13641     HRESULT onmouseout([in] VARIANT v);
13642
13643     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13644     HRESULT onmouseout([retval, out] VARIANT *p);
13645
13646     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13647     HRESULT onmouseover([in] VARIANT v);
13648
13649     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13650     HRESULT onmouseover([retval, out] VARIANT *p);
13651
13652     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13653     HRESULT onreadystatechange([in] VARIANT v);
13654
13655     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13656     HRESULT onreadystatechange([retval, out] VARIANT *p);
13657
13658     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13659     HRESULT onafterupdate([in] VARIANT v);
13660
13661     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13662     HRESULT onafterupdate([retval, out] VARIANT *p);
13663
13664     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13665     HRESULT onrowexit([in] VARIANT v);
13666
13667     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13668     HRESULT onrowexit([retval, out] VARIANT *p);
13669
13670     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13671     HRESULT onrowenter([in] VARIANT v);
13672
13673     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13674     HRESULT onrowenter([retval, out] VARIANT *p);
13675
13676     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13677     HRESULT ondragstart([in] VARIANT v);
13678
13679     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13680     HRESULT ondragstart([retval, out] VARIANT *p);
13681
13682     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13683     HRESULT onselectstart([in] VARIANT v);
13684
13685     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13686     HRESULT onselectstart([retval, out] VARIANT *p);
13687
13688     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13689     HRESULT elementFromPoint(
13690         [in] LONG x,
13691         [in] LONG y,
13692         [retval, out] IHTMLElement **elementHit);
13693
13694     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13695     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
13696
13697     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13698     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13699
13700     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13701     HRESULT onbeforeupdate([in] VARIANT v);
13702
13703     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13704     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13705
13706     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13707     HRESULT onerrorupdate([in] VARIANT v);
13708
13709     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13710     HRESULT onerrorupdate([retval, out] VARIANT *p);
13711
13712     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13713     HRESULT toString([retval, out] BSTR *String);
13714
13715     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13716     HRESULT createStyleSheet(
13717         [defaultvalue(""), in] BSTR bstrHref,
13718         [defaultvalue(-1), in] LONG lIndex,
13719         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13720 }
13721
13722 /*****************************************************************************
13723  *    IHTMLDocument3 interface
13724  */
13725 [
13726     odl,
13727     oleautomation,
13728     dual,
13729     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13730 ]
13731 interface IHTMLDocument3 : IDispatch
13732 {
13733     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13734     HRESULT releaseCapture();
13735
13736     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13737     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13738
13739     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13740     HRESULT createTextNode(
13741         [in] BSTR text,
13742         [retval, out] IHTMLDOMNode **newTextNode);
13743
13744     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13745     HRESULT documentElement([retval, out] IHTMLElement **p);
13746
13747     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13748     HRESULT uniqueID([retval, out] BSTR *p);
13749
13750     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13751     HRESULT attachEvent(
13752         [in] BSTR event,
13753         [in] IDispatch* pDisp,
13754         [retval, out] VARIANT_BOOL *pfResult);
13755
13756     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13757     HRESULT detachEvent(
13758         [in] BSTR event,
13759         [in] IDispatch *pDisp);
13760
13761     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13762     HRESULT onrowsdelete([in] VARIANT v);
13763
13764     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13765     HRESULT onrowsdelete([retval, out] VARIANT *p);
13766
13767     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13768     HRESULT onrowsinserted([in] VARIANT v);
13769
13770     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13771     HRESULT onrowsinserted([retval, out] VARIANT *p);
13772
13773     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13774     HRESULT oncellchange([in] VARIANT v);
13775
13776     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13777     HRESULT oncellchange([retval, out] VARIANT *p);
13778
13779     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13780     HRESULT ondatasetchanged([in] VARIANT v);
13781
13782     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13783     HRESULT ondatasetchanged([retval, out] VARIANT *p);
13784
13785     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13786     HRESULT ondataavailable([in] VARIANT v);
13787
13788     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13789     HRESULT ondataavailable([retval, out] VARIANT * p);
13790
13791     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13792     HRESULT ondatasetcomplete([in] VARIANT v);
13793
13794     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13795     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
13796
13797     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13798     HRESULT onpropertychange([in] VARIANT v);
13799
13800     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13801     HRESULT onpropertychange([retval, out] VARIANT *p);
13802
13803     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13804     HRESULT dir([in] BSTR v);
13805
13806     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13807     HRESULT dir([retval, out] BSTR *p);
13808
13809     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13810     HRESULT oncontextmenu([in] VARIANT v);
13811
13812     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13813     HRESULT oncontextmenu([retval, out] VARIANT *p);
13814
13815     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13816     HRESULT onstop([in] VARIANT v);
13817
13818     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13819     HRESULT onstop([retval, out] VARIANT *p);
13820
13821     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13822     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
13823
13824     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13825     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
13826
13827     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13828     HRESULT enableDownload([in] VARIANT_BOOL v);
13829
13830     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13831     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13832
13833     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13834     HRESULT baseUrl([in] BSTR v);
13835
13836     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13837     HRESULT baseUrl([retval, out] BSTR *p);
13838
13839     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13840     HRESULT childNodes([retval, out] IDispatch **p);
13841
13842     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13843     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13844
13845     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13846     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13847
13848     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13849     HRESULT onbeforeeditfocus([in] VARIANT v);
13850
13851     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13852     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13853
13854     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13855     HRESULT getElementsByName(
13856         [in] BSTR v,
13857         [retval, out] IHTMLElementCollection **pelColl);
13858
13859     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13860     HRESULT getElementById(
13861         [in] BSTR v,
13862         [retval, out] IHTMLElement **pel);
13863
13864     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13865     HRESULT getElementsByTagName(
13866         [in] BSTR v,
13867         [retval, out] IHTMLElementCollection **pelColl);
13868 }
13869
13870 /*****************************************************************************
13871  *    IHTMLDocument4 interface
13872  */
13873 [
13874     odl,
13875     oleautomation,
13876     dual,
13877     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13878 ]
13879 interface IHTMLDocument4 : IDispatch
13880 {
13881     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13882     HRESULT focus();
13883
13884     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13885     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13886
13887     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13888     HRESULT onselectionchange([in] VARIANT v);
13889
13890     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13891     HRESULT onselectionchange([retval, out] VARIANT *p);
13892
13893     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13894     HRESULT namespaces([retval, out] IDispatch **p);
13895
13896     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13897     HRESULT createDocumentFromUrl(
13898         [in] BSTR bstrUrl,
13899         [in] BSTR bstrOptions,
13900         [retval, out] IHTMLDocument2 **newDoc);
13901
13902     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13903     HRESULT media([in] BSTR v);
13904
13905     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13906     HRESULT media([retval, out] BSTR *p);
13907
13908     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13909     HRESULT createEventObject(
13910         [optional, in] VARIANT *pvarEventObject,
13911         [retval, out] IHTMLEventObj **ppEventObj);
13912
13913     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13914     HRESULT fireEvent(
13915         [in] BSTR bstrEventName,
13916         [optional, in] VARIANT *pvarEventObject,
13917         [retval, out] VARIANT_BOOL *pfCancelled);
13918
13919     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13920     HRESULT createRenderStyle(
13921         [in] BSTR v,
13922         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13923
13924     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13925     HRESULT oncontrolselect([in] VARIANT v);
13926
13927     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13928     HRESULT oncontrolselect([retval, out] VARIANT *p);
13929
13930     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13931     HRESULT URLUnencoded([retval, out] BSTR *p);
13932 }
13933
13934 /*****************************************************************************
13935  *    IHTMLDocument5 interface
13936  */
13937 [
13938     odl,
13939     oleautomation,
13940     dual,
13941     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13942 ]
13943 interface IHTMLDocument5 : IDispatch
13944 {
13945     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13946     HRESULT onmousewheel([in] VARIANT v);
13947
13948     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13949     HRESULT onmousewheel([retval, out] VARIANT *p);
13950
13951     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13952     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13953
13954     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13955     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13956
13957     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13958     HRESULT createAttribute(
13959         [in] BSTR bstrattrName,
13960         [retval, out] IHTMLDOMAttribute **ppattribute);
13961
13962     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13963     HRESULT createComment(
13964         [in] BSTR bstrdata,
13965         [retval, out] IHTMLDOMNode **ppRetNode);
13966
13967     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13968     HRESULT onfocusin([in] VARIANT v);
13969
13970     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13971     HRESULT onfocusin([retval, out] VARIANT *p);
13972
13973     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13974     HRESULT onfocusout([in] VARIANT v);
13975
13976     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13977     HRESULT onfocusout([retval, out] VARIANT *p);
13978
13979     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13980     HRESULT onactivate([in] VARIANT v);
13981
13982     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13983     HRESULT onactivate([retval, out] VARIANT *p);
13984
13985     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13986     HRESULT ondeactivate([in] VARIANT v);
13987
13988     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13989     HRESULT ondeactivate([retval, out] VARIANT *p);
13990
13991     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13992     HRESULT onbeforeactivate([in] VARIANT v);
13993
13994     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13995     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13996
13997     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13998     HRESULT onbeforedeactivate([in] VARIANT v);
13999
14000     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14001     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
14002
14003     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14004     HRESULT compatMode([retval, out] BSTR *p);
14005 }
14006
14007 /*****************************************************************************
14008  *    IHTMLDocument6 interface
14009  */
14010 [
14011     odl,
14012     oleautomation,
14013     dual,
14014     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
14015 ]
14016 interface IHTMLDocument6 : IDispatch
14017 {
14018     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
14019     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
14020
14021     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
14022     HRESULT documentMode([retval, out] VARIANT *p);
14023
14024     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14025     HRESULT onstorage([in] VARIANT v);
14026
14027     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14028     HRESULT onstorage([out] VARIANT *p);
14029
14030     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14031     HRESULT onstoragecommit([in] VARIANT v);
14032
14033     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14034     HRESULT onstoragecommit([out] VARIANT *p);
14035
14036     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
14037     HRESULT getElementById(
14038         [in] BSTR bstrId,
14039         [retval, out] IHTMLElement2 **p);
14040
14041     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
14042     HRESULT updateSettings();
14043 }
14044
14045 /*****************************************************************************
14046  *    DispHTMLDocument dispinterface
14047  */
14048 [
14049     hidden,
14050     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
14051 ]
14052 dispinterface DispHTMLDocument
14053 {
14054 properties:
14055 methods:
14056     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
14057     IDispatch *Script();
14058
14059     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14060     IHTMLElementCollection *all();
14061
14062     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14063     IHTMLElement *body();
14064
14065     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14066     IHTMLElement *activeElement();
14067
14068     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14069     IHTMLElementCollection *images();
14070
14071     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14072     IHTMLElementCollection *applets();
14073
14074     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14075     IHTMLElementCollection *links();
14076
14077     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14078     IHTMLElementCollection *forms();
14079
14080     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14081     IHTMLElementCollection *anchors();
14082
14083     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14084     void title(BSTR v);
14085
14086     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14087     BSTR title();
14088
14089     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14090     IHTMLElementCollection *scripts();
14091
14092     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14093     void designMode(BSTR v);
14094
14095     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14096     BSTR designMode();
14097
14098     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14099     IHTMLSelectionObject *selection();
14100
14101     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
14102     BSTR readyState();
14103
14104     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14105     IHTMLFramesCollection2 *frames();
14106
14107     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14108     IHTMLElementCollection *embeds();
14109
14110     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14111     IHTMLElementCollection *plugins();
14112
14113     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14114     void alinkColor(VARIANT v);
14115
14116     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14117     VARIANT alinkColor();
14118
14119     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14120     void bgColor(VARIANT v);
14121
14122     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14123     VARIANT bgColor();
14124
14125     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14126     void fgColor(VARIANT v);
14127
14128     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14129     VARIANT fgColor();
14130
14131     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14132     void linkColor(VARIANT v);
14133
14134     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14135     VARIANT linkColor();
14136
14137     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14138     void vlinkColor(VARIANT v);
14139
14140     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14141     VARIANT vlinkColor();
14142
14143     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14144     BSTR referrer();
14145
14146     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14147     IHTMLLocation *location();
14148
14149     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14150     BSTR lastModified();
14151
14152     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14153     void URL(BSTR v);
14154
14155     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14156     BSTR URL();
14157
14158     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14159     void domain(BSTR v);
14160
14161     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14162     BSTR domain();
14163
14164     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14165     void cookie(BSTR v);
14166
14167     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14168     BSTR cookie();
14169
14170     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14171     void expando(VARIANT_BOOL v);
14172
14173     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14174     VARIANT_BOOL expando();
14175
14176     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14177     void charset(BSTR v);
14178
14179     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14180     BSTR charset();
14181
14182     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14183     void defaultCharset(BSTR v);
14184
14185     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14186     BSTR defaultCharset();
14187
14188     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14189     BSTR mimeType();
14190
14191     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14192     BSTR fileSize();
14193
14194     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14195     BSTR fileCreatedDate();
14196
14197     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14198     BSTR fileModifiedDate();
14199
14200     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14201     BSTR fileUpdatedDate();
14202
14203     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14204     BSTR security();
14205
14206     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14207     BSTR protocol();
14208
14209     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14210     BSTR nameProp();
14211
14212     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14213     void write([in] SAFEARRAY(VARIANT) psarray);
14214
14215     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14216     void writeln([in] SAFEARRAY(VARIANT) psarray);
14217
14218     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14219     IDispatch *open(
14220         [defaultvalue("text/html"), in] BSTR url,
14221         [optional, in] VARIANT name,
14222         [optional, in] VARIANT features,
14223         [optional, in] VARIANT replace);
14224
14225     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14226     void close();
14227
14228     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14229     void clear();
14230
14231     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14232     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
14233
14234     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14235     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
14236
14237     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14238     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
14239
14240     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14241     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
14242
14243     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14244     BSTR queryCommandText([in] BSTR cmdID);
14245
14246     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14247     VARIANT queryCommandValue([in] BSTR cmdID);
14248
14249     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14250     VARIANT_BOOL execCommand(
14251         [in] BSTR cmdID,
14252         [defaultvalue(0), in] VARIANT_BOOL showUI,
14253         [optional, in] VARIANT value);
14254
14255     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14256     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
14257
14258     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14259     IHTMLElement *createElement([in] BSTR eTag);
14260
14261     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14262     void onhelp(VARIANT v);
14263
14264     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14265     VARIANT onhelp();
14266
14267     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14268     void onclick(VARIANT v);
14269
14270     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14271     VARIANT onclick();
14272
14273     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14274     void ondblclick(VARIANT v);
14275
14276     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14277     VARIANT ondblclick();
14278
14279     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14280     void onkeyup(VARIANT v);
14281
14282     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14283     VARIANT onkeyup();
14284
14285     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14286     void onkeydown(VARIANT v);
14287
14288     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14289     VARIANT onkeydown();
14290
14291     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14292     void onkeypress(VARIANT v);
14293
14294     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14295     VARIANT onkeypress();
14296
14297     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14298     void onmouseup(VARIANT v);
14299
14300     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14301     VARIANT onmouseup();
14302
14303     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14304     void onmousedown(VARIANT v);
14305
14306     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14307     VARIANT onmousedown();
14308
14309     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14310     void onmousemove(VARIANT v);
14311
14312     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14313     VARIANT onmousemove();
14314
14315     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14316     void onmouseout(VARIANT v);
14317
14318     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14319     VARIANT onmouseout();
14320
14321     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14322     void onmouseover(VARIANT v);
14323
14324     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14325     VARIANT onmouseover();
14326
14327     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14328     void onreadystatechange(VARIANT v);
14329
14330     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14331     VARIANT onreadystatechange();
14332
14333     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14334     void onafterupdate(VARIANT v);
14335
14336     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14337     VARIANT onafterupdate();
14338
14339     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14340     void onrowexit(VARIANT v);
14341
14342     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14343     VARIANT onrowexit();
14344
14345     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14346     void onrowenter(VARIANT v);
14347
14348     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14349     VARIANT onrowenter();
14350
14351     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14352     void ondragstart(VARIANT v);
14353
14354     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14355     VARIANT ondragstart();
14356
14357     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14358     void onselectstart(VARIANT v);
14359
14360     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14361     VARIANT onselectstart();
14362
14363     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14364     IHTMLElement *elementFromPoint(
14365         [in] LONG x,
14366         [in] LONG y);
14367
14368     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14369     IHTMLWindow2 *parentWindow();
14370
14371     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14372     IHTMLStyleSheetsCollection *styleSheets();
14373
14374     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14375     void onbeforeupdate(VARIANT v);
14376
14377     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14378     VARIANT onbeforeupdate();
14379
14380     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14381     void onerrorupdate(VARIANT v);
14382
14383     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14384     VARIANT onerrorupdate();
14385
14386     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14387     BSTR toString();
14388
14389     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14390     IHTMLStyleSheet *createStyleSheet(
14391         [defaultvalue(""), in] BSTR bstrHref,
14392         [defaultvalue(-1), in] LONG lIndex);
14393
14394     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14395     void releaseCapture();
14396
14397     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14398     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14399
14400     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14401     IHTMLDOMNode *createTextNode([in] BSTR text);
14402
14403     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14404     IHTMLElement *documentElement();
14405
14406     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14407     BSTR uniqueID();
14408
14409     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14410     VARIANT_BOOL attachEvent(
14411         [in] BSTR event,
14412         [in] IDispatch *pDisp);
14413
14414     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14415     void detachEvent(
14416         [in] BSTR event,
14417         [in] IDispatch *pDisp);
14418
14419     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14420     void onrowsdelete(VARIANT v);
14421
14422     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14423     VARIANT onrowsdelete();
14424
14425     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14426     void onrowsinserted(VARIANT v);
14427
14428     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14429     VARIANT onrowsinserted();
14430
14431     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14432     void oncellchange(VARIANT v);
14433
14434     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14435     VARIANT oncellchange();
14436
14437     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14438     void ondatasetchanged(VARIANT v);
14439
14440     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14441     VARIANT ondatasetchanged();
14442
14443     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14444     void ondataavailable(VARIANT v);
14445
14446     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14447     VARIANT ondataavailable();
14448
14449     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14450     void ondatasetcomplete(VARIANT v);
14451
14452     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14453     VARIANT ondatasetcomplete();
14454
14455     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14456     void onpropertychange(VARIANT v);
14457
14458     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14459     VARIANT onpropertychange();
14460
14461     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14462     void dir(BSTR v);
14463
14464     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14465     BSTR dir();
14466
14467     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14468     void oncontextmenu(VARIANT v);
14469
14470     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14471     VARIANT oncontextmenu();
14472
14473     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14474     void onstop(VARIANT v);
14475
14476     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14477     VARIANT onstop();
14478
14479     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14480     IHTMLDocument2 *createDocumentFragment();
14481
14482     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14483     IHTMLDocument2 *parentDocument();
14484
14485     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14486     void enableDownload(VARIANT_BOOL v);
14487
14488     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14489     VARIANT_BOOL enableDownload();
14490
14491     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14492     void baseUrl(BSTR v);
14493
14494     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14495     BSTR baseUrl();
14496
14497     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14498     void inheritStyleSheets(VARIANT_BOOL v);
14499
14500     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14501     VARIANT_BOOL inheritStyleSheets();
14502
14503     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14504     void onbeforeeditfocus(VARIANT v);
14505
14506     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14507     VARIANT onbeforeeditfocus();
14508
14509     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14510     IHTMLElementCollection *getElementsByName([in] BSTR v);
14511
14512     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14513     IHTMLElement *getElementById([in] BSTR v);
14514
14515     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14516     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
14517
14518     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14519     void focus();
14520
14521     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14522     VARIANT_BOOL hasFocus();
14523
14524     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14525     void onselectionchange(VARIANT v);
14526
14527     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14528     VARIANT onselectionchange();
14529
14530     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14531     IDispatch *namespaces();
14532
14533     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14534     IHTMLDocument2 *createDocumentFromUrl(
14535         [in] BSTR bstrUrl,
14536         [in] BSTR bstrOptions);
14537
14538     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14539     void media(BSTR v);
14540
14541     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14542     BSTR media();
14543
14544     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14545     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
14546
14547     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14548     VARIANT_BOOL fireEvent(
14549         [in] BSTR bstrEventName,
14550         [optional, in] VARIANT *pvarEventObject);
14551
14552     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14553     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
14554
14555     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14556     void oncontrolselect(VARIANT v);
14557
14558     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14559     VARIANT oncontrolselect();
14560
14561     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14562     BSTR URLUnencoded();
14563
14564     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14565     void onmousewheel(VARIANT v);
14566
14567     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14568     VARIANT onmousewheel();
14569
14570     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14571     IHTMLDOMNode *doctype();
14572
14573     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14574     IHTMLDOMImplementation *implementation();
14575
14576     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14577     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
14578
14579     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14580     IHTMLDOMNode *createComment([in] BSTR bstrdata);
14581
14582     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14583     void onfocusin(VARIANT v);
14584
14585     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14586     VARIANT onfocusin();
14587
14588     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14589     void onfocusout(VARIANT v);
14590
14591     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14592     VARIANT onfocusout();
14593
14594     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14595     void onactivate(VARIANT v);
14596
14597     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14598     VARIANT onactivate();
14599
14600     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14601     void ondeactivate(VARIANT v);
14602
14603     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14604     VARIANT ondeactivate();
14605
14606     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14607     void onbeforeactivate(VARIANT v);
14608
14609     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14610     VARIANT onbeforeactivate();
14611
14612     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14613     void onbeforedeactivate(VARIANT v);
14614
14615     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14616     VARIANT onbeforedeactivate();
14617
14618     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14619     BSTR compatMode();
14620
14621     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
14622     IHTMLDocumentCompatibleInfoCollection *compatible();
14623
14624     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
14625     VARIANT documentMode();
14626
14627     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14628     void onstorage(VARIANT v);
14629
14630     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14631     VARIANT onstorage();
14632
14633     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14634     void onstoragecommit(VARIANT v);
14635
14636     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14637     VARIANT onstoragecommit();
14638
14639     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
14640     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
14641
14642     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
14643     void updateSettings();
14644
14645     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
14646 }
14647
14648 /*****************************************************************************
14649  *    HTMLDocument coclass
14650  */
14651 [
14652     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
14653 ]
14654 coclass HTMLDocument
14655 {
14656     [default]         dispinterface DispHTMLDocument;
14657     [source, default] dispinterface HTMLDocumentEvents;
14658     [source]          dispinterface HTMLDocumentEvents2;
14659                       interface IHTMLDocument2;
14660                       interface IHTMLDocument3;
14661                       interface IHTMLDocument4;
14662                       interface IHTMLDocument5;
14663                       interface IHTMLDocument6;
14664                       interface IHTMLDOMNode;
14665                       interface IHTMLDOMNode2;
14666 }
14667
14668 /*****************************************************************************
14669  *    DWebBridgeEvents dispinterface
14670  */
14671 [
14672     hidden,
14673     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
14674 ]
14675 dispinterface DWebBridgeEvents
14676 {
14677 properties:
14678 methods:
14679     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
14680     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
14681
14682     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
14683     void onreadystatechange();
14684
14685     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
14686     VARIANT_BOOL onclick();
14687
14688     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
14689     VARIANT_BOOL ondblclick();
14690
14691     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
14692     void onkeydown();
14693
14694     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
14695     void onkeyup();
14696
14697     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
14698     VARIANT_BOOL onkeypress();
14699
14700     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
14701     void onmousedown();
14702
14703     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
14704     void onmousemove();
14705
14706     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
14707     void onmouseup();
14708 }
14709
14710 /*****************************************************************************
14711  *    IWebBridge interface
14712  */
14713 [
14714     odl,
14715     oleautomation,
14716     dual,
14717     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
14718 ]
14719 interface IWebBridge : IDispatch
14720 {
14721     [propput, id(DISPID_IWEBBRIDGE_URL)]
14722     HRESULT URL([in] BSTR v);
14723
14724     [propget, id(DISPID_IWEBBRIDGE_URL)]
14725     HRESULT URL([retval, out] BSTR * p);
14726
14727     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14728     HRESULT Scrollbar([in] VARIANT_BOOL v);
14729
14730     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14731     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
14732
14733     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
14734     HRESULT embed([in] VARIANT_BOOL v);
14735
14736     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
14737     HRESULT embed([retval, out] VARIANT_BOOL * p);
14738
14739     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
14740     HRESULT event([retval, out] IDispatch* * p);
14741
14742     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
14743     HRESULT readyState([retval, out] long * p);
14744
14745     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
14746     HRESULT AboutBox();
14747 }
14748
14749 /*****************************************************************************
14750  *    Scriptlet coclass
14751  */
14752 [
14753     control,
14754     helpstring("Microsoft Scriptlet Component"),
14755     progid("ScriptBridge.ScriptBridge.1"),
14756     vi_progid("ScriptBridge.ScriptBridge"),
14757     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
14758 ]
14759 coclass Scriptlet
14760 {
14761     [default]           interface IWebBridge;
14762     [source, default]   dispinterface DWebBridgeEvents;
14763 }
14764
14765 /*****************************************************************************
14766  *    IHTMLEmbedElement interface
14767  */
14768 [
14769     odl,
14770     oleautomation,
14771     dual,
14772     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
14773 ]
14774 interface IHTMLEmbedElement : IDispatch
14775 {
14776     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14777     HRESULT hidden([in] BSTR v);
14778
14779     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14780     HRESULT hidden([retval, out] BSTR *p);
14781
14782     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14783     HRESULT palette([retval, out] BSTR *p);
14784
14785     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14786     HRESULT pluginspage([retval, out] BSTR *p);
14787
14788     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14789     HRESULT src([in] BSTR v);
14790
14791     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14792     HRESULT src([retval, out] BSTR *p);
14793
14794     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14795     HRESULT units([in] BSTR v);
14796
14797     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14798     HRESULT units([retval, out] BSTR *p);
14799
14800     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14801     HRESULT name([in] BSTR v);
14802
14803     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14804     HRESULT name([retval, out] BSTR *p);
14805
14806     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14807     HRESULT width([in] VARIANT v);
14808
14809     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14810     HRESULT width([retval, out] VARIANT *p);
14811
14812     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14813     HRESULT height([in] VARIANT v);
14814
14815     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14816     HRESULT height([retval, out] VARIANT *p);
14817 }
14818
14819 /*****************************************************************************
14820  *    DispHTMLEmbedElement dispinterface
14821  */
14822 [
14823     hidden,
14824     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
14825 ]
14826 dispinterface DispHTMLEmbed
14827 {
14828 properties:
14829 methods:
14830     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14831
14832     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14833     void hidden(BSTR v);
14834
14835     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14836     BSTR hidden();
14837
14838     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14839     BSTR palette();
14840
14841     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14842     BSTR pluginspage();
14843
14844     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14845     void src(BSTR v);
14846
14847     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14848     BSTR src();
14849
14850     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14851     void units(BSTR v);
14852
14853     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14854     BSTR units();
14855
14856     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14857     void name(BSTR v);
14858
14859     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14860     BSTR name();
14861
14862     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14863     void width(VARIANT v);
14864
14865     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14866     VARIANT width();
14867
14868     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14869     void height(VARIANT v);
14870
14871     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14872     VARIANT height();
14873
14874     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14875     void ie8_src(BSTR v);
14876
14877     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14878     BSTR ie8_src();
14879
14880     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14881     BSTR ie8_pluginspage();
14882 }
14883
14884 /*****************************************************************************
14885  *    IHTMLCommentElement interface
14886  */
14887 [
14888     odl,
14889     oleautomation,
14890     dual,
14891     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14892 ]
14893 interface IHTMLCommentElement : IDispatch
14894 {
14895     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14896     HRESULT text([in] BSTR v);
14897
14898     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14899     HRESULT text([out, retval] BSTR *p);
14900
14901     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14902     HRESULT atomic([in] LONG v);
14903
14904     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14905     HRESULT atomic([out, retval] LONG *p);
14906 }
14907
14908 /*****************************************************************************
14909  *    IHTMLCommentElement2 interface
14910  */
14911 [
14912     odl,
14913     oleautomation,
14914     dual,
14915     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14916 ]
14917 interface IHTMLCommentElement2 : IDispatch
14918 {
14919     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14920     HRESULT data([in] BSTR v);
14921
14922     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14923     HRESULT data([out, retval] BSTR *p);
14924
14925     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14926     HRESULT length([out, retval] LONG *p);
14927
14928     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14929     HRESULT substringData(
14930             [in] LONG offset,
14931             [in] LONG Count,
14932             [out, retval] BSTR *pbstrsubString);
14933
14934     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14935     HRESULT appendData([in] BSTR bstrstring);
14936
14937     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14938     HRESULT insertData(
14939             [in] LONG offset,
14940             [in] BSTR bstrstring);
14941
14942     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14943     HRESULT deleteData(
14944             [in] LONG offset,
14945             [in] LONG Count);
14946
14947     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14948     HRESULT replaceData(
14949             [in] LONG offset,
14950             [in] LONG Count,
14951             [in] BSTR bstrstring);
14952 }
14953
14954 /*****************************************************************************
14955  *    DispHTMLCommentElement dispinterface
14956  */
14957 [
14958     hidden,
14959     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14960 ]
14961 dispinterface DispHTMLCommentElement
14962 {
14963 properties:
14964 methods:
14965     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14966
14967     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14968     void text(BSTR v);
14969
14970     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14971     BSTR text();
14972
14973     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14974     void atomic(LONG v);
14975
14976     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14977     LONG atomic();
14978
14979     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14980     void data(BSTR v);
14981
14982     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14983     BSTR data();
14984
14985     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14986     LONG length();
14987
14988     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14989     BSTR substringData(
14990             [in] LONG offset,
14991             [in] LONG Count);
14992
14993     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14994     void appendData([in] BSTR bstrstring);
14995
14996     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14997      void insertData(
14998             [in] LONG offset,
14999             [in] BSTR bstrstring);
15000
15001     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15002     void deleteData(
15003             [in] LONG offset,
15004             [in] LONG Count);
15005
15006     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15007     void replaceData(
15008             [in] LONG offset,
15009             [in] LONG Count,
15010             [in] BSTR bstrstring);
15011 }
15012
15013 [
15014     hidden,
15015     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
15016 ]
15017 dispinterface HTMLElementEvents2
15018 {
15019 properties:
15020 methods:
15021     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15022     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15023
15024     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15025     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15026
15027     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15028     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15029
15030     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15031     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15032
15033     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15034     void onkeydown([in] IHTMLEventObj* pEvtObj);
15035
15036     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15037     void onkeyup([in] IHTMLEventObj* pEvtObj);
15038
15039     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15040     void onmouseout([in] IHTMLEventObj* pEvtObj);
15041
15042     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15043     void onmouseover([in] IHTMLEventObj* pEvtObj);
15044
15045     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15046     void onmousemove([in] IHTMLEventObj* pEvtObj);
15047
15048     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15049     void onmousedown([in] IHTMLEventObj* pEvtObj);
15050
15051     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15052     void onmouseup([in] IHTMLEventObj* pEvtObj);
15053
15054     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15055     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15056
15057     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15058     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15059
15060     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15061     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15062
15063     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15064     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15065
15066     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15067     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15068
15069     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15070     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15071
15072     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15073     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15074
15075     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15076     void onrowenter([in] IHTMLEventObj* pEvtObj);
15077
15078     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15079     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15080
15081     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15082     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15083
15084     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15085     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15086
15087     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15088     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15089
15090     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15091     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15092
15093     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15094     void onscroll([in] IHTMLEventObj* pEvtObj);
15095
15096     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15097     void onfocus([in] IHTMLEventObj* pEvtObj);
15098
15099     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15100     void onblur([in] IHTMLEventObj* pEvtObj);
15101
15102     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15103     void onresize([in] IHTMLEventObj* pEvtObj);
15104
15105     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15106     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15107
15108     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15109     void ondragend([in] IHTMLEventObj* pEvtObj);
15110
15111     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15112     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15113
15114     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15115     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15116
15117     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15118     void ondragleave([in] IHTMLEventObj* pEvtObj);
15119
15120     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15121     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15122
15123     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15124     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15125
15126     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15127     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15128
15129     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15130     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15131
15132     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15133     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15134
15135     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15136     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15137
15138     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15139     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15140
15141     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15142     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15143
15144     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15145     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15146
15147     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15148     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15149
15150     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15151     void oncellchange([in] IHTMLEventObj* pEvtObj);
15152
15153     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15154     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15155
15156     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15157     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15158
15159     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15160     void onpage([in] IHTMLEventObj* pEvtObj);
15161
15162     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15163     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15164
15165     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15166     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15167
15168     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15169     void onactivate([in] IHTMLEventObj* pEvtObj);
15170
15171     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15172     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15173
15174     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15175     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15176
15177     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15178     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15179
15180     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15181     void onfocusin([in] IHTMLEventObj* pEvtObj);
15182
15183     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15184     void onfocusout([in] IHTMLEventObj* pEvtObj);
15185
15186     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15187     void onmove([in] IHTMLEventObj* pEvtObj);
15188
15189     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15190     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15191
15192     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15193     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15194
15195     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15196     void onmoveend([in] IHTMLEventObj* pEvtObj);
15197
15198     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15199     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15200
15201     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15202     void onresizeend([in] IHTMLEventObj* pEvtObj);
15203
15204     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15205     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15206 }
15207
15208 [
15209     hidden,
15210     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
15211 ]
15212 dispinterface HTMLElementEvents
15213 {
15214 properties:
15215 methods:
15216     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15217     VARIANT_BOOL onhelp();
15218
15219     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15220     VARIANT_BOOL onclick();
15221
15222     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15223     VARIANT_BOOL ondblclick();
15224
15225     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15226     VARIANT_BOOL onkeypress();
15227
15228     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15229     void onkeydown();
15230
15231     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15232     void onkeyup();
15233
15234     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15235     void onmouseout();
15236
15237     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15238     void onmouseover();
15239
15240     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15241     void onmousemove();
15242
15243     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15244     void onmousedown();
15245
15246     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15247     void onmouseup();
15248
15249     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15250     VARIANT_BOOL onselectstart();
15251
15252     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15253     void onfilterchange();
15254
15255     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15256     VARIANT_BOOL ondragstart();
15257
15258     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15259     VARIANT_BOOL onbeforeupdate();
15260
15261     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15262     void onafterupdate();
15263
15264     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15265     VARIANT_BOOL onerrorupdate();
15266
15267     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15268     VARIANT_BOOL onrowexit();
15269
15270     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15271     void onrowenter();
15272
15273     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15274     void ondatasetchanged();
15275
15276     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15277     void ondataavailable();
15278
15279     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15280     void ondatasetcomplete();
15281
15282     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15283     void onlosecapture();
15284
15285     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15286     void onpropertychange();
15287
15288     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15289     void onscroll();
15290
15291     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15292     void onfocus();
15293
15294     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15295     void onblur();
15296
15297     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15298     void onresize();
15299
15300     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15301     VARIANT_BOOL ondrag();
15302
15303     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15304     void ondragend();
15305
15306     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15307     VARIANT_BOOL ondragenter();
15308
15309     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15310     VARIANT_BOOL ondragover();
15311
15312     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15313     void ondragleave();
15314
15315     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15316     VARIANT_BOOL ondrop();
15317
15318     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15319     VARIANT_BOOL onbeforecut();
15320
15321     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15322     VARIANT_BOOL oncut();
15323
15324     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15325     VARIANT_BOOL onbeforecopy();
15326
15327     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15328     VARIANT_BOOL oncopy();
15329
15330     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15331     VARIANT_BOOL onbeforepaste();
15332
15333     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15334     VARIANT_BOOL onpaste();
15335
15336     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15337     VARIANT_BOOL oncontextmenu();
15338
15339     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15340     void onrowsdelete();
15341
15342     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15343     void onrowsinserted();
15344
15345     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15346     void oncellchange();
15347
15348     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15349     void onreadystatechange();
15350
15351     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15352     void onbeforeeditfocus();
15353
15354     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15355     void onlayoutcomplete();
15356
15357     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15358     void onpage();
15359
15360     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15361     VARIANT_BOOL onbeforedeactivate();
15362
15363     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15364     VARIANT_BOOL onbeforeactivate();
15365
15366     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15367     void onmove();
15368
15369     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15370     VARIANT_BOOL oncontrolselect();
15371
15372     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15373     VARIANT_BOOL onmovestart();
15374
15375     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15376     void onmoveend();
15377
15378     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15379     VARIANT_BOOL onresizestart();
15380
15381     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15382     void onresizeend();
15383
15384     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15385     void onmouseenter();
15386
15387     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15388     void onmouseleave();
15389
15390     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15391     VARIANT_BOOL onmousewheel();
15392
15393     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15394     void onactivate();
15395
15396     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15397     void ondeactivate();
15398
15399     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15400     void onfocusin();
15401
15402     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15403     void onfocusout();
15404 }
15405
15406 [
15407     noncreatable,
15408     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
15409 ]
15410 coclass HTMLCommentElement
15411 {
15412     [default]           dispinterface DispHTMLCommentElement;
15413     [source, default]   dispinterface HTMLElementEvents;
15414     [source]            dispinterface HTMLElementEvents2;
15415                         interface IHTMLElement;
15416                         interface IHTMLElement2;
15417                         interface IHTMLElement3;
15418                         interface IHTMLElement4;
15419                         interface IHTMLUniqueName;
15420                         interface IHTMLDOMNode;
15421                         interface IHTMLDOMNode2;
15422                         interface IHTMLCommentElement;
15423                         interface IHTMLCommentElement2;
15424 }
15425
15426 /*****************************************************************************
15427  *    HTMLTableEvents dispinterface
15428  */
15429 [
15430     hidden,
15431     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
15432 ]
15433 dispinterface HTMLTableEvents
15434 {
15435 properties:
15436 methods:
15437     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15438     VARIANT_BOOL onhelp();
15439
15440     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15441     VARIANT_BOOL onclick();
15442
15443     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15444     VARIANT_BOOL ondblclick();
15445
15446     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15447     VARIANT_BOOL onkeypress();
15448
15449     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15450     void onkeydown();
15451
15452     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15453     void onkeyup();
15454
15455     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15456     void onmouseout();
15457
15458     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15459     void onmouseover();
15460
15461     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15462     void onmousemove();
15463
15464     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15465     void onmousedown();
15466
15467     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15468     void onmouseup();
15469
15470     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15471     VARIANT_BOOL onselectstart();
15472
15473     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15474     void onfilterchange();
15475
15476     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15477     VARIANT_BOOL ondragstart();
15478
15479     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15480     VARIANT_BOOL onbeforeupdate();
15481
15482     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15483     void onafterupdate();
15484
15485     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15486     VARIANT_BOOL onerrorupdate();
15487
15488     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15489     VARIANT_BOOL onrowexit();
15490
15491     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15492     void onrowenter();
15493
15494     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15495     void ondatasetchanged();
15496
15497     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15498     void ondataavailable();
15499
15500     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15501     void ondatasetcomplete();
15502
15503     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15504     void onlosecapture();
15505
15506     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15507     void onpropertychange();
15508
15509     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15510     void onscroll();
15511
15512     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15513     void onfocus();
15514
15515     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15516     void onblur();
15517
15518     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15519     void onresize();
15520
15521     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15522     VARIANT_BOOL ondrag();
15523
15524     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15525     void ondragend();
15526
15527     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15528     VARIANT_BOOL ondragenter();
15529
15530     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15531     VARIANT_BOOL ondragover();
15532
15533     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15534     void ondragleave();
15535
15536     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15537     VARIANT_BOOL ondrop();
15538
15539     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15540     VARIANT_BOOL onbeforecut();
15541
15542     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15543     VARIANT_BOOL oncut();
15544
15545     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15546     VARIANT_BOOL onbeforecopy();
15547
15548     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15549     VARIANT_BOOL oncopy();
15550
15551     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15552     VARIANT_BOOL onbeforepaste();
15553
15554     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15555     VARIANT_BOOL onpaste();
15556
15557     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15558     VARIANT_BOOL oncontextmenu();
15559
15560     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15561     void onrowsdelete();
15562
15563     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15564     void onrowsinserted();
15565
15566     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15567     void oncellchange();
15568
15569     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15570     void onreadystatechange();
15571
15572     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15573     void onbeforeeditfocus();
15574
15575     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15576     void onlayoutcomplete();
15577
15578     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15579     void onpage();
15580
15581     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15582     VARIANT_BOOL onbeforedeactivate();
15583
15584     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15585     VARIANT_BOOL onbeforeactivate();
15586
15587     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15588     void onmove();
15589
15590     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15591     VARIANT_BOOL oncontrolselect();
15592
15593     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15594     VARIANT_BOOL onmovestart();
15595
15596     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15597     void onmoveend();
15598
15599     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15600     VARIANT_BOOL onresizestart();
15601
15602     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15603     void onresizeend();
15604
15605     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15606     void onmouseenter();
15607
15608     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15609     void onmouseleave();
15610
15611     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15612     VARIANT_BOOL onmousewheel();
15613
15614     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15615     void onactivate();
15616
15617     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15618     void ondeactivate();
15619
15620     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15621     void onfocusin();
15622
15623     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15624     void onfocusout();
15625 }
15626
15627 [
15628     hidden,
15629     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
15630 ]
15631 dispinterface HTMLTableEvents2
15632 {
15633 properties:
15634 methods:
15635     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15636     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15637
15638     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15639     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15640
15641     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15642     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15643
15644     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15645     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15646
15647     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15648     void onkeydown([in] IHTMLEventObj* pEvtObj);
15649
15650     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15651     void onkeyup([in] IHTMLEventObj* pEvtObj);
15652
15653     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15654     void onmouseout([in] IHTMLEventObj* pEvtObj);
15655
15656     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15657     void onmouseover([in] IHTMLEventObj* pEvtObj);
15658
15659     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15660     void onmousemove([in] IHTMLEventObj* pEvtObj);
15661
15662     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15663     void onmousedown([in] IHTMLEventObj* pEvtObj);
15664
15665     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15666     void onmouseup([in] IHTMLEventObj* pEvtObj);
15667
15668     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15669     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15670
15671     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15672     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15673
15674     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15675     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15676
15677     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15678     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15679
15680     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15681     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15682
15683     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15684     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15685
15686     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15687     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15688
15689     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15690     void onrowenter([in] IHTMLEventObj* pEvtObj);
15691
15692     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15693     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15694
15695     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15696     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15697
15698     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15699     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15700
15701     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15702     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15703
15704     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15705     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15706
15707     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15708     void onscroll([in] IHTMLEventObj* pEvtObj);
15709
15710     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15711     void onfocus([in] IHTMLEventObj* pEvtObj);
15712
15713     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15714     void onblur([in] IHTMLEventObj* pEvtObj);
15715
15716     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15717     void onresize([in] IHTMLEventObj* pEvtObj);
15718
15719     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15720     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15721
15722     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15723     void ondragend([in] IHTMLEventObj* pEvtObj);
15724
15725     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15726     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15727
15728     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15729     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15730
15731     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15732     void ondragleave([in] IHTMLEventObj* pEvtObj);
15733
15734     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15735     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15736
15737     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15738     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15739
15740     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15741     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15742
15743     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15744     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15745
15746     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15747     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15748
15749     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15750     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15751
15752     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15753     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15754
15755     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15756     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15757
15758     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15759     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15760
15761     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15762     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15763
15764     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15765     void oncellchange([in] IHTMLEventObj* pEvtObj);
15766
15767     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15768     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15769
15770     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15771     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15772
15773     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15774     void onpage([in] IHTMLEventObj* pEvtObj);
15775
15776     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15777     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15778
15779     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15780     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15781
15782     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15783     void onactivate([in] IHTMLEventObj* pEvtObj);
15784
15785     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15786     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15787
15788     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15789     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15790
15791     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15792     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15793
15794     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15795     void onfocusin([in] IHTMLEventObj* pEvtObj);
15796
15797     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15798     void onfocusout([in] IHTMLEventObj* pEvtObj);
15799
15800     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15801     void onmove([in] IHTMLEventObj* pEvtObj);
15802
15803     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15804     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15805
15806     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15807     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15808
15809     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15810     void onmoveend([in] IHTMLEventObj* pEvtObj);
15811
15812     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15813     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15814
15815     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15816     void onresizeend([in] IHTMLEventObj* pEvtObj);
15817
15818     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15819     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15820 }
15821
15822 /*****************************************************************************
15823  *    IHTMLTableCaption interface
15824  */
15825 [
15826     odl,
15827     oleautomation,
15828     dual,
15829     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
15830 ]
15831 interface IHTMLTableCaption : IDispatch
15832 {
15833     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15834     HRESULT align([in] BSTR v);
15835
15836     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15837     HRESULT align([retval, out] BSTR *p);
15838
15839     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15840     HRESULT vAlign([in] BSTR v);
15841
15842     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15843     HRESULT vAlign([retval, out] BSTR *p);
15844 }
15845
15846 interface IHTMLTableSection;
15847
15848 /*****************************************************************************
15849  *    IHTMLTable interface
15850  */
15851 [
15852     odl,
15853     oleautomation,
15854     dual,
15855     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15856 ]
15857 interface IHTMLTable : IDispatch
15858 {
15859     [propput, id(DISPID_IHTMLTABLE_COLS)]
15860     HRESULT cols([in] LONG v);
15861
15862     [propget, id(DISPID_IHTMLTABLE_COLS)]
15863     HRESULT cols([retval, out] LONG *p);
15864
15865     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15866     HRESULT border([in] VARIANT v);
15867
15868     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15869     HRESULT border([retval, out] VARIANT *p);
15870
15871     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15872     HRESULT frame([in] BSTR v);
15873
15874     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15875     HRESULT frame([retval, out] BSTR *p);
15876
15877     [propput, id(DISPID_IHTMLTABLE_RULES)]
15878     HRESULT rules([in] BSTR v);
15879
15880     [propget, id(DISPID_IHTMLTABLE_RULES)]
15881     HRESULT rules([retval, out] BSTR *p);
15882
15883     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15884     HRESULT cellSpacing([in] VARIANT v);
15885
15886     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15887     HRESULT cellSpacing([retval, out] VARIANT *p);
15888
15889     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15890     HRESULT cellPadding([in] VARIANT v);
15891
15892     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15893     HRESULT cellPadding([retval, out] VARIANT *p);
15894
15895     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15896     HRESULT background([in] BSTR v);
15897
15898     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15899     HRESULT background([retval, out] BSTR *p);
15900
15901     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15902     HRESULT bgColor([in] VARIANT v);
15903
15904     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15905     HRESULT bgColor([retval, out] VARIANT *p);
15906
15907     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15908     HRESULT borderColor([in] VARIANT v);
15909
15910     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15911     HRESULT borderColor([retval, out] VARIANT *p);
15912
15913     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15914     HRESULT borderColorLight([in] VARIANT v);
15915
15916     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15917     HRESULT borderColorLight([retval, out] VARIANT *p);
15918
15919     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15920     HRESULT borderColorDark([in] VARIANT v);
15921
15922     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15923     HRESULT borderColorDark([retval, out] VARIANT *p);
15924
15925     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15926     HRESULT align([in] BSTR v);
15927
15928     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15929     HRESULT align([retval, out] BSTR * p);
15930
15931     [id(DISPID_IHTMLTABLE_REFRESH)]
15932     HRESULT refresh();
15933
15934     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15935     HRESULT rows([retval, out] IHTMLElementCollection **p);
15936
15937     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15938     HRESULT width([in] VARIANT v);
15939
15940     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15941     HRESULT width([retval, out] VARIANT *p);
15942
15943     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15944     HRESULT height([in] VARIANT v);
15945
15946     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15947     HRESULT height([retval, out] VARIANT *p);
15948
15949     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15950     HRESULT dataPageSize([in] LONG v);
15951
15952     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15953     HRESULT dataPageSize([retval, out] LONG *p);
15954
15955     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15956     HRESULT nextPage();
15957
15958     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15959     HRESULT previousPage();
15960
15961     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15962     HRESULT tHead([retval, out] IHTMLTableSection **p);
15963
15964     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15965     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15966
15967     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15968     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15969
15970     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15971     HRESULT caption([retval, out] IHTMLTableCaption **p);
15972
15973     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15974     HRESULT createTHead([retval, out] IDispatch **head);
15975
15976     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15977     HRESULT deleteTHead();
15978
15979     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15980     HRESULT createTFoot([retval, out] IDispatch **foot);
15981
15982     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15983     HRESULT deleteTFoot();
15984
15985     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15986     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15987
15988     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15989     HRESULT deleteCaption();
15990
15991     [id(DISPID_IHTMLTABLE_INSERTROW)]
15992     HRESULT insertRow(
15993             [defaultvalue(-1), in] LONG index,
15994             [retval, out] IDispatch **row);
15995
15996     [id(DISPID_IHTMLTABLE_DELETEROW)]
15997     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15998
15999     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
16000     HRESULT readyState([retval, out] BSTR *p);
16001
16002     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16003     HRESULT onreadystatechange([in] VARIANT v);
16004
16005     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16006     HRESULT onreadystatechange([retval, out] VARIANT *p);
16007 }
16008
16009 [
16010     odl,
16011     oleautomation,
16012     dual,
16013     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
16014 ]
16015 interface IHTMLTable2 : IDispatch
16016 {
16017     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
16018     HRESULT firstPage();
16019
16020     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
16021     HRESULT lastPage();
16022
16023     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
16024     HRESULT cells([retval, out] IHTMLElementCollection* * p);
16025
16026     [id(DISPID_IHTMLTABLE2_MOVEROW)]
16027     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
16028         [defaultvalue(-1), in] LONG indexTo,
16029         [retval, out] IDispatch** row);
16030 }
16031
16032 [
16033     odl,
16034     oleautomation,
16035     dual,
16036     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
16037 ]
16038 interface IHTMLTable3 : IDispatch
16039 {
16040     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16041     HRESULT summary([in] BSTR v);
16042
16043     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16044     HRESULT summary([retval, out] BSTR * p);
16045 }
16046
16047 [
16048     noncreatable,
16049     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
16050 ]
16051 coclass HTMLTable
16052 {
16053     [default]           dispinterface DispHTMLTable;
16054     [source, default]   dispinterface HTMLTableEvents;
16055     [source]            dispinterface HTMLTableEvents2;
16056                         interface IHTMLElement;
16057                         interface IHTMLElement2;
16058                         interface IHTMLElement3;
16059                         interface IHTMLElement4;
16060                         interface IHTMLUniqueName;
16061                         interface IHTMLDOMNode;
16062                         interface IHTMLDOMNode2;
16063                         interface IHTMLDatabinding;
16064                         interface IHTMLControlElement;
16065                         interface IHTMLTable;
16066                         interface IHTMLTable2;
16067                         interface IHTMLTable3;
16068 }
16069
16070 [
16071     odl,
16072     oleautomation,
16073     dual,
16074     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
16075 ]
16076 interface IHTMLTableSection : IDispatch
16077 {
16078     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16079     HRESULT align([in] BSTR v);
16080
16081     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16082     HRESULT align([retval, out] BSTR *p);
16083
16084     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16085     HRESULT vAlign([in] BSTR v);
16086
16087     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16088     HRESULT vAlign([retval, out] BSTR *p);
16089
16090     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16091     HRESULT bgColor([in] VARIANT v);
16092
16093     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16094     HRESULT bgColor([retval, out] VARIANT *p);
16095
16096     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
16097     HRESULT rows([retval, out] IHTMLElementCollection **p);
16098
16099     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
16100     HRESULT insertRow(
16101             [defaultvalue(-1), in] LONG index,
16102             [retval, out] IDispatch **row);
16103
16104     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
16105     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
16106 }
16107
16108 /*****************************************************************************
16109  *    IHTMLTableRow interface
16110  */
16111 [
16112     odl,
16113     oleautomation,
16114     dual,
16115     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
16116 ]
16117 interface IHTMLTableRow : IDispatch
16118 {
16119     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
16120     HRESULT align([in] BSTR v);
16121
16122     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
16123     HRESULT align([out, retval] BSTR *p);
16124
16125     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
16126     HRESULT vAlign([in] BSTR v);
16127
16128     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
16129     HRESULT vAlign([out, retval] BSTR *p);
16130
16131     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16132     HRESULT bgColor([in] VARIANT v);
16133
16134     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16135     HRESULT bgColor([out, retval] VARIANT *p);
16136
16137     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16138     HRESULT borderColor([in] VARIANT v);
16139
16140     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16141     HRESULT borderColor([out, retval] VARIANT *p);
16142
16143     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16144     HRESULT borderColorLight([in] VARIANT v);
16145
16146     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16147     HRESULT borderColorLight([out, retval] VARIANT *p);
16148
16149     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16150     HRESULT borderColorDark([in] VARIANT v);
16151
16152     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16153     HRESULT borderColorDark([out, retval] VARIANT *p);
16154
16155     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
16156     HRESULT rowIndex([out, retval] LONG *p);
16157
16158     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
16159     HRESULT sectionRowIndex([out, retval] LONG *p);
16160
16161     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
16162     HRESULT cells([out, retval] IHTMLElementCollection **p);
16163
16164     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
16165     HRESULT insertCell(
16166             [in, defaultvalue(-1)] LONG index,
16167             [out, retval] IDispatch **row);
16168
16169     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
16170     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
16171 }
16172
16173 /*****************************************************************************
16174  *    IHTMLTableCell interface
16175  */
16176 [
16177     odl,
16178     oleautomation,
16179     dual,
16180     uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
16181 ]
16182 interface IHTMLTableCell : IDispatch
16183 {
16184     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16185     HRESULT rowSpan([in] long v);
16186
16187     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16188     HRESULT rowSpan([retval, out] long *p);
16189
16190     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16191     HRESULT colSpan([in] long v);
16192
16193     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16194     HRESULT colSpan([retval, out] long *p);
16195
16196     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
16197     HRESULT align([in] BSTR v);
16198
16199     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
16200     HRESULT align([retval, out] BSTR *p);
16201
16202     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
16203     HRESULT vAlign([in] BSTR v);
16204
16205     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
16206     HRESULT vAlign([retval, out] BSTR *p);
16207
16208     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16209     HRESULT bgColor([in] VARIANT v);
16210
16211     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16212     HRESULT bgColor([retval, out] VARIANT *p);
16213
16214     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16215     HRESULT noWrap([in] VARIANT_BOOL v);
16216
16217     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16218     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
16219
16220     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16221     HRESULT background([in] BSTR v);
16222
16223     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16224     HRESULT background([retval, out] BSTR *p);
16225
16226     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16227     HRESULT borderColor([in] VARIANT v);
16228
16229     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16230     HRESULT borderColor([retval, out] VARIANT *p);
16231
16232     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16233     HRESULT borderColorLight([in] VARIANT v);
16234
16235     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16236     HRESULT borderColorLight([retval, out] VARIANT *p);
16237
16238     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16239     HRESULT borderColorDark([in] VARIANT v);
16240
16241     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16242     HRESULT borderColorDark([retval, out] VARIANT *p);
16243
16244     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
16245     HRESULT width([in] VARIANT v);
16246
16247     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
16248     HRESULT width([retval, out] VARIANT *p);
16249
16250     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16251     HRESULT height([in] VARIANT v);
16252
16253     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16254     HRESULT height([retval, out] VARIANT *p);
16255
16256     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
16257     HRESULT cellIndex([retval, out] long *p);
16258 }
16259
16260 /*****************************************************************************
16261  *    DispHTMLTable dispinterface
16262  */
16263 [
16264     hidden,
16265     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
16266 ]
16267 dispinterface DispHTMLTable
16268 {
16269 properties:
16270 methods:
16271     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
16272
16273     [propput, id(DISPID_IHTMLTABLE_COLS)]
16274     void cols(LONG v);
16275
16276     [propget, id(DISPID_IHTMLTABLE_COLS)]
16277     LONG cols();
16278
16279     [propput, id(DISPID_IHTMLTABLE_BORDER)]
16280     void border(VARIANT v);
16281
16282     [propget, id(DISPID_IHTMLTABLE_BORDER)]
16283     VARIANT border();
16284
16285     [propput, id(DISPID_IHTMLTABLE_FRAME)]
16286     void frame(BSTR v);
16287
16288     [propget, id(DISPID_IHTMLTABLE_FRAME)]
16289     BSTR frame();
16290
16291     [propput, id(DISPID_IHTMLTABLE_RULES)]
16292     void rules(BSTR v);
16293
16294     [propget, id(DISPID_IHTMLTABLE_RULES)]
16295     BSTR rules();
16296
16297     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
16298     void cellSpacing(VARIANT v);
16299
16300     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
16301     VARIANT cellSpacing();
16302
16303     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
16304     void cellPadding(VARIANT v);
16305
16306     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
16307     VARIANT cellPadding();
16308
16309     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
16310     void background(BSTR v);
16311
16312     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
16313     BSTR background();
16314
16315     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
16316     void bgColor(VARIANT v);
16317
16318     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
16319     VARIANT bgColor();
16320
16321     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16322     void borderColor(VARIANT v);
16323
16324     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16325     VARIANT borderColor();
16326
16327     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16328     void borderColorLight(VARIANT v);
16329
16330     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16331     VARIANT borderColorLight();
16332
16333     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16334     void borderColorDark(VARIANT v);
16335
16336     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16337     VARIANT borderColorDark();
16338
16339     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
16340     void align(BSTR v);
16341
16342     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
16343     BSTR align();
16344
16345     [id(DISPID_IHTMLTABLE_REFRESH)]
16346     void refresh();
16347
16348     [propget, id(DISPID_IHTMLTABLE_ROWS)]
16349     IHTMLElementCollection *rows();
16350
16351     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
16352     void width(VARIANT v);
16353
16354     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
16355     VARIANT width();
16356
16357     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
16358     void height(VARIANT v);
16359
16360     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
16361     VARIANT height();
16362
16363     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16364     void dataPageSize(LONG v);
16365
16366     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16367     LONG dataPageSize();
16368
16369     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
16370     void nextPage();
16371
16372     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
16373     void previousPage();
16374
16375     [propget, id(DISPID_IHTMLTABLE_THEAD)]
16376     IHTMLTableSection *tHead();
16377
16378     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
16379     IHTMLTableSection *tFoot();
16380
16381     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
16382     IHTMLElementCollection *tBodies();
16383
16384     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
16385     IHTMLTableCaption *caption();
16386
16387     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
16388     IDispatch *createTHead();
16389
16390     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
16391     void deleteTHead();
16392
16393     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
16394     IDispatch *createTFoot();
16395
16396     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
16397     void deleteTFoot();
16398
16399     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
16400     IHTMLTableCaption *createCaption();
16401
16402     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
16403     void deleteCaption();
16404
16405     [id(DISPID_IHTMLTABLE_INSERTROW)]
16406     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
16407
16408     [id(DISPID_IHTMLTABLE_DELETEROW)]
16409     void deleteRow([in, defaultvalue(-1)] LONG index);
16410
16411     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
16412     void firstPage();
16413
16414     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
16415     void lastPage();
16416
16417     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
16418     IHTMLElementCollection *cells();
16419
16420     [id(DISPID_IHTMLTABLE2_MOVEROW)]
16421     IDispatch *moveRow(
16422             [in, defaultvalue(-1)] LONG indexFrom,
16423             [in, defaultvalue(-1)] LONG indexTo);
16424
16425     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16426     void summary(BSTR v);
16427
16428     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16429     BSTR summary();
16430 }
16431
16432 /*****************************************************************************
16433  *    DispHTMLTableRow dispinterface
16434  */
16435 [
16436     hidden,
16437     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
16438 ]
16439 dispinterface DispHTMLTableRow
16440 {
16441 properties:
16442 methods:
16443     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16444
16445     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
16446     void align(BSTR v);
16447
16448     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
16449     BSTR align();
16450
16451     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
16452     void vAlign(BSTR v);
16453
16454     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
16455     BSTR vAlign();
16456
16457     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16458     void bgColor(VARIANT v);
16459
16460     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16461     VARIANT bgColor();
16462
16463     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16464     void borderColor(VARIANT v);
16465
16466     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16467     VARIANT borderColor();
16468
16469     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16470     void borderColorLight(VARIANT v);
16471
16472     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16473     VARIANT borderColorLight();
16474
16475     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16476     void borderColorDark(VARIANT v);
16477
16478     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16479     VARIANT borderColorDark();
16480
16481     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
16482     LONG rowIndex();
16483
16484     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
16485     LONG sectionRowIndex();
16486
16487     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
16488     IHTMLElementCollection *cells();
16489
16490     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
16491     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
16492
16493     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
16494     void deleteCell([in, defaultvalue(-1)] LONG index);
16495
16496     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16497     void height(VARIANT v);
16498
16499     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16500     VARIANT height();
16501
16502     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16503     void ch(BSTR v);
16504
16505     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16506     BSTR ch();
16507
16508     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16509     void chOff(BSTR v);
16510
16511     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16512     BSTR chOff();
16513 }
16514
16515 /*****************************************************************************
16516  *    DispHTMLTableCell dispinterface
16517  */
16518 [
16519     hidden,
16520     uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
16521 ]
16522 dispinterface DispHTMLTableCell
16523 {
16524 properties:
16525 methods:
16526     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16527
16528     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16529     void rowSpan(long v);
16530
16531     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16532     long rowSpan();
16533
16534     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16535     void colSpan(long v);
16536
16537     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16538     long colSpan();
16539
16540     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
16541     void align(BSTR v);
16542
16543     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
16544     BSTR align();
16545
16546     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
16547     void vAlign(BSTR v);
16548
16549     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
16550     BSTR vAlign();
16551
16552     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16553     void bgColor(VARIANT v);
16554
16555     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16556     VARIANT bgColor();
16557
16558     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16559     void noWrap(VARIANT_BOOL v);
16560
16561     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16562     VARIANT_BOOL noWrap();
16563
16564     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16565     void background(BSTR v);
16566
16567     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16568     BSTR background();
16569
16570     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16571     void borderColor(VARIANT v);
16572
16573     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16574     VARIANT borderColor();
16575
16576     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16577     void borderColorLight(VARIANT v);
16578
16579     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16580     VARIANT borderColorLight();
16581
16582     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16583     void borderColorDark(VARIANT v);
16584
16585     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16586     VARIANT borderColorDark();
16587
16588     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
16589     void width(VARIANT v);
16590
16591     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
16592     VARIANT width();
16593
16594     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16595     void height(VARIANT v);
16596
16597     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16598     VARIANT height();
16599
16600     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
16601     long cellIndex();
16602
16603     [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16604     void abbr(BSTR v);
16605
16606     [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16607     BSTR abbr();
16608
16609     [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16610     void axis(BSTR v);
16611
16612     [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16613     BSTR axis();
16614
16615     [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16616     void ch(BSTR v);
16617
16618     [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16619     BSTR ch();
16620
16621     [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16622     void chOff(BSTR v);
16623
16624     [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16625     BSTR chOff();
16626
16627     [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16628     void headers(BSTR v);
16629
16630     [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16631     BSTR headers();
16632
16633     [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16634     void scope(BSTR v);
16635
16636     [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16637     BSTR scope();
16638
16639     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16640     void ie9_ch(BSTR v);
16641
16642     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16643     BSTR ie9_ch();
16644
16645     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16646     void ie9_chOff(BSTR v);
16647
16648     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16649     BSTR ie9_chOff();
16650 }
16651
16652 /*****************************************************************************
16653  *    IHTMLScriptElement interface
16654  */
16655 [
16656     odl,
16657     oleautomation,
16658     dual,
16659     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
16660 ]
16661 interface IHTMLScriptElement : IDispatch
16662 {
16663     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16664     HRESULT src([in] BSTR v);
16665
16666     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16667     HRESULT src([retval, out] BSTR *p);
16668
16669     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16670     HRESULT htmlFor([in] BSTR v);
16671
16672     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16673     HRESULT htmlFor([retval, out] BSTR *p);
16674
16675     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16676     HRESULT event([in] BSTR v);
16677
16678     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16679     HRESULT event([retval, out] BSTR *p);
16680
16681     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16682     HRESULT text([in] BSTR v);
16683
16684     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16685     HRESULT text([retval, out] BSTR *p);
16686
16687     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16688     HRESULT defer([in] VARIANT_BOOL v);
16689
16690     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16691     HRESULT defer([retval, out] VARIANT_BOOL *p);
16692
16693     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
16694     HRESULT readyState([retval, out] BSTR *p);
16695
16696     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16697     HRESULT onerror([in] VARIANT v);
16698
16699     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16700     HRESULT onerror([retval, out] VARIANT *p);
16701
16702     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16703     HRESULT type([in] BSTR v);
16704
16705     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16706     HRESULT type([retval, out] BSTR *p);
16707 }
16708
16709 /*****************************************************************************
16710  *    IHTMLScriptElement2 interface
16711  */
16712 [
16713     odl,
16714     oleautomation,
16715     dual,
16716     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
16717 ]
16718 interface IHTMLScriptElement2 : IDispatch
16719 {
16720     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16721     HRESULT charset([in] BSTR v);
16722
16723     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16724     HRESULT charset([retval, out] BSTR *p);
16725 }
16726
16727 /*****************************************************************************
16728  *    DispHTMLScriptElement dispinterface
16729  */
16730 [
16731     hidden,
16732     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
16733 ]
16734 dispinterface DispHTMLScriptElement
16735 {
16736 properties:
16737 methods:
16738     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16739
16740     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16741     void src(BSTR v);
16742
16743     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16744     BSTR src();
16745
16746     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16747     void htmlFor(BSTR v);
16748
16749     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16750     BSTR htmlFor();
16751
16752     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16753     void event(BSTR v);
16754
16755     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16756     BSTR event();
16757
16758     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16759     void text(BSTR v);
16760
16761     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16762     BSTR text();
16763
16764     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16765     void defer(VARIANT_BOOL v);
16766
16767     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16768     VARIANT_BOOL defer();
16769
16770     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16771     void onerror(VARIANT v);
16772
16773     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16774     VARIANT onerror();
16775
16776     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16777     void type(BSTR v);
16778
16779     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16780     BSTR type();
16781
16782     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16783     void charset(BSTR v);
16784
16785     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16786     BSTR charset();
16787
16788     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16789     void ie8_src(BSTR v);
16790
16791     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16792     BSTR ie8_src();
16793 }
16794
16795 /*****************************************************************************
16796  *    IHTMLObjectElement interface
16797  */
16798 [
16799     odl,
16800     oleautomation,
16801     dual,
16802     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
16803 ]
16804 interface IHTMLObjectElement : IDispatch
16805 {
16806     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16807     HRESULT object([retval, out] IDispatch **p);
16808
16809     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
16810     HRESULT classid([retval, out] BSTR *p);
16811
16812     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
16813     HRESULT data([retval, out] BSTR *p);
16814
16815     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16816     HRESULT recordset([in] IDispatch *v);
16817
16818     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16819     HRESULT recordset([retval, out] IDispatch **p);
16820
16821     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16822     HRESULT align([in] BSTR v);
16823
16824     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16825     HRESULT align([retval, out] BSTR *p);
16826
16827     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16828     HRESULT name([in] BSTR v);
16829
16830     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16831     HRESULT name([retval, out] BSTR *p);
16832
16833     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16834     HRESULT codeBase([in] BSTR v);
16835
16836     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16837     HRESULT codeBase([retval, out] BSTR *p);
16838
16839     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16840     HRESULT codeType([in] BSTR v);
16841
16842     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16843     HRESULT codeType([retval, out] BSTR *p);
16844
16845     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16846     HRESULT code([in] BSTR v);
16847
16848     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16849     HRESULT code([retval, out] BSTR *p);
16850
16851     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16852     HRESULT BaseHref([retval, out] BSTR *p);
16853
16854     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16855     HRESULT type([in] BSTR v);
16856
16857     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16858     HRESULT type([retval, out] BSTR *p);
16859
16860     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16861     HRESULT form([retval, out] IHTMLFormElement **p);
16862
16863     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16864     HRESULT width([in] VARIANT v);
16865
16866     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16867     HRESULT width([retval, out] VARIANT *p);
16868
16869     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16870     HRESULT height([in] VARIANT v);
16871
16872     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16873     HRESULT height([retval, out] VARIANT *p);
16874
16875     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
16876     HRESULT readyState([retval, out] long *p);
16877
16878     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16879     HRESULT onreadystatechange([in] VARIANT v);
16880
16881     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16882     HRESULT onreadystatechange([retval, out] VARIANT *p);
16883
16884     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16885     HRESULT onerror([in] VARIANT v);
16886
16887     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16888     HRESULT onerror([retval, out] VARIANT *p);
16889
16890     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16891     HRESULT altHtml([in] BSTR v);
16892
16893     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16894     HRESULT altHtml([retval, out] BSTR *p);
16895
16896     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16897     HRESULT vspace([in] long v);
16898
16899     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16900     HRESULT vspace([retval, out] long *p);
16901
16902     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16903     HRESULT hspace([in] long v);
16904
16905     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16906     HRESULT hspace([retval, out] long *p);
16907 }
16908
16909 /*****************************************************************************
16910  *    IHTMLObjectElement2 interface
16911  */
16912 [
16913     odl,
16914     oleautomation,
16915     dual,
16916     uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
16917 ]
16918 interface IHTMLObjectElement2 : IDispatch
16919 {
16920     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16921     HRESULT namedRecordset(
16922             [in] BSTR dataMember,
16923             [in, optional] VARIANT *hierarchy,
16924             [out, retval] IDispatch **ppRecordset);
16925
16926     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16927     HRESULT classid([in] BSTR v);
16928
16929     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16930     HRESULT classid([out, retval] BSTR *p);
16931
16932     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16933     HRESULT data([in] BSTR v);
16934
16935     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16936     HRESULT data([out, retval] BSTR *p);
16937 }
16938
16939 /*****************************************************************************
16940  *    IHTMLParamElement interface
16941  */
16942 [
16943     odl,
16944     oleautomation,
16945     dual,
16946     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
16947 ]
16948 interface IHTMLParamElement : IDispatch
16949 {
16950     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16951     HRESULT name([in] BSTR v);
16952
16953     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16954     HRESULT name([retval, out] BSTR *p);
16955
16956     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16957     HRESULT value([in] BSTR v);
16958
16959     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16960     HRESULT value([retval, out] BSTR *p);
16961
16962     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16963     HRESULT type([in] BSTR v);
16964
16965     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16966     HRESULT type([retval, out] BSTR *p);
16967
16968     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16969     HRESULT valueType([in] BSTR v);
16970
16971     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16972     HRESULT valueType([retval, out] BSTR *p);
16973 }
16974
16975 /*****************************************************************************
16976  *    IHTMLParamElement2 interface
16977  */
16978 [
16979     odl,
16980     oleautomation,
16981     dual,
16982     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
16983 ]
16984 interface IHTMLParamElement2 : IDispatch
16985 {
16986     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16987     HRESULT name([in] BSTR v);
16988
16989     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16990     HRESULT name([retval, out] BSTR *p);
16991
16992     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16993     HRESULT type([in] BSTR v);
16994
16995     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16996     HRESULT type([retval, out] BSTR *p);
16997
16998     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16999     HRESULT value([in] BSTR v);
17000
17001     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
17002     HRESULT value([retval, out] BSTR *p);
17003
17004     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17005     HRESULT valueType([in] BSTR v);
17006
17007     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17008     HRESULT valueType([retval, out] BSTR *p);
17009 }
17010
17011 /*****************************************************************************
17012  *    DispHTMLObjectElement dispinterface
17013  */
17014 [
17015     hidden,
17016     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
17017 ]
17018 dispinterface DispHTMLObjectElement
17019 {
17020 properties:
17021 methods:
17022     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17023
17024     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
17025     IDispatch *object();
17026
17027     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
17028     void recordset(IDispatch *v);
17029
17030     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
17031     IDispatch *recordset();
17032
17033     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
17034     void align(BSTR v);
17035
17036     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
17037     BSTR align();
17038
17039     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
17040     void name(BSTR v);
17041
17042     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
17043     BSTR name();
17044
17045     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
17046     void codeBase(BSTR v);
17047
17048     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
17049     BSTR codeBase();
17050
17051     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
17052     void codeType(BSTR v);
17053
17054     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
17055     BSTR codeType();
17056
17057     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
17058     void code(BSTR v);
17059
17060     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
17061     BSTR code();
17062
17063     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
17064     BSTR BaseHref();
17065
17066     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
17067     void type(BSTR v);
17068
17069     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
17070     BSTR type();
17071
17072     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
17073     IHTMLFormElement *form();
17074
17075     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
17076     void width(VARIANT v);
17077
17078     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
17079     VARIANT width();
17080
17081     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
17082     void height(VARIANT v);
17083
17084     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
17085     VARIANT height();
17086
17087     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
17088     void onerror(VARIANT v);
17089
17090     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
17091     VARIANT onerror();
17092
17093     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
17094     void altHtml(BSTR v);
17095
17096     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
17097     BSTR altHtml();
17098
17099     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
17100     void vspace(long v);
17101
17102     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
17103     long vspace();
17104
17105     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
17106     void hspace(long v);
17107
17108     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
17109     long hspace();
17110
17111     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
17112     IDispatch *namedRecordset(
17113             [in] BSTR dataMember,
17114             [optional, in] VARIANT *hierarchy);
17115
17116     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
17117     void classid(BSTR v);
17118
17119     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
17120     BSTR classid();
17121
17122     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
17123     void data(BSTR v);
17124
17125     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
17126     BSTR data();
17127
17128     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
17129     void archive(BSTR v);
17130
17131     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
17132     BSTR archive();
17133
17134     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
17135     void alt(BSTR v);
17136
17137     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
17138     BSTR alt();
17139
17140     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
17141     void declare(VARIANT_BOOL v);
17142
17143     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
17144     VARIANT_BOOL declare();
17145
17146     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
17147     void standby(BSTR v);
17148
17149     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
17150     BSTR standby();
17151
17152     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
17153     void border(VARIANT v);
17154
17155     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
17156     VARIANT border();
17157
17158     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
17159     void useMap(BSTR v);
17160
17161     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
17162     BSTR useMap();
17163
17164     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
17165     IDispatch *contentDocument();
17166
17167     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
17168     void ie8_codeBase(BSTR v);
17169
17170     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
17171     BSTR ie8_codeBase();
17172
17173     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
17174     void ie8_data(BSTR v);
17175
17176     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
17177     BSTR ie8_data();
17178 }
17179
17180 /*****************************************************************************
17181  *    DispHTMLParamElement dispinterface
17182  */
17183 [
17184     hidden,
17185     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
17186 ]
17187 dispinterface DispHTMLParamElement
17188 {
17189 properties:
17190 methods:
17191     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17192
17193     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
17194     void name(BSTR v);
17195
17196     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
17197     BSTR name();
17198
17199     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
17200     void value(BSTR v);
17201
17202     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
17203     BSTR value();
17204
17205     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
17206     void type(BSTR v);
17207
17208     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
17209     BSTR type();
17210
17211     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
17212     void valueType(BSTR v);
17213
17214     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
17215     BSTR valueType();
17216
17217     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17218     void ie8_valueType(BSTR v);
17219
17220     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17221     BSTR ie8_valueType();
17222 }
17223
17224 /*****************************************************************************
17225  *    IHTMLFrameBase interface
17226  */
17227 [
17228     odl,
17229     oleautomation,
17230     dual,
17231     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
17232 ]
17233 interface IHTMLFrameBase : IDispatch
17234 {
17235     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
17236     HRESULT src([in] BSTR v);
17237
17238     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
17239     HRESULT src([out, retval] BSTR *p);
17240
17241     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
17242     HRESULT name([in] BSTR v);
17243
17244     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
17245     HRESULT name([out, retval] BSTR *p);
17246
17247     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
17248     HRESULT border([in] VARIANT v);
17249
17250     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
17251     HRESULT border([out, retval] VARIANT *p);
17252
17253     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
17254     HRESULT frameBorder([in] BSTR v);
17255
17256     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
17257     HRESULT frameBorder([out, retval] BSTR *p);
17258
17259     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
17260     HRESULT frameSpacing([in] VARIANT v);
17261
17262     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
17263     HRESULT frameSpacing([out, retval] VARIANT *p);
17264
17265     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
17266     HRESULT marginWidth([in] VARIANT v);
17267
17268     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
17269     HRESULT marginWidth([out, retval] VARIANT *p);
17270
17271     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
17272     HRESULT marginHeight([in] VARIANT v);
17273
17274     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
17275     HRESULT marginHeight([out, retval] VARIANT *p);
17276
17277     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
17278     HRESULT noResize([in] VARIANT_BOOL v);
17279
17280     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
17281     HRESULT noResize([out, retval] VARIANT_BOOL *p);
17282
17283     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
17284     HRESULT scrolling([in] BSTR v);
17285
17286     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
17287     HRESULT scrolling([out, retval] BSTR *p);
17288 }
17289
17290 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
17291     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
17292     void src(BSTR v);                                   \
17293                                                         \
17294     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
17295     BSTR src();                                         \
17296                                                         \
17297     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
17298     void name(BSTR v);                                  \
17299                                                         \
17300     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
17301     BSTR name();                                        \
17302                                                         \
17303     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
17304     void border(VARIANT v);                             \
17305                                                         \
17306     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
17307     VARIANT border();                                   \
17308                                                         \
17309     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
17310     void frameBorder(BSTR v);                           \
17311                                                         \
17312     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
17313     BSTR frameBorder();                                 \
17314                                                         \
17315     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
17316     void frameSpacing(VARIANT v);                       \
17317                                                         \
17318     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
17319     VARIANT frameSpacing();                             \
17320                                                         \
17321     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
17322     void marginWidth(VARIANT v);                        \
17323                                                         \
17324     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
17325     VARIANT marginWidth();                              \
17326                                                         \
17327     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
17328     void marginHeight(VARIANT v);                       \
17329                                                         \
17330     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
17331     VARIANT marginHeight();                             \
17332                                                         \
17333     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
17334     void noResize(VARIANT_BOOL v);                      \
17335                                                         \
17336     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
17337     VARIANT_BOOL noResize();                            \
17338                                                         \
17339     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
17340     void scrolling(BSTR v);                             \
17341                                                         \
17342     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
17343     BSTR scrolling()
17344
17345 /*****************************************************************************
17346  *    IHTMLFrameBase2 interface
17347  */
17348 [
17349     odl,
17350     oleautomation,
17351     dual,
17352     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
17353 ]
17354 interface IHTMLFrameBase2 : IDispatch
17355 {
17356     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
17357     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
17358
17359     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
17360     HRESULT onload([in] VARIANT v);
17361
17362     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
17363     HRESULT onload([retval, out] VARIANT *p);
17364
17365     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
17366     HRESULT onreadystatechange([in] VARIANT v);
17367
17368     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
17369     HRESULT onreadystatechange([retval, out] VARIANT *p);
17370
17371     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
17372     HRESULT readyState([retval, out] BSTR *p);
17373
17374     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
17375     HRESULT allowTransparency([in] VARIANT_BOOL v);
17376
17377     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
17378     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
17379 }
17380
17381 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
17382     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
17383     IHTMLWindow2 *contentWindow();                                      \
17384                                                                         \
17385     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
17386     void onload(VARIANT v);                                             \
17387                                                                         \
17388     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
17389     VARIANT onload();                                                   \
17390                                                                         \
17391     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
17392     void allowTransparency(VARIANT_BOOL v);                             \
17393                                                                         \
17394     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
17395     VARIANT_BOOL allowTransparency()
17396
17397 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
17398     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
17399     void longDesc(BSTR v);                                                \
17400                                                                           \
17401     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
17402     BSTR longDesc()
17403
17404
17405 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
17406     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
17407     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
17408     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
17409     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
17410
17411 /*****************************************************************************
17412  *    IHTMLFrameElement3 interface
17413  */
17414 [
17415     odl,
17416     oleautomation,
17417     dual,
17418     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
17419 ]
17420 interface IHTMLFrameElement3 : IDispatch
17421 {
17422     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
17423     HRESULT contentDocument([out, retval] IDispatch **p);
17424
17425     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17426     HRESULT src([in] BSTR v);
17427
17428     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17429     HRESULT src([out, retval] BSTR *p);
17430
17431     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17432     HRESULT longDesc([in] BSTR v);
17433
17434     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17435     HRESULT longDesc([out, retval] BSTR *p);
17436
17437     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17438     HRESULT frameBorder([in] BSTR v);
17439
17440     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17441     HRESULT frameBorder([out, retval] BSTR * p);
17442 }
17443
17444 /*****************************************************************************
17445  *    DispHTMLFrameElement dispinterface
17446  */
17447 [
17448     hidden,
17449     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
17450 ]
17451 dispinterface DispHTMLFrameElement
17452 {
17453 properties:
17454 methods:
17455     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
17456
17457     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
17458     void borderColor(VARIANT v);
17459
17460     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
17461     VARIANT borderColor();
17462
17463     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
17464     void height(VARIANT v);
17465
17466     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
17467     VARIANT height();
17468
17469     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
17470     void width(VARIANT v);
17471
17472     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
17473     VARIANT width();
17474
17475     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
17476     IDispatch *contentDocument();
17477
17478     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17479     void ie8_src(BSTR v);
17480
17481     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17482     BSTR ie8_src();
17483
17484     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17485     void ie8_longDesc(BSTR v);
17486
17487     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17488     BSTR ie8_longDesc();
17489
17490     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17491     void ie8_frameBorder(BSTR v);
17492
17493     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17494     BSTR ie8_frameBorder();
17495 }
17496
17497 /*****************************************************************************
17498  *    IHTMLIFrameElement interface
17499  */
17500 [
17501     odl,
17502     oleautomation,
17503     dual,
17504     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
17505 ]
17506 interface IHTMLIFrameElement : IDispatch
17507 {
17508     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17509     HRESULT vspace([in] LONG v);
17510
17511     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17512     HRESULT vspace([retval, out] LONG *p);
17513
17514     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17515     HRESULT hspace([in] LONG v);
17516
17517     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17518     HRESULT hspace([retval, out] LONG *p);
17519
17520     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17521     HRESULT align([in] BSTR v);
17522
17523     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17524     HRESULT align([retval, out] BSTR *p);
17525 }
17526
17527 /*****************************************************************************
17528  *    IHTMLIFrameElement2 interface
17529  */
17530 [
17531     odl,
17532     oleautomation,
17533     dual,
17534     uuid(3050f4e6-98b5-11cf-bb82-00aa00bdce0b)
17535 ]
17536 interface IHTMLIFrameElement2 : IDispatch
17537 {
17538     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17539     HRESULT height([in] VARIANT v);
17540
17541     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17542     HRESULT height([out, retval] VARIANT *p);
17543
17544     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17545     HRESULT width([in] VARIANT v);
17546
17547     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17548     HRESULT width([out, retval] VARIANT *p);
17549 }
17550
17551 /*****************************************************************************
17552  *    IHTMLIFrameElement3 interface
17553  */
17554 [
17555     odl,
17556     oleautomation,
17557     dual,
17558     uuid(30510433-98b5-11cf-bb82-00aa00bdce0b)
17559 ]
17560 interface IHTMLIFrameElement3 : IDispatch
17561 {
17562     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)]
17563     HRESULT contentDocument([out, retval] IDispatch **p);
17564
17565     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17566     HRESULT src([in] BSTR v);
17567
17568     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17569     HRESULT src([out, retval] BSTR *p);
17570
17571     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17572     HRESULT longDesc([in] BSTR v);
17573
17574     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17575     HRESULT longDesc([out, retval] BSTR *p);
17576
17577     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17578     HRESULT frameBorder([in] BSTR v);
17579
17580     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17581     HRESULT frameBorder([out, retval] BSTR *p);
17582 }
17583
17584 /*****************************************************************************
17585  *    DispHTMLIFrame dispinterface
17586  */
17587 [
17588     hidden,
17589     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
17590 ]
17591 dispinterface DispHTMLIFrame
17592 {
17593 properties:
17594 methods:
17595     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
17596
17597     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17598     void vspace(LONG v);
17599
17600     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17601     LONG vspace();
17602
17603     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17604     void hspace(LONG v);
17605
17606     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17607     LONG hspace();
17608
17609     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17610     void align(BSTR v);
17611
17612     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17613     BSTR align();
17614
17615     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17616     void height(VARIANT v);
17617
17618     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17619     VARIANT height();
17620
17621     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17622     void width(VARIANT v);
17623
17624     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17625     VARIANT width();
17626
17627     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)]
17628     IDispatch *contentDocument();
17629
17630     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17631     void ie8_src(BSTR v);
17632
17633     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17634     BSTR ie8_src();
17635
17636     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17637     void ie8_longDesc(BSTR v);
17638
17639     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17640     BSTR ie8_longDesc();
17641
17642     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17643     void ie8_frameBorder(BSTR v);
17644
17645     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17646     BSTR ie8_frameBorder();
17647 }
17648
17649 /*****************************************************************************
17650  *    IHTMLStyleElement interface
17651  */
17652 [
17653     odl,
17654     oleautomation,
17655     dual,
17656     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
17657 ]
17658 interface IHTMLStyleElement : IDispatch
17659 {
17660     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17661     HRESULT type([in] BSTR v);
17662
17663     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17664     HRESULT type([retval, out] BSTR *p);
17665
17666     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
17667     HRESULT readyState([retval, out] BSTR *p);
17668
17669     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17670     HRESULT onreadystatechange([in] VARIANT v);
17671
17672     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17673     HRESULT onreadystatechange([retval, out] VARIANT *p);
17674
17675     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17676     HRESULT onload([in] VARIANT v);
17677
17678     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17679     HRESULT onload([retval, out] VARIANT *p);
17680
17681     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17682     HRESULT onerror([in] VARIANT v);
17683
17684     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17685     HRESULT onerror([retval, out] VARIANT *p);
17686
17687     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17688     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
17689
17690     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17691     HRESULT disabled([in] VARIANT_BOOL v);
17692
17693     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17694     HRESULT disabled([retval, out] VARIANT_BOOL *p);
17695
17696     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17697     HRESULT media([in] BSTR v);
17698
17699     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17700     HRESULT media([retval, out] BSTR *p);
17701 }
17702
17703 /*****************************************************************************
17704  *    DispHTMLStyleElement dispinterface
17705  */
17706 [
17707     hidden,
17708     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
17709 ]
17710 dispinterface DispHTMLStyleElement
17711 {
17712 properties:
17713 methods:
17714     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17715
17716     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17717     void type(BSTR v);
17718
17719     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17720     BSTR type();
17721
17722     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17723     void onload(VARIANT v);
17724
17725     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17726     VARIANT onload();
17727
17728     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17729     void onerror(VARIANT v);
17730
17731     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17732     VARIANT onerror();
17733
17734     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17735     IHTMLStyleSheet *styleSheet();
17736
17737     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17738     void media(BSTR v);
17739
17740     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17741     BSTR media();
17742 }
17743
17744 /*****************************************************************************
17745  *    IHTMLStorage interface
17746  */
17747 [
17748     odl,
17749     oleautomation,
17750     dual,
17751     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
17752 ]
17753 interface IHTMLStorage : IDispatch
17754 {
17755     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
17756     HRESULT length([out, retval] long *p);
17757
17758     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
17759     HRESULT remainingSpace([out, retval] long *p);
17760
17761     [id(DISPID_IHTMLSTORAGE_KEY)]
17762     HRESULT key(
17763             [in] long lIndex,
17764             [out, retval] BSTR *);
17765
17766     [id(DISPID_IHTMLSTORAGE_GETITEM)]
17767     HRESULT getItem(
17768             [in] BSTR bstrKey,
17769             [out, retval] VARIANT *);
17770
17771     [id(DISPID_IHTMLSTORAGE_SETITEM)]
17772     HRESULT setItem(
17773             [in] BSTR bstrKey,
17774             [in] BSTR bstrValue);
17775
17776     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
17777     HRESULT removeItem([in] BSTR bstrKey);
17778
17779     [id(DISPID_IHTMLSTORAGE_CLEAR)]
17780     HRESULT clear();
17781 }
17782
17783 /*****************************************************************************
17784  *    IDOMEventTarget interface
17785  */
17786 [
17787     odl,
17788     oleautomation,
17789     dual,
17790     uuid(305104b9-98b5-11cf-bb82-00aa00bdce0b)
17791 ]
17792 interface IEventTarget : IDispatch
17793 {
17794     [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
17795     HRESULT addEventListener(
17796             [in] BSTR type,
17797             [in] IDispatch *listener,
17798             [in] VARIANT_BOOL useCapture);
17799
17800     [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
17801     HRESULT removeEventListener(
17802             [in] BSTR type,
17803             [in] IDispatch *listener,
17804             [in] VARIANT_BOOL useCapture);
17805
17806     [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
17807     HRESULT dispatchEvent(
17808             [in] IDOMEvent *evt,
17809             [out, retval] VARIANT_BOOL *pfResult);
17810 }
17811
17812 /*****************************************************************************
17813  *    IDOMEvent interface
17814  */
17815 [
17816     odl,
17817     oleautomation,
17818     dual,
17819     uuid(305104ba-98b5-11cf-bb82-00aa00bdce0b)
17820 ]
17821 interface IDOMEvent : IDispatch
17822 {
17823     [propget, id(DISPID_IDOMEVENT_BUBBLES)]
17824     HRESULT bubbles([out, retval] VARIANT_BOOL *p);
17825
17826     [propget, id(DISPID_IDOMEVENT_CANCELABLE)]
17827     HRESULT cancelable([out, retval] VARIANT_BOOL *p);
17828
17829     [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)]
17830     HRESULT currentTarget([out, retval] IEventTarget **p);
17831
17832     [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)]
17833     HRESULT defaultPrevented([out, retval] VARIANT_BOOL *p);
17834
17835     [propget, id(DISPID_IDOMEVENT_EVENTPHASE)]
17836     HRESULT eventPhase([out, retval] USHORT *p);
17837
17838     [propget, id(DISPID_IDOMEVENT_TARGET)]
17839     HRESULT target([out, retval] IEventTarget **p);
17840
17841     [propget, id(DISPID_IDOMEVENT_TIMESTAMP)]
17842     HRESULT timeStamp([out, retval] ULONGLONG *p);
17843
17844     [propget, id(DISPID_IDOMEVENT_TYPE)]
17845     HRESULT type([out, retval] BSTR *p);
17846
17847     [id(DISPID_IDOMEVENT_INITEVENT)]
17848     HRESULT initEvent(
17849             [in] BSTR eventType,
17850             [in] VARIANT_BOOL canBubble,
17851             [in] VARIANT_BOOL cancelable);
17852
17853     [id(DISPID_IDOMEVENT_PREVENTDEFAULT)]
17854     HRESULT preventDefault();
17855
17856     [id(DISPID_IDOMEVENT_STOPPROPAGATION)]
17857     HRESULT stopPropagation();
17858
17859     [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)]
17860     HRESULT stopImmediatePropagation();
17861
17862     [propget, id(DISPID_IDOMEVENT_ISTRUSTED)]
17863     HRESULT isTrusted([out, retval] VARIANT_BOOL *p);
17864
17865     [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
17866     HRESULT cancelBubble([in] VARIANT_BOOL v);
17867
17868     [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
17869     HRESULT cancelBubble([out, retval] VARIANT_BOOL *p);
17870
17871     [propget, id(DISPID_IDOMEVENT_SRCELEMENT)]
17872     HRESULT srcElement([out, retval] IHTMLElement **p);
17873 }
17874
17875 /*****************************************************************************
17876  *    IMarkupContainer interface
17877  */
17878 [
17879     object,
17880     pointer_default(unique),
17881     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
17882 ]
17883 interface IMarkupContainer : IUnknown
17884 {
17885     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17886 }
17887
17888 /*****************************************************************************
17889  *    IMarkupPointer interface
17890  */
17891 [
17892     object,
17893     pointer_default(unique),
17894     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
17895 ]
17896 interface IMarkupPointer : IUnknown
17897 {
17898     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17899
17900     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
17901
17902     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
17903
17904     HRESULT Cling([out] BOOL *pfCling);
17905
17906     HRESULT SetCling([in] BOOL fCLing);
17907
17908     HRESULT UnPosition();
17909
17910     HRESULT IsPositioned([out] BOOL *pfPositioned);
17911
17912     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
17913
17914     HRESULT MoveAdjacentToElement(
17915         [in] IHTMLElement *pElement,
17916         [in] ELEMENT_ADJACENCY eAdj);
17917
17918     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
17919
17920     HRESULT MoveToContainer(
17921         [in] IMarkupContainer *pContainer,
17922         [in] BOOL fAtStart);
17923
17924     HRESULT Left(
17925         [in] BOOL fMove,
17926         [out] MARKUP_CONTEXT_TYPE *pContext,
17927         [out] IHTMLElement **ppElement,
17928         [in, out] LONG *pcch,
17929         [out, size_is(*pcch)] OLECHAR *pchText);
17930
17931     HRESULT Right(
17932         [in] BOOL fMove,
17933         [out] MARKUP_CONTEXT_TYPE *pContext,
17934         [out] IHTMLElement **ppElement,
17935         [in, out] LONG *pcch,
17936         [out, size_is(*pcch)] OLECHAR *pchText);
17937
17938     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
17939
17940     HRESULT IsLeftOf(
17941         [in] IMarkupPointer *pPointerThat,
17942         [out] BOOL *pfResult);
17943
17944     HRESULT IsLeftOfOrEqualTo(
17945         [in] IMarkupPointer *pPointerThat,
17946         [out] BOOL *pfResult);
17947
17948     HRESULT IsRightOf(
17949         [in] IMarkupPointer *pPointerThat,
17950         [out] BOOL *pfResult);
17951
17952     HRESULT IsRightOfOrEqualTo(
17953         [in] IMarkupPointer *pPointerThat,
17954         [out] BOOL *pfResult);
17955
17956     HRESULT IsEqualTo(
17957         [in] IMarkupPointer *pPointerThat,
17958         [out] BOOL *pfAreEqual);
17959
17960     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
17961
17962     HRESULT FindText(
17963         [in] OLECHAR *pchFindText,
17964         [in] DWORD dwFlags,
17965         [in] IMarkupPointer *pIEndMatch,
17966         [in] IMarkupPointer *pIEndSearch);
17967 }
17968
17969 /*****************************************************************************
17970  *    IHTMLDOMConstructorCollection interface
17971  */
17972 [
17973     odl,
17974     oleautomation,
17975     dual,
17976     uuid(3051049c-98b5-11cf-bb82-00aa00bdce0b)
17977 ]
17978 interface IHTMLDOMConstructorCollection : IDispatch
17979 {
17980     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ATTR)]
17981     HRESULT Attr([out, retval] IDispatch **p);
17982
17983     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BEHAVIORURNSCOLLECTION)]
17984     HRESULT BehaviorUrnsCollection([out, retval] IDispatch **p);
17985
17986     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BOOKMARKCOLLECTION)]
17987     HRESULT BookmarkCollection([out, retval] IDispatch **p);
17988
17989     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFO)]
17990     HRESULT CompatibleInfo([out, retval] IDispatch **p);
17991
17992     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFOCOLLECTION)]
17993     HRESULT CompatibleInfoCollection([out, retval] IDispatch **p);
17994
17995     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CONTROLRANGECOLLECTION)]
17996     HRESULT ControlRangeCollection([out, retval] IDispatch **p);
17997
17998     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSCURRENTSTYLEDECLARATION)]
17999     HRESULT CSSCurrentStyleDeclaration([out, retval] IDispatch **p);
18000
18001     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULELIST)]
18002     HRESULT CSSRuleList([out, retval] IDispatch **p);
18003
18004     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULESTYLEDECLARATION)]
18005     HRESULT CSSRuleStyleDeclaration([out, retval] IDispatch **p);
18006
18007     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLEDECLARATION)]
18008     HRESULT CSSStyleDeclaration([out, retval] IDispatch **p);
18009
18010     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLERULE)]
18011     HRESULT CSSStyleRule([out, retval] IDispatch **p);
18012
18013     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLESHEET)]
18014     HRESULT CSSStyleSheet([out, retval] IDispatch **p);
18015
18016     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DATATRANSFER)]
18017     HRESULT DataTransfer([out, retval] IDispatch **p);
18018
18019     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DOMIMPLEMENTATION)]
18020     HRESULT DOMImplementation([out, retval] IDispatch **p);
18021
18022     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ELEMENT)]
18023     HRESULT Element([out, retval] IDispatch **p);
18024
18025     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_EVENT)]
18026     HRESULT Event([out, retval] IDispatch **p);
18027
18028     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HISTORY)]
18029     HRESULT History([out, retval] IDispatch **p);
18030
18031     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTCELEMENTBEHAVIORDEFAULTS)]
18032     HRESULT HTCElementBehaviorDefaults([out, retval] IDispatch **p);
18033
18034     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLANCHORELEMENT)]
18035     HRESULT HTMLAnchorElement([out, retval] IDispatch **p);
18036
18037     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREAELEMENT)]
18038     HRESULT HTMLAreaElement([out, retval] IDispatch **p);
18039
18040     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREASCOLLECTION)]
18041     HRESULT HTMLAreasCollection([out, retval] IDispatch **p);
18042
18043     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEELEMENT)]
18044     HRESULT HTMLBaseElement([out, retval] IDispatch **p);
18045
18046     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEFONTELEMENT)]
18047     HRESULT HTMLBaseFontElement([out, retval] IDispatch **p);
18048
18049     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBGSOUNDELEMENT)]
18050     HRESULT HTMLBGSoundElement([out, retval] IDispatch **p);
18051
18052     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBLOCKELEMENT)]
18053     HRESULT HTMLBlockElement([out, retval] IDispatch **p);
18054
18055     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBODYELEMENT)]
18056     HRESULT HTMLBodyElement([out, retval] IDispatch **p);
18057
18058     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBRELEMENT)]
18059     HRESULT HTMLBRElement([out, retval] IDispatch **p);
18060
18061     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBUTTONELEMENT)]
18062     HRESULT HTMLButtonElement([out, retval] IDispatch **p);
18063
18064     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOLLECTION)]
18065     HRESULT HTMLCollection([out, retval] IDispatch **p);
18066
18067     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOMMENTELEMENT)]
18068     HRESULT HTMLCommentElement([out, retval] IDispatch **p);
18069
18070     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDDELEMENT)]
18071     HRESULT HTMLDDElement([out, retval] IDispatch **p);
18072
18073     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDIVELEMENT)]
18074     HRESULT HTMLDivElement([out, retval] IDispatch **p);
18075
18076     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDOCUMENT)]
18077     HRESULT HTMLDocument([out, retval] IDispatch **p);
18078
18079     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDLISTELEMENT)]
18080     HRESULT HTMLDListElement([out, retval] IDispatch **p);
18081
18082     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDTELEMENT)]
18083     HRESULT HTMLDTElement([out, retval] IDispatch **p);
18084
18085     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLEMBEDELEMENT)]
18086     HRESULT HTMLEmbedElement([out, retval] IDispatch **p);
18087
18088     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFIELDSETELEMENT)]
18089     HRESULT HTMLFieldSetElement([out, retval] IDispatch **p);
18090
18091     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFONTELEMENT)]
18092     HRESULT HTMLFontElement([out, retval] IDispatch **p);
18093
18094     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFORMELEMENT)]
18095     HRESULT HTMLFormElement([out, retval] IDispatch **p);
18096
18097     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMEELEMENT)]
18098     HRESULT HTMLFrameElement([out, retval] IDispatch **p);
18099
18100     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMESETELEMENT)]
18101     HRESULT HTMLFrameSetElement([out, retval] IDispatch **p);
18102
18103     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLGENERICELEMENT)]
18104     HRESULT HTMLGenericElement([out, retval] IDispatch **p);
18105
18106     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADELEMENT)]
18107     HRESULT HTMLHeadElement([out, retval] IDispatch **p);
18108
18109     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADINGELEMENT)]
18110     HRESULT HTMLHeadingElement([out, retval] IDispatch **p);
18111
18112     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHRELEMENT)]
18113     HRESULT HTMLHRElement([out, retval] IDispatch **p);
18114
18115     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHTMLELEMENT)]
18116     HRESULT HTMLHtmlElement([out, retval] IDispatch **p);
18117
18118     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIFRAMEELEMENT)]
18119     HRESULT HTMLIFrameElement([out, retval] IDispatch **p);
18120
18121     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIMAGEELEMENT)]
18122     HRESULT HTMLImageElement([out, retval] IDispatch **p);
18123
18124     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLINPUTELEMENT)]
18125     HRESULT HTMLInputElement([out, retval] IDispatch **p);
18126
18127     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLISINDEXELEMENT)]
18128     HRESULT HTMLIsIndexElement([out, retval] IDispatch **p);
18129
18130     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLABELELEMENT)]
18131     HRESULT HTMLLabelElement([out, retval] IDispatch **p);
18132
18133     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLEGENDELEMENT)]
18134     HRESULT HTMLLegendElement([out, retval] IDispatch **p);
18135
18136     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLIELEMENT)]
18137     HRESULT HTMLLIElement([out, retval] IDispatch **p);
18138
18139     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLINKELEMENT)]
18140     HRESULT HTMLLinkElement([out, retval] IDispatch **p);
18141
18142     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMAPELEMENT)]
18143     HRESULT HTMLMapElement([out, retval] IDispatch **p);
18144
18145     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMARQUEEELEMENT)]
18146     HRESULT HTMLMarqueeElement([out, retval] IDispatch **p);
18147
18148     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMETAELEMENT)]
18149     HRESULT HTMLMetaElement([out, retval] IDispatch **p);
18150
18151     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMODELESSDIALOG)]
18152     HRESULT HTMLModelessDialog([out, retval] IDispatch **p);
18153
18154     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFO)]
18155     HRESULT HTMLNamespaceInfo([out, retval] IDispatch **p);
18156
18157     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFOCOLLECTION)]
18158     HRESULT HTMLNamespaceInfoCollection([out, retval] IDispatch **p);
18159
18160     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNEXTIDELEMENT)]
18161     HRESULT HTMLNextIdElement([out, retval] IDispatch **p);
18162
18163     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNOSHOWELEMENT)]
18164     HRESULT HTMLNoShowElement([out, retval] IDispatch **p);
18165
18166     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOBJECTELEMENT)]
18167     HRESULT HTMLObjectElement([out, retval] IDispatch **p);
18168
18169     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOLISTELEMENT)]
18170     HRESULT HTMLOListElement([out, retval] IDispatch **p);
18171
18172     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOPTIONELEMENT)]
18173     HRESULT HTMLOptionElement([out, retval] IDispatch **p);
18174
18175     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAGRAPHELEMENT)]
18176     HRESULT HTMLParagraphElement([out, retval] IDispatch **p);
18177
18178     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAMELEMENT)]
18179     HRESULT HTMLParamElement([out, retval] IDispatch **p);
18180
18181     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPHRASEELEMENT)]
18182     HRESULT HTMLPhraseElement([out, retval] IDispatch **p);
18183
18184     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPLUGINSCOLLECTION)]
18185     HRESULT HTMLPluginsCollection([out, retval] IDispatch **p);
18186
18187     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPOPUP)]
18188     HRESULT HTMLPopup([out, retval] IDispatch **p);
18189
18190     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSCRIPTELEMENT)]
18191     HRESULT HTMLScriptElement([out, retval] IDispatch **p);
18192
18193     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSELECTELEMENT)]
18194     HRESULT HTMLSelectElement([out, retval] IDispatch **p);
18195
18196     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSPANELEMENT)]
18197     HRESULT HTMLSpanElement([out, retval] IDispatch **p);
18198
18199     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSTYLEELEMENT)]
18200     HRESULT HTMLStyleElement([out, retval] IDispatch **p);
18201
18202     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECAPTIONELEMENT)]
18203     HRESULT HTMLTableCaptionElement([out, retval] IDispatch **p);
18204
18205     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECELLELEMENT)]
18206     HRESULT HTMLTableCellElement([out, retval] IDispatch **p);
18207
18208     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECOLELEMENT)]
18209     HRESULT HTMLTableColElement([out, retval] IDispatch **p);
18210
18211     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEELEMENT)]
18212     HRESULT HTMLTableElement([out, retval] IDispatch **p);
18213
18214     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEROWELEMENT)]
18215     HRESULT HTMLTableRowElement([out, retval] IDispatch **p);
18216
18217     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLESECTIONELEMENT)]
18218     HRESULT HTMLTableSectionElement([out, retval] IDispatch **p);
18219
18220     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTAREAELEMENT)]
18221     HRESULT HTMLTextAreaElement([out, retval] IDispatch **p);
18222
18223     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTELEMENT)]
18224     HRESULT HTMLTextElement([out, retval] IDispatch **p);
18225
18226     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTITLEELEMENT)]
18227     HRESULT HTMLTitleElement([out, retval] IDispatch **p);
18228
18229     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLULISTELEMENT)]
18230     HRESULT HTMLUListElement([out, retval] IDispatch **p);
18231
18232     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLUNKNOWNELEMENT)]
18233     HRESULT HTMLUnknownElement([out, retval] IDispatch **p);
18234
18235     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_IMAGE)]
18236     HRESULT Image([out, retval] IDispatch **p);
18237
18238     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_LOCATION)]
18239     HRESULT Location([out, retval] IDispatch **p);
18240
18241     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAMEDNODEMAP)]
18242     HRESULT NamedNodeMap([out, retval] IDispatch **p);
18243
18244     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAVIGATOR)]
18245     HRESULT Navigator([out, retval] IDispatch **p);
18246
18247     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NODELIST)]
18248     HRESULT NodeList([out, retval] IDispatch **p);
18249
18250     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_OPTION)]
18251     HRESULT Option([out, retval] IDispatch **p);
18252
18253     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SCREEN)]
18254     HRESULT Screen([out, retval] IDispatch **p);
18255
18256     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SELECTION)]
18257     HRESULT Selection([out, retval] IDispatch **p);
18258
18259     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STATICNODELIST)]
18260     HRESULT StaticNodeList([out, retval] IDispatch **p);
18261
18262     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STORAGE)]
18263     HRESULT Storage([out, retval] IDispatch **p);
18264
18265     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETLIST)]
18266     HRESULT StyleSheetList([out, retval] IDispatch **p);
18267
18268     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGE)]
18269     HRESULT StyleSheetPage([out, retval] IDispatch **p);
18270
18271     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGELIST)]
18272     HRESULT StyleSheetPageList([out, retval] IDispatch **p);
18273
18274     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXT)]
18275     HRESULT Text([out, retval] IDispatch **p);
18276
18277     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGE)]
18278     HRESULT TextRange([out, retval] IDispatch **p);
18279
18280     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGECOLLECTION)]
18281     HRESULT TextRangeCollection([out, retval] IDispatch **p);
18282
18283     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLE)]
18284     HRESULT TextRectangle([out, retval] IDispatch **p);
18285
18286     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLELIST)]
18287     HRESULT TextRectangleList([out, retval] IDispatch **p);
18288
18289     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_WINDOW)]
18290     HRESULT Window([out, retval] IDispatch **p);
18291
18292     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XDOMAINREQUEST)]
18293     HRESULT XDomainRequest([out, retval] IDispatch **p);
18294
18295     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XMLHTTPREQUEST)]
18296     HRESULT XMLHttpRequest([out, retval] IDispatch **p);
18297 }
18298
18299 /*****************************************************************************
18300  *    IXMLGenericParse interface
18301  */
18302 [
18303     object,
18304     pointer_default(unique),
18305     uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
18306 ]
18307 interface IXMLGenericParse : IUnknown
18308 {
18309     HRESULT SetGenericParse(
18310         [in] VARIANT_BOOL fDoGeneric);
18311 }
18312
18313 /*****************************************************************************
18314  *    ISegment interface
18315  */
18316 [
18317     object,
18318     pointer_default(unique),
18319     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
18320 ]
18321 interface ISegment : IUnknown
18322 {
18323     HRESULT GetPointers(
18324         [in] IMarkupPointer *pIStart,
18325         [in] IMarkupPointer *pIEnd);
18326 }
18327
18328 /*****************************************************************************
18329  *    IElementSegment interface
18330  */
18331 [
18332     object,
18333     pointer_default(unique),
18334     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
18335 ]
18336 interface IElementSegment : ISegment
18337 {
18338     HRESULT GetElement([out] IHTMLElement **ppIElement);
18339
18340     HRESULT SetPrimary([in] BOOL fPrimary);
18341
18342     HRESULT IsPrimary([out] BOOL *pfPrimary);
18343 }
18344
18345 /*****************************************************************************
18346  *    ISelectionServicesListener interface
18347  */
18348 [
18349     object,
18350     pointer_default(unique),
18351     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
18352 ]
18353 interface ISelectionServicesListener : IUnknown
18354 {
18355     HRESULT BeginSelectionUndo();
18356
18357     HRESULT EndSelectionUndo();
18358
18359     HRESULT OnSelectedElementExit(
18360         [in] IMarkupPointer *pIElementStart,
18361         [in] IMarkupPointer *pIElementEnd,
18362         [in] IMarkupPointer *pIElementContentStart,
18363         [in] IMarkupPointer *pIElementContentEnd);
18364
18365     HRESULT OnChangeType(
18366         [in] SELECTION_TYPE eType,
18367         [in] ISelectionServicesListener *pIListener);
18368
18369     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
18370 }
18371
18372 /*****************************************************************************
18373  *    ISelectionServices interface
18374  */
18375 [
18376     object,
18377     pointer_default(unique),
18378     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
18379 ]
18380 interface ISelectionServices : IUnknown
18381 {
18382     HRESULT SetSelectionType(
18383         [in] SELECTION_TYPE eType,
18384         [in] ISelectionServicesListener *pIListener);
18385
18386     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
18387
18388     HRESULT AddSegment(
18389         [in] IMarkupPointer *pIStart,
18390         [in] IMarkupPointer *pIEnd,
18391         [out] ISegment **ppISegmentAdded);
18392
18393     HRESULT AddElementSegment(
18394         [in] IHTMLElement *pIElement,
18395         [out] IElementSegment **ppISegmentAdded);
18396
18397     HRESULT RemoveSegment([in] ISegment *pISegment);
18398
18399     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
18400 }
18401
18402 /*****************************************************************************
18403  *    IHTMLEditDesigner interface
18404  */
18405 [
18406     object,
18407     pointer_default(unique),
18408     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
18409 ]
18410 interface IHTMLEditDesigner : IUnknown
18411 {
18412     HRESULT PreHandleEvent(
18413         [in] DISPID inEvtDispId,
18414         [in] IHTMLEventObj *pIEventObj);
18415
18416     HRESULT PostHandleEvent(
18417         [in] DISPID inEvtDispId,
18418         [in] IHTMLEventObj *pIEventObj);
18419
18420     HRESULT TranslateAccelerator(
18421         [in] DISPID inEvtDispId,
18422         [in] IHTMLEventObj *pIEventObj);
18423
18424     HRESULT PostEditorEventNotify(
18425         [in] DISPID inEvtDispId,
18426         [in] IHTMLEventObj *pIEventObj);
18427 }
18428
18429 /*****************************************************************************
18430  *    IHTMLEditServices interface
18431  */
18432 [
18433     object,
18434     pointer_default(unique),
18435     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
18436 ]
18437 interface IHTMLEditServices : IUnknown
18438 {
18439     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
18440
18441     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
18442
18443     HRESULT GetSelectionServices(
18444         [in] IMarkupContainer *pIContainer,
18445         [out] ISelectionServices **ppSelSvc);
18446
18447     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
18448
18449     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
18450
18451     HRESULT SelectRange(
18452         [in] IMarkupPointer* pStart,
18453         [in] IMarkupPointer* pEnd,
18454         [in] SELECTION_TYPE eType);
18455 }
18456
18457 /*****************************************************************************
18458  *    IElementBehaviorSite interface
18459  */
18460 [
18461     odl,
18462     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
18463 ]
18464 interface IElementBehaviorSite : IUnknown {
18465     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
18466     HRESULT RegisterNotification([in] long lEvent);
18467 }
18468
18469 /*****************************************************************************
18470  *    IElementBehavior interface
18471  */
18472 [
18473     odl,
18474     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
18475 ]
18476 interface IElementBehavior : IUnknown {
18477     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
18478     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
18479     HRESULT Detach();
18480 }
18481
18482 /*****************************************************************************
18483  *    IElementBehaviorFactory interface
18484  */
18485 [
18486     odl,
18487     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
18488 ]
18489 interface IElementBehaviorFactory : IUnknown
18490 {
18491     HRESULT FindBehavior(
18492         [in] BSTR bstrBehavior,
18493         [in] BSTR bstrBehaviorUrl,
18494         [in] IElementBehaviorSite *pSite,
18495         [out] IElementBehavior **ppBehavior);
18496 }
18497
18498 } /* library MSHTML */
18499
18500 interface IOleCommandTarget;
18501
18502 /*****************************************************************************
18503  *    IHTMLPrivateWindow interface
18504  */
18505 [
18506     object,
18507     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
18508     local
18509 ]
18510 interface IHTMLPrivateWindow : IUnknown
18511 {
18512     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
18513     HRESULT GetPendingUrl(BSTR *url);
18514     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
18515     HRESULT PICSComplete(int arg);
18516     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
18517     HRESULT GetAddressBarUrl(BSTR *url);
18518 }