d3dx9: Avoid LPD3DXANIMATIONCALLBACKHANDLER.
[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  *    IHTMLElementCollection interface
8972  */
8973 [
8974     odl,
8975     oleautomation,
8976     dual,
8977     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8978 ]
8979 interface IHTMLElementCollection : IDispatch
8980 {
8981     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8982     HRESULT toString([retval, out] BSTR *String);
8983
8984     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8985     HRESULT length([in] LONG v);
8986
8987     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8988     HRESULT length([retval, out] LONG *p);
8989
8990     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8991     HRESULT _newEnum([retval, out] IUnknown **p);
8992
8993     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8994     HRESULT item(
8995         [optional, in] VARIANT name,
8996         [optional, in] VARIANT index,
8997         [retval,  out] IDispatch **pdisp);
8998
8999     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9000     HRESULT tags(
9001         [in] VARIANT tagName,
9002         [retval, out] IDispatch **pdisp);
9003 }
9004
9005 /*****************************************************************************
9006  *    DispHTMLElementCollection dispinterface
9007  */
9008 [
9009     hidden,
9010     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
9011 ]
9012 dispinterface DispHTMLElementCollection
9013 {
9014 properties:
9015 methods:
9016     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
9017     BSTR toString();
9018
9019     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9020     void length(LONG v);
9021
9022     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9023     LONG length();
9024
9025     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
9026     IUnknown *_newEnum();
9027
9028     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
9029     IDispatch *item(
9030             [in, optional] VARIANT name,
9031             [in, optional] VARIANT index);
9032
9033     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9034     IDispatch *tags(
9035             [in] VARIANT tagName);
9036
9037     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
9038     IDispatch *urns([in] VARIANT urn);
9039
9040     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
9041     IDispatch *namedItem([in] BSTR name);
9042 }
9043
9044 /*****************************************************************************
9045  *    IHTMLSelectElement interface
9046  */
9047 [
9048     odl,
9049     oleautomation,
9050     dual,
9051     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
9052 ]
9053 interface IHTMLSelectElement : IDispatch
9054 {
9055     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9056     HRESULT size([in] LONG v);
9057
9058     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9059     HRESULT size([retval, out] LONG *p);
9060
9061     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9062     HRESULT multiple([in] VARIANT_BOOL v);
9063
9064     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9065     HRESULT multiple([retval, out] VARIANT_BOOL *p);
9066
9067     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9068     HRESULT name([in] BSTR v);
9069
9070     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9071     HRESULT name([retval, out] BSTR *p);
9072
9073     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9074     HRESULT options([retval, out] IDispatch **p);
9075
9076     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9077     HRESULT onchange([in] VARIANT v);
9078
9079     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9080     HRESULT onchange([retval, out] VARIANT *p);
9081
9082     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9083     HRESULT selectedIndex([in] LONG v);
9084
9085     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9086     HRESULT selectedIndex([retval, out] LONG *p);
9087
9088     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9089     HRESULT type([retval, out] BSTR *p);
9090
9091     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9092     HRESULT value([in] BSTR v);
9093
9094     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9095     HRESULT value([retval, out] BSTR *p);
9096
9097     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9098     HRESULT disabled([in] VARIANT_BOOL v);
9099
9100     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9101     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9102
9103     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9104     HRESULT form([retval, out] IHTMLFormElement **p);
9105
9106     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9107     HRESULT add(
9108         [in] IHTMLElement *element,
9109         [optional, in] VARIANT before);
9110
9111     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9112     HRESULT remove([defaultvalue(-1), in] LONG index);
9113
9114     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9115     HRESULT length([in] LONG v);
9116
9117     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9118     HRESULT length([retval, out] LONG *p);
9119
9120     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9121     HRESULT _newEnum([retval, out] IUnknown **p);
9122
9123     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9124     HRESULT item(
9125         [optional, in] VARIANT name,
9126         [optional, in] VARIANT index,
9127         [retval, out] IDispatch **pdisp);
9128
9129     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9130     HRESULT tags(
9131         [in] VARIANT tagName,
9132         [retval, out] IDispatch **pdisp);
9133 }
9134
9135 /*****************************************************************************
9136  *    DispHTMLSelectElement dispinterface
9137  */
9138 [
9139     hidden,
9140     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
9141 ]
9142 dispinterface DispHTMLSelectElement
9143 {
9144 properties:
9145 methods:
9146     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9147
9148     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9149     void size(LONG v);
9150
9151     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9152     LONG size();
9153
9154     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9155     void multiple(VARIANT_BOOL v);
9156
9157     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9158     VARIANT_BOOL multiple();
9159
9160     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9161     void name(BSTR v);
9162
9163     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9164     BSTR name();
9165
9166     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9167     IDispatch *options();
9168
9169     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9170     void onchange(VARIANT v);
9171
9172     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9173     VARIANT onchange();
9174
9175     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9176     void selectedIndex(LONG v);
9177
9178     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9179     LONG selectedIndex();
9180
9181     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9182     BSTR type();
9183
9184     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9185     void value(BSTR v);
9186
9187     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9188     BSTR value();
9189
9190     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9191     IHTMLFormElement *form();
9192
9193     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9194     void add(
9195             [in] IHTMLElement *element,
9196             [in, optional] VARIANT before);
9197
9198     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9199     void remove([in, defaultvalue(-1)] LONG index);
9200
9201     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9202     void length(LONG v);
9203
9204     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9205     LONG length();
9206
9207     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9208     IUnknown *_newEnum();
9209
9210     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9211     IDispatch *item(
9212             [in, optional] VARIANT name,
9213             [in, optional] VARIANT index);
9214
9215     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9216     IDispatch *tags([in] VARIANT tagName);
9217
9218     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9219     IDispatch *urns([in] VARIANT urn);
9220
9221     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9222     IDispatch *namedItem([in] BSTR name);
9223 }
9224
9225 /*****************************************************************************
9226  *    IHTMLSelectionObject interface
9227  */
9228 [
9229     odl,
9230     oleautomation,
9231     dual,
9232     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9233 ]
9234 interface IHTMLSelectionObject : IDispatch
9235 {
9236     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9237     HRESULT createRange([retval, out] IDispatch **range);
9238
9239     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9240     HRESULT empty();
9241
9242     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9243     HRESULT clear();
9244
9245     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9246     HRESULT type([retval, out] BSTR *p);
9247 }
9248
9249 /*****************************************************************************
9250  *    IHTMLOptionElement interface
9251  */
9252 [
9253     odl,
9254     oleautomation,
9255     dual,
9256     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9257 ]
9258 interface IHTMLOptionElement : IDispatch
9259 {
9260     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9261     HRESULT selected([in] VARIANT_BOOL v);
9262
9263     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9264     HRESULT selected([retval, out] VARIANT_BOOL *p);
9265
9266     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9267     HRESULT value([in] BSTR v);
9268
9269     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9270     HRESULT value([retval, out] BSTR *p);
9271
9272     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9273     HRESULT defaultSelected([in] VARIANT_BOOL v);
9274
9275     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9276     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9277
9278     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9279     HRESULT index([in] LONG v);
9280
9281     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9282     HRESULT index([retval, out] LONG *p);
9283
9284     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9285     HRESULT text([in] BSTR v);
9286
9287     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9288     HRESULT text([retval, out] BSTR *p);
9289
9290     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9291     HRESULT form([retval, out] IHTMLFormElement **p);
9292 }
9293
9294 [
9295     odl,
9296     oleautomation,
9297     dual,
9298     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
9299 ]
9300 interface IHTMLOptionElement3 : IDispatch
9301 {
9302     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9303     HRESULT label([in] BSTR v);
9304
9305     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9306     HRESULT label([retval, out] BSTR * p);
9307 }
9308
9309 /*****************************************************************************
9310  *    IHTMLOptionElementFactory interface
9311  */
9312 [
9313     odl,
9314     oleautomation,
9315     dual,
9316     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9317 ]
9318 interface IHTMLOptionElementFactory : IDispatch
9319 {
9320     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9321     HRESULT create(
9322         [optional, in] VARIANT text,
9323         [optional, in] VARIANT value,
9324         [optional, in] VARIANT defaultselected,
9325         [optional, in] VARIANT selected,
9326         [retval, out] IHTMLOptionElement **optelem);
9327 }
9328
9329 /*****************************************************************************
9330  *    DispHTMLOptionElement dispinterface
9331  */
9332 [
9333     hidden,
9334     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9335 ]
9336 dispinterface DispHTMLOptionElement
9337 {
9338 properties:
9339 methods:
9340     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9341
9342     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9343     void selected(VARIANT_BOOL v);
9344
9345     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9346     VARIANT_BOOL selected();
9347
9348     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9349     void value(BSTR v);
9350
9351     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9352     BSTR value();
9353
9354     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9355     void defaultSelected(VARIANT_BOOL v);
9356
9357     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9358     VARIANT_BOOL defaultSelected();
9359
9360     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9361     void index(LONG v);
9362
9363     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9364     LONG index();
9365
9366     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9367     void text(BSTR v);
9368
9369     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9370     BSTR text();
9371
9372     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9373     IHTMLFormElement *form();
9374
9375     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9376     void label(BSTR v);
9377
9378     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9379     BSTR label();
9380 }
9381
9382 [
9383     noncreatable,
9384     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
9385 ]
9386 coclass HTMLOptionElement
9387 {
9388     [default]           dispinterface DispHTMLOptionElement;
9389     [source, default]   dispinterface HTMLElementEvents;
9390     [source]            dispinterface HTMLElementEvents2;
9391                         interface IHTMLElement;
9392                         interface IHTMLElement2;
9393                         interface IHTMLElement3;
9394                         interface IHTMLElement4;
9395                         interface IHTMLUniqueName;
9396                         interface IHTMLDOMNode;
9397                         interface IHTMLDOMNode2;
9398                         interface IHTMLDatabinding;
9399                         interface IHTMLOptionElement;
9400                         interface IHTMLOptionElement3;
9401 }
9402
9403 /*****************************************************************************
9404  *    IHTMLInputElement interface
9405  */
9406 [
9407     odl,
9408     oleautomation,
9409     dual,
9410     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9411 ]
9412 interface IHTMLInputElement : IDispatch
9413 {
9414     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9415     HRESULT type([in] BSTR v);
9416
9417     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9418     HRESULT type([retval, out] BSTR *p);
9419
9420     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9421     HRESULT value([in] BSTR v);
9422
9423     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9424     HRESULT value([retval, out] BSTR *p);
9425
9426     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9427     HRESULT name([in] BSTR v);
9428
9429     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9430     HRESULT name([retval, out] BSTR *p);
9431
9432     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9433     HRESULT status([in] VARIANT_BOOL v);
9434
9435     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9436     HRESULT status([retval, out] VARIANT_BOOL *p);
9437
9438     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9439     HRESULT disabled([in] VARIANT_BOOL v);
9440
9441     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9442     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9443
9444     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9445     HRESULT form([retval, out] IHTMLFormElement **p);
9446
9447     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9448     HRESULT size([in] LONG v);
9449
9450     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9451     HRESULT size([retval, out] LONG *p);
9452
9453     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9454     HRESULT maxLength([in] LONG v);
9455
9456     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9457     HRESULT maxLength([retval, out] LONG *p);
9458
9459     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9460     HRESULT select();
9461
9462     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9463     HRESULT onchange([in] VARIANT v);
9464
9465     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9466     HRESULT onchange([retval, out] VARIANT *p);
9467
9468     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9469     HRESULT onselect([in] VARIANT v);
9470
9471     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9472     HRESULT onselect([retval, out] VARIANT *p);
9473
9474     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9475     HRESULT defaultValue([in] BSTR v);
9476
9477     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9478     HRESULT defaultValue([retval, out] BSTR *p);
9479
9480     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9481     HRESULT readOnly([in] VARIANT_BOOL v);
9482
9483     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9484     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9485
9486     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9487     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9488
9489     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9490     HRESULT indeterminate([in] VARIANT_BOOL v);
9491
9492     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9493     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
9494
9495     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9496     HRESULT defaultChecked([in] VARIANT_BOOL v);
9497
9498     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9499     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
9500
9501     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9502     HRESULT checked([in] VARIANT_BOOL v);
9503
9504     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9505     HRESULT checked([retval, out] VARIANT_BOOL *p);
9506
9507     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9508     HRESULT border([in] VARIANT v);
9509
9510     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9511     HRESULT border([retval, out] VARIANT *p);
9512
9513     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9514     HRESULT vspace([in] LONG v);
9515
9516     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9517     HRESULT vspace([retval, out] LONG *p);
9518
9519     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9520     HRESULT hspace([in] LONG v);
9521
9522     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9523     HRESULT hspace([retval, out] LONG *p);
9524
9525     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9526     HRESULT alt([in] BSTR v);
9527
9528     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9529     HRESULT alt([retval, out] BSTR *p);
9530
9531     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9532     HRESULT src([in] BSTR v);
9533
9534     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9535     HRESULT src([retval, out] BSTR *p);
9536
9537     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9538     HRESULT lowsrc([in] BSTR v);
9539
9540     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9541     HRESULT lowsrc([retval, out] BSTR *p);
9542
9543     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9544     HRESULT vrml([in] BSTR v);
9545
9546     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9547     HRESULT vrml([retval, out] BSTR *p);
9548
9549     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9550     HRESULT dynsrc([in] BSTR v);
9551
9552     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9553     HRESULT dynsrc([retval, out] BSTR *p);
9554
9555     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9556     HRESULT readyState([retval, out] BSTR *p);
9557
9558     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9559     HRESULT complete([retval, out] VARIANT_BOOL *p);
9560
9561     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9562     HRESULT loop([in] VARIANT v);
9563
9564     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9565     HRESULT loop([retval, out] VARIANT *p);
9566
9567     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9568     HRESULT align([in] BSTR v);
9569
9570     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9571     HRESULT align([retval, out] BSTR *p);
9572
9573     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9574     HRESULT onload([in] VARIANT v);
9575
9576     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9577     HRESULT onload([retval, out] VARIANT *p);
9578
9579     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9580     HRESULT onerror([in] VARIANT v);
9581
9582     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9583     HRESULT onerror([retval, out] VARIANT *p);
9584
9585     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9586     HRESULT onabort([in] VARIANT v);
9587
9588     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9589     HRESULT onabort([retval, out] VARIANT *p);
9590
9591     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9592     HRESULT width([in] LONG v);
9593
9594     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9595     HRESULT width([retval, out] LONG *p);
9596
9597     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9598     HRESULT height([in] LONG v);
9599
9600     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9601     HRESULT height([retval, out] LONG *p);
9602
9603     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9604     HRESULT start([in] BSTR v);
9605
9606     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9607     HRESULT start([retval, out] BSTR *p);
9608 }
9609
9610 /*****************************************************************************
9611  *    IHTMLInputTextElement interface
9612  */
9613 [
9614     odl,
9615     oleautomation,
9616     dual,
9617     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9618 ]
9619 interface IHTMLInputTextElement : IDispatch
9620 {
9621     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9622     HRESULT type([retval, out] BSTR *p);
9623
9624     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9625     HRESULT value([in] BSTR v);
9626
9627     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9628     HRESULT value([retval, out] BSTR *p);
9629
9630     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9631     HRESULT name([in] BSTR v);
9632
9633     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9634     HRESULT name([retval, out] BSTR *p);
9635
9636     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9637     HRESULT status([in] VARIANT v);
9638
9639     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9640     HRESULT status([retval, out] VARIANT *p);
9641
9642     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9643     HRESULT disabled([in] VARIANT_BOOL v);
9644
9645     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9646     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9647
9648     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9649     HRESULT form([retval, out] IHTMLFormElement **p);
9650
9651     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9652     HRESULT defaultValue([in] BSTR v);
9653
9654     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9655     HRESULT defaultValue([retval, out] BSTR *p);
9656
9657     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9658     HRESULT size([in] LONG v);
9659
9660     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9661     HRESULT size([retval, out] LONG *p);
9662
9663     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9664     HRESULT maxLength([in] LONG v);
9665
9666     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9667     HRESULT maxLength([retval, out] LONG *p);
9668
9669     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9670     HRESULT select();
9671
9672     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9673     HRESULT onchange([in] VARIANT v);
9674
9675     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9676     HRESULT onchange([retval, out] VARIANT *p);
9677
9678     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9679     HRESULT onselect([in] VARIANT v);
9680
9681     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9682     HRESULT onselect([retval, out] VARIANT *p);
9683
9684     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9685     HRESULT readOnly([in] VARIANT_BOOL v);
9686
9687     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9688     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9689
9690     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9691     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9692 }
9693
9694 [
9695     hidden,
9696     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9697 ]
9698 dispinterface DispHTMLInputElement
9699 {
9700 properties:
9701 methods:
9702     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9703
9704     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9705     void type(BSTR v);
9706
9707     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9708     BSTR type();
9709
9710     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9711     void value(BSTR v);
9712
9713     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9714     BSTR value();
9715
9716     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9717     void name(BSTR v);
9718
9719     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9720     BSTR name();
9721
9722     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9723     void status(VARIANT_BOOL v);
9724
9725     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9726     VARIANT_BOOL status();
9727
9728     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9729     IHTMLFormElement *form();
9730
9731     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9732     void size(LONG v);
9733
9734     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9735     LONG size();
9736
9737     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9738     void maxLength(LONG v);
9739
9740     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9741     LONG maxLength();
9742
9743     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9744     void select();
9745
9746     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9747     void onchange(VARIANT v);
9748
9749     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9750     VARIANT onchange();
9751
9752     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9753     void onselect(VARIANT v);
9754
9755     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9756     VARIANT onselect();
9757
9758     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9759     void defaultValue(BSTR v);
9760
9761     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9762     BSTR defaultValue();
9763
9764     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9765     void readOnly(VARIANT_BOOL v);
9766
9767     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9768     VARIANT_BOOL readOnly();
9769
9770     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9771     IHTMLTxtRange *createTextRange();
9772
9773     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9774     void indeterminate(VARIANT_BOOL v);
9775
9776     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9777     VARIANT_BOOL indeterminate();
9778
9779     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9780     void defaultChecked(VARIANT_BOOL v);
9781
9782     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9783     VARIANT_BOOL defaultChecked();
9784
9785     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9786     void checked(VARIANT_BOOL v);
9787
9788     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9789     VARIANT_BOOL checked();
9790
9791     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9792     void border(VARIANT v);
9793
9794     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9795     VARIANT border();
9796
9797     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9798     void vspace(LONG v);
9799
9800     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9801     LONG vspace();
9802
9803     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9804     void hspace(LONG v);
9805
9806     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9807     LONG hspace();
9808
9809     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9810     void alt(BSTR v);
9811
9812     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9813     BSTR alt();
9814
9815     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9816     void src(BSTR v);
9817
9818     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9819     BSTR src();
9820
9821     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9822     void lowsrc(BSTR v);
9823
9824     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9825     BSTR lowsrc();
9826
9827     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9828     void vrml(BSTR v);
9829
9830     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9831     BSTR vrml();
9832
9833     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9834     void dynsrc(BSTR v);
9835
9836     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9837     BSTR dynsrc();
9838
9839     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9840     VARIANT_BOOL complete();
9841
9842     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9843     void loop(VARIANT v);
9844
9845     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9846     VARIANT loop();
9847
9848     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9849     void align(BSTR v);
9850
9851     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9852     BSTR align();
9853
9854     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9855     void onload(VARIANT v);
9856
9857     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9858     VARIANT onload();
9859
9860     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9861     void onerror(VARIANT v);
9862
9863     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9864     VARIANT onerror();
9865
9866     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9867     void onabort(VARIANT v);
9868
9869     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9870     VARIANT onabort();
9871
9872     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9873     void width(LONG v);
9874
9875     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9876     LONG width();
9877
9878     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9879     void height(LONG v);
9880
9881     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9882     LONG height();
9883
9884     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9885     void start(BSTR v);
9886
9887     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9888     BSTR start();
9889
9890     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9891     void accept(BSTR v);
9892
9893     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9894     BSTR accept();
9895
9896     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9897     void useMap(BSTR v);
9898
9899     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9900     BSTR useMap();
9901 }
9902
9903 /*****************************************************************************
9904  *    IHTMLTextAreaElement interface
9905  */
9906 [
9907     odl,
9908     oleautomation,
9909     dual,
9910     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9911 ]
9912 interface IHTMLTextAreaElement : IDispatch
9913 {
9914     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9915     HRESULT type([retval, out] BSTR *p);
9916
9917     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9918     HRESULT value([in] BSTR v);
9919
9920     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9921     HRESULT value([retval, out] BSTR *p);
9922
9923     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9924     HRESULT name([in] BSTR v);
9925
9926     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9927     HRESULT name([retval, out] BSTR *p);
9928
9929     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9930     HRESULT status([in] VARIANT v);
9931
9932     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9933     HRESULT status([retval, out] VARIANT *p);
9934
9935     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9936     HRESULT disabled([in] VARIANT_BOOL v);
9937
9938     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9939     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9940
9941     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9942     HRESULT form([retval, out] IHTMLFormElement **p);
9943
9944     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9945     HRESULT defaultValue([in] BSTR v);
9946
9947     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9948     HRESULT defaultValue([retval, out] BSTR *p);
9949
9950     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9951     HRESULT select();
9952
9953     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9954     HRESULT onchange([in] VARIANT v);
9955
9956     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9957     HRESULT onchange([retval, out] VARIANT *p);
9958
9959     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9960     HRESULT onselect([in] VARIANT v);
9961
9962     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9963     HRESULT onselect([retval, out] VARIANT *p);
9964
9965     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9966     HRESULT readOnly([in] VARIANT_BOOL v);
9967
9968     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9969     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9970
9971     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9972     HRESULT rows([in] LONG v);
9973
9974     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9975     HRESULT rows([retval, out] LONG *p);
9976
9977     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9978     HRESULT cols([in] LONG v);
9979
9980     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9981     HRESULT cols([retval, out] LONG *p);
9982
9983     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9984     HRESULT wrap([in] BSTR v);
9985
9986     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9987     HRESULT wrap([retval, out] BSTR *p);
9988
9989     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9990     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9991 }
9992
9993 /*****************************************************************************
9994  *    DispHTMLTextAreaElement dispinterface
9995  */
9996 [
9997     hidden,
9998     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9999 ]
10000 dispinterface DispHTMLTextAreaElement
10001 {
10002 properties:
10003 methods:
10004     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10005
10006     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
10007     BSTR type();
10008
10009     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10010     void value(BSTR v);
10011
10012     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10013     BSTR value();
10014
10015     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10016     void name(BSTR v);
10017
10018     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10019     BSTR name();
10020
10021     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10022     void status(VARIANT v);
10023
10024     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10025     VARIANT status();
10026
10027     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10028     IHTMLFormElement *form();
10029
10030     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10031     void defaultValue(BSTR v);
10032
10033     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10034     BSTR defaultValue();
10035
10036     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10037     void select();
10038
10039     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10040     void onchange(VARIANT v);
10041
10042     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10043     VARIANT onchange();
10044
10045     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10046     void onselect(VARIANT v);
10047
10048     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10049     VARIANT onselect();
10050
10051     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10052     void readOnly(VARIANT_BOOL v);
10053
10054     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10055     VARIANT_BOOL readOnly();
10056
10057     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10058     void rows(LONG v);
10059
10060     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10061     LONG rows();
10062
10063     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10064     void cols(LONG v);
10065
10066     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10067     LONG cols();
10068
10069     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10070     void wrap(BSTR v);
10071
10072     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10073     BSTR wrap();
10074
10075     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10076     IHTMLTxtRange *createTextRange();
10077 }
10078
10079 /*****************************************************************************
10080  *    IHTMLHeadElement interface
10081  */
10082 [
10083     odl,
10084     oleautomation,
10085     dual,
10086     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
10087 ]
10088 interface IHTMLHeadElement : IDispatch
10089 {
10090     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10091     HRESULT profile([in] BSTR v);
10092
10093     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10094     HRESULT profile([retval, out] BSTR *p);
10095 }
10096
10097 /*****************************************************************************
10098  *    IHTMLHeadElement2 interface
10099  */
10100 [
10101     odl,
10102     oleautomation,
10103     dual,
10104     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
10105 ]
10106 interface IHTMLHeadElement2 : IDispatch
10107 {
10108     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10109     HRESULT profile([in] BSTR v);
10110
10111     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10112     HRESULT profile([retval, out] BSTR *p);
10113 }
10114
10115 /*****************************************************************************
10116  *    IHTMLTitleElement interface
10117  */
10118 [
10119     odl,
10120     oleautomation,
10121     dual,
10122     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
10123 ]
10124 interface IHTMLTitleElement : IDispatch
10125 {
10126     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10127     HRESULT text([in] BSTR v);
10128
10129     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10130     HRESULT text([retval, out] BSTR *p);
10131 }
10132
10133 /*****************************************************************************
10134  *    IHTMLMetaElement interface
10135  */
10136 [
10137     odl,
10138     oleautomation,
10139     dual,
10140     uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
10141 ]
10142 interface IHTMLMetaElement : IDispatch
10143 {
10144     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10145     HRESULT httpEquiv([in] BSTR v);
10146
10147     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10148     HRESULT httpEquiv([out, retval] BSTR *p);
10149
10150     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10151     HRESULT content([in] BSTR v);
10152
10153     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10154     HRESULT content([out, retval] BSTR *p);
10155
10156     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10157     HRESULT name([in] BSTR v);
10158
10159     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10160     HRESULT name([out, retval] BSTR *p);
10161
10162     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10163     HRESULT url([in] BSTR v);
10164
10165     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10166     HRESULT url([out, retval] BSTR *p);
10167
10168     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10169     HRESULT charset([in] BSTR v);
10170
10171     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10172     HRESULT charset([out, retval] BSTR *p);
10173 }
10174
10175 /*****************************************************************************
10176  *    IHTMLMetaElement2 interface
10177  */
10178 [
10179     odl,
10180     oleautomation,
10181     dual,
10182     uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
10183 ]
10184 interface IHTMLMetaElement2 : IDispatch
10185 {
10186     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10187     HRESULT scheme([in] BSTR v);
10188
10189     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10190     HRESULT scheme([out, retval] BSTR *p);
10191 }
10192
10193 /*****************************************************************************
10194  *    IHTMLMetaElement3 interface
10195  */
10196 [
10197     odl,
10198     oleautomation,
10199     dual,
10200     uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
10201 ]
10202 interface IHTMLMetaElement3 : IDispatch
10203 {
10204     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10205     HRESULT url([in] BSTR v);
10206
10207     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10208     HRESULT url([out, retval] BSTR *p);
10209 }
10210
10211 /*****************************************************************************
10212  *    DispHTMLHeadElement interface
10213  */
10214 [
10215     hidden,
10216     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
10217 ]
10218 dispinterface DispHTMLHeadElement
10219 {
10220 properties:
10221 methods:
10222     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10223
10224     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10225     void profile(BSTR v);
10226
10227     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10228     BSTR profile();
10229
10230     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10231     void ie8_profile(BSTR v);
10232
10233     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10234     BSTR ie8_profile();
10235 }
10236
10237 /*****************************************************************************
10238  *    DispHTMLTitleElement interface
10239  */
10240 [
10241     hidden,
10242     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
10243 ]
10244 dispinterface DispHTMLTitleElement
10245 {
10246 properties:
10247 methods:
10248     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10249
10250     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10251     void text(BSTR v);
10252
10253     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10254     BSTR text();
10255 }
10256
10257 /*****************************************************************************
10258  *    DispHTMLMetaElement dispinterface
10259  */
10260 [
10261     hidden,
10262     uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
10263 ]
10264 dispinterface DispHTMLMetaElement
10265 {
10266 properties:
10267 methods:
10268     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10269
10270     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10271     void httpEquiv(BSTR v);
10272
10273     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10274     BSTR httpEquiv();
10275
10276     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10277     void content(BSTR v);
10278
10279     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10280     BSTR content();
10281
10282     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10283     void name(BSTR v);
10284
10285     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10286     BSTR name();
10287
10288     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10289     void url(BSTR v);
10290
10291     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10292     BSTR url();
10293
10294     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10295     void charset(BSTR v);
10296
10297     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10298     BSTR charset();
10299
10300     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10301     void scheme(BSTR v);
10302
10303     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10304     BSTR scheme();
10305
10306     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10307     void ie8_url(BSTR v);
10308
10309     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10310     BSTR ie8_url();
10311 }
10312
10313 /*****************************************************************************
10314  *    DispHTMLUnknownElement dispinterface
10315  */
10316 [
10317     hidden,
10318     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
10319 ]
10320 dispinterface DispHTMLUnknownElement
10321 {
10322 properties:
10323 methods:
10324     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10325 }
10326
10327 /*****************************************************************************
10328  *    IOmHistory interface
10329  */
10330 [
10331     odl,
10332     oleautomation,
10333     dual,
10334     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
10335 ]
10336 interface IOmHistory : IDispatch
10337 {
10338     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10339     HRESULT length([retval, out] short *p);
10340
10341     [id(DISPID_IOMHISTORY_BACK)]
10342     HRESULT back([optional, in] VARIANT *pvargdistance);
10343
10344     [id(DISPID_IOMHISTORY_FORWARD)]
10345     HRESULT forward([optional, in] VARIANT *pvargdistance);
10346
10347     [id(DISPID_IOMHISTORY_GO)]
10348     HRESULT go([optional, in] VARIANT *pvargdistance);
10349 }
10350
10351 [
10352     noncreatable,
10353     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
10354 ]
10355 coclass HTMLHistory
10356 {
10357     [default]           interface IOmHistory;
10358 }
10359
10360 /*****************************************************************************
10361  *    IHTMLMimeTypesCollection interface
10362  */
10363 [
10364     odl,
10365     oleautomation,
10366     dual,
10367     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
10368 ]
10369 interface IHTMLMimeTypesCollection : IDispatch
10370 {
10371     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
10372     HRESULT length([retval, out] LONG *p);
10373 }
10374
10375 [
10376     noncreatable,
10377     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
10378 ]
10379 coclass CMimeTypes
10380 {
10381     [default]           interface IHTMLMimeTypesCollection;
10382 }
10383
10384 /*****************************************************************************
10385  *    IHTMLPluginsCollection interface
10386  */
10387 [
10388     odl,
10389     oleautomation,
10390     dual,
10391     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
10392 ]
10393 interface IHTMLPluginsCollection : IDispatch
10394 {
10395     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10396     HRESULT length([retval, out] LONG *p);
10397
10398     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10399     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10400 }
10401
10402 [
10403     hidden,
10404     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
10405 ]
10406 dispinterface DispCPlugins
10407 {
10408  properties:
10409 methods:
10410     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10411     long length();
10412
10413     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10414     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10415
10416     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10417     IDispatch *constructor();
10418 }
10419
10420 [
10421     noncreatable,
10422     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
10423 ]
10424 coclass CPlugins
10425 {
10426     [default]  dispinterface DispCPlugins;
10427                interface IHTMLPluginsCollection;
10428                interface IHTMLDOMConstructor;
10429 }
10430
10431 /*****************************************************************************
10432  *    IHTMLOpsProfile interface
10433  */
10434 [
10435     odl,
10436     oleautomation,
10437     dual,
10438     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
10439 ]
10440 interface IHTMLOpsProfile : IDispatch
10441 {
10442     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
10443     HRESULT addRequest(
10444         [in] BSTR name,
10445         [optional, in] VARIANT reserved,
10446         [retval, out] VARIANT_BOOL *success);
10447
10448     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
10449     HRESULT clearRequest();
10450
10451     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
10452     HRESULT doRequest(
10453         [in] VARIANT usage,
10454         [optional, in] VARIANT fname,
10455         [optional, in] VARIANT domain,
10456         [optional, in] VARIANT path,
10457         [optional, in] VARIANT expire,
10458         [optional, in] VARIANT reserved);
10459
10460     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
10461     HRESULT getAttribute(
10462         [in] BSTR name,
10463         [retval, out] BSTR *value);
10464
10465     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
10466     HRESULT setAttribute(
10467         [in] BSTR name,
10468         [in] BSTR value,
10469         [optional, in] VARIANT prefs,
10470         [retval, out] VARIANT_BOOL *success);
10471
10472     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
10473     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
10474
10475     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
10476     HRESULT addReadRequest(
10477         [in] BSTR name,
10478         [optional, in] VARIANT reserved,
10479         [retval, out] VARIANT_BOOL *success);
10480
10481     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
10482     HRESULT doReadRequest(
10483         [in] VARIANT usage,
10484         [optional, in] VARIANT fname,
10485         [optional, in] VARIANT domain,
10486         [optional, in] VARIANT path,
10487         [optional, in] VARIANT expire,
10488         [optional, in] VARIANT reserved);
10489
10490     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
10491     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
10492 }
10493
10494 [
10495     noncreatable,
10496     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
10497 ]
10498 coclass COpsProfile
10499 {
10500     [default]           interface IHTMLOpsProfile;
10501 }
10502
10503 /*****************************************************************************
10504  *    IOmNavigator interface
10505  */
10506 [
10507     odl,
10508     oleautomation,
10509     dual,
10510     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
10511 ]
10512 interface IOmNavigator : IDispatch
10513 {
10514     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10515     HRESULT appCodeName([retval, out] BSTR *p);
10516
10517     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10518     HRESULT appName([retval, out] BSTR *p);
10519
10520     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10521     HRESULT appVersion([retval, out] BSTR *p);
10522
10523     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10524     HRESULT userAgent([retval, out] BSTR *p);
10525
10526     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10527     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10528
10529     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10530     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10531
10532     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10533     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10534
10535     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10536     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10537
10538     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10539     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10540
10541     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10542     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10543
10544     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10545     HRESULT toString([retval, out] BSTR *String);
10546
10547     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10548     HRESULT cpuClass([retval, out] BSTR *p);
10549
10550     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10551     HRESULT systemLanguage([retval, out] BSTR *p);
10552
10553     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10554     HRESULT browserLanguage([retval, out] BSTR *p);
10555
10556     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10557     HRESULT userLanguage([retval, out] BSTR *p);
10558
10559     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10560     HRESULT platform([retval, out] BSTR *p);
10561
10562     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10563     HRESULT appMinorVersion([retval, out] BSTR *p);
10564
10565     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10566     HRESULT connectionSpeed([retval, out] LONG *p);
10567
10568     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10569     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10570
10571     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10572     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10573 }
10574
10575 /*****************************************************************************
10576  *    DispHTMLNavigator dispinterface
10577  */
10578 [
10579     hidden,
10580     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
10581 ]
10582 dispinterface DispHTMLNavigator
10583 {
10584 properties:
10585 methods:
10586     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10587     BSTR appCodeName();
10588
10589     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10590     BSTR appName();
10591
10592     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10593     BSTR appVersion();
10594
10595     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10596     BSTR userAgent();
10597
10598     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10599     VARIANT_BOOL javaEnabled();
10600
10601     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10602     VARIANT_BOOL taintEnabled();
10603
10604     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10605     IHTMLMimeTypesCollection *mimeTypes();
10606
10607     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10608     IHTMLPluginsCollection *plugins();
10609
10610     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10611     VARIANT_BOOL cookieEnabled();
10612
10613     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10614     IHTMLOpsProfile *opsProfile();
10615
10616     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10617     BSTR toString();
10618
10619     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10620     BSTR cpuClass();
10621
10622     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10623     BSTR systemLanguage();
10624
10625     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10626     BSTR browserLanguage();
10627
10628     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10629     BSTR userLanguage();
10630
10631     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10632     BSTR platform();
10633
10634     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10635     BSTR appMinorVersion();
10636
10637     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10638     LONG connectionSpeed();
10639
10640     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10641     VARIANT_BOOL onLine();
10642
10643     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10644     IHTMLOpsProfile *userProfile();
10645
10646     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10647 }
10648
10649 [
10650     noncreatable,
10651     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
10652 ]
10653 coclass HTMLNavigator
10654 {
10655     [default]  dispinterface DispHTMLNavigator;
10656                interface IOmNavigator;
10657 }
10658
10659 /*****************************************************************************
10660  *    IHTMLLocation interface
10661  */
10662 [
10663     odl,
10664     oleautomation,
10665     dual,
10666     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10667 ]
10668 interface IHTMLLocation : IDispatch
10669 {
10670     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10671     HRESULT href([in] BSTR v);
10672
10673     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10674     HRESULT href([retval, out] BSTR *p);
10675
10676     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10677     HRESULT protocol([in] BSTR v);
10678
10679     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10680     HRESULT protocol([retval, out] BSTR *p);
10681
10682     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10683     HRESULT host([in] BSTR v);
10684
10685     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10686     HRESULT host([retval, out] BSTR *p);
10687
10688     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10689     HRESULT hostname([in] BSTR v);
10690
10691     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10692     HRESULT hostname([retval, out] BSTR *p);
10693
10694     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10695     HRESULT port([in] BSTR v);
10696
10697     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10698     HRESULT port([retval, out] BSTR *p);
10699
10700     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10701     HRESULT pathname([in] BSTR v);
10702
10703     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10704     HRESULT pathname([retval, out] BSTR *p);
10705
10706     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10707     HRESULT search([in] BSTR v);
10708
10709     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10710     HRESULT search([retval, out] BSTR *p);
10711
10712     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10713     HRESULT hash([in] BSTR v);
10714
10715     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10716     HRESULT hash([retval, out] BSTR *p);
10717
10718     [id(DISPID_IHTMLLOCATION_RELOAD)]
10719     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10720
10721     [id(DISPID_IHTMLLOCATION_REPLACE)]
10722     HRESULT replace([in] BSTR bstr);
10723
10724     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10725     HRESULT assign([in] BSTR bstr);
10726
10727     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10728     HRESULT toString([retval, out] BSTR *String);
10729 }
10730
10731 /*****************************************************************************
10732  *    DispHTMLHistory dispinterface
10733  */
10734 [
10735     hidden,
10736     uuid(3050f549-98b5-11cf-bb82-00aa00bdce0b)
10737 ]
10738 dispinterface DispHTMLHistory
10739 {
10740 properties:
10741 methods:
10742     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10743     short length();
10744
10745     [id(DISPID_IOMHISTORY_BACK)]
10746     void back([optional, in] VARIANT *pvargdistance);
10747
10748     [id(DISPID_IOMHISTORY_FORWARD)]
10749     void forward([optional, in] VARIANT *pvargdistance);
10750
10751     [id(DISPID_IOMHISTORY_GO)]
10752     void go([optional, in] VARIANT *pvargdistance);
10753
10754     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10755     IDispatch *constructor();
10756 }
10757
10758 /*****************************************************************************
10759  *    DispHTMLLocation dispinterface
10760  */
10761 [
10762     hidden,
10763     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10764 ]
10765 dispinterface DispHTMLLocation
10766 {
10767 properties:
10768 methods:
10769     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10770     void href(BSTR v);
10771
10772     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10773     BSTR href();
10774
10775     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10776     void protocol(BSTR v);
10777
10778     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10779     BSTR protocol();
10780
10781     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10782     void host(BSTR v);
10783
10784     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10785     BSTR host();
10786
10787     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10788     void hostname(BSTR v);
10789
10790     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10791     BSTR hostname();
10792
10793     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10794     void port(BSTR v);
10795
10796     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10797     BSTR port();
10798
10799     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10800     void pathname(BSTR v);
10801
10802     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10803     BSTR pathname();
10804
10805     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10806     void search(BSTR v);
10807
10808     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10809     BSTR search();
10810
10811     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10812     void hash(BSTR v);
10813
10814     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10815     BSTR hash();
10816
10817     [id(DISPID_IHTMLLOCATION_RELOAD)]
10818     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10819
10820     [id(DISPID_IHTMLLOCATION_REPLACE)]
10821     void replace([in] BSTR bstr);
10822
10823     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10824     void assign([in] BSTR bstr);
10825
10826     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10827     BSTR toString();
10828
10829     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10830 }
10831
10832 [
10833     noncreatable,
10834     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10835 ]
10836 coclass HTMLLocation
10837 {
10838     [default]  dispinterface DispHTMLLocation;
10839                interface IHTMLLocation;
10840 }
10841
10842 [
10843     odl,
10844     oleautomation,
10845     dual,
10846     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10847 ]
10848 interface IHTMLBookmarkCollection : IDispatch
10849 {
10850     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10851     HRESULT length([out, retval] LONG *p);
10852
10853     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10854     HRESULT _newEnum([out, retval] IUnknown **p);
10855
10856     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10857     HRESULT item(
10858             [in] LONG index,
10859             [out, retval] VARIANT *pVarBookmark);
10860 }
10861
10862 /*****************************************************************************
10863  *    IHTMLDataTransfer interface
10864  */
10865 [
10866     odl,
10867     oleautomation,
10868     dual,
10869     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10870 ]
10871 interface IHTMLDataTransfer : IDispatch
10872 {
10873     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10874     HRESULT setData(
10875             [in] BSTR format,
10876             [in] VARIANT *data,
10877             [out, retval] VARIANT_BOOL *pret);
10878
10879     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10880     HRESULT getData(
10881             [in] BSTR format,
10882             [out, retval] VARIANT *pvarRet);
10883
10884     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10885     HRESULT clearData(
10886             [in] BSTR format,
10887             [out, retval] VARIANT_BOOL *pret);
10888
10889     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10890     HRESULT dropEffect([in] BSTR v);
10891
10892     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10893     HRESULT dropEffect([out, retval] BSTR *p);
10894
10895     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10896     HRESULT effectAllowed([in] BSTR v);
10897
10898     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10899     HRESULT effectAllowed([out, retval] BSTR *p);
10900 }
10901
10902 /*****************************************************************************
10903  *    IHTMLEventObj interface
10904  */
10905 [
10906     odl,
10907     oleautomation,
10908     dual,
10909     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10910 ]
10911 interface IHTMLEventObj : IDispatch
10912 {
10913     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10914     HRESULT srcElement([retval, out] IHTMLElement **p);
10915
10916     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10917     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10918
10919     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10920     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10921
10922     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10923     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10924
10925     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10926     HRESULT returnValue([in] VARIANT v);
10927
10928     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10929     HRESULT returnValue([retval, out] VARIANT *p);
10930
10931     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10932     HRESULT cancelBubble([in] VARIANT_BOOL v);
10933
10934     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10935     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10936
10937     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10938     HRESULT fromElement([retval, out] IHTMLElement **p);
10939
10940     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10941     HRESULT toElement([retval, out] IHTMLElement **p);
10942
10943     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10944     HRESULT keyCode([in] LONG v);
10945
10946     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10947     HRESULT keyCode([retval, out] LONG *p);
10948
10949     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10950     HRESULT button([retval, out] LONG *p);
10951
10952     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10953     HRESULT type([retval, out] BSTR *p);
10954
10955     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10956     HRESULT qualifier([retval, out] BSTR *p);
10957
10958     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10959     HRESULT reason([retval, out] LONG *p);
10960
10961     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10962     HRESULT x([retval, out] LONG *p);
10963
10964     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10965     HRESULT y([retval, out] LONG *p);
10966
10967     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10968     HRESULT clientX([retval, out] LONG *p);
10969
10970     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10971     HRESULT clientY([retval, out] LONG *p);
10972
10973     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10974     HRESULT offsetX([retval, out] LONG *p);
10975
10976     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10977     HRESULT offsetY([retval, out] LONG *p);
10978
10979     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10980     HRESULT screenX([retval, out] LONG *p);
10981
10982     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10983     HRESULT screenY([retval, out] LONG *p);
10984
10985     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10986     HRESULT srcFilter([retval, out] IDispatch **p);
10987 }
10988
10989 /*****************************************************************************
10990  *    DispCEventObj dispinterface
10991  */
10992 [
10993     hidden,
10994     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10995 ]
10996 dispinterface DispCEventObj
10997 {
10998 properties:
10999 methods:
11000     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11001     void returnValue(VARIANT v);
11002
11003     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11004     VARIANT returnValue();
11005
11006     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11007     void cancelBubble(VARIANT_BOOL v);
11008
11009     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11010     VARIANT_BOOL cancelBubble();
11011
11012     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11013     void keyCode(LONG v);
11014
11015     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11016     LONG keyCode();
11017
11018     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
11019     void setAttribute(
11020             [in] BSTR strAttributeName,
11021             [in] VARIANT AttributeValue,
11022             [in, defaultvalue(1)] LONG lFlags);
11023
11024     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
11025     VARIANT getAttribute(
11026             [in] BSTR strAttributeName,
11027             [in, defaultvalue(0)] LONG lFlags);
11028
11029     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
11030     VARIANT_BOOL removeAttribute(
11031             [in] BSTR strAttributeName,
11032             [in, defaultvalue(1)] LONG lFlags);
11033
11034     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
11035     void propertyName(BSTR v);
11036
11037     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
11038     BSTR propertyName();
11039
11040     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
11041     void bookmarks(IHTMLBookmarkCollection *v);
11042
11043     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
11044     IHTMLBookmarkCollection *bookmarks();
11045
11046     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
11047     void recordset(IDispatch *v);
11048
11049     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
11050     IDispatch *recordset();
11051
11052     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
11053     void dataFld(BSTR v);
11054
11055     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
11056     BSTR dataFld();
11057
11058     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
11059     void boundElements(IHTMLElementCollection *v);
11060
11061     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
11062     IHTMLElementCollection *boundElements();
11063
11064     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
11065     void repeat(VARIANT_BOOL v);
11066
11067     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
11068     VARIANT_BOOL repeat();
11069
11070     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
11071     void srcUrn(BSTR v);
11072
11073     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
11074     BSTR srcUrn();
11075
11076     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
11077     void srcElement(IHTMLElement *v);
11078
11079     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
11080     IHTMLElement *srcElement();
11081
11082     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
11083     void altKey(VARIANT_BOOL v);
11084
11085     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
11086     VARIANT_BOOL altKey();
11087
11088     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
11089     void ctrlKey(VARIANT_BOOL v);
11090
11091     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
11092     VARIANT_BOOL ctrlKey();
11093
11094     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
11095     void shiftKey(VARIANT_BOOL v);
11096
11097     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
11098     VARIANT_BOOL shiftKey();
11099
11100     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
11101     void fromElement(IHTMLElement *v);
11102
11103     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
11104     IHTMLElement *fromElement();
11105
11106     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
11107     void toElement(IHTMLElement *v);
11108
11109     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
11110     IHTMLElement *toElement();
11111
11112     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
11113     void button(LONG v);
11114
11115     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
11116     LONG button();
11117
11118     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
11119     void type(BSTR v);
11120
11121     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
11122     BSTR type();
11123
11124     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
11125     void qualifier(BSTR v);
11126
11127     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
11128     BSTR qualifier();
11129
11130     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
11131     void reason(LONG v);
11132
11133     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
11134     LONG reason();
11135
11136     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
11137     void x(LONG v);
11138
11139     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
11140     LONG x();
11141
11142     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
11143     void y(LONG v);
11144
11145     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
11146     LONG y();
11147
11148     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
11149     void clientX(LONG v);
11150
11151     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
11152     LONG clientX();
11153
11154     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
11155     void clientY(LONG v);
11156
11157     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
11158     LONG clientY();
11159     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
11160     void offsetX(LONG v);
11161
11162     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
11163     LONG offsetX();
11164
11165     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
11166     void offsetY(LONG v);
11167
11168     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
11169     LONG offsetY();
11170
11171     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
11172     void screenX(LONG v);
11173
11174     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
11175     LONG screenX();
11176
11177     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
11178     void screenY(LONG v);
11179
11180     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
11181     LONG screenY();
11182
11183     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
11184     void srcFilter(IDispatch *v);
11185
11186     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
11187     IDispatch *srcFilter();
11188
11189     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
11190     IHTMLDataTransfer *dataTransfer();
11191
11192     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
11193     VARIANT_BOOL contentOverflow();
11194
11195     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
11196     void shiftLeft(VARIANT_BOOL v);
11197
11198     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
11199     VARIANT_BOOL shiftLeft();
11200
11201     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
11202     void altLeft(VARIANT_BOOL v);
11203
11204     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
11205     VARIANT_BOOL altLeft();
11206
11207     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
11208     void ctrlLeft(VARIANT_BOOL v);
11209
11210     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
11211     VARIANT_BOOL ctrlLeft();
11212
11213     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
11214     LONG_PTR imeCompositionChange();
11215
11216     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
11217     LONG_PTR imeNotifyCommand();
11218
11219     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
11220     LONG_PTR imeNotifyData();
11221
11222     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
11223     LONG_PTR imeRequest();
11224
11225     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
11226     LONG_PTR imeRequestData();
11227
11228     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
11229     LONG_PTR keyboardLayout();
11230
11231     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
11232     LONG behaviorCookie();
11233
11234     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
11235     LONG behaviorPart();
11236
11237     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
11238     BSTR nextPage();
11239
11240     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
11241     LONG wheelDelta();
11242 }
11243
11244 /*****************************************************************************
11245  *    IHTMLFramesCollection2 interface
11246  */
11247 [
11248     odl,
11249     oleautomation,
11250     dual,
11251     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
11252 ]
11253 interface IHTMLFramesCollection2 : IDispatch
11254 {
11255     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11256     HRESULT item(
11257         [in] VARIANT *pvarIndex,
11258         [retval, out] VARIANT *pvarResult);
11259
11260     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11261     HRESULT length([retval, out] LONG *p);
11262 }
11263
11264 /*****************************************************************************
11265  *    IHTMLScreen interface
11266  */
11267 [
11268     odl,
11269     oleautomation,
11270     dual,
11271     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
11272 ]
11273 interface IHTMLScreen : IDispatch
11274 {
11275     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11276     HRESULT colorDepth([retval, out] LONG *p);
11277
11278     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11279     HRESULT bufferDepth([in] LONG v);
11280
11281     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11282     HRESULT bufferDepth([retval, out] LONG *p);
11283
11284     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11285     HRESULT width([retval, out] LONG *p);
11286
11287     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11288     HRESULT height([retval, out] LONG *p);
11289
11290     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11291     HRESULT updateInterval([in] LONG v);
11292
11293     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11294     HRESULT updateInterval([retval, out] LONG *p);
11295
11296     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11297     HRESULT availHeight([retval, out] LONG *p);
11298
11299     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11300     HRESULT availWidth([retval, out] LONG *p);
11301
11302     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11303     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
11304 }
11305
11306 /*****************************************************************************
11307  *    IHTMLWindow2 interface
11308  */
11309 [
11310     odl,
11311     oleautomation,
11312     dual,
11313     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
11314 ]
11315 interface IHTMLWindow2 : IHTMLFramesCollection2
11316 {
11317     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11318     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11319
11320     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11321     HRESULT defaultStatus([in] BSTR v);
11322
11323     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11324     HRESULT defaultStatus([retval, out] BSTR *p);
11325
11326     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11327     HRESULT status([in] BSTR v);
11328
11329     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11330     HRESULT status([retval, out] BSTR *p);
11331
11332     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
11333     HRESULT setTimeout(
11334         [in] BSTR expression,
11335         [in] LONG msec,
11336         [optional, in] VARIANT *language,
11337         [retval, out] LONG *timerID);
11338
11339     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11340     HRESULT clearTimeout([in] LONG timerID);
11341
11342     [id(DISPID_IHTMLWINDOW2_ALERT)]
11343     HRESULT alert([defaultvalue(""), in] BSTR message);
11344
11345     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11346     HRESULT confirm(
11347         [defaultvalue(""), in] BSTR message,
11348         [retval, out] VARIANT_BOOL *confirmed);
11349
11350     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11351     HRESULT prompt(
11352         [defaultvalue(""), in] BSTR message,
11353         [defaultvalue("undefined"), in] BSTR defstr,
11354         [retval, out] VARIANT *textdata);
11355
11356     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11357     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
11358
11359     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11360     HRESULT location([retval, out] IHTMLLocation **p);
11361
11362     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11363     HRESULT history([retval, out] IOmHistory **p);
11364
11365     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11366     HRESULT close();
11367
11368     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11369     HRESULT opener([in] VARIANT v);
11370
11371     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11372     HRESULT opener([retval, out] VARIANT *p);
11373
11374     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11375     HRESULT navigator([retval, out] IOmNavigator **p);
11376
11377     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11378     HRESULT name([in] BSTR v);
11379
11380     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11381     HRESULT name([retval, out] BSTR *p);
11382
11383     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11384     HRESULT parent([retval, out] IHTMLWindow2 **p);
11385
11386     [id(DISPID_IHTMLWINDOW2_OPEN)]
11387     HRESULT open(
11388         [defaultvalue(""), in] BSTR url,
11389         [defaultvalue(""), in] BSTR name,
11390         [defaultvalue(""), in] BSTR features,
11391         [defaultvalue(0), in] VARIANT_BOOL replace,
11392         [retval, out] IHTMLWindow2 **pomWindowResult);
11393
11394     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11395     HRESULT self([retval, out] IHTMLWindow2 **p);
11396
11397     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11398     HRESULT top([retval, out] IHTMLWindow2 **p);
11399
11400     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11401     HRESULT window([retval, out] IHTMLWindow2 **p);
11402
11403     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11404     HRESULT navigate([in] BSTR url);
11405
11406     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11407     HRESULT onfocus([in] VARIANT v);
11408
11409     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11410     HRESULT onfocus([retval, out] VARIANT *p);
11411
11412     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11413     HRESULT onblur([in] VARIANT v);
11414
11415     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11416     HRESULT onblur([retval, out] VARIANT *p);
11417
11418     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11419     HRESULT onload([in] VARIANT v);
11420
11421     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11422     HRESULT onload([retval, out] VARIANT *p);
11423
11424     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11425     HRESULT onbeforeunload([in] VARIANT v);
11426
11427     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11428     HRESULT onbeforeunload([retval, out] VARIANT *p);
11429
11430     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11431     HRESULT onunload([in] VARIANT v);
11432
11433     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11434     HRESULT onunload([retval, out] VARIANT *p);
11435
11436     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
11437     HRESULT onhelp([in] VARIANT v);
11438
11439     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
11440     HRESULT onhelp([retval, out] VARIANT *p);
11441
11442     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
11443     HRESULT onerror([in] VARIANT v);
11444
11445     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
11446     HRESULT onerror([retval, out] VARIANT *p);
11447
11448     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11449     HRESULT onresize([in] VARIANT v);
11450
11451     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11452     HRESULT onresize([retval, out] VARIANT *p);
11453
11454     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11455     HRESULT onscroll([in] VARIANT v);
11456
11457     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11458     HRESULT onscroll([retval, out] VARIANT *p);
11459
11460     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
11461     HRESULT document([retval, out] IHTMLDocument2 **p);
11462
11463     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11464     HRESULT event([retval, out] IHTMLEventObj **p);
11465
11466     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
11467     HRESULT _newEnum([retval, out] IUnknown **p);
11468
11469     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11470     HRESULT showModalDialog(
11471         [in] BSTR dialog,
11472         [optional, in] VARIANT *varArgIn,
11473         [optional, in] VARIANT *varOptions,
11474         [retval, out] VARIANT *varArgOut);
11475
11476     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11477     HRESULT showHelp(
11478         [in] BSTR helpURL,
11479         [optional, in] VARIANT helpArg,
11480         [defaultvalue(""), in] BSTR features);
11481
11482     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11483     HRESULT screen([retval, out] IHTMLScreen **p);
11484
11485     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11486     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
11487
11488     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11489     HRESULT focus();
11490
11491     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11492     HRESULT closed([retval, out] VARIANT_BOOL *p);
11493
11494     [id(DISPID_IHTMLWINDOW2_BLUR)]
11495     HRESULT blur();
11496
11497     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11498     HRESULT scroll([in] LONG x, [in] LONG y);
11499
11500     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11501     HRESULT clientInformation([retval, out] IOmNavigator **p);
11502
11503     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
11504     HRESULT setInterval([
11505         in] BSTR expression,
11506         [in] LONG msec,
11507         [optional, in] VARIANT *language,
11508         [retval, out] LONG *timerID);
11509
11510     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11511     HRESULT clearInterval([in] LONG timerID);
11512
11513     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11514     HRESULT offscreenBuffering([in] VARIANT v);
11515
11516     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11517     HRESULT offscreenBuffering([retval, out] VARIANT *p);
11518
11519     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11520     HRESULT execScript(
11521         [in] BSTR scode,
11522         [defaultvalue("JScript"), in] BSTR language,
11523         [retval, out] VARIANT *pvarRet);
11524
11525     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11526     HRESULT toString([retval, out] BSTR *String);
11527
11528     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11529     HRESULT scrollBy([in] LONG x, [in] LONG y);
11530
11531     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11532     HRESULT scrollTo([in] LONG x, [in] LONG y);
11533
11534     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11535     HRESULT moveTo([in] LONG x, [in] LONG y);
11536
11537     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11538     HRESULT moveBy([in] LONG x, [in] LONG y);
11539
11540     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11541     HRESULT resizeTo([in] LONG x, [in] LONG y);
11542
11543     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11544     HRESULT resizeBy([in] LONG x, [in] LONG y);
11545
11546     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11547     HRESULT external([retval, out] IDispatch **p);
11548 }
11549
11550 /*****************************************************************************
11551  *    IHTMLWindow3 interface
11552  */
11553 [
11554     odl,
11555     oleautomation,
11556     dual,
11557     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11558 ]
11559 interface IHTMLWindow3 : IDispatch
11560 {
11561     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11562     HRESULT screenLeft([out, retval] LONG *p);
11563
11564     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11565     HRESULT screenTop([out, retval] LONG *p);
11566
11567     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11568     HRESULT attachEvent(
11569             [in] BSTR event,
11570             [in] IDispatch *pDisp,
11571             [out, retval] VARIANT_BOOL *pfResult);
11572
11573     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11574     HRESULT detachEvent(
11575             [in] BSTR event,
11576             [in] IDispatch *pDisp);
11577
11578     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11579     HRESULT setTimeout(
11580             [in] VARIANT *expression,
11581             [in] LONG msec,
11582             [in, optional] VARIANT *language,
11583             [out, retval] LONG *timerID);
11584
11585     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11586     HRESULT setInterval(
11587             [in] VARIANT *expression,
11588             [in] LONG msec,
11589             [in, optional] VARIANT *language,
11590             [out, retval] LONG *timerID);
11591
11592     [id(DISPID_IHTMLWINDOW3_PRINT)]
11593     HRESULT print();
11594
11595     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11596     HRESULT onbeforeprint([in] VARIANT v);
11597
11598     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11599     HRESULT onbeforeprint([out, retval] VARIANT *p);
11600
11601     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11602     HRESULT onafterprint([in] VARIANT v);
11603
11604     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11605     HRESULT onafterprint([out, retval] VARIANT *p);
11606
11607     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11608     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11609
11610     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11611     HRESULT showModelessDialog(
11612             [in, defaultvalue("")] BSTR url,
11613             [in, optional] VARIANT *varArgIn,
11614             [in, optional] VARIANT *options,
11615             [out, retval] IHTMLWindow2 **pDialog);
11616 }
11617
11618 /*****************************************************************************
11619  *    IHTMLWindow4 interface
11620  */
11621 [
11622     odl,
11623     oleautomation,
11624     dual,
11625     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
11626 ]
11627 interface IHTMLWindow4 : IDispatch
11628 {
11629     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11630     HRESULT createPopup([optional, in] VARIANT* varArgIn,
11631                         [retval, out] IDispatch** ppPopup);
11632
11633     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11634     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
11635 }
11636
11637 /*****************************************************************************
11638  *    IHTMLWindow5 interface
11639  */
11640 [
11641     odl,
11642     oleautomation,
11643     dual,
11644     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
11645 ]
11646 interface IHTMLWindow5 : IDispatch
11647 {
11648     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11649     HRESULT XMLHttpRequest([in] VARIANT v);
11650
11651     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11652     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
11653 }
11654
11655 /*****************************************************************************
11656  *    IHTMLWindow6 interface
11657  */
11658 [
11659     odl,
11660     oleautomation,
11661     dual,
11662     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
11663 ]
11664 interface IHTMLWindow6 : IDispatch
11665 {
11666     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11667     HRESULT XDomainRequest([in] VARIANT v);
11668
11669     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11670     HRESULT XDomainRequest([out, retval] VARIANT *p);
11671
11672     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11673     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
11674
11675     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11676     HRESULT localStorage([out, retval] IHTMLStorage **p);
11677
11678     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11679     HRESULT onhashchange([in] VARIANT v);
11680
11681     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11682     HRESULT onhashchange([out, retval] VARIANT *p);
11683
11684     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11685     HRESULT maxConnectionsPerServer([out, retval] long *p);
11686
11687     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11688     HRESULT postMessage(
11689             [in] BSTR msg,
11690             [in, optional] VARIANT targetOrigin);
11691
11692     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11693     HRESULT toStaticHTML(
11694             [in] BSTR bstrHTML,
11695             [out, retval] BSTR *pbstrStaticHTML);
11696
11697     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11698     HRESULT onmessage([in] VARIANT v);
11699
11700     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11701     HRESULT onmessage([out, retval] VARIANT *p);
11702
11703     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11704     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11705 }
11706
11707 /*****************************************************************************
11708  *    DispHTMLScreen dispinterface
11709  */
11710 [
11711     hidden,
11712     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11713 ]
11714 dispinterface DispHTMLScreen
11715 {
11716 properties:
11717 methods:
11718     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11719     long colorDepth();
11720
11721     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11722     void bufferDepth(long v);
11723
11724     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11725     long bufferDepth();
11726
11727     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11728     long width();
11729
11730     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11731     long height();
11732
11733     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11734     void updateInterval(long v);
11735
11736     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11737     long updateInterval();
11738
11739     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11740     long availHeight();
11741
11742     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11743     long availWidth();
11744
11745     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11746     VARIANT_BOOL fontSmoothingEnabled();
11747
11748     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11749     long logicalXDPI();
11750
11751     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11752     long logicalYDPI();
11753
11754     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11755     long deviceXDPI();
11756
11757     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11758     long deviceYDPI();
11759
11760     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11761     long systemXDPI();
11762
11763     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11764     long systemYDPI();
11765
11766     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11767     IDispatch *constructor();
11768 }
11769
11770 /*****************************************************************************
11771  *    DispHTMLWindow2 dispinterface
11772  */
11773 [
11774     hidden,
11775     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11776 ]
11777 dispinterface DispHTMLWindow2
11778 {
11779 properties:
11780 methods:
11781     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11782     VARIANT item([in] VARIANT *pvarIndex);
11783
11784     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11785     LONG length();
11786
11787     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11788     IHTMLFramesCollection2 *frames();
11789
11790     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11791     void defaultStatus(BSTR v);
11792
11793     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11794     BSTR defaultStatus();
11795
11796     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11797     void status(BSTR v);
11798
11799     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11800     BSTR status();
11801
11802     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11803     void clearTimeout([in] LONG timerID);
11804
11805     [id(DISPID_IHTMLWINDOW2_ALERT)]
11806     void alert([in, defaultvalue("")] BSTR message);
11807
11808     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11809     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11810
11811     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11812     VARIANT prompt(
11813             [in, defaultvalue("")] BSTR message,
11814             [in, defaultvalue("undefined")] BSTR defstr);
11815
11816     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11817     IHTMLImageElementFactory *Image();
11818
11819     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11820     IHTMLLocation *location();
11821
11822     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11823     IOmHistory *history();
11824
11825     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11826     void close();
11827
11828     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11829     void opener(VARIANT v);
11830
11831     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11832     VARIANT opener();
11833
11834     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11835     IOmNavigator *navigator();
11836
11837     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11838     void name(BSTR v);
11839
11840     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11841     BSTR name();
11842
11843     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11844     IHTMLWindow2 *parent();
11845
11846     [id(DISPID_IHTMLWINDOW2_OPEN)]
11847     IHTMLWindow2 *open(
11848             [in, defaultvalue("")] BSTR url,
11849             [in, defaultvalue("")] BSTR name,
11850             [in, defaultvalue("")] BSTR features,
11851             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11852
11853     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11854     IHTMLWindow2 *self();
11855
11856     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11857     IHTMLWindow2 *top();
11858
11859     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11860     IHTMLWindow2 *window();
11861
11862     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11863     void navigate([in] BSTR url);
11864
11865     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11866     void onfocus(VARIANT v);
11867
11868     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11869     VARIANT onfocus();
11870
11871     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11872     void onblur(VARIANT v);
11873
11874     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11875     VARIANT onblur();
11876
11877     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11878     VARIANT onload();
11879
11880     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11881     void onbeforeunload(VARIANT v);
11882
11883     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11884     VARIANT onbeforeunload();
11885
11886     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11887     void onunload(VARIANT v);
11888
11889     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11890     VARIANT onunload();
11891
11892     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11893     void onhelp(VARIANT v);
11894
11895     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11896     VARIANT onhelp();
11897
11898     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11899     void onerror(VARIANT v);
11900
11901     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11902     VARIANT onerror();
11903
11904     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11905     void onresize(VARIANT v);
11906
11907     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11908     VARIANT onresize();
11909
11910     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11911     void onscroll(VARIANT v);
11912
11913     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11914     VARIANT onscroll();
11915
11916     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11917     IHTMLDocument2 *document();
11918
11919     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11920     IHTMLEventObj *event();
11921
11922     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11923     IUnknown *_newEnum();
11924
11925     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11926     VARIANT showModalDialog(
11927             [in] BSTR dialog,
11928             [in, optional] VARIANT *varArgIn,
11929             [in, optional] VARIANT *varOptions);
11930
11931     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11932     void showHelp(
11933             [in] BSTR helpURL,
11934             [in, optional] VARIANT helpArg,
11935             [in, defaultvalue("")] BSTR features);
11936
11937     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11938     IHTMLScreen *screen();
11939
11940     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11941     IHTMLOptionElementFactory *Option();
11942
11943     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11944     void focus();
11945
11946     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11947     VARIANT_BOOL closed();
11948
11949     [id(DISPID_IHTMLWINDOW2_BLUR)]
11950     void blur();
11951
11952     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11953     void scroll([in] LONG x, [in] LONG y);
11954
11955     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11956     IOmNavigator *clientInformation();
11957
11958     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11959     void clearInterval([in] LONG timerID);
11960
11961     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11962     void offscreenBuffering(VARIANT v);
11963
11964     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11965     VARIANT offscreenBuffering();
11966
11967     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11968     VARIANT execScript(
11969             [in] BSTR _code,
11970             [in, defaultvalue("JScript")] BSTR language);
11971
11972     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11973     BSTR toString();
11974
11975     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11976     void scrollBy([in] LONG x, [in] LONG y);
11977
11978     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11979     void scrollTo([in] LONG x, [in] LONG y);
11980
11981     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11982     void moveTo([in] LONG x, [in] LONG y);
11983
11984     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11985     void moveBy([in] LONG x, [in] LONG y);
11986
11987     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11988     void resizeTo([in] LONG x, [in] LONG y);
11989
11990     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11991     void resizeBy([in] LONG x, [in] LONG y);
11992
11993     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11994     IDispatch *external();
11995
11996     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11997     LONG screenLeft();
11998
11999     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12000     LONG screenTop();
12001
12002     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12003     VARIANT_BOOL attachEvent(
12004              [in] BSTR event,
12005              [in] IDispatch *pDisp);
12006
12007     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12008     void detachEvent(
12009             [in] BSTR event,
12010             [in] IDispatch *pDisp);
12011
12012     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12013     LONG setTimeout(
12014             [in] VARIANT *expression,
12015             [in] LONG msec,
12016             [in, optional] VARIANT *language);
12017
12018     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12019     LONG setInterval(
12020             [in] VARIANT *expression,
12021             [in] LONG msec,
12022             [in, optional] VARIANT *language);
12023
12024     [id(DISPID_IHTMLWINDOW3_PRINT)]
12025     void print();
12026
12027     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12028     void onbeforeprint(VARIANT v);
12029
12030     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12031     VARIANT onbeforeprint();
12032
12033     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12034     void onafterprint(VARIANT v);
12035
12036     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12037     VARIANT onafterprint();
12038
12039     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12040     IHTMLDataTransfer *clipboardData();
12041
12042     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12043     IHTMLWindow2 *showModelessDialog(
12044             [in, defaultvalue("")] BSTR url,
12045             [in, optional] VARIANT *varArgIn,
12046             [in, optional] VARIANT *options);
12047
12048     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12049     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
12050
12051     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12052     IHTMLFrameBase *frameElement();
12053
12054     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12055     IHTMLStorage *sessionStorage();
12056
12057     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12058     IHTMLStorage *localStorage();
12059
12060     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12061     void onhashchange(VARIANT v);
12062
12063     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12064     VARIANT onhashchange();
12065
12066     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12067     long maxConnectionsPerServer();
12068
12069     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12070     void postMessage(
12071             [in] BSTR msg,
12072             [in, optional] VARIANT targetOrigin);
12073
12074     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12075     BSTR toStaticHTML([in] BSTR bstrHTML);
12076
12077     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12078     void onmessage(VARIANT v);
12079
12080     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12081     VARIANT onmessage();
12082
12083     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12084     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12085
12086     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
12087 }
12088
12089 /*****************************************************************************
12090  *    DispHTMLWindowProxy dispinterface
12091  */
12092 [
12093     hidden,
12094     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
12095 ]
12096 dispinterface DispHTMLWindowProxy
12097 {
12098 properties:
12099 methods:
12100     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12101     VARIANT item([in] VARIANT* pvarIndex);
12102
12103     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12104     LONG length();
12105
12106     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12107     IHTMLFramesCollection2* frames();
12108
12109     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12110     void defaultStatus(BSTR v);
12111
12112     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12113     BSTR defaultStatus();
12114
12115     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12116     void status(BSTR v);
12117
12118     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12119     BSTR status();
12120
12121     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12122     void clearTimeout([in] LONG timerID);
12123
12124     [id(DISPID_IHTMLWINDOW2_ALERT)]
12125     void alert([defaultvalue(""), in] BSTR message);
12126
12127     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12128     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
12129
12130     [id(DISPID_IHTMLWINDOW2_PROMPT)]
12131     VARIANT prompt([defaultvalue(""), in] BSTR message,
12132                    [defaultvalue("undefined"), in] BSTR defstr);
12133
12134     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12135     IHTMLImageElementFactory* Image();
12136
12137     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12138     IHTMLLocation* location();
12139
12140     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12141     IOmHistory* history();
12142
12143     [id(DISPID_IHTMLWINDOW2_CLOSE)]
12144     void close();
12145
12146     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12147     void opener(VARIANT v);
12148
12149     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12150     VARIANT opener();
12151
12152     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12153     IOmNavigator* navigator();
12154
12155     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12156     void name(BSTR v);
12157
12158     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12159     BSTR name();
12160
12161     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12162     IHTMLWindow2* parent();
12163
12164     [id(DISPID_IHTMLWINDOW2_OPEN)]
12165     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
12166                        [defaultvalue(""), in] BSTR name,
12167                        [defaultvalue(""), in] BSTR features,
12168                        [defaultvalue(0), in] VARIANT_BOOL replace);
12169
12170     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12171     IHTMLWindow2* self();
12172
12173     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12174     IHTMLWindow2* top();
12175
12176     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12177     IHTMLWindow2* window();
12178
12179     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12180     void navigate([in] BSTR url);
12181
12182     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12183     void onfocus(VARIANT v);
12184
12185     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12186     VARIANT onfocus();
12187
12188     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12189     void onblur(VARIANT v);
12190
12191     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12192     VARIANT onblur();
12193
12194     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12195     void onload(VARIANT v);
12196
12197     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12198     VARIANT onload();
12199
12200     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12201     void onbeforeunload(VARIANT v);
12202
12203     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12204     VARIANT onbeforeunload();
12205
12206     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12207     void onunload(VARIANT v);
12208
12209     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12210     VARIANT onunload();
12211
12212     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12213     void onhelp(VARIANT v);
12214
12215     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12216     VARIANT onhelp();
12217
12218     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12219     void onerror(VARIANT v);
12220
12221     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12222     VARIANT onerror();
12223
12224     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12225     void onresize(VARIANT v);
12226
12227     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12228     VARIANT onresize();
12229
12230     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12231     void onscroll(VARIANT v);
12232
12233     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12234     VARIANT onscroll();
12235
12236     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
12237     IHTMLDocument2* document();
12238
12239     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12240     IHTMLEventObj* event();
12241
12242     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
12243     IUnknown* _newEnum();
12244
12245     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12246     VARIANT showModalDialog([in] BSTR dialog,
12247                             [optional, in] VARIANT* varArgIn,
12248                             [optional, in] VARIANT* varOptions);
12249
12250     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12251     void showHelp([in] BSTR helpURL,
12252                   [optional, in] VARIANT helpArg,
12253                   [defaultvalue(""), in] BSTR features);
12254
12255     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12256     IHTMLScreen* screen();
12257
12258     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12259     IHTMLOptionElementFactory* Option();
12260
12261     [id(DISPID_IHTMLWINDOW2_FOCUS)]
12262     void focus();
12263
12264     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12265     VARIANT_BOOL closed();
12266
12267     [id(DISPID_IHTMLWINDOW2_BLUR)]
12268     void blur();
12269
12270     [id(DISPID_IHTMLWINDOW2_SCROLL)]
12271     void scroll([in] LONG x,
12272                 [in] LONG y);
12273
12274     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12275     IOmNavigator* clientInformation();
12276
12277     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12278     void clearInterval([in] LONG timerID);
12279
12280     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12281     void offscreenBuffering(VARIANT v);
12282
12283     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12284     VARIANT offscreenBuffering();
12285
12286     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12287     VARIANT execScript([in] BSTR code,
12288                        [defaultvalue("JScript"), in] BSTR language);
12289
12290     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12291     BSTR toString();
12292
12293     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12294     void scrollBy([in] LONG x,
12295                   [in] LONG y);
12296
12297     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12298     void scrollTo([in] LONG x,
12299                   [in] LONG y);
12300
12301     [id(DISPID_IHTMLWINDOW2_MOVETO)]
12302     void moveTo([in] LONG x,
12303                 [in] LONG y);
12304
12305     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12306     void moveBy([in] LONG x,
12307                 [in] LONG y);
12308
12309     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12310     void resizeTo([in] LONG x,
12311                   [in] LONG y);
12312
12313     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12314     void resizeBy([in] LONG x,
12315                   [in] LONG y);
12316
12317     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12318     IDispatch* external();
12319
12320     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12321     LONG screenLeft();
12322
12323     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12324     LONG screenTop();
12325
12326     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12327     VARIANT_BOOL attachEvent([in] BSTR event,
12328                              [in] IDispatch* pDisp);
12329
12330     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12331     void detachEvent([in] BSTR event,
12332                      [in] IDispatch* pDisp);
12333
12334     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12335     LONG setTimeout([in] VARIANT* expression,
12336                     [in] LONG msec,
12337                     [optional, in] VARIANT* language);
12338
12339     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12340     LONG setInterval([in] VARIANT* expression,
12341                      [in] LONG msec,
12342                      [optional, in] VARIANT* language);
12343
12344     [id(DISPID_IHTMLWINDOW3_PRINT)]
12345     void print();
12346
12347     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12348     void onbeforeprint(VARIANT v);
12349
12350     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12351     VARIANT onbeforeprint();
12352
12353     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12354     void onafterprint(VARIANT v);
12355
12356     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12357     VARIANT onafterprint();
12358
12359     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12360     IHTMLDataTransfer* clipboardData();
12361
12362     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12363     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
12364                                      [optional, in] VARIANT* varArgIn,
12365                                      [optional, in] VARIANT* options);
12366
12367     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12368     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
12369
12370     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12371     IHTMLFrameBase* frameElement();
12372
12373     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12374     void XMLHttpRequest(VARIANT v);
12375
12376     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12377     VARIANT XMLHttpRequest();
12378
12379     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12380     IHTMLStorage *sessionStorage();
12381
12382     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12383     IHTMLStorage *localStorage();
12384
12385     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12386     void onhashchange(VARIANT v);
12387
12388     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12389     VARIANT onhashchange();
12390
12391     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12392     long maxConnectionsPerServer();
12393
12394     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12395     void postMessage(
12396             [in] BSTR msg,
12397             [in, optional] VARIANT targetOrigin);
12398
12399     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12400     BSTR toStaticHTML([in] BSTR bstrHTML);
12401
12402     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12403     void onmessage(VARIANT v);
12404
12405     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12406     VARIANT onmessage();
12407
12408     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12409     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12410
12411     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
12412 }
12413
12414 /*****************************************************************************
12415  *    HTMLWindowEvents interface
12416  */
12417 [
12418     hidden,
12419     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
12420 ]
12421 dispinterface HTMLWindowEvents
12422 {
12423 properties:
12424 methods:
12425     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
12426     void onload();
12427
12428     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
12429     void onunload();
12430
12431     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
12432     VARIANT_BOOL onhelp();
12433
12434     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
12435     void onfocus();
12436
12437     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
12438     void onblur();
12439
12440     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
12441     void onerror([in] BSTR description,
12442                  [in] BSTR url,
12443                  [in] LONG line);
12444
12445     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
12446     void onresize();
12447
12448     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
12449     void onscroll();
12450
12451     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
12452     void onbeforeunload();
12453
12454     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
12455     void onbeforeprint();
12456
12457     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
12458     void onafterprint();
12459 }
12460
12461 /*****************************************************************************
12462  *    HTMLWindowEvents2 interface
12463  */
12464 [
12465     hidden,
12466     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
12467 ]
12468 dispinterface HTMLWindowEvents2
12469 {
12470 properties:
12471 methods:
12472     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
12473     void onload([in] IHTMLEventObj* pEvtObj);
12474
12475     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
12476     void onunload([in] IHTMLEventObj* pEvtObj);
12477
12478     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
12479     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12480
12481     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
12482     void onfocus([in] IHTMLEventObj* pEvtObj);
12483
12484     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
12485     void onblur([in] IHTMLEventObj* pEvtObj);
12486
12487     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
12488     void onerror([in] BSTR description,
12489                  [in] BSTR url,
12490                  [in] LONG line);
12491
12492     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
12493     void onresize([in] IHTMLEventObj* pEvtObj);
12494
12495     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
12496     void onscroll([in] IHTMLEventObj* pEvtObj);
12497
12498     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
12499     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
12500
12501     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
12502     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
12503
12504     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
12505     void onafterprint([in] IHTMLEventObj* pEvtObj);
12506 }
12507
12508 /*****************************************************************************
12509  *    HTMLWindowProxy class
12510  */
12511 [
12512     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
12513 ]
12514 coclass HTMLWindowProxy
12515 {
12516     [default]           dispinterface DispHTMLWindowProxy;
12517     [source, default]   dispinterface HTMLWindowEvents;
12518     [source]            dispinterface HTMLWindowEvents2;
12519                         interface IHTMLWindow2;
12520                         interface IHTMLWindow3;
12521                         interface IHTMLWindow4;
12522                         interface IHTMLWindow5;
12523 }
12524
12525 /*****************************************************************************
12526  *    HTMLDocumentEvents2 interface
12527  */
12528 [
12529     hidden,
12530     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
12531 ]
12532 dispinterface HTMLDocumentEvents2
12533 {
12534     properties:
12535     methods:
12536     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
12537     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
12538
12539     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
12540     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
12541
12542     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
12543     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
12544
12545     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
12546     void onkeydown([in] IHTMLEventObj *pEvtObj);
12547
12548     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12549     void onkeyup([in] IHTMLEventObj *pEvtObj);
12550
12551     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12552     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12553
12554     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12555     void onmousedown([in] IHTMLEventObj *pEvtObj);
12556
12557     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12558     void onmousemove([in] IHTMLEventObj *pEvtObj);
12559
12560     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12561     void onmouseup([in] IHTMLEventObj *pEvtObj);
12562
12563     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12564     void onmouseout([in] IHTMLEventObj *pEvtObj);
12565
12566     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12567     void onmouseover([in] IHTMLEventObj *pEvtObj);
12568
12569     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12570     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12571
12572     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12573     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12574
12575     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12576     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12577
12578     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12579     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12580
12581     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12582     void onrowenter([in] IHTMLEventObj *pEvtObj);
12583
12584     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12585     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12586
12587     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12588     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12589
12590     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12591     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12592
12593     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12594     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12595
12596     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12597     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12598
12599     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
12600     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
12601
12602     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
12603     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
12604
12605     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
12606     void oncellchange([in] IHTMLEventObj *pEvtObj);
12607
12608     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
12609     void onpropertychange([in] IHTMLEventObj *pEvtObj);
12610
12611     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
12612     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
12613
12614     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
12615     void ondataavailable([in] IHTMLEventObj *pEvtObj);
12616
12617     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
12618     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
12619
12620     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
12621     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
12622
12623     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
12624     void onselectionchange([in] IHTMLEventObj *pEvtObj);
12625
12626     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
12627     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
12628
12629     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
12630     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
12631
12632     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
12633     void onfocusin([in] IHTMLEventObj *pEvtObj);
12634
12635     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
12636     void onfocusout([in] IHTMLEventObj *pEvtObj);
12637
12638     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
12639     void onactivate([in] IHTMLEventObj *pEvtObj);
12640
12641     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
12642     void ondeactivate([in] IHTMLEventObj *pEvtObj);
12643
12644     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
12645     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
12646
12647     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
12648     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
12649 }
12650
12651 /*****************************************************************************
12652  *    HTMLDocumentEvents interface
12653  */
12654 [
12655     hidden,
12656     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
12657 ]
12658 dispinterface HTMLDocumentEvents
12659 {
12660     properties:
12661     methods:
12662     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
12663     VARIANT_BOOL onhelp();
12664
12665     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
12666     VARIANT_BOOL onclick();
12667
12668     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
12669     VARIANT_BOOL ondblclick();
12670
12671     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
12672     void onkeydown();
12673
12674     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
12675     void onkeyup();
12676
12677     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
12678     VARIANT_BOOL onkeypress();
12679
12680     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12681     void onmousedown();
12682
12683     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12684     void onmousemove();
12685
12686     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12687     void onmouseup();
12688
12689     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12690     void onmouseout();
12691
12692     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12693     void onmouseover();
12694
12695     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12696     void onreadystatechange();
12697
12698     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12699     VARIANT_BOOL onbeforeupdate();
12700
12701     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12702     void onafterupdate();
12703
12704     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12705     VARIANT_BOOL onrowexit();
12706
12707     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12708     void onrowenter();
12709
12710     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12711     VARIANT_BOOL ondragstart();
12712
12713     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12714     VARIANT_BOOL onselectstart();
12715
12716     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12717     VARIANT_BOOL onerrorupdate();
12718
12719     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12720     VARIANT_BOOL oncontextmenu();
12721
12722     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12723     VARIANT_BOOL onstop();
12724
12725     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12726     void onrowsdelete();
12727
12728     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12729     void onrowsinserted();
12730
12731     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12732     void oncellchange();
12733
12734     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12735     void onpropertychange();
12736
12737     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12738     void ondatasetchanged();
12739
12740     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12741     void ondataavailable();
12742
12743     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12744     void ondatasetcomplete();
12745
12746     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12747     void onbeforeeditfocus();
12748
12749     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12750     void onselectionchange();
12751
12752     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12753     VARIANT_BOOL oncontrolselect();
12754
12755     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12756     VARIANT_BOOL onmousewheel();
12757
12758     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12759     void onfocusin();
12760
12761     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12762     void onfocusout();
12763
12764     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12765     void onactivate();
12766
12767     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12768     void ondeactivate();
12769
12770     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12771     VARIANT_BOOL onbeforeactivate();
12772
12773     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12774     VARIANT_BOOL onbeforedeactivate();
12775 }
12776
12777 /*****************************************************************************
12778  *    HTMLTextContainerEvents interface
12779  */
12780 [
12781     hidden,
12782     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12783 ]
12784 dispinterface HTMLTextContainerEvents
12785 {
12786 properties:
12787
12788 methods:
12789     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12790     VARIANT_BOOL onhelp();
12791
12792     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12793     VARIANT_BOOL onclick();
12794
12795     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12796     VARIANT_BOOL ondblclick();
12797
12798     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12799     VARIANT_BOOL onkeypress();
12800
12801     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12802     void onkeydown();
12803
12804     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12805     void onkeyup();
12806
12807     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12808     void onmouseout();
12809
12810     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12811     void onmouseover();
12812
12813     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12814     void onmousemove();
12815
12816     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12817     void onmousedown();
12818
12819     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12820     void onmouseup();
12821
12822     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12823     VARIANT_BOOL onselectstart();
12824
12825     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12826     void onfilterchange();
12827
12828     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12829     VARIANT_BOOL ondragstart();
12830
12831     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12832     VARIANT_BOOL onbeforeupdate();
12833
12834     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12835     void onafterupdate();
12836
12837     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12838     VARIANT_BOOL onerrorupdate();
12839
12840     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12841     VARIANT_BOOL onrowexit();
12842
12843     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12844     void onrowenter();
12845
12846     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12847     void ondatasetchanged();
12848
12849     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12850     void ondataavailable();
12851
12852     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12853     void ondatasetcomplete();
12854
12855     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12856     void onlosecapture();
12857
12858     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12859     void onpropertychange();
12860
12861     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12862     void onscroll();
12863
12864     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12865     void onfocus();
12866
12867     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12868     void onblur();
12869
12870     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12871     void onresize();
12872
12873     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12874     VARIANT_BOOL ondrag();
12875
12876     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12877     void ondragend();
12878
12879     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12880     VARIANT_BOOL ondragenter();
12881
12882     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12883     VARIANT_BOOL ondragover();
12884
12885     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12886     void ondragleave();
12887
12888     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12889     VARIANT_BOOL ondrop();
12890
12891     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12892     VARIANT_BOOL onbeforecut();
12893
12894     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12895     VARIANT_BOOL oncut();
12896
12897     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12898     VARIANT_BOOL onbeforecopy();
12899
12900     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12901     VARIANT_BOOL oncopy();
12902
12903     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12904     VARIANT_BOOL onbeforepaste();
12905
12906     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12907     VARIANT_BOOL onpaste();
12908
12909     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12910     VARIANT_BOOL oncontextmenu();
12911
12912     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12913     void onrowsdelete();
12914
12915     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12916     void onrowsinserted();
12917
12918     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12919     void oncellchange();
12920
12921     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12922     void onreadystatechange();
12923
12924     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12925     void onbeforeeditfocus();
12926
12927     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12928     void onlayoutcomplete();
12929
12930     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12931     void onpage();
12932
12933     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12934     VARIANT_BOOL onbeforedeactivate();
12935
12936     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12937     VARIANT_BOOL onbeforeactivate();
12938
12939     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12940     void onmove();
12941
12942     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12943     VARIANT_BOOL oncontrolselect();
12944
12945     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12946     VARIANT_BOOL onmovestart();
12947
12948     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12949     void onmoveend();
12950
12951     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12952     VARIANT_BOOL onresizestart();
12953
12954     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12955     void onresizeend();
12956
12957     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12958     void onmouseenter();
12959
12960     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12961     void onmouseleave();
12962
12963     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12964     VARIANT_BOOL onmousewheel();
12965
12966     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12967     void onactivate();
12968
12969     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12970     void ondeactivate();
12971
12972     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12973     void onfocusin();
12974
12975     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12976     void onfocusout();
12977
12978     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12979     void onchange();
12980
12981     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12982     void onselect();
12983 }
12984
12985 /*****************************************************************************
12986  *    HTMLTextContainerEvents2 interface
12987  */
12988 [
12989     hidden,
12990     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12991 ]
12992 dispinterface HTMLTextContainerEvents2
12993 {
12994 properties:
12995 methods:
12996     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12997     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12998
12999     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13000     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13001
13002     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13003     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13004
13005     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13006     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13007
13008     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13009     void onkeydown([in] IHTMLEventObj* pEvtObj);
13010
13011     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13012     void onkeyup([in] IHTMLEventObj* pEvtObj);
13013
13014     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13015     void onmouseout([in] IHTMLEventObj* pEvtObj);
13016
13017     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13018     void onmouseover([in] IHTMLEventObj* pEvtObj);
13019
13020     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13021     void onmousemove([in] IHTMLEventObj* pEvtObj);
13022
13023     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13024     void onmousedown([in] IHTMLEventObj* pEvtObj);
13025
13026     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13027     void onmouseup([in] IHTMLEventObj* pEvtObj);
13028
13029     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13030     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13031
13032     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13033     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13034
13035     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13036     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13037
13038     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13039     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13040
13041     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13042     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13043
13044     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13045     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13046
13047     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13048     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13049
13050     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13051     void onrowenter([in] IHTMLEventObj* pEvtObj);
13052
13053     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13054     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13055
13056     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13057     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13058
13059     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13060     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13061
13062     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13063     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13064
13065     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13066     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13067
13068     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13069     void onscroll([in] IHTMLEventObj* pEvtObj);
13070
13071     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13072     void onfocus([in] IHTMLEventObj* pEvtObj);
13073
13074     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13075     void onblur([in] IHTMLEventObj* pEvtObj);
13076
13077     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13078     void onresize([in] IHTMLEventObj* pEvtObj);
13079
13080     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13081     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13082
13083     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13084     void ondragend([in] IHTMLEventObj* pEvtObj);
13085
13086     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13087     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13088
13089     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13090     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13091
13092     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13093     void ondragleave([in] IHTMLEventObj* pEvtObj);
13094
13095     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13096     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13097
13098     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13099     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13100
13101     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13102     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13103
13104     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13105     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13106
13107     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13108     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13109
13110     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13111     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13112
13113     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13114     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13115
13116     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13117     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13118
13119     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13120     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13121
13122     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13123     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13124
13125     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13126     void oncellchange([in] IHTMLEventObj* pEvtObj);
13127
13128     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13129     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13130
13131     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13132     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13133
13134     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13135     void onpage([in] IHTMLEventObj* pEvtObj);
13136
13137     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13138     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13139
13140     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13141     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13142
13143     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13144     void onactivate([in] IHTMLEventObj* pEvtObj);
13145
13146     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13147     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13148
13149     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13150     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13151
13152     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13153     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13154
13155     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13156     void onfocusin([in] IHTMLEventObj* pEvtObj);
13157
13158     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13159     void onfocusout([in] IHTMLEventObj* pEvtObj);
13160
13161     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13162     void onmove([in] IHTMLEventObj* pEvtObj);
13163
13164     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13165     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13166
13167     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13168     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13169
13170     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13171     void onmoveend([in] IHTMLEventObj* pEvtObj);
13172
13173     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13174     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13175
13176     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13177     void onresizeend([in] IHTMLEventObj* pEvtObj);
13178
13179     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13180     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13181
13182     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
13183     void onchange([in] IHTMLEventObj* pEvtObj);
13184
13185     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
13186     void onselect([in] IHTMLEventObj* pEvtObj);
13187 }
13188
13189 /*****************************************************************************
13190  *    IHTMLDocument interface
13191  */
13192 [
13193     odl,
13194     oleautomation,
13195     dual,
13196     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
13197 ]
13198 interface IHTMLDocument : IDispatch
13199 {
13200     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
13201     HRESULT Script([retval, out] IDispatch **p);
13202 }
13203
13204 /*****************************************************************************
13205  *    IHTMLDocument2 interface
13206  */
13207 [
13208     odl,
13209     oleautomation,
13210     dual,
13211     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
13212 ]
13213 interface IHTMLDocument2 : IHTMLDocument
13214 {
13215     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13216     HRESULT all([retval, out] IHTMLElementCollection **p);
13217
13218     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13219     HRESULT body([retval, out] IHTMLElement **p);
13220
13221     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13222     HRESULT activeElement([retval, out] IHTMLElement **p);
13223
13224     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13225     HRESULT images([retval, out] IHTMLElementCollection **p);
13226
13227     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13228     HRESULT applets([retval, out] IHTMLElementCollection **p);
13229
13230     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13231     HRESULT links([retval, out] IHTMLElementCollection **p);
13232
13233     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13234     HRESULT forms([retval, out] IHTMLElementCollection **p);
13235
13236     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13237     HRESULT anchors([retval, out] IHTMLElementCollection **p);
13238
13239     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13240     HRESULT title([in] BSTR v);
13241
13242     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13243     HRESULT title([retval, out] BSTR *p);
13244
13245     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13246     HRESULT scripts([retval, out] IHTMLElementCollection **p);
13247
13248     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13249     HRESULT designMode([in] BSTR v);
13250
13251     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13252     HRESULT designMode([retval, out] BSTR *p);
13253
13254     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13255     HRESULT selection([retval, out] IHTMLSelectionObject **p);
13256
13257     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
13258      HRESULT readyState([retval, out] BSTR *p);
13259
13260     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13261     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13262
13263     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13264     HRESULT embeds([retval, out] IHTMLElementCollection **p);
13265
13266     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13267     HRESULT plugins([retval, out] IHTMLElementCollection **p);
13268
13269     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13270     HRESULT alinkColor([in] VARIANT v);
13271
13272     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13273     HRESULT alinkColor([retval, out] VARIANT *p);
13274
13275     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13276     HRESULT bgColor([in] VARIANT v);
13277
13278     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13279     HRESULT bgColor([retval, out] VARIANT *p);
13280
13281     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13282     HRESULT fgColor([in] VARIANT v);
13283
13284     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13285     HRESULT fgColor([retval, out] VARIANT *p);
13286
13287     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13288     HRESULT linkColor([in] VARIANT v);
13289
13290     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13291     HRESULT linkColor([retval, out] VARIANT *p);
13292
13293     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13294     HRESULT vlinkColor([in] VARIANT v);
13295
13296     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13297     HRESULT vlinkColor([retval, out] VARIANT *p);
13298
13299     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13300     HRESULT referrer([retval, out] BSTR *p);
13301
13302     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13303     HRESULT location([retval, out] IHTMLLocation **p);
13304
13305     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13306     HRESULT lastModified([retval, out] BSTR *p);
13307
13308     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13309     HRESULT URL([in] BSTR v);
13310
13311     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13312     HRESULT URL([retval, out] BSTR *p);
13313
13314     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13315     HRESULT domain([in] BSTR v);
13316
13317     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13318     HRESULT domain([retval, out] BSTR *p);
13319
13320     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13321     HRESULT cookie([in] BSTR v);
13322
13323     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13324     HRESULT cookie([retval, out] BSTR *p);
13325
13326     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13327     HRESULT expando([in] VARIANT_BOOL v);
13328
13329     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13330     HRESULT expando([retval, out] VARIANT_BOOL *p);
13331
13332     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13333      HRESULT charset([in] BSTR v);
13334
13335     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13336     HRESULT charset([retval, out] BSTR *p);
13337
13338     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13339     HRESULT defaultCharset([in] BSTR v);
13340
13341     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13342     HRESULT defaultCharset([retval, out] BSTR *p);
13343
13344     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13345     HRESULT mimeType([retval, out] BSTR *p);
13346
13347     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13348     HRESULT fileSize([retval, out] BSTR *p);
13349
13350     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13351     HRESULT fileCreatedDate([retval, out] BSTR *p);
13352
13353     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13354     HRESULT fileModifiedDate([retval, out] BSTR *p);
13355
13356     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13357     HRESULT fileUpdatedDate([retval, out] BSTR *p);
13358
13359     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13360     HRESULT security([retval, out] BSTR *p);
13361
13362     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13363     HRESULT protocol([retval, out] BSTR *p);
13364
13365     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13366      HRESULT nameProp([retval, out] BSTR *p);
13367
13368     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13369     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
13370
13371     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13372     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
13373
13374     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13375     HRESULT open(
13376         [defaultvalue("text/html"), in] BSTR url,
13377         [optional, in] VARIANT name,
13378         [optional, in] VARIANT features,
13379         [optional, in] VARIANT replace,
13380         [retval, out]  IDispatch **pomWindowResult);
13381
13382     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13383     HRESULT close();
13384
13385     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13386     HRESULT clear();
13387
13388     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13389     HRESULT queryCommandSupported(
13390         [in] BSTR cmdID,
13391         [retval, out] VARIANT_BOOL *pfRet);
13392
13393     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13394     HRESULT queryCommandEnabled(
13395         [in] BSTR cmdID,
13396         [retval, out] VARIANT_BOOL *pfRet);
13397
13398     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13399     HRESULT queryCommandState(
13400         [in] BSTR cmdID,
13401         [retval, out] VARIANT_BOOL *pfRet);
13402
13403     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13404     HRESULT queryCommandIndeterm(
13405         [in] BSTR cmdID,
13406         [retval, out] VARIANT_BOOL *pfRet);
13407
13408     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13409     HRESULT queryCommandText(
13410         [in] BSTR cmdID,
13411         [retval, out] BSTR *pcmdText);
13412
13413     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13414     HRESULT queryCommandValue(
13415         [in] BSTR cmdID,
13416         [retval, out] VARIANT *pcmdValue);
13417
13418     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13419     HRESULT execCommand(
13420         [in] BSTR cmdID,
13421         [defaultvalue(0), in] VARIANT_BOOL showUI,
13422         [optional, in] VARIANT value,
13423         [retval, out] VARIANT_BOOL *pfRet);
13424
13425     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13426     HRESULT execCommandShowHelp(
13427         [in] BSTR cmdID,
13428         [retval, out] VARIANT_BOOL *pfRet);
13429
13430     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13431      HRESULT createElement(
13432         [in] BSTR eTag,
13433         [retval, out] IHTMLElement **newElem);
13434
13435     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13436     HRESULT onhelp([in] VARIANT v);
13437
13438     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13439     HRESULT onhelp([retval, out] VARIANT *p);
13440
13441     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13442     HRESULT onclick([in] VARIANT v);
13443
13444     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13445     HRESULT onclick([retval, out] VARIANT *p);
13446
13447     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13448     HRESULT ondblclick([in] VARIANT v);
13449
13450     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13451     HRESULT ondblclick([retval, out] VARIANT *p);
13452
13453     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13454     HRESULT onkeyup([in] VARIANT v);
13455
13456     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13457     HRESULT onkeyup([retval, out] VARIANT *p);
13458
13459     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13460     HRESULT onkeydown([in] VARIANT v);
13461
13462     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13463     HRESULT onkeydown([retval, out] VARIANT *p);
13464
13465     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13466      HRESULT onkeypress([in] VARIANT v);
13467
13468     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13469     HRESULT onkeypress([retval, out] VARIANT *p);
13470
13471     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13472     HRESULT onmouseup([in] VARIANT v);
13473
13474     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13475     HRESULT onmouseup([retval, out] VARIANT *p);
13476
13477     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13478     HRESULT onmousedown([in] VARIANT v);
13479
13480     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13481     HRESULT onmousedown([retval, out] VARIANT *p);
13482
13483     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13484     HRESULT onmousemove([in] VARIANT v);
13485
13486     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13487     HRESULT onmousemove([retval, out] VARIANT *p);
13488
13489     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13490     HRESULT onmouseout([in] VARIANT v);
13491
13492     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13493     HRESULT onmouseout([retval, out] VARIANT *p);
13494
13495     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13496     HRESULT onmouseover([in] VARIANT v);
13497
13498     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13499     HRESULT onmouseover([retval, out] VARIANT *p);
13500
13501     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13502     HRESULT onreadystatechange([in] VARIANT v);
13503
13504     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13505     HRESULT onreadystatechange([retval, out] VARIANT *p);
13506
13507     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13508     HRESULT onafterupdate([in] VARIANT v);
13509
13510     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13511     HRESULT onafterupdate([retval, out] VARIANT *p);
13512
13513     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13514     HRESULT onrowexit([in] VARIANT v);
13515
13516     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13517     HRESULT onrowexit([retval, out] VARIANT *p);
13518
13519     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13520     HRESULT onrowenter([in] VARIANT v);
13521
13522     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13523     HRESULT onrowenter([retval, out] VARIANT *p);
13524
13525     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13526     HRESULT ondragstart([in] VARIANT v);
13527
13528     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13529     HRESULT ondragstart([retval, out] VARIANT *p);
13530
13531     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13532     HRESULT onselectstart([in] VARIANT v);
13533
13534     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13535     HRESULT onselectstart([retval, out] VARIANT *p);
13536
13537     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13538     HRESULT elementFromPoint(
13539         [in] LONG x,
13540         [in] LONG y,
13541         [retval, out] IHTMLElement **elementHit);
13542
13543     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13544     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
13545
13546     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13547     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13548
13549     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13550     HRESULT onbeforeupdate([in] VARIANT v);
13551
13552     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13553     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13554
13555     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13556     HRESULT onerrorupdate([in] VARIANT v);
13557
13558     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13559     HRESULT onerrorupdate([retval, out] VARIANT *p);
13560
13561     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13562     HRESULT toString([retval, out] BSTR *String);
13563
13564     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13565     HRESULT createStyleSheet(
13566         [defaultvalue(""), in] BSTR bstrHref,
13567         [defaultvalue(-1), in] LONG lIndex,
13568         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13569 }
13570
13571 /*****************************************************************************
13572  *    IHTMLDocument3 interface
13573  */
13574 [
13575     odl,
13576     oleautomation,
13577     dual,
13578     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13579 ]
13580 interface IHTMLDocument3 : IDispatch
13581 {
13582     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13583     HRESULT releaseCapture();
13584
13585     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13586     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13587
13588     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13589     HRESULT createTextNode(
13590         [in] BSTR text,
13591         [retval, out] IHTMLDOMNode **newTextNode);
13592
13593     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13594     HRESULT documentElement([retval, out] IHTMLElement **p);
13595
13596     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13597     HRESULT uniqueID([retval, out] BSTR *p);
13598
13599     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13600     HRESULT attachEvent(
13601         [in] BSTR event,
13602         [in] IDispatch* pDisp,
13603         [retval, out] VARIANT_BOOL *pfResult);
13604
13605     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13606     HRESULT detachEvent(
13607         [in] BSTR event,
13608         [in] IDispatch *pDisp);
13609
13610     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13611     HRESULT onrowsdelete([in] VARIANT v);
13612
13613     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13614     HRESULT onrowsdelete([retval, out] VARIANT *p);
13615
13616     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13617     HRESULT onrowsinserted([in] VARIANT v);
13618
13619     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13620     HRESULT onrowsinserted([retval, out] VARIANT *p);
13621
13622     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13623     HRESULT oncellchange([in] VARIANT v);
13624
13625     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13626     HRESULT oncellchange([retval, out] VARIANT *p);
13627
13628     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13629     HRESULT ondatasetchanged([in] VARIANT v);
13630
13631     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13632     HRESULT ondatasetchanged([retval, out] VARIANT *p);
13633
13634     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13635     HRESULT ondataavailable([in] VARIANT v);
13636
13637     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13638     HRESULT ondataavailable([retval, out] VARIANT * p);
13639
13640     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13641     HRESULT ondatasetcomplete([in] VARIANT v);
13642
13643     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13644     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
13645
13646     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13647     HRESULT onpropertychange([in] VARIANT v);
13648
13649     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13650     HRESULT onpropertychange([retval, out] VARIANT *p);
13651
13652     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13653     HRESULT dir([in] BSTR v);
13654
13655     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13656     HRESULT dir([retval, out] BSTR *p);
13657
13658     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13659     HRESULT oncontextmenu([in] VARIANT v);
13660
13661     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13662     HRESULT oncontextmenu([retval, out] VARIANT *p);
13663
13664     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13665     HRESULT onstop([in] VARIANT v);
13666
13667     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13668     HRESULT onstop([retval, out] VARIANT *p);
13669
13670     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13671     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
13672
13673     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13674     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
13675
13676     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13677     HRESULT enableDownload([in] VARIANT_BOOL v);
13678
13679     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13680     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13681
13682     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13683     HRESULT baseUrl([in] BSTR v);
13684
13685     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13686     HRESULT baseUrl([retval, out] BSTR *p);
13687
13688     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13689     HRESULT childNodes([retval, out] IDispatch **p);
13690
13691     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13692     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13693
13694     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13695     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13696
13697     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13698     HRESULT onbeforeeditfocus([in] VARIANT v);
13699
13700     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13701     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13702
13703     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13704     HRESULT getElementsByName(
13705         [in] BSTR v,
13706         [retval, out] IHTMLElementCollection **pelColl);
13707
13708     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13709     HRESULT getElementById(
13710         [in] BSTR v,
13711         [retval, out] IHTMLElement **pel);
13712
13713     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13714     HRESULT getElementsByTagName(
13715         [in] BSTR v,
13716         [retval, out] IHTMLElementCollection **pelColl);
13717 }
13718
13719 /*****************************************************************************
13720  *    IHTMLDocument4 interface
13721  */
13722 [
13723     odl,
13724     oleautomation,
13725     dual,
13726     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13727 ]
13728 interface IHTMLDocument4 : IDispatch
13729 {
13730     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13731     HRESULT focus();
13732
13733     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13734     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13735
13736     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13737     HRESULT onselectionchange([in] VARIANT v);
13738
13739     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13740     HRESULT onselectionchange([retval, out] VARIANT *p);
13741
13742     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13743     HRESULT namespaces([retval, out] IDispatch **p);
13744
13745     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13746     HRESULT createDocumentFromUrl(
13747         [in] BSTR bstrUrl,
13748         [in] BSTR bstrOptions,
13749         [retval, out] IHTMLDocument2 **newDoc);
13750
13751     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13752     HRESULT media([in] BSTR v);
13753
13754     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13755     HRESULT media([retval, out] BSTR *p);
13756
13757     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13758     HRESULT createEventObject(
13759         [optional, in] VARIANT *pvarEventObject,
13760         [retval, out] IHTMLEventObj **ppEventObj);
13761
13762     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13763     HRESULT fireEvent(
13764         [in] BSTR bstrEventName,
13765         [optional, in] VARIANT *pvarEventObject,
13766         [retval, out] VARIANT_BOOL *pfCancelled);
13767
13768     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13769     HRESULT createRenderStyle(
13770         [in] BSTR v,
13771         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13772
13773     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13774     HRESULT oncontrolselect([in] VARIANT v);
13775
13776     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13777     HRESULT oncontrolselect([retval, out] VARIANT *p);
13778
13779     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13780     HRESULT URLUnencoded([retval, out] BSTR *p);
13781 }
13782
13783 /*****************************************************************************
13784  *    IHTMLDocument5 interface
13785  */
13786 [
13787     odl,
13788     oleautomation,
13789     dual,
13790     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13791 ]
13792 interface IHTMLDocument5 : IDispatch
13793 {
13794     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13795     HRESULT onmousewheel([in] VARIANT v);
13796
13797     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13798     HRESULT onmousewheel([retval, out] VARIANT *p);
13799
13800     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13801     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13802
13803     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13804     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13805
13806     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13807     HRESULT createAttribute(
13808         [in] BSTR bstrattrName,
13809         [retval, out] IHTMLDOMAttribute **ppattribute);
13810
13811     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13812     HRESULT createComment(
13813         [in] BSTR bstrdata,
13814         [retval, out] IHTMLDOMNode **ppRetNode);
13815
13816     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13817     HRESULT onfocusin([in] VARIANT v);
13818
13819     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13820     HRESULT onfocusin([retval, out] VARIANT *p);
13821
13822     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13823     HRESULT onfocusout([in] VARIANT v);
13824
13825     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13826     HRESULT onfocusout([retval, out] VARIANT *p);
13827
13828     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13829     HRESULT onactivate([in] VARIANT v);
13830
13831     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13832     HRESULT onactivate([retval, out] VARIANT *p);
13833
13834     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13835     HRESULT ondeactivate([in] VARIANT v);
13836
13837     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13838     HRESULT ondeactivate([retval, out] VARIANT *p);
13839
13840     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13841     HRESULT onbeforeactivate([in] VARIANT v);
13842
13843     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13844     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13845
13846     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13847     HRESULT onbeforedeactivate([in] VARIANT v);
13848
13849     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13850     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13851
13852     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13853     HRESULT compatMode([retval, out] BSTR *p);
13854 }
13855
13856 /*****************************************************************************
13857  *    IHTMLDocument6 interface
13858  */
13859 [
13860     odl,
13861     oleautomation,
13862     dual,
13863     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13864 ]
13865 interface IHTMLDocument6 : IDispatch
13866 {
13867     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13868     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13869
13870     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13871     HRESULT documentMode([retval, out] VARIANT *p);
13872
13873     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13874     HRESULT onstorage([in] VARIANT v);
13875
13876     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13877     HRESULT onstorage([out] VARIANT *p);
13878
13879     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13880     HRESULT onstoragecommit([in] VARIANT v);
13881
13882     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13883     HRESULT onstoragecommit([out] VARIANT *p);
13884
13885     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13886     HRESULT getElementById(
13887         [in] BSTR bstrId,
13888         [retval, out] IHTMLElement2 **p);
13889
13890     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13891     HRESULT updateSettings();
13892 }
13893
13894 /*****************************************************************************
13895  *    DispHTMLDocument dispinterface
13896  */
13897 [
13898     hidden,
13899     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13900 ]
13901 dispinterface DispHTMLDocument
13902 {
13903 properties:
13904 methods:
13905     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13906     IDispatch *Script();
13907
13908     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13909     IHTMLElementCollection *all();
13910
13911     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13912     IHTMLElement *body();
13913
13914     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13915     IHTMLElement *activeElement();
13916
13917     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13918     IHTMLElementCollection *images();
13919
13920     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13921     IHTMLElementCollection *applets();
13922
13923     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13924     IHTMLElementCollection *links();
13925
13926     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13927     IHTMLElementCollection *forms();
13928
13929     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13930     IHTMLElementCollection *anchors();
13931
13932     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13933     void title(BSTR v);
13934
13935     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13936     BSTR title();
13937
13938     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13939     IHTMLElementCollection *scripts();
13940
13941     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13942     void designMode(BSTR v);
13943
13944     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13945     BSTR designMode();
13946
13947     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13948     IHTMLSelectionObject *selection();
13949
13950     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13951     BSTR readyState();
13952
13953     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13954     IHTMLFramesCollection2 *frames();
13955
13956     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13957     IHTMLElementCollection *embeds();
13958
13959     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13960     IHTMLElementCollection *plugins();
13961
13962     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13963     void alinkColor(VARIANT v);
13964
13965     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13966     VARIANT alinkColor();
13967
13968     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13969     void bgColor(VARIANT v);
13970
13971     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13972     VARIANT bgColor();
13973
13974     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13975     void fgColor(VARIANT v);
13976
13977     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13978     VARIANT fgColor();
13979
13980     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13981     void linkColor(VARIANT v);
13982
13983     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13984     VARIANT linkColor();
13985
13986     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13987     void vlinkColor(VARIANT v);
13988
13989     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13990     VARIANT vlinkColor();
13991
13992     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13993     BSTR referrer();
13994
13995     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13996     IHTMLLocation *location();
13997
13998     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13999     BSTR lastModified();
14000
14001     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14002     void URL(BSTR v);
14003
14004     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14005     BSTR URL();
14006
14007     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14008     void domain(BSTR v);
14009
14010     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14011     BSTR domain();
14012
14013     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14014     void cookie(BSTR v);
14015
14016     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14017     BSTR cookie();
14018
14019     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14020     void expando(VARIANT_BOOL v);
14021
14022     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14023     VARIANT_BOOL expando();
14024
14025     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14026     void charset(BSTR v);
14027
14028     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14029     BSTR charset();
14030
14031     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14032     void defaultCharset(BSTR v);
14033
14034     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14035     BSTR defaultCharset();
14036
14037     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14038     BSTR mimeType();
14039
14040     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14041     BSTR fileSize();
14042
14043     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14044     BSTR fileCreatedDate();
14045
14046     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14047     BSTR fileModifiedDate();
14048
14049     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14050     BSTR fileUpdatedDate();
14051
14052     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14053     BSTR security();
14054
14055     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14056     BSTR protocol();
14057
14058     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14059     BSTR nameProp();
14060
14061     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14062     void write([in] SAFEARRAY(VARIANT) psarray);
14063
14064     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14065     void writeln([in] SAFEARRAY(VARIANT) psarray);
14066
14067     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14068     IDispatch *open(
14069         [defaultvalue("text/html"), in] BSTR url,
14070         [optional, in] VARIANT name,
14071         [optional, in] VARIANT features,
14072         [optional, in] VARIANT replace);
14073
14074     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14075     void close();
14076
14077     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14078     void clear();
14079
14080     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14081     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
14082
14083     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14084     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
14085
14086     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14087     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
14088
14089     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14090     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
14091
14092     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14093     BSTR queryCommandText([in] BSTR cmdID);
14094
14095     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14096     VARIANT queryCommandValue([in] BSTR cmdID);
14097
14098     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14099     VARIANT_BOOL execCommand(
14100         [in] BSTR cmdID,
14101         [defaultvalue(0), in] VARIANT_BOOL showUI,
14102         [optional, in] VARIANT value);
14103
14104     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14105     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
14106
14107     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14108     IHTMLElement *createElement([in] BSTR eTag);
14109
14110     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14111     void onhelp(VARIANT v);
14112
14113     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14114     VARIANT onhelp();
14115
14116     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14117     void onclick(VARIANT v);
14118
14119     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14120     VARIANT onclick();
14121
14122     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14123     void ondblclick(VARIANT v);
14124
14125     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14126     VARIANT ondblclick();
14127
14128     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14129     void onkeyup(VARIANT v);
14130
14131     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14132     VARIANT onkeyup();
14133
14134     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14135     void onkeydown(VARIANT v);
14136
14137     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14138     VARIANT onkeydown();
14139
14140     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14141     void onkeypress(VARIANT v);
14142
14143     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14144     VARIANT onkeypress();
14145
14146     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14147     void onmouseup(VARIANT v);
14148
14149     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14150     VARIANT onmouseup();
14151
14152     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14153     void onmousedown(VARIANT v);
14154
14155     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14156     VARIANT onmousedown();
14157
14158     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14159     void onmousemove(VARIANT v);
14160
14161     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14162     VARIANT onmousemove();
14163
14164     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14165     void onmouseout(VARIANT v);
14166
14167     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14168     VARIANT onmouseout();
14169
14170     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14171     void onmouseover(VARIANT v);
14172
14173     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14174     VARIANT onmouseover();
14175
14176     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14177     void onreadystatechange(VARIANT v);
14178
14179     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14180     VARIANT onreadystatechange();
14181
14182     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14183     void onafterupdate(VARIANT v);
14184
14185     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14186     VARIANT onafterupdate();
14187
14188     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14189     void onrowexit(VARIANT v);
14190
14191     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14192     VARIANT onrowexit();
14193
14194     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14195     void onrowenter(VARIANT v);
14196
14197     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14198     VARIANT onrowenter();
14199
14200     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14201     void ondragstart(VARIANT v);
14202
14203     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14204     VARIANT ondragstart();
14205
14206     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14207     void onselectstart(VARIANT v);
14208
14209     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14210     VARIANT onselectstart();
14211
14212     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14213     IHTMLElement *elementFromPoint(
14214         [in] LONG x,
14215         [in] LONG y);
14216
14217     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14218     IHTMLWindow2 *parentWindow();
14219
14220     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14221     IHTMLStyleSheetsCollection *styleSheets();
14222
14223     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14224     void onbeforeupdate(VARIANT v);
14225
14226     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14227     VARIANT onbeforeupdate();
14228
14229     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14230     void onerrorupdate(VARIANT v);
14231
14232     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14233     VARIANT onerrorupdate();
14234
14235     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14236     BSTR toString();
14237
14238     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14239     IHTMLStyleSheet *createStyleSheet(
14240         [defaultvalue(""), in] BSTR bstrHref,
14241         [defaultvalue(-1), in] LONG lIndex);
14242
14243     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14244     void releaseCapture();
14245
14246     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14247     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14248
14249     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14250     IHTMLDOMNode *createTextNode([in] BSTR text);
14251
14252     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14253     IHTMLElement *documentElement();
14254
14255     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14256     BSTR uniqueID();
14257
14258     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14259     VARIANT_BOOL attachEvent(
14260         [in] BSTR event,
14261         [in] IDispatch *pDisp);
14262
14263     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14264     void detachEvent(
14265         [in] BSTR event,
14266         [in] IDispatch *pDisp);
14267
14268     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14269     void onrowsdelete(VARIANT v);
14270
14271     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14272     VARIANT onrowsdelete();
14273
14274     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14275     void onrowsinserted(VARIANT v);
14276
14277     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14278     VARIANT onrowsinserted();
14279
14280     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14281     void oncellchange(VARIANT v);
14282
14283     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14284     VARIANT oncellchange();
14285
14286     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14287     void ondatasetchanged(VARIANT v);
14288
14289     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14290     VARIANT ondatasetchanged();
14291
14292     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14293     void ondataavailable(VARIANT v);
14294
14295     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14296     VARIANT ondataavailable();
14297
14298     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14299     void ondatasetcomplete(VARIANT v);
14300
14301     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14302     VARIANT ondatasetcomplete();
14303
14304     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14305     void onpropertychange(VARIANT v);
14306
14307     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14308     VARIANT onpropertychange();
14309
14310     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14311     void dir(BSTR v);
14312
14313     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14314     BSTR dir();
14315
14316     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14317     void oncontextmenu(VARIANT v);
14318
14319     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14320     VARIANT oncontextmenu();
14321
14322     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14323     void onstop(VARIANT v);
14324
14325     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14326     VARIANT onstop();
14327
14328     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14329     IHTMLDocument2 *createDocumentFragment();
14330
14331     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14332     IHTMLDocument2 *parentDocument();
14333
14334     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14335     void enableDownload(VARIANT_BOOL v);
14336
14337     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14338     VARIANT_BOOL enableDownload();
14339
14340     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14341     void baseUrl(BSTR v);
14342
14343     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14344     BSTR baseUrl();
14345
14346     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14347     void inheritStyleSheets(VARIANT_BOOL v);
14348
14349     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14350     VARIANT_BOOL inheritStyleSheets();
14351
14352     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14353     void onbeforeeditfocus(VARIANT v);
14354
14355     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14356     VARIANT onbeforeeditfocus();
14357
14358     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14359     IHTMLElementCollection *getElementsByName([in] BSTR v);
14360
14361     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14362     IHTMLElement *getElementById([in] BSTR v);
14363
14364     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14365     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
14366
14367     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14368     void focus();
14369
14370     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14371     VARIANT_BOOL hasFocus();
14372
14373     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14374     void onselectionchange(VARIANT v);
14375
14376     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14377     VARIANT onselectionchange();
14378
14379     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14380     IDispatch *namespaces();
14381
14382     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14383     IHTMLDocument2 *createDocumentFromUrl(
14384         [in] BSTR bstrUrl,
14385         [in] BSTR bstrOptions);
14386
14387     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14388     void media(BSTR v);
14389
14390     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14391     BSTR media();
14392
14393     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14394     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
14395
14396     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14397     VARIANT_BOOL fireEvent(
14398         [in] BSTR bstrEventName,
14399         [optional, in] VARIANT *pvarEventObject);
14400
14401     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14402     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
14403
14404     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14405     void oncontrolselect(VARIANT v);
14406
14407     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14408     VARIANT oncontrolselect();
14409
14410     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14411     BSTR URLUnencoded();
14412
14413     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14414     void onmousewheel(VARIANT v);
14415
14416     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14417     VARIANT onmousewheel();
14418
14419     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14420     IHTMLDOMNode *doctype();
14421
14422     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14423     IHTMLDOMImplementation *implementation();
14424
14425     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14426     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
14427
14428     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14429     IHTMLDOMNode *createComment([in] BSTR bstrdata);
14430
14431     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14432     void onfocusin(VARIANT v);
14433
14434     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14435     VARIANT onfocusin();
14436
14437     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14438     void onfocusout(VARIANT v);
14439
14440     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14441     VARIANT onfocusout();
14442
14443     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14444     void onactivate(VARIANT v);
14445
14446     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14447     VARIANT onactivate();
14448
14449     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14450     void ondeactivate(VARIANT v);
14451
14452     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14453     VARIANT ondeactivate();
14454
14455     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14456     void onbeforeactivate(VARIANT v);
14457
14458     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14459     VARIANT onbeforeactivate();
14460
14461     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14462     void onbeforedeactivate(VARIANT v);
14463
14464     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14465     VARIANT onbeforedeactivate();
14466
14467     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14468     BSTR compatMode();
14469
14470     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
14471     IHTMLDocumentCompatibleInfoCollection *compatible();
14472
14473     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
14474     VARIANT documentMode();
14475
14476     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14477     void onstorage(VARIANT v);
14478
14479     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14480     VARIANT onstorage();
14481
14482     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14483     void onstoragecommit(VARIANT v);
14484
14485     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14486     VARIANT onstoragecommit();
14487
14488     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
14489     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
14490
14491     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
14492     void updateSettings();
14493
14494     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
14495 }
14496
14497 /*****************************************************************************
14498  *    HTMLDocument coclass
14499  */
14500 [
14501     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
14502 ]
14503 coclass HTMLDocument
14504 {
14505     [default]         dispinterface DispHTMLDocument;
14506     [source, default] dispinterface HTMLDocumentEvents;
14507     [source]          dispinterface HTMLDocumentEvents2;
14508                       interface IHTMLDocument2;
14509                       interface IHTMLDocument3;
14510                       interface IHTMLDocument4;
14511                       interface IHTMLDocument5;
14512                       interface IHTMLDocument6;
14513                       interface IHTMLDOMNode;
14514                       interface IHTMLDOMNode2;
14515 }
14516
14517 /*****************************************************************************
14518  *    DWebBridgeEvents dispinterface
14519  */
14520 [
14521     hidden,
14522     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
14523 ]
14524 dispinterface DWebBridgeEvents
14525 {
14526 properties:
14527 methods:
14528     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
14529     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
14530
14531     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
14532     void onreadystatechange();
14533
14534     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
14535     VARIANT_BOOL onclick();
14536
14537     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
14538     VARIANT_BOOL ondblclick();
14539
14540     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
14541     void onkeydown();
14542
14543     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
14544     void onkeyup();
14545
14546     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
14547     VARIANT_BOOL onkeypress();
14548
14549     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
14550     void onmousedown();
14551
14552     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
14553     void onmousemove();
14554
14555     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
14556     void onmouseup();
14557 }
14558
14559 /*****************************************************************************
14560  *    IWebBridge interface
14561  */
14562 [
14563     odl,
14564     oleautomation,
14565     dual,
14566     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
14567 ]
14568 interface IWebBridge : IDispatch
14569 {
14570     [propput, id(DISPID_IWEBBRIDGE_URL)]
14571     HRESULT URL([in] BSTR v);
14572
14573     [propget, id(DISPID_IWEBBRIDGE_URL)]
14574     HRESULT URL([retval, out] BSTR * p);
14575
14576     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14577     HRESULT Scrollbar([in] VARIANT_BOOL v);
14578
14579     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14580     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
14581
14582     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
14583     HRESULT embed([in] VARIANT_BOOL v);
14584
14585     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
14586     HRESULT embed([retval, out] VARIANT_BOOL * p);
14587
14588     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
14589     HRESULT event([retval, out] IDispatch* * p);
14590
14591     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
14592     HRESULT readyState([retval, out] long * p);
14593
14594     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
14595     HRESULT AboutBox();
14596 }
14597
14598 /*****************************************************************************
14599  *    Scriptlet coclass
14600  */
14601 [
14602     control,
14603     helpstring("Microsoft Scriptlet Component"),
14604     progid("ScriptBridge.ScriptBridge.1"),
14605     vi_progid("ScriptBridge.ScriptBridge"),
14606     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
14607 ]
14608 coclass Scriptlet
14609 {
14610     [default]           interface IWebBridge;
14611     [source, default]   dispinterface DWebBridgeEvents;
14612 }
14613
14614 /*****************************************************************************
14615  *    IHTMLEmbedElement interface
14616  */
14617 [
14618     odl,
14619     oleautomation,
14620     dual,
14621     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
14622 ]
14623 interface IHTMLEmbedElement : IDispatch
14624 {
14625     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14626     HRESULT hidden([in] BSTR v);
14627
14628     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14629     HRESULT hidden([retval, out] BSTR *p);
14630
14631     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14632     HRESULT palette([retval, out] BSTR *p);
14633
14634     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14635     HRESULT pluginspage([retval, out] BSTR *p);
14636
14637     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14638     HRESULT src([in] BSTR v);
14639
14640     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14641     HRESULT src([retval, out] BSTR *p);
14642
14643     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14644     HRESULT units([in] BSTR v);
14645
14646     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14647     HRESULT units([retval, out] BSTR *p);
14648
14649     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14650     HRESULT name([in] BSTR v);
14651
14652     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14653     HRESULT name([retval, out] BSTR *p);
14654
14655     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14656     HRESULT width([in] VARIANT v);
14657
14658     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14659     HRESULT width([retval, out] VARIANT *p);
14660
14661     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14662     HRESULT height([in] VARIANT v);
14663
14664     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14665     HRESULT height([retval, out] VARIANT *p);
14666 }
14667
14668 /*****************************************************************************
14669  *    DispHTMLEmbedElement dispinterface
14670  */
14671 [
14672     hidden,
14673     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
14674 ]
14675 dispinterface DispHTMLEmbed
14676 {
14677 properties:
14678 methods:
14679     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14680
14681     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14682     void hidden(BSTR v);
14683
14684     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14685     BSTR hidden();
14686
14687     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14688     BSTR palette();
14689
14690     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14691     BSTR pluginspage();
14692
14693     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14694     void src(BSTR v);
14695
14696     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14697     BSTR src();
14698
14699     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14700     void units(BSTR v);
14701
14702     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14703     BSTR units();
14704
14705     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14706     void name(BSTR v);
14707
14708     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14709     BSTR name();
14710
14711     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14712     void width(VARIANT v);
14713
14714     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14715     VARIANT width();
14716
14717     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14718     void height(VARIANT v);
14719
14720     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14721     VARIANT height();
14722
14723     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14724     void ie8_src(BSTR v);
14725
14726     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14727     BSTR ie8_src();
14728
14729     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14730     BSTR ie8_pluginspage();
14731 }
14732
14733 /*****************************************************************************
14734  *    IHTMLCommentElement interface
14735  */
14736 [
14737     odl,
14738     oleautomation,
14739     dual,
14740     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14741 ]
14742 interface IHTMLCommentElement : IDispatch
14743 {
14744     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14745     HRESULT text([in] BSTR v);
14746
14747     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14748     HRESULT text([out, retval] BSTR *p);
14749
14750     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14751     HRESULT atomic([in] LONG v);
14752
14753     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14754     HRESULT atomic([out, retval] LONG *p);
14755 }
14756
14757 /*****************************************************************************
14758  *    IHTMLCommentElement2 interface
14759  */
14760 [
14761     odl,
14762     oleautomation,
14763     dual,
14764     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14765 ]
14766 interface IHTMLCommentElement2 : IDispatch
14767 {
14768     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14769     HRESULT data([in] BSTR v);
14770
14771     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14772     HRESULT data([out, retval] BSTR *p);
14773
14774     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14775     HRESULT length([out, retval] LONG *p);
14776
14777     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14778     HRESULT substringData(
14779             [in] LONG offset,
14780             [in] LONG Count,
14781             [out, retval] BSTR *pbstrsubString);
14782
14783     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14784     HRESULT appendData([in] BSTR bstrstring);
14785
14786     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14787     HRESULT insertData(
14788             [in] LONG offset,
14789             [in] BSTR bstrstring);
14790
14791     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14792     HRESULT deleteData(
14793             [in] LONG offset,
14794             [in] LONG Count);
14795
14796     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14797     HRESULT replaceData(
14798             [in] LONG offset,
14799             [in] LONG Count,
14800             [in] BSTR bstrstring);
14801 }
14802
14803 /*****************************************************************************
14804  *    DispHTMLCommentElement dispinterface
14805  */
14806 [
14807     hidden,
14808     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14809 ]
14810 dispinterface DispHTMLCommentElement
14811 {
14812 properties:
14813 methods:
14814     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14815
14816     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14817     void text(BSTR v);
14818
14819     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14820     BSTR text();
14821
14822     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14823     void atomic(LONG v);
14824
14825     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14826     LONG atomic();
14827
14828     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14829     void data(BSTR v);
14830
14831     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14832     BSTR data();
14833
14834     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14835     LONG length();
14836
14837     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14838     BSTR substringData(
14839             [in] LONG offset,
14840             [in] LONG Count);
14841
14842     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14843     void appendData([in] BSTR bstrstring);
14844
14845     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14846      void insertData(
14847             [in] LONG offset,
14848             [in] BSTR bstrstring);
14849
14850     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14851     void deleteData(
14852             [in] LONG offset,
14853             [in] LONG Count);
14854
14855     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14856     void replaceData(
14857             [in] LONG offset,
14858             [in] LONG Count,
14859             [in] BSTR bstrstring);
14860 }
14861
14862 [
14863     hidden,
14864     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14865 ]
14866 dispinterface HTMLElementEvents2
14867 {
14868 properties:
14869 methods:
14870     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14871     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14872
14873     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14874     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14875
14876     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14877     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14878
14879     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14880     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14881
14882     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14883     void onkeydown([in] IHTMLEventObj* pEvtObj);
14884
14885     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14886     void onkeyup([in] IHTMLEventObj* pEvtObj);
14887
14888     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14889     void onmouseout([in] IHTMLEventObj* pEvtObj);
14890
14891     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14892     void onmouseover([in] IHTMLEventObj* pEvtObj);
14893
14894     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14895     void onmousemove([in] IHTMLEventObj* pEvtObj);
14896
14897     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14898     void onmousedown([in] IHTMLEventObj* pEvtObj);
14899
14900     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14901     void onmouseup([in] IHTMLEventObj* pEvtObj);
14902
14903     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14904     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14905
14906     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14907     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14908
14909     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14910     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14911
14912     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14913     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14914
14915     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14916     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14917
14918     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14919     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14920
14921     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14922     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14923
14924     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14925     void onrowenter([in] IHTMLEventObj* pEvtObj);
14926
14927     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14928     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14929
14930     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14931     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14932
14933     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14934     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14935
14936     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14937     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14938
14939     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14940     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14941
14942     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14943     void onscroll([in] IHTMLEventObj* pEvtObj);
14944
14945     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14946     void onfocus([in] IHTMLEventObj* pEvtObj);
14947
14948     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14949     void onblur([in] IHTMLEventObj* pEvtObj);
14950
14951     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14952     void onresize([in] IHTMLEventObj* pEvtObj);
14953
14954     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14955     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14956
14957     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14958     void ondragend([in] IHTMLEventObj* pEvtObj);
14959
14960     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14961     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14962
14963     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14964     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14965
14966     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14967     void ondragleave([in] IHTMLEventObj* pEvtObj);
14968
14969     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14970     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14971
14972     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14973     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14974
14975     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14976     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14977
14978     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14979     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14980
14981     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14982     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14983
14984     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14985     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14986
14987     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14988     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14989
14990     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14991     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14992
14993     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14994     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14995
14996     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14997     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14998
14999     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15000     void oncellchange([in] IHTMLEventObj* pEvtObj);
15001
15002     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15003     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15004
15005     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15006     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15007
15008     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15009     void onpage([in] IHTMLEventObj* pEvtObj);
15010
15011     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15012     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15013
15014     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15015     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15016
15017     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15018     void onactivate([in] IHTMLEventObj* pEvtObj);
15019
15020     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15021     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15022
15023     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15024     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15025
15026     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15027     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15028
15029     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15030     void onfocusin([in] IHTMLEventObj* pEvtObj);
15031
15032     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15033     void onfocusout([in] IHTMLEventObj* pEvtObj);
15034
15035     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15036     void onmove([in] IHTMLEventObj* pEvtObj);
15037
15038     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15039     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15040
15041     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15042     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15043
15044     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15045     void onmoveend([in] IHTMLEventObj* pEvtObj);
15046
15047     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15048     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15049
15050     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15051     void onresizeend([in] IHTMLEventObj* pEvtObj);
15052
15053     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15054     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15055 }
15056
15057 [
15058     hidden,
15059     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
15060 ]
15061 dispinterface HTMLElementEvents
15062 {
15063 properties:
15064 methods:
15065     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15066     VARIANT_BOOL onhelp();
15067
15068     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15069     VARIANT_BOOL onclick();
15070
15071     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15072     VARIANT_BOOL ondblclick();
15073
15074     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15075     VARIANT_BOOL onkeypress();
15076
15077     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15078     void onkeydown();
15079
15080     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15081     void onkeyup();
15082
15083     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15084     void onmouseout();
15085
15086     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15087     void onmouseover();
15088
15089     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15090     void onmousemove();
15091
15092     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15093     void onmousedown();
15094
15095     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15096     void onmouseup();
15097
15098     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15099     VARIANT_BOOL onselectstart();
15100
15101     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15102     void onfilterchange();
15103
15104     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15105     VARIANT_BOOL ondragstart();
15106
15107     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15108     VARIANT_BOOL onbeforeupdate();
15109
15110     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15111     void onafterupdate();
15112
15113     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15114     VARIANT_BOOL onerrorupdate();
15115
15116     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15117     VARIANT_BOOL onrowexit();
15118
15119     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15120     void onrowenter();
15121
15122     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15123     void ondatasetchanged();
15124
15125     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15126     void ondataavailable();
15127
15128     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15129     void ondatasetcomplete();
15130
15131     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15132     void onlosecapture();
15133
15134     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15135     void onpropertychange();
15136
15137     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15138     void onscroll();
15139
15140     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15141     void onfocus();
15142
15143     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15144     void onblur();
15145
15146     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15147     void onresize();
15148
15149     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15150     VARIANT_BOOL ondrag();
15151
15152     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15153     void ondragend();
15154
15155     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15156     VARIANT_BOOL ondragenter();
15157
15158     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15159     VARIANT_BOOL ondragover();
15160
15161     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15162     void ondragleave();
15163
15164     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15165     VARIANT_BOOL ondrop();
15166
15167     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15168     VARIANT_BOOL onbeforecut();
15169
15170     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15171     VARIANT_BOOL oncut();
15172
15173     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15174     VARIANT_BOOL onbeforecopy();
15175
15176     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15177     VARIANT_BOOL oncopy();
15178
15179     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15180     VARIANT_BOOL onbeforepaste();
15181
15182     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15183     VARIANT_BOOL onpaste();
15184
15185     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15186     VARIANT_BOOL oncontextmenu();
15187
15188     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15189     void onrowsdelete();
15190
15191     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15192     void onrowsinserted();
15193
15194     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15195     void oncellchange();
15196
15197     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15198     void onreadystatechange();
15199
15200     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15201     void onbeforeeditfocus();
15202
15203     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15204     void onlayoutcomplete();
15205
15206     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15207     void onpage();
15208
15209     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15210     VARIANT_BOOL onbeforedeactivate();
15211
15212     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15213     VARIANT_BOOL onbeforeactivate();
15214
15215     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15216     void onmove();
15217
15218     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15219     VARIANT_BOOL oncontrolselect();
15220
15221     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15222     VARIANT_BOOL onmovestart();
15223
15224     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15225     void onmoveend();
15226
15227     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15228     VARIANT_BOOL onresizestart();
15229
15230     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15231     void onresizeend();
15232
15233     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15234     void onmouseenter();
15235
15236     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15237     void onmouseleave();
15238
15239     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15240     VARIANT_BOOL onmousewheel();
15241
15242     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15243     void onactivate();
15244
15245     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15246     void ondeactivate();
15247
15248     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15249     void onfocusin();
15250
15251     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15252     void onfocusout();
15253 }
15254
15255 [
15256     noncreatable,
15257     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
15258 ]
15259 coclass HTMLCommentElement
15260 {
15261     [default]           dispinterface DispHTMLCommentElement;
15262     [source, default]   dispinterface HTMLElementEvents;
15263     [source]            dispinterface HTMLElementEvents2;
15264                         interface IHTMLElement;
15265                         interface IHTMLElement2;
15266                         interface IHTMLElement3;
15267                         interface IHTMLElement4;
15268                         interface IHTMLUniqueName;
15269                         interface IHTMLDOMNode;
15270                         interface IHTMLDOMNode2;
15271                         interface IHTMLCommentElement;
15272                         interface IHTMLCommentElement2;
15273 }
15274
15275 /*****************************************************************************
15276  *    HTMLTableEvents dispinterface
15277  */
15278 [
15279     hidden,
15280     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
15281 ]
15282 dispinterface HTMLTableEvents
15283 {
15284 properties:
15285 methods:
15286     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15287     VARIANT_BOOL onhelp();
15288
15289     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15290     VARIANT_BOOL onclick();
15291
15292     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15293     VARIANT_BOOL ondblclick();
15294
15295     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15296     VARIANT_BOOL onkeypress();
15297
15298     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15299     void onkeydown();
15300
15301     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15302     void onkeyup();
15303
15304     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15305     void onmouseout();
15306
15307     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15308     void onmouseover();
15309
15310     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15311     void onmousemove();
15312
15313     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15314     void onmousedown();
15315
15316     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15317     void onmouseup();
15318
15319     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15320     VARIANT_BOOL onselectstart();
15321
15322     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15323     void onfilterchange();
15324
15325     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15326     VARIANT_BOOL ondragstart();
15327
15328     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15329     VARIANT_BOOL onbeforeupdate();
15330
15331     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15332     void onafterupdate();
15333
15334     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15335     VARIANT_BOOL onerrorupdate();
15336
15337     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15338     VARIANT_BOOL onrowexit();
15339
15340     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15341     void onrowenter();
15342
15343     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15344     void ondatasetchanged();
15345
15346     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15347     void ondataavailable();
15348
15349     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15350     void ondatasetcomplete();
15351
15352     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15353     void onlosecapture();
15354
15355     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15356     void onpropertychange();
15357
15358     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15359     void onscroll();
15360
15361     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15362     void onfocus();
15363
15364     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15365     void onblur();
15366
15367     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15368     void onresize();
15369
15370     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15371     VARIANT_BOOL ondrag();
15372
15373     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15374     void ondragend();
15375
15376     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15377     VARIANT_BOOL ondragenter();
15378
15379     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15380     VARIANT_BOOL ondragover();
15381
15382     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15383     void ondragleave();
15384
15385     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15386     VARIANT_BOOL ondrop();
15387
15388     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15389     VARIANT_BOOL onbeforecut();
15390
15391     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15392     VARIANT_BOOL oncut();
15393
15394     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15395     VARIANT_BOOL onbeforecopy();
15396
15397     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15398     VARIANT_BOOL oncopy();
15399
15400     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15401     VARIANT_BOOL onbeforepaste();
15402
15403     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15404     VARIANT_BOOL onpaste();
15405
15406     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15407     VARIANT_BOOL oncontextmenu();
15408
15409     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15410     void onrowsdelete();
15411
15412     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15413     void onrowsinserted();
15414
15415     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15416     void oncellchange();
15417
15418     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15419     void onreadystatechange();
15420
15421     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15422     void onbeforeeditfocus();
15423
15424     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15425     void onlayoutcomplete();
15426
15427     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15428     void onpage();
15429
15430     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15431     VARIANT_BOOL onbeforedeactivate();
15432
15433     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15434     VARIANT_BOOL onbeforeactivate();
15435
15436     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15437     void onmove();
15438
15439     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15440     VARIANT_BOOL oncontrolselect();
15441
15442     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15443     VARIANT_BOOL onmovestart();
15444
15445     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15446     void onmoveend();
15447
15448     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15449     VARIANT_BOOL onresizestart();
15450
15451     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15452     void onresizeend();
15453
15454     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15455     void onmouseenter();
15456
15457     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15458     void onmouseleave();
15459
15460     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15461     VARIANT_BOOL onmousewheel();
15462
15463     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15464     void onactivate();
15465
15466     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15467     void ondeactivate();
15468
15469     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15470     void onfocusin();
15471
15472     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15473     void onfocusout();
15474 }
15475
15476 [
15477     hidden,
15478     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
15479 ]
15480 dispinterface HTMLTableEvents2
15481 {
15482 properties:
15483 methods:
15484     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15485     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15486
15487     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15488     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15489
15490     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15491     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15492
15493     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15494     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15495
15496     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15497     void onkeydown([in] IHTMLEventObj* pEvtObj);
15498
15499     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15500     void onkeyup([in] IHTMLEventObj* pEvtObj);
15501
15502     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15503     void onmouseout([in] IHTMLEventObj* pEvtObj);
15504
15505     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15506     void onmouseover([in] IHTMLEventObj* pEvtObj);
15507
15508     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15509     void onmousemove([in] IHTMLEventObj* pEvtObj);
15510
15511     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15512     void onmousedown([in] IHTMLEventObj* pEvtObj);
15513
15514     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15515     void onmouseup([in] IHTMLEventObj* pEvtObj);
15516
15517     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15518     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15519
15520     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15521     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15522
15523     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15524     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15525
15526     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15527     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15528
15529     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15530     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15531
15532     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15533     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15534
15535     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15536     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15537
15538     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15539     void onrowenter([in] IHTMLEventObj* pEvtObj);
15540
15541     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15542     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15543
15544     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15545     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15546
15547     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15548     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15549
15550     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15551     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15552
15553     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15554     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15555
15556     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15557     void onscroll([in] IHTMLEventObj* pEvtObj);
15558
15559     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15560     void onfocus([in] IHTMLEventObj* pEvtObj);
15561
15562     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15563     void onblur([in] IHTMLEventObj* pEvtObj);
15564
15565     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15566     void onresize([in] IHTMLEventObj* pEvtObj);
15567
15568     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15569     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15570
15571     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15572     void ondragend([in] IHTMLEventObj* pEvtObj);
15573
15574     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15575     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15576
15577     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15578     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15579
15580     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15581     void ondragleave([in] IHTMLEventObj* pEvtObj);
15582
15583     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15584     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15585
15586     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15587     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15588
15589     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15590     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15591
15592     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15593     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15594
15595     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15596     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15597
15598     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15599     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15600
15601     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15602     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15603
15604     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15605     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15606
15607     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15608     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15609
15610     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15611     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15612
15613     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15614     void oncellchange([in] IHTMLEventObj* pEvtObj);
15615
15616     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15617     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15618
15619     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15620     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15621
15622     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15623     void onpage([in] IHTMLEventObj* pEvtObj);
15624
15625     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15626     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15627
15628     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15629     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15630
15631     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15632     void onactivate([in] IHTMLEventObj* pEvtObj);
15633
15634     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15635     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15636
15637     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15638     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15639
15640     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15641     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15642
15643     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15644     void onfocusin([in] IHTMLEventObj* pEvtObj);
15645
15646     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15647     void onfocusout([in] IHTMLEventObj* pEvtObj);
15648
15649     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15650     void onmove([in] IHTMLEventObj* pEvtObj);
15651
15652     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15653     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15654
15655     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15656     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15657
15658     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15659     void onmoveend([in] IHTMLEventObj* pEvtObj);
15660
15661     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15662     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15663
15664     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15665     void onresizeend([in] IHTMLEventObj* pEvtObj);
15666
15667     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15668     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15669 }
15670
15671 /*****************************************************************************
15672  *    IHTMLTableCaption interface
15673  */
15674 [
15675     odl,
15676     oleautomation,
15677     dual,
15678     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
15679 ]
15680 interface IHTMLTableCaption : IDispatch
15681 {
15682     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15683     HRESULT align([in] BSTR v);
15684
15685     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15686     HRESULT align([retval, out] BSTR *p);
15687
15688     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15689     HRESULT vAlign([in] BSTR v);
15690
15691     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15692     HRESULT vAlign([retval, out] BSTR *p);
15693 }
15694
15695 interface IHTMLTableSection;
15696
15697 /*****************************************************************************
15698  *    IHTMLTable interface
15699  */
15700 [
15701     odl,
15702     oleautomation,
15703     dual,
15704     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15705 ]
15706 interface IHTMLTable : IDispatch
15707 {
15708     [propput, id(DISPID_IHTMLTABLE_COLS)]
15709     HRESULT cols([in] LONG v);
15710
15711     [propget, id(DISPID_IHTMLTABLE_COLS)]
15712     HRESULT cols([retval, out] LONG *p);
15713
15714     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15715     HRESULT border([in] VARIANT v);
15716
15717     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15718     HRESULT border([retval, out] VARIANT *p);
15719
15720     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15721     HRESULT frame([in] BSTR v);
15722
15723     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15724     HRESULT frame([retval, out] BSTR *p);
15725
15726     [propput, id(DISPID_IHTMLTABLE_RULES)]
15727     HRESULT rules([in] BSTR v);
15728
15729     [propget, id(DISPID_IHTMLTABLE_RULES)]
15730     HRESULT rules([retval, out] BSTR *p);
15731
15732     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15733     HRESULT cellSpacing([in] VARIANT v);
15734
15735     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15736     HRESULT cellSpacing([retval, out] VARIANT *p);
15737
15738     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15739     HRESULT cellPadding([in] VARIANT v);
15740
15741     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15742     HRESULT cellPadding([retval, out] VARIANT *p);
15743
15744     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15745     HRESULT background([in] BSTR v);
15746
15747     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15748     HRESULT background([retval, out] BSTR *p);
15749
15750     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15751     HRESULT bgColor([in] VARIANT v);
15752
15753     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15754     HRESULT bgColor([retval, out] VARIANT *p);
15755
15756     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15757     HRESULT borderColor([in] VARIANT v);
15758
15759     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15760     HRESULT borderColor([retval, out] VARIANT *p);
15761
15762     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15763     HRESULT borderColorLight([in] VARIANT v);
15764
15765     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15766     HRESULT borderColorLight([retval, out] VARIANT *p);
15767
15768     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15769     HRESULT borderColorDark([in] VARIANT v);
15770
15771     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15772     HRESULT borderColorDark([retval, out] VARIANT *p);
15773
15774     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15775     HRESULT align([in] BSTR v);
15776
15777     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15778     HRESULT align([retval, out] BSTR * p);
15779
15780     [id(DISPID_IHTMLTABLE_REFRESH)]
15781     HRESULT refresh();
15782
15783     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15784     HRESULT rows([retval, out] IHTMLElementCollection **p);
15785
15786     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15787     HRESULT width([in] VARIANT v);
15788
15789     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15790     HRESULT width([retval, out] VARIANT *p);
15791
15792     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15793     HRESULT height([in] VARIANT v);
15794
15795     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15796     HRESULT height([retval, out] VARIANT *p);
15797
15798     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15799     HRESULT dataPageSize([in] LONG v);
15800
15801     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15802     HRESULT dataPageSize([retval, out] LONG *p);
15803
15804     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15805     HRESULT nextPage();
15806
15807     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15808     HRESULT previousPage();
15809
15810     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15811     HRESULT tHead([retval, out] IHTMLTableSection **p);
15812
15813     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15814     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15815
15816     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15817     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15818
15819     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15820     HRESULT caption([retval, out] IHTMLTableCaption **p);
15821
15822     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15823     HRESULT createTHead([retval, out] IDispatch **head);
15824
15825     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15826     HRESULT deleteTHead();
15827
15828     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15829     HRESULT createTFoot([retval, out] IDispatch **foot);
15830
15831     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15832     HRESULT deleteTFoot();
15833
15834     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15835     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15836
15837     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15838     HRESULT deleteCaption();
15839
15840     [id(DISPID_IHTMLTABLE_INSERTROW)]
15841     HRESULT insertRow(
15842             [defaultvalue(-1), in] LONG index,
15843             [retval, out] IDispatch **row);
15844
15845     [id(DISPID_IHTMLTABLE_DELETEROW)]
15846     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15847
15848     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15849     HRESULT readyState([retval, out] BSTR *p);
15850
15851     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15852     HRESULT onreadystatechange([in] VARIANT v);
15853
15854     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15855     HRESULT onreadystatechange([retval, out] VARIANT *p);
15856 }
15857
15858 [
15859     odl,
15860     oleautomation,
15861     dual,
15862     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15863 ]
15864 interface IHTMLTable2 : IDispatch
15865 {
15866     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15867     HRESULT firstPage();
15868
15869     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15870     HRESULT lastPage();
15871
15872     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15873     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15874
15875     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15876     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15877         [defaultvalue(-1), in] LONG indexTo,
15878         [retval, out] IDispatch** row);
15879 }
15880
15881 [
15882     odl,
15883     oleautomation,
15884     dual,
15885     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15886 ]
15887 interface IHTMLTable3 : IDispatch
15888 {
15889     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15890     HRESULT summary([in] BSTR v);
15891
15892     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15893     HRESULT summary([retval, out] BSTR * p);
15894 }
15895
15896 [
15897     noncreatable,
15898     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15899 ]
15900 coclass HTMLTable
15901 {
15902     [default]           dispinterface DispHTMLTable;
15903     [source, default]   dispinterface HTMLTableEvents;
15904     [source]            dispinterface HTMLTableEvents2;
15905                         interface IHTMLElement;
15906                         interface IHTMLElement2;
15907                         interface IHTMLElement3;
15908                         interface IHTMLElement4;
15909                         interface IHTMLUniqueName;
15910                         interface IHTMLDOMNode;
15911                         interface IHTMLDOMNode2;
15912                         interface IHTMLDatabinding;
15913                         interface IHTMLControlElement;
15914                         interface IHTMLTable;
15915                         interface IHTMLTable2;
15916                         interface IHTMLTable3;
15917 }
15918
15919 [
15920     odl,
15921     oleautomation,
15922     dual,
15923     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15924 ]
15925 interface IHTMLTableSection : IDispatch
15926 {
15927     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15928     HRESULT align([in] BSTR v);
15929
15930     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15931     HRESULT align([retval, out] BSTR *p);
15932
15933     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15934     HRESULT vAlign([in] BSTR v);
15935
15936     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15937     HRESULT vAlign([retval, out] BSTR *p);
15938
15939     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15940     HRESULT bgColor([in] VARIANT v);
15941
15942     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15943     HRESULT bgColor([retval, out] VARIANT *p);
15944
15945     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15946     HRESULT rows([retval, out] IHTMLElementCollection **p);
15947
15948     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15949     HRESULT insertRow(
15950             [defaultvalue(-1), in] LONG index,
15951             [retval, out] IDispatch **row);
15952
15953     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15954     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15955 }
15956
15957 /*****************************************************************************
15958  *    IHTMLTableRow interface
15959  */
15960 [
15961     odl,
15962     oleautomation,
15963     dual,
15964     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15965 ]
15966 interface IHTMLTableRow : IDispatch
15967 {
15968     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15969     HRESULT align([in] BSTR v);
15970
15971     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15972     HRESULT align([out, retval] BSTR *p);
15973
15974     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15975     HRESULT vAlign([in] BSTR v);
15976
15977     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15978     HRESULT vAlign([out, retval] BSTR *p);
15979
15980     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15981     HRESULT bgColor([in] VARIANT v);
15982
15983     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15984     HRESULT bgColor([out, retval] VARIANT *p);
15985
15986     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15987     HRESULT borderColor([in] VARIANT v);
15988
15989     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15990     HRESULT borderColor([out, retval] VARIANT *p);
15991
15992     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15993     HRESULT borderColorLight([in] VARIANT v);
15994
15995     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15996     HRESULT borderColorLight([out, retval] VARIANT *p);
15997
15998     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15999     HRESULT borderColorDark([in] VARIANT v);
16000
16001     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16002     HRESULT borderColorDark([out, retval] VARIANT *p);
16003
16004     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
16005     HRESULT rowIndex([out, retval] LONG *p);
16006
16007     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
16008     HRESULT sectionRowIndex([out, retval] LONG *p);
16009
16010     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
16011     HRESULT cells([out, retval] IHTMLElementCollection **p);
16012
16013     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
16014     HRESULT insertCell(
16015             [in, defaultvalue(-1)] LONG index,
16016             [out, retval] IDispatch **row);
16017
16018     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
16019     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
16020 }
16021
16022 /*****************************************************************************
16023  *    IHTMLTableCell interface
16024  */
16025 [
16026     odl,
16027     oleautomation,
16028     dual,
16029     uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
16030 ]
16031 interface IHTMLTableCell : IDispatch
16032 {
16033     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16034     HRESULT rowSpan([in] long v);
16035
16036     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16037     HRESULT rowSpan([retval, out] long *p);
16038
16039     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16040     HRESULT colSpan([in] long v);
16041
16042     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16043     HRESULT colSpan([retval, out] long *p);
16044
16045     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
16046     HRESULT align([in] BSTR v);
16047
16048     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
16049     HRESULT align([retval, out] BSTR *p);
16050
16051     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
16052     HRESULT vAlign([in] BSTR v);
16053
16054     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
16055     HRESULT vAlign([retval, out] BSTR *p);
16056
16057     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16058     HRESULT bgColor([in] VARIANT v);
16059
16060     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16061     HRESULT bgColor([retval, out] VARIANT *p);
16062
16063     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16064     HRESULT noWrap([in] VARIANT_BOOL v);
16065
16066     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16067     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
16068
16069     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16070     HRESULT background([in] BSTR v);
16071
16072     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16073     HRESULT background([retval, out] BSTR *p);
16074
16075     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16076     HRESULT borderColor([in] VARIANT v);
16077
16078     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16079     HRESULT borderColor([retval, out] VARIANT *p);
16080
16081     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16082     HRESULT borderColorLight([in] VARIANT v);
16083
16084     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16085     HRESULT borderColorLight([retval, out] VARIANT *p);
16086
16087     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16088     HRESULT borderColorDark([in] VARIANT v);
16089
16090     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16091     HRESULT borderColorDark([retval, out] VARIANT *p);
16092
16093     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
16094     HRESULT width([in] VARIANT v);
16095
16096     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
16097     HRESULT width([retval, out] VARIANT *p);
16098
16099     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16100     HRESULT height([in] VARIANT v);
16101
16102     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16103     HRESULT height([retval, out] VARIANT *p);
16104
16105     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
16106     HRESULT cellIndex([retval, out] long *p);
16107 }
16108
16109 /*****************************************************************************
16110  *    DispHTMLTable dispinterface
16111  */
16112 [
16113     hidden,
16114     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
16115 ]
16116 dispinterface DispHTMLTable
16117 {
16118 properties:
16119 methods:
16120     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
16121
16122     [propput, id(DISPID_IHTMLTABLE_COLS)]
16123     void cols(LONG v);
16124
16125     [propget, id(DISPID_IHTMLTABLE_COLS)]
16126     LONG cols();
16127
16128     [propput, id(DISPID_IHTMLTABLE_BORDER)]
16129     void border(VARIANT v);
16130
16131     [propget, id(DISPID_IHTMLTABLE_BORDER)]
16132     VARIANT border();
16133
16134     [propput, id(DISPID_IHTMLTABLE_FRAME)]
16135     void frame(BSTR v);
16136
16137     [propget, id(DISPID_IHTMLTABLE_FRAME)]
16138     BSTR frame();
16139
16140     [propput, id(DISPID_IHTMLTABLE_RULES)]
16141     void rules(BSTR v);
16142
16143     [propget, id(DISPID_IHTMLTABLE_RULES)]
16144     BSTR rules();
16145
16146     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
16147     void cellSpacing(VARIANT v);
16148
16149     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
16150     VARIANT cellSpacing();
16151
16152     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
16153     void cellPadding(VARIANT v);
16154
16155     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
16156     VARIANT cellPadding();
16157
16158     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
16159     void background(BSTR v);
16160
16161     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
16162     BSTR background();
16163
16164     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
16165     void bgColor(VARIANT v);
16166
16167     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
16168     VARIANT bgColor();
16169
16170     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16171     void borderColor(VARIANT v);
16172
16173     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16174     VARIANT borderColor();
16175
16176     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16177     void borderColorLight(VARIANT v);
16178
16179     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16180     VARIANT borderColorLight();
16181
16182     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16183     void borderColorDark(VARIANT v);
16184
16185     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16186     VARIANT borderColorDark();
16187
16188     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
16189     void align(BSTR v);
16190
16191     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
16192     BSTR align();
16193
16194     [id(DISPID_IHTMLTABLE_REFRESH)]
16195     void refresh();
16196
16197     [propget, id(DISPID_IHTMLTABLE_ROWS)]
16198     IHTMLElementCollection *rows();
16199
16200     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
16201     void width(VARIANT v);
16202
16203     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
16204     VARIANT width();
16205
16206     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
16207     void height(VARIANT v);
16208
16209     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
16210     VARIANT height();
16211
16212     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16213     void dataPageSize(LONG v);
16214
16215     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16216     LONG dataPageSize();
16217
16218     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
16219     void nextPage();
16220
16221     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
16222     void previousPage();
16223
16224     [propget, id(DISPID_IHTMLTABLE_THEAD)]
16225     IHTMLTableSection *tHead();
16226
16227     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
16228     IHTMLTableSection *tFoot();
16229
16230     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
16231     IHTMLElementCollection *tBodies();
16232
16233     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
16234     IHTMLTableCaption *caption();
16235
16236     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
16237     IDispatch *createTHead();
16238
16239     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
16240     void deleteTHead();
16241
16242     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
16243     IDispatch *createTFoot();
16244
16245     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
16246     void deleteTFoot();
16247
16248     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
16249     IHTMLTableCaption *createCaption();
16250
16251     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
16252     void deleteCaption();
16253
16254     [id(DISPID_IHTMLTABLE_INSERTROW)]
16255     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
16256
16257     [id(DISPID_IHTMLTABLE_DELETEROW)]
16258     void deleteRow([in, defaultvalue(-1)] LONG index);
16259
16260     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
16261     void firstPage();
16262
16263     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
16264     void lastPage();
16265
16266     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
16267     IHTMLElementCollection *cells();
16268
16269     [id(DISPID_IHTMLTABLE2_MOVEROW)]
16270     IDispatch *moveRow(
16271             [in, defaultvalue(-1)] LONG indexFrom,
16272             [in, defaultvalue(-1)] LONG indexTo);
16273
16274     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16275     void summary(BSTR v);
16276
16277     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16278     BSTR summary();
16279 }
16280
16281 /*****************************************************************************
16282  *    DispHTMLTableRow dispinterface
16283  */
16284 [
16285     hidden,
16286     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
16287 ]
16288 dispinterface DispHTMLTableRow
16289 {
16290 properties:
16291 methods:
16292     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16293
16294     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
16295     void align(BSTR v);
16296
16297     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
16298     BSTR align();
16299
16300     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
16301     void vAlign(BSTR v);
16302
16303     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
16304     BSTR vAlign();
16305
16306     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16307     void bgColor(VARIANT v);
16308
16309     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16310     VARIANT bgColor();
16311
16312     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16313     void borderColor(VARIANT v);
16314
16315     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16316     VARIANT borderColor();
16317
16318     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16319     void borderColorLight(VARIANT v);
16320
16321     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16322     VARIANT borderColorLight();
16323
16324     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16325     void borderColorDark(VARIANT v);
16326
16327     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16328     VARIANT borderColorDark();
16329
16330     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
16331     LONG rowIndex();
16332
16333     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
16334     LONG sectionRowIndex();
16335
16336     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
16337     IHTMLElementCollection *cells();
16338
16339     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
16340     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
16341
16342     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
16343     void deleteCell([in, defaultvalue(-1)] LONG index);
16344
16345     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16346     void height(VARIANT v);
16347
16348     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16349     VARIANT height();
16350
16351     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16352     void ch(BSTR v);
16353
16354     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16355     BSTR ch();
16356
16357     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16358     void chOff(BSTR v);
16359
16360     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16361     BSTR chOff();
16362 }
16363
16364 /*****************************************************************************
16365  *    DispHTMLTableCell dispinterface
16366  */
16367 [
16368     hidden,
16369     uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
16370 ]
16371 dispinterface DispHTMLTableCell
16372 {
16373 properties:
16374 methods:
16375     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16376
16377     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16378     void rowSpan(long v);
16379
16380     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16381     long rowSpan();
16382
16383     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16384     void colSpan(long v);
16385
16386     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16387     long colSpan();
16388
16389     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
16390     void align(BSTR v);
16391
16392     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
16393     BSTR align();
16394
16395     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
16396     void vAlign(BSTR v);
16397
16398     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
16399     BSTR vAlign();
16400
16401     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16402     void bgColor(VARIANT v);
16403
16404     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16405     VARIANT bgColor();
16406
16407     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16408     void noWrap(VARIANT_BOOL v);
16409
16410     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16411     VARIANT_BOOL noWrap();
16412
16413     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16414     void background(BSTR v);
16415
16416     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16417     BSTR background();
16418
16419     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16420     void borderColor(VARIANT v);
16421
16422     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16423     VARIANT borderColor();
16424
16425     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16426     void borderColorLight(VARIANT v);
16427
16428     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16429     VARIANT borderColorLight();
16430
16431     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16432     void borderColorDark(VARIANT v);
16433
16434     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16435     VARIANT borderColorDark();
16436
16437     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
16438     void width(VARIANT v);
16439
16440     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
16441     VARIANT width();
16442
16443     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16444     void height(VARIANT v);
16445
16446     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16447     VARIANT height();
16448
16449     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
16450     long cellIndex();
16451
16452     [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16453     void abbr(BSTR v);
16454
16455     [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16456     BSTR abbr();
16457
16458     [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16459     void axis(BSTR v);
16460
16461     [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16462     BSTR axis();
16463
16464     [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16465     void ch(BSTR v);
16466
16467     [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16468     BSTR ch();
16469
16470     [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16471     void chOff(BSTR v);
16472
16473     [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16474     BSTR chOff();
16475
16476     [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16477     void headers(BSTR v);
16478
16479     [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16480     BSTR headers();
16481
16482     [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16483     void scope(BSTR v);
16484
16485     [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16486     BSTR scope();
16487
16488     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16489     void ie9_ch(BSTR v);
16490
16491     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16492     BSTR ie9_ch();
16493
16494     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16495     void ie9_chOff(BSTR v);
16496
16497     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16498     BSTR ie9_chOff();
16499 }
16500
16501 /*****************************************************************************
16502  *    IHTMLScriptElement interface
16503  */
16504 [
16505     odl,
16506     oleautomation,
16507     dual,
16508     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
16509 ]
16510 interface IHTMLScriptElement : IDispatch
16511 {
16512     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16513     HRESULT src([in] BSTR v);
16514
16515     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16516     HRESULT src([retval, out] BSTR *p);
16517
16518     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16519     HRESULT htmlFor([in] BSTR v);
16520
16521     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16522     HRESULT htmlFor([retval, out] BSTR *p);
16523
16524     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16525     HRESULT event([in] BSTR v);
16526
16527     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16528     HRESULT event([retval, out] BSTR *p);
16529
16530     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16531     HRESULT text([in] BSTR v);
16532
16533     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16534     HRESULT text([retval, out] BSTR *p);
16535
16536     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16537     HRESULT defer([in] VARIANT_BOOL v);
16538
16539     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16540     HRESULT defer([retval, out] VARIANT_BOOL *p);
16541
16542     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
16543     HRESULT readyState([retval, out] BSTR *p);
16544
16545     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16546     HRESULT onerror([in] VARIANT v);
16547
16548     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16549     HRESULT onerror([retval, out] VARIANT *p);
16550
16551     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16552     HRESULT type([in] BSTR v);
16553
16554     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16555     HRESULT type([retval, out] BSTR *p);
16556 }
16557
16558 /*****************************************************************************
16559  *    IHTMLScriptElement2 interface
16560  */
16561 [
16562     odl,
16563     oleautomation,
16564     dual,
16565     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
16566 ]
16567 interface IHTMLScriptElement2 : IDispatch
16568 {
16569     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16570     HRESULT charset([in] BSTR v);
16571
16572     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16573     HRESULT charset([retval, out] BSTR *p);
16574 }
16575
16576 /*****************************************************************************
16577  *    DispHTMLScriptElement dispinterface
16578  */
16579 [
16580     hidden,
16581     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
16582 ]
16583 dispinterface DispHTMLScriptElement
16584 {
16585 properties:
16586 methods:
16587     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16588
16589     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16590     void src(BSTR v);
16591
16592     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16593     BSTR src();
16594
16595     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16596     void htmlFor(BSTR v);
16597
16598     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16599     BSTR htmlFor();
16600
16601     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16602     void event(BSTR v);
16603
16604     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16605     BSTR event();
16606
16607     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16608     void text(BSTR v);
16609
16610     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16611     BSTR text();
16612
16613     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16614     void defer(VARIANT_BOOL v);
16615
16616     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16617     VARIANT_BOOL defer();
16618
16619     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16620     void onerror(VARIANT v);
16621
16622     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16623     VARIANT onerror();
16624
16625     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16626     void type(BSTR v);
16627
16628     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16629     BSTR type();
16630
16631     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16632     void charset(BSTR v);
16633
16634     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16635     BSTR charset();
16636
16637     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16638     void ie8_src(BSTR v);
16639
16640     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16641     BSTR ie8_src();
16642 }
16643
16644 /*****************************************************************************
16645  *    IHTMLObjectElement interface
16646  */
16647 [
16648     odl,
16649     oleautomation,
16650     dual,
16651     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
16652 ]
16653 interface IHTMLObjectElement : IDispatch
16654 {
16655     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16656     HRESULT object([retval, out] IDispatch **p);
16657
16658     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
16659     HRESULT classid([retval, out] BSTR *p);
16660
16661     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
16662     HRESULT data([retval, out] BSTR *p);
16663
16664     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16665     HRESULT recordset([in] IDispatch *v);
16666
16667     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16668     HRESULT recordset([retval, out] IDispatch **p);
16669
16670     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16671     HRESULT align([in] BSTR v);
16672
16673     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16674     HRESULT align([retval, out] BSTR *p);
16675
16676     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16677     HRESULT name([in] BSTR v);
16678
16679     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16680     HRESULT name([retval, out] BSTR *p);
16681
16682     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16683     HRESULT codeBase([in] BSTR v);
16684
16685     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16686     HRESULT codeBase([retval, out] BSTR *p);
16687
16688     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16689     HRESULT codeType([in] BSTR v);
16690
16691     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16692     HRESULT codeType([retval, out] BSTR *p);
16693
16694     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16695     HRESULT code([in] BSTR v);
16696
16697     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16698     HRESULT code([retval, out] BSTR *p);
16699
16700     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16701     HRESULT BaseHref([retval, out] BSTR *p);
16702
16703     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16704     HRESULT type([in] BSTR v);
16705
16706     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16707     HRESULT type([retval, out] BSTR *p);
16708
16709     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16710     HRESULT form([retval, out] IHTMLFormElement **p);
16711
16712     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16713     HRESULT width([in] VARIANT v);
16714
16715     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16716     HRESULT width([retval, out] VARIANT *p);
16717
16718     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16719     HRESULT height([in] VARIANT v);
16720
16721     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16722     HRESULT height([retval, out] VARIANT *p);
16723
16724     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
16725     HRESULT readyState([retval, out] long *p);
16726
16727     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16728     HRESULT onreadystatechange([in] VARIANT v);
16729
16730     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16731     HRESULT onreadystatechange([retval, out] VARIANT *p);
16732
16733     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16734     HRESULT onerror([in] VARIANT v);
16735
16736     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16737     HRESULT onerror([retval, out] VARIANT *p);
16738
16739     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16740     HRESULT altHtml([in] BSTR v);
16741
16742     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16743     HRESULT altHtml([retval, out] BSTR *p);
16744
16745     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16746     HRESULT vspace([in] long v);
16747
16748     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16749     HRESULT vspace([retval, out] long *p);
16750
16751     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16752     HRESULT hspace([in] long v);
16753
16754     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16755     HRESULT hspace([retval, out] long *p);
16756 }
16757
16758 /*****************************************************************************
16759  *    IHTMLObjectElement2 interface
16760  */
16761 [
16762     odl,
16763     oleautomation,
16764     dual,
16765     uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
16766 ]
16767 interface IHTMLObjectElement2 : IDispatch
16768 {
16769     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16770     HRESULT namedRecordset(
16771             [in] BSTR dataMember,
16772             [in, optional] VARIANT *hierarchy,
16773             [out, retval] IDispatch **ppRecordset);
16774
16775     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16776     HRESULT classid([in] BSTR v);
16777
16778     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16779     HRESULT classid([out, retval] BSTR *p);
16780
16781     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16782     HRESULT data([in] BSTR v);
16783
16784     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16785     HRESULT data([out, retval] BSTR *p);
16786 }
16787
16788 /*****************************************************************************
16789  *    IHTMLParamElement interface
16790  */
16791 [
16792     odl,
16793     oleautomation,
16794     dual,
16795     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
16796 ]
16797 interface IHTMLParamElement : IDispatch
16798 {
16799     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16800     HRESULT name([in] BSTR v);
16801
16802     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16803     HRESULT name([retval, out] BSTR *p);
16804
16805     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16806     HRESULT value([in] BSTR v);
16807
16808     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16809     HRESULT value([retval, out] BSTR *p);
16810
16811     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16812     HRESULT type([in] BSTR v);
16813
16814     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16815     HRESULT type([retval, out] BSTR *p);
16816
16817     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16818     HRESULT valueType([in] BSTR v);
16819
16820     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16821     HRESULT valueType([retval, out] BSTR *p);
16822 }
16823
16824 /*****************************************************************************
16825  *    IHTMLParamElement2 interface
16826  */
16827 [
16828     odl,
16829     oleautomation,
16830     dual,
16831     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
16832 ]
16833 interface IHTMLParamElement2 : IDispatch
16834 {
16835     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16836     HRESULT name([in] BSTR v);
16837
16838     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16839     HRESULT name([retval, out] BSTR *p);
16840
16841     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16842     HRESULT type([in] BSTR v);
16843
16844     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16845     HRESULT type([retval, out] BSTR *p);
16846
16847     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16848     HRESULT value([in] BSTR v);
16849
16850     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16851     HRESULT value([retval, out] BSTR *p);
16852
16853     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16854     HRESULT valueType([in] BSTR v);
16855
16856     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16857     HRESULT valueType([retval, out] BSTR *p);
16858 }
16859
16860 /*****************************************************************************
16861  *    DispHTMLObjectElement dispinterface
16862  */
16863 [
16864     hidden,
16865     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
16866 ]
16867 dispinterface DispHTMLObjectElement
16868 {
16869 properties:
16870 methods:
16871     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16872
16873     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16874     IDispatch *object();
16875
16876     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16877     void recordset(IDispatch *v);
16878
16879     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16880     IDispatch *recordset();
16881
16882     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16883     void align(BSTR v);
16884
16885     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16886     BSTR align();
16887
16888     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16889     void name(BSTR v);
16890
16891     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16892     BSTR name();
16893
16894     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16895     void codeBase(BSTR v);
16896
16897     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16898     BSTR codeBase();
16899
16900     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16901     void codeType(BSTR v);
16902
16903     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16904     BSTR codeType();
16905
16906     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16907     void code(BSTR v);
16908
16909     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16910     BSTR code();
16911
16912     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16913     BSTR BaseHref();
16914
16915     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16916     void type(BSTR v);
16917
16918     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16919     BSTR type();
16920
16921     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16922     IHTMLFormElement *form();
16923
16924     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16925     void width(VARIANT v);
16926
16927     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16928     VARIANT width();
16929
16930     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16931     void height(VARIANT v);
16932
16933     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16934     VARIANT height();
16935
16936     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16937     void onerror(VARIANT v);
16938
16939     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16940     VARIANT onerror();
16941
16942     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16943     void altHtml(BSTR v);
16944
16945     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16946     BSTR altHtml();
16947
16948     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16949     void vspace(long v);
16950
16951     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16952     long vspace();
16953
16954     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16955     void hspace(long v);
16956
16957     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16958     long hspace();
16959
16960     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16961     IDispatch *namedRecordset(
16962             [in] BSTR dataMember,
16963             [optional, in] VARIANT *hierarchy);
16964
16965     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16966     void classid(BSTR v);
16967
16968     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16969     BSTR classid();
16970
16971     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16972     void data(BSTR v);
16973
16974     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16975     BSTR data();
16976
16977     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16978     void archive(BSTR v);
16979
16980     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16981     BSTR archive();
16982
16983     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16984     void alt(BSTR v);
16985
16986     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16987     BSTR alt();
16988
16989     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16990     void declare(VARIANT_BOOL v);
16991
16992     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16993     VARIANT_BOOL declare();
16994
16995     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16996     void standby(BSTR v);
16997
16998     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16999     BSTR standby();
17000
17001     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
17002     void border(VARIANT v);
17003
17004     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
17005     VARIANT border();
17006
17007     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
17008     void useMap(BSTR v);
17009
17010     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
17011     BSTR useMap();
17012
17013     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
17014     IDispatch *contentDocument();
17015
17016     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
17017     void ie8_codeBase(BSTR v);
17018
17019     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
17020     BSTR ie8_codeBase();
17021
17022     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
17023     void ie8_data(BSTR v);
17024
17025     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
17026     BSTR ie8_data();
17027 }
17028
17029 /*****************************************************************************
17030  *    DispHTMLParamElement dispinterface
17031  */
17032 [
17033     hidden,
17034     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
17035 ]
17036 dispinterface DispHTMLParamElement
17037 {
17038 properties:
17039 methods:
17040     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17041
17042     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
17043     void name(BSTR v);
17044
17045     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
17046     BSTR name();
17047
17048     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
17049     void value(BSTR v);
17050
17051     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
17052     BSTR value();
17053
17054     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
17055     void type(BSTR v);
17056
17057     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
17058     BSTR type();
17059
17060     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
17061     void valueType(BSTR v);
17062
17063     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
17064     BSTR valueType();
17065
17066     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17067     void ie8_valueType(BSTR v);
17068
17069     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17070     BSTR ie8_valueType();
17071 }
17072
17073 /*****************************************************************************
17074  *    IHTMLFrameBase interface
17075  */
17076 [
17077     odl,
17078     oleautomation,
17079     dual,
17080     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
17081 ]
17082 interface IHTMLFrameBase : IDispatch
17083 {
17084     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
17085     HRESULT src([in] BSTR v);
17086
17087     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
17088     HRESULT src([out, retval] BSTR *p);
17089
17090     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
17091     HRESULT name([in] BSTR v);
17092
17093     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
17094     HRESULT name([out, retval] BSTR *p);
17095
17096     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
17097     HRESULT border([in] VARIANT v);
17098
17099     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
17100     HRESULT border([out, retval] VARIANT *p);
17101
17102     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
17103     HRESULT frameBorder([in] BSTR v);
17104
17105     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
17106     HRESULT frameBorder([out, retval] BSTR *p);
17107
17108     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
17109     HRESULT frameSpacing([in] VARIANT v);
17110
17111     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
17112     HRESULT frameSpacing([out, retval] VARIANT *p);
17113
17114     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
17115     HRESULT marginWidth([in] VARIANT v);
17116
17117     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
17118     HRESULT marginWidth([out, retval] VARIANT *p);
17119
17120     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
17121     HRESULT marginHeight([in] VARIANT v);
17122
17123     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
17124     HRESULT marginHeight([out, retval] VARIANT *p);
17125
17126     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
17127     HRESULT noResize([in] VARIANT_BOOL v);
17128
17129     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
17130     HRESULT noResize([out, retval] VARIANT_BOOL *p);
17131
17132     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
17133     HRESULT scrolling([in] BSTR v);
17134
17135     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
17136     HRESULT scrolling([out, retval] BSTR *p);
17137 }
17138
17139 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
17140     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
17141     void src(BSTR v);                                   \
17142                                                         \
17143     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
17144     BSTR src();                                         \
17145                                                         \
17146     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
17147     void name(BSTR v);                                  \
17148                                                         \
17149     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
17150     BSTR name();                                        \
17151                                                         \
17152     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
17153     void border(VARIANT v);                             \
17154                                                         \
17155     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
17156     VARIANT border();                                   \
17157                                                         \
17158     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
17159     void frameBorder(BSTR v);                           \
17160                                                         \
17161     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
17162     BSTR frameBorder();                                 \
17163                                                         \
17164     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
17165     void frameSpacing(VARIANT v);                       \
17166                                                         \
17167     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
17168     VARIANT frameSpacing();                             \
17169                                                         \
17170     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
17171     void marginWidth(VARIANT v);                        \
17172                                                         \
17173     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
17174     VARIANT marginWidth();                              \
17175                                                         \
17176     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
17177     void marginHeight(VARIANT v);                       \
17178                                                         \
17179     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
17180     VARIANT marginHeight();                             \
17181                                                         \
17182     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
17183     void noResize(VARIANT_BOOL v);                      \
17184                                                         \
17185     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
17186     VARIANT_BOOL noResize();                            \
17187                                                         \
17188     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
17189     void scrolling(BSTR v);                             \
17190                                                         \
17191     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
17192     BSTR scrolling()
17193
17194 /*****************************************************************************
17195  *    IHTMLFrameBase2 interface
17196  */
17197 [
17198     odl,
17199     oleautomation,
17200     dual,
17201     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
17202 ]
17203 interface IHTMLFrameBase2 : IDispatch
17204 {
17205     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
17206     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
17207
17208     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
17209     HRESULT onload([in] VARIANT v);
17210
17211     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
17212     HRESULT onload([retval, out] VARIANT *p);
17213
17214     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
17215     HRESULT onreadystatechange([in] VARIANT v);
17216
17217     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
17218     HRESULT onreadystatechange([retval, out] VARIANT *p);
17219
17220     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
17221     HRESULT readyState([retval, out] BSTR *p);
17222
17223     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
17224     HRESULT allowTransparency([in] VARIANT_BOOL v);
17225
17226     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
17227     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
17228 }
17229
17230 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
17231     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
17232     IHTMLWindow2 *contentWindow();                                      \
17233                                                                         \
17234     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
17235     void onload(VARIANT v);                                             \
17236                                                                         \
17237     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
17238     VARIANT onload();                                                   \
17239                                                                         \
17240     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
17241     void allowTransparency(VARIANT_BOOL v);                             \
17242                                                                         \
17243     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
17244     VARIANT_BOOL allowTransparency()
17245
17246 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
17247     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
17248     void longDesc(BSTR v);                                                \
17249                                                                           \
17250     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
17251     BSTR longDesc()
17252
17253
17254 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
17255     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
17256     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
17257     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
17258     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
17259
17260 /*****************************************************************************
17261  *    IHTMLFrameElement3 interface
17262  */
17263 [
17264     odl,
17265     oleautomation,
17266     dual,
17267     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
17268 ]
17269 interface IHTMLFrameElement3 : IDispatch
17270 {
17271     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
17272     HRESULT contentDocument([out, retval] IDispatch **p);
17273
17274     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17275     HRESULT src([in] BSTR v);
17276
17277     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17278     HRESULT src([out, retval] BSTR *p);
17279
17280     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17281     HRESULT longDesc([in] BSTR v);
17282
17283     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17284     HRESULT longDesc([out, retval] BSTR *p);
17285
17286     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17287     HRESULT frameBorder([in] BSTR v);
17288
17289     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17290     HRESULT frameBorder([out, retval] BSTR * p);
17291 }
17292
17293 /*****************************************************************************
17294  *    DispHTMLFrameElement dispinterface
17295  */
17296 [
17297     hidden,
17298     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
17299 ]
17300 dispinterface DispHTMLFrameElement
17301 {
17302 properties:
17303 methods:
17304     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
17305
17306     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
17307     void borderColor(VARIANT v);
17308
17309     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
17310     VARIANT borderColor();
17311
17312     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
17313     void height(VARIANT v);
17314
17315     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
17316     VARIANT height();
17317
17318     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
17319     void width(VARIANT v);
17320
17321     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
17322     VARIANT width();
17323
17324     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
17325     IDispatch *contentDocument();
17326
17327     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17328     void ie8_src(BSTR v);
17329
17330     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17331     BSTR ie8_src();
17332
17333     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17334     void ie8_longDesc(BSTR v);
17335
17336     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17337     BSTR ie8_longDesc();
17338
17339     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17340     void ie8_frameBorder(BSTR v);
17341
17342     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17343     BSTR ie8_frameBorder();
17344 }
17345
17346 /*****************************************************************************
17347  *    IHTMLIFrameElement interface
17348  */
17349 [
17350     odl,
17351     oleautomation,
17352     dual,
17353     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
17354 ]
17355 interface IHTMLIFrameElement : IDispatch
17356 {
17357     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17358     HRESULT vspace([in] LONG v);
17359
17360     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17361     HRESULT vspace([retval, out] LONG *p);
17362
17363     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17364     HRESULT hspace([in] LONG v);
17365
17366     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17367     HRESULT hspace([retval, out] LONG *p);
17368
17369     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17370     HRESULT align([in] BSTR v);
17371
17372     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17373     HRESULT align([retval, out] BSTR *p);
17374 }
17375
17376 /*****************************************************************************
17377  *    IHTMLIFrameElement2 interface
17378  */
17379 [
17380     odl,
17381     oleautomation,
17382     dual,
17383     uuid(3050f4e6-98b5-11cf-bb82-00aa00bdce0b)
17384 ]
17385 interface IHTMLIFrameElement2 : IDispatch
17386 {
17387     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17388     HRESULT height([in] VARIANT v);
17389
17390     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17391     HRESULT height([out, retval] VARIANT *p);
17392
17393     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17394     HRESULT width([in] VARIANT v);
17395
17396     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17397     HRESULT width([out, retval] VARIANT *p);
17398 }
17399
17400 /*****************************************************************************
17401  *    IHTMLIFrameElement3 interface
17402  */
17403 [
17404     odl,
17405     oleautomation,
17406     dual,
17407     uuid(30510433-98b5-11cf-bb82-00aa00bdce0b)
17408 ]
17409 interface IHTMLIFrameElement3 : IDispatch
17410 {
17411     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)]
17412     HRESULT contentDocument([out, retval] IDispatch **p);
17413
17414     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17415     HRESULT src([in] BSTR v);
17416
17417     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17418     HRESULT src([out, retval] BSTR *p);
17419
17420     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17421     HRESULT longDesc([in] BSTR v);
17422
17423     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17424     HRESULT longDesc([out, retval] BSTR *p);
17425
17426     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17427     HRESULT frameBorder([in] BSTR v);
17428
17429     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17430     HRESULT frameBorder([out, retval] BSTR *p);
17431 }
17432
17433 /*****************************************************************************
17434  *    DispHTMLIFrame dispinterface
17435  */
17436 [
17437     hidden,
17438     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
17439 ]
17440 dispinterface DispHTMLIFrame
17441 {
17442 properties:
17443 methods:
17444     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
17445
17446     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17447     void vspace(LONG v);
17448
17449     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17450     LONG vspace();
17451
17452     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17453     void hspace(LONG v);
17454
17455     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17456     LONG hspace();
17457
17458     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17459     void align(BSTR v);
17460
17461     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17462     BSTR align();
17463
17464     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17465     void height(VARIANT v);
17466
17467     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17468     VARIANT height();
17469
17470     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17471     void width(VARIANT v);
17472
17473     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17474     VARIANT width();
17475
17476     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)]
17477     IDispatch *contentDocument();
17478
17479     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17480     void ie8_src(BSTR v);
17481
17482     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
17483     BSTR ie8_src();
17484
17485     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17486     void ie8_longDesc(BSTR v);
17487
17488     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
17489     BSTR ie8_longDesc();
17490
17491     [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17492     void ie8_frameBorder(BSTR v);
17493
17494     [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
17495     BSTR ie8_frameBorder();
17496 }
17497
17498 /*****************************************************************************
17499  *    IHTMLStyleElement interface
17500  */
17501 [
17502     odl,
17503     oleautomation,
17504     dual,
17505     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
17506 ]
17507 interface IHTMLStyleElement : IDispatch
17508 {
17509     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17510     HRESULT type([in] BSTR v);
17511
17512     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17513     HRESULT type([retval, out] BSTR *p);
17514
17515     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
17516     HRESULT readyState([retval, out] BSTR *p);
17517
17518     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17519     HRESULT onreadystatechange([in] VARIANT v);
17520
17521     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17522     HRESULT onreadystatechange([retval, out] VARIANT *p);
17523
17524     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17525     HRESULT onload([in] VARIANT v);
17526
17527     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17528     HRESULT onload([retval, out] VARIANT *p);
17529
17530     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17531     HRESULT onerror([in] VARIANT v);
17532
17533     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17534     HRESULT onerror([retval, out] VARIANT *p);
17535
17536     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17537     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
17538
17539     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17540     HRESULT disabled([in] VARIANT_BOOL v);
17541
17542     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17543     HRESULT disabled([retval, out] VARIANT_BOOL *p);
17544
17545     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17546     HRESULT media([in] BSTR v);
17547
17548     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17549     HRESULT media([retval, out] BSTR *p);
17550 }
17551
17552 /*****************************************************************************
17553  *    DispHTMLStyleElement dispinterface
17554  */
17555 [
17556     hidden,
17557     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
17558 ]
17559 dispinterface DispHTMLStyleElement
17560 {
17561 properties:
17562 methods:
17563     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17564
17565     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17566     void type(BSTR v);
17567
17568     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17569     BSTR type();
17570
17571     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17572     void onload(VARIANT v);
17573
17574     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17575     VARIANT onload();
17576
17577     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17578     void onerror(VARIANT v);
17579
17580     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17581     VARIANT onerror();
17582
17583     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17584     IHTMLStyleSheet *styleSheet();
17585
17586     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17587     void media(BSTR v);
17588
17589     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17590     BSTR media();
17591 }
17592
17593 /*****************************************************************************
17594  *    IHTMLStorage interface
17595  */
17596 [
17597     odl,
17598     oleautomation,
17599     dual,
17600     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
17601 ]
17602 interface IHTMLStorage : IDispatch
17603 {
17604     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
17605     HRESULT length([out, retval] long *p);
17606
17607     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
17608     HRESULT remainingSpace([out, retval] long *p);
17609
17610     [id(DISPID_IHTMLSTORAGE_KEY)]
17611     HRESULT key(
17612             [in] long lIndex,
17613             [out, retval] BSTR *);
17614
17615     [id(DISPID_IHTMLSTORAGE_GETITEM)]
17616     HRESULT getItem(
17617             [in] BSTR bstrKey,
17618             [out, retval] VARIANT *);
17619
17620     [id(DISPID_IHTMLSTORAGE_SETITEM)]
17621     HRESULT setItem(
17622             [in] BSTR bstrKey,
17623             [in] BSTR bstrValue);
17624
17625     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
17626     HRESULT removeItem([in] BSTR bstrKey);
17627
17628     [id(DISPID_IHTMLSTORAGE_CLEAR)]
17629     HRESULT clear();
17630 }
17631
17632 /*****************************************************************************
17633  *    IDOMEventTarget interface
17634  */
17635 [
17636     odl,
17637     oleautomation,
17638     dual,
17639     uuid(305104b9-98b5-11cf-bb82-00aa00bdce0b)
17640 ]
17641 interface IEventTarget : IDispatch
17642 {
17643     [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
17644     HRESULT addEventListener(
17645             [in] BSTR type,
17646             [in] IDispatch *listener,
17647             [in] VARIANT_BOOL useCapture);
17648
17649     [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
17650     HRESULT removeEventListener(
17651             [in] BSTR type,
17652             [in] IDispatch *listener,
17653             [in] VARIANT_BOOL useCapture);
17654
17655     [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
17656     HRESULT dispatchEvent(
17657             [in] IDOMEvent *evt,
17658             [out, retval] VARIANT_BOOL *pfResult);
17659 }
17660
17661 /*****************************************************************************
17662  *    IDOMEvent interface
17663  */
17664 [
17665     odl,
17666     oleautomation,
17667     dual,
17668     uuid(305104ba-98b5-11cf-bb82-00aa00bdce0b)
17669 ]
17670 interface IDOMEvent : IDispatch
17671 {
17672     [propget, id(DISPID_IDOMEVENT_BUBBLES)]
17673     HRESULT bubbles([out, retval] VARIANT_BOOL *p);
17674
17675     [propget, id(DISPID_IDOMEVENT_CANCELABLE)]
17676     HRESULT cancelable([out, retval] VARIANT_BOOL *p);
17677
17678     [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)]
17679     HRESULT currentTarget([out, retval] IEventTarget **p);
17680
17681     [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)]
17682     HRESULT defaultPrevented([out, retval] VARIANT_BOOL *p);
17683
17684     [propget, id(DISPID_IDOMEVENT_EVENTPHASE)]
17685     HRESULT eventPhase([out, retval] USHORT *p);
17686
17687     [propget, id(DISPID_IDOMEVENT_TARGET)]
17688     HRESULT target([out, retval] IEventTarget **p);
17689
17690     [propget, id(DISPID_IDOMEVENT_TIMESTAMP)]
17691     HRESULT timeStamp([out, retval] ULONGLONG *p);
17692
17693     [propget, id(DISPID_IDOMEVENT_TYPE)]
17694     HRESULT type([out, retval] BSTR *p);
17695
17696     [id(DISPID_IDOMEVENT_INITEVENT)]
17697     HRESULT initEvent(
17698             [in] BSTR eventType,
17699             [in] VARIANT_BOOL canBubble,
17700             [in] VARIANT_BOOL cancelable);
17701
17702     [id(DISPID_IDOMEVENT_PREVENTDEFAULT)]
17703     HRESULT preventDefault();
17704
17705     [id(DISPID_IDOMEVENT_STOPPROPAGATION)]
17706     HRESULT stopPropagation();
17707
17708     [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)]
17709     HRESULT stopImmediatePropagation();
17710
17711     [propget, id(DISPID_IDOMEVENT_ISTRUSTED)]
17712     HRESULT isTrusted([out, retval] VARIANT_BOOL *p);
17713
17714     [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
17715     HRESULT cancelBubble([in] VARIANT_BOOL v);
17716
17717     [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
17718     HRESULT cancelBubble([out, retval] VARIANT_BOOL *p);
17719
17720     [propget, id(DISPID_IDOMEVENT_SRCELEMENT)]
17721     HRESULT srcElement([out, retval] IHTMLElement **p);
17722 }
17723
17724 /*****************************************************************************
17725  *    IMarkupContainer interface
17726  */
17727 [
17728     object,
17729     pointer_default(unique),
17730     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
17731 ]
17732 interface IMarkupContainer : IUnknown
17733 {
17734     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17735 }
17736
17737 /*****************************************************************************
17738  *    IMarkupPointer interface
17739  */
17740 [
17741     object,
17742     pointer_default(unique),
17743     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
17744 ]
17745 interface IMarkupPointer : IUnknown
17746 {
17747     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17748
17749     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
17750
17751     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
17752
17753     HRESULT Cling([out] BOOL *pfCling);
17754
17755     HRESULT SetCling([in] BOOL fCLing);
17756
17757     HRESULT UnPosition();
17758
17759     HRESULT IsPositioned([out] BOOL *pfPositioned);
17760
17761     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
17762
17763     HRESULT MoveAdjacentToElement(
17764         [in] IHTMLElement *pElement,
17765         [in] ELEMENT_ADJACENCY eAdj);
17766
17767     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
17768
17769     HRESULT MoveToContainer(
17770         [in] IMarkupContainer *pContainer,
17771         [in] BOOL fAtStart);
17772
17773     HRESULT Left(
17774         [in] BOOL fMove,
17775         [out] MARKUP_CONTEXT_TYPE *pContext,
17776         [out] IHTMLElement **ppElement,
17777         [in, out] LONG *pcch,
17778         [out, size_is(*pcch)] OLECHAR *pchText);
17779
17780     HRESULT Right(
17781         [in] BOOL fMove,
17782         [out] MARKUP_CONTEXT_TYPE *pContext,
17783         [out] IHTMLElement **ppElement,
17784         [in, out] LONG *pcch,
17785         [out, size_is(*pcch)] OLECHAR *pchText);
17786
17787     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
17788
17789     HRESULT IsLeftOf(
17790         [in] IMarkupPointer *pPointerThat,
17791         [out] BOOL *pfResult);
17792
17793     HRESULT IsLeftOfOrEqualTo(
17794         [in] IMarkupPointer *pPointerThat,
17795         [out] BOOL *pfResult);
17796
17797     HRESULT IsRightOf(
17798         [in] IMarkupPointer *pPointerThat,
17799         [out] BOOL *pfResult);
17800
17801     HRESULT IsRightOfOrEqualTo(
17802         [in] IMarkupPointer *pPointerThat,
17803         [out] BOOL *pfResult);
17804
17805     HRESULT IsEqualTo(
17806         [in] IMarkupPointer *pPointerThat,
17807         [out] BOOL *pfAreEqual);
17808
17809     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
17810
17811     HRESULT FindText(
17812         [in] OLECHAR *pchFindText,
17813         [in] DWORD dwFlags,
17814         [in] IMarkupPointer *pIEndMatch,
17815         [in] IMarkupPointer *pIEndSearch);
17816 }
17817
17818 /*****************************************************************************
17819  *    IHTMLDOMConstructorCollection interface
17820  */
17821 [
17822     odl,
17823     oleautomation,
17824     dual,
17825     uuid(3051049c-98b5-11cf-bb82-00aa00bdce0b)
17826 ]
17827 interface IHTMLDOMConstructorCollection : IDispatch
17828 {
17829     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ATTR)]
17830     HRESULT Attr([out, retval] IDispatch **p);
17831
17832     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BEHAVIORURNSCOLLECTION)]
17833     HRESULT BehaviorUrnsCollection([out, retval] IDispatch **p);
17834
17835     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BOOKMARKCOLLECTION)]
17836     HRESULT BookmarkCollection([out, retval] IDispatch **p);
17837
17838     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFO)]
17839     HRESULT CompatibleInfo([out, retval] IDispatch **p);
17840
17841     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFOCOLLECTION)]
17842     HRESULT CompatibleInfoCollection([out, retval] IDispatch **p);
17843
17844     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CONTROLRANGECOLLECTION)]
17845     HRESULT ControlRangeCollection([out, retval] IDispatch **p);
17846
17847     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSCURRENTSTYLEDECLARATION)]
17848     HRESULT CSSCurrentStyleDeclaration([out, retval] IDispatch **p);
17849
17850     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULELIST)]
17851     HRESULT CSSRuleList([out, retval] IDispatch **p);
17852
17853     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULESTYLEDECLARATION)]
17854     HRESULT CSSRuleStyleDeclaration([out, retval] IDispatch **p);
17855
17856     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLEDECLARATION)]
17857     HRESULT CSSStyleDeclaration([out, retval] IDispatch **p);
17858
17859     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLERULE)]
17860     HRESULT CSSStyleRule([out, retval] IDispatch **p);
17861
17862     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLESHEET)]
17863     HRESULT CSSStyleSheet([out, retval] IDispatch **p);
17864
17865     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DATATRANSFER)]
17866     HRESULT DataTransfer([out, retval] IDispatch **p);
17867
17868     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DOMIMPLEMENTATION)]
17869     HRESULT DOMImplementation([out, retval] IDispatch **p);
17870
17871     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ELEMENT)]
17872     HRESULT Element([out, retval] IDispatch **p);
17873
17874     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_EVENT)]
17875     HRESULT Event([out, retval] IDispatch **p);
17876
17877     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HISTORY)]
17878     HRESULT History([out, retval] IDispatch **p);
17879
17880     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTCELEMENTBEHAVIORDEFAULTS)]
17881     HRESULT HTCElementBehaviorDefaults([out, retval] IDispatch **p);
17882
17883     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLANCHORELEMENT)]
17884     HRESULT HTMLAnchorElement([out, retval] IDispatch **p);
17885
17886     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREAELEMENT)]
17887     HRESULT HTMLAreaElement([out, retval] IDispatch **p);
17888
17889     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREASCOLLECTION)]
17890     HRESULT HTMLAreasCollection([out, retval] IDispatch **p);
17891
17892     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEELEMENT)]
17893     HRESULT HTMLBaseElement([out, retval] IDispatch **p);
17894
17895     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEFONTELEMENT)]
17896     HRESULT HTMLBaseFontElement([out, retval] IDispatch **p);
17897
17898     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBGSOUNDELEMENT)]
17899     HRESULT HTMLBGSoundElement([out, retval] IDispatch **p);
17900
17901     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBLOCKELEMENT)]
17902     HRESULT HTMLBlockElement([out, retval] IDispatch **p);
17903
17904     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBODYELEMENT)]
17905     HRESULT HTMLBodyElement([out, retval] IDispatch **p);
17906
17907     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBRELEMENT)]
17908     HRESULT HTMLBRElement([out, retval] IDispatch **p);
17909
17910     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBUTTONELEMENT)]
17911     HRESULT HTMLButtonElement([out, retval] IDispatch **p);
17912
17913     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOLLECTION)]
17914     HRESULT HTMLCollection([out, retval] IDispatch **p);
17915
17916     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOMMENTELEMENT)]
17917     HRESULT HTMLCommentElement([out, retval] IDispatch **p);
17918
17919     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDDELEMENT)]
17920     HRESULT HTMLDDElement([out, retval] IDispatch **p);
17921
17922     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDIVELEMENT)]
17923     HRESULT HTMLDivElement([out, retval] IDispatch **p);
17924
17925     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDOCUMENT)]
17926     HRESULT HTMLDocument([out, retval] IDispatch **p);
17927
17928     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDLISTELEMENT)]
17929     HRESULT HTMLDListElement([out, retval] IDispatch **p);
17930
17931     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDTELEMENT)]
17932     HRESULT HTMLDTElement([out, retval] IDispatch **p);
17933
17934     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLEMBEDELEMENT)]
17935     HRESULT HTMLEmbedElement([out, retval] IDispatch **p);
17936
17937     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFIELDSETELEMENT)]
17938     HRESULT HTMLFieldSetElement([out, retval] IDispatch **p);
17939
17940     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFONTELEMENT)]
17941     HRESULT HTMLFontElement([out, retval] IDispatch **p);
17942
17943     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFORMELEMENT)]
17944     HRESULT HTMLFormElement([out, retval] IDispatch **p);
17945
17946     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMEELEMENT)]
17947     HRESULT HTMLFrameElement([out, retval] IDispatch **p);
17948
17949     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMESETELEMENT)]
17950     HRESULT HTMLFrameSetElement([out, retval] IDispatch **p);
17951
17952     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLGENERICELEMENT)]
17953     HRESULT HTMLGenericElement([out, retval] IDispatch **p);
17954
17955     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADELEMENT)]
17956     HRESULT HTMLHeadElement([out, retval] IDispatch **p);
17957
17958     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADINGELEMENT)]
17959     HRESULT HTMLHeadingElement([out, retval] IDispatch **p);
17960
17961     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHRELEMENT)]
17962     HRESULT HTMLHRElement([out, retval] IDispatch **p);
17963
17964     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHTMLELEMENT)]
17965     HRESULT HTMLHtmlElement([out, retval] IDispatch **p);
17966
17967     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIFRAMEELEMENT)]
17968     HRESULT HTMLIFrameElement([out, retval] IDispatch **p);
17969
17970     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIMAGEELEMENT)]
17971     HRESULT HTMLImageElement([out, retval] IDispatch **p);
17972
17973     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLINPUTELEMENT)]
17974     HRESULT HTMLInputElement([out, retval] IDispatch **p);
17975
17976     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLISINDEXELEMENT)]
17977     HRESULT HTMLIsIndexElement([out, retval] IDispatch **p);
17978
17979     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLABELELEMENT)]
17980     HRESULT HTMLLabelElement([out, retval] IDispatch **p);
17981
17982     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLEGENDELEMENT)]
17983     HRESULT HTMLLegendElement([out, retval] IDispatch **p);
17984
17985     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLIELEMENT)]
17986     HRESULT HTMLLIElement([out, retval] IDispatch **p);
17987
17988     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLINKELEMENT)]
17989     HRESULT HTMLLinkElement([out, retval] IDispatch **p);
17990
17991     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMAPELEMENT)]
17992     HRESULT HTMLMapElement([out, retval] IDispatch **p);
17993
17994     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMARQUEEELEMENT)]
17995     HRESULT HTMLMarqueeElement([out, retval] IDispatch **p);
17996
17997     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMETAELEMENT)]
17998     HRESULT HTMLMetaElement([out, retval] IDispatch **p);
17999
18000     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMODELESSDIALOG)]
18001     HRESULT HTMLModelessDialog([out, retval] IDispatch **p);
18002
18003     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFO)]
18004     HRESULT HTMLNamespaceInfo([out, retval] IDispatch **p);
18005
18006     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFOCOLLECTION)]
18007     HRESULT HTMLNamespaceInfoCollection([out, retval] IDispatch **p);
18008
18009     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNEXTIDELEMENT)]
18010     HRESULT HTMLNextIdElement([out, retval] IDispatch **p);
18011
18012     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNOSHOWELEMENT)]
18013     HRESULT HTMLNoShowElement([out, retval] IDispatch **p);
18014
18015     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOBJECTELEMENT)]
18016     HRESULT HTMLObjectElement([out, retval] IDispatch **p);
18017
18018     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOLISTELEMENT)]
18019     HRESULT HTMLOListElement([out, retval] IDispatch **p);
18020
18021     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOPTIONELEMENT)]
18022     HRESULT HTMLOptionElement([out, retval] IDispatch **p);
18023
18024     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAGRAPHELEMENT)]
18025     HRESULT HTMLParagraphElement([out, retval] IDispatch **p);
18026
18027     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAMELEMENT)]
18028     HRESULT HTMLParamElement([out, retval] IDispatch **p);
18029
18030     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPHRASEELEMENT)]
18031     HRESULT HTMLPhraseElement([out, retval] IDispatch **p);
18032
18033     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPLUGINSCOLLECTION)]
18034     HRESULT HTMLPluginsCollection([out, retval] IDispatch **p);
18035
18036     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPOPUP)]
18037     HRESULT HTMLPopup([out, retval] IDispatch **p);
18038
18039     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSCRIPTELEMENT)]
18040     HRESULT HTMLScriptElement([out, retval] IDispatch **p);
18041
18042     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSELECTELEMENT)]
18043     HRESULT HTMLSelectElement([out, retval] IDispatch **p);
18044
18045     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSPANELEMENT)]
18046     HRESULT HTMLSpanElement([out, retval] IDispatch **p);
18047
18048     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSTYLEELEMENT)]
18049     HRESULT HTMLStyleElement([out, retval] IDispatch **p);
18050
18051     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECAPTIONELEMENT)]
18052     HRESULT HTMLTableCaptionElement([out, retval] IDispatch **p);
18053
18054     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECELLELEMENT)]
18055     HRESULT HTMLTableCellElement([out, retval] IDispatch **p);
18056
18057     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECOLELEMENT)]
18058     HRESULT HTMLTableColElement([out, retval] IDispatch **p);
18059
18060     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEELEMENT)]
18061     HRESULT HTMLTableElement([out, retval] IDispatch **p);
18062
18063     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEROWELEMENT)]
18064     HRESULT HTMLTableRowElement([out, retval] IDispatch **p);
18065
18066     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLESECTIONELEMENT)]
18067     HRESULT HTMLTableSectionElement([out, retval] IDispatch **p);
18068
18069     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTAREAELEMENT)]
18070     HRESULT HTMLTextAreaElement([out, retval] IDispatch **p);
18071
18072     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTELEMENT)]
18073     HRESULT HTMLTextElement([out, retval] IDispatch **p);
18074
18075     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTITLEELEMENT)]
18076     HRESULT HTMLTitleElement([out, retval] IDispatch **p);
18077
18078     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLULISTELEMENT)]
18079     HRESULT HTMLUListElement([out, retval] IDispatch **p);
18080
18081     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLUNKNOWNELEMENT)]
18082     HRESULT HTMLUnknownElement([out, retval] IDispatch **p);
18083
18084     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_IMAGE)]
18085     HRESULT Image([out, retval] IDispatch **p);
18086
18087     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_LOCATION)]
18088     HRESULT Location([out, retval] IDispatch **p);
18089
18090     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAMEDNODEMAP)]
18091     HRESULT NamedNodeMap([out, retval] IDispatch **p);
18092
18093     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAVIGATOR)]
18094     HRESULT Navigator([out, retval] IDispatch **p);
18095
18096     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NODELIST)]
18097     HRESULT NodeList([out, retval] IDispatch **p);
18098
18099     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_OPTION)]
18100     HRESULT Option([out, retval] IDispatch **p);
18101
18102     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SCREEN)]
18103     HRESULT Screen([out, retval] IDispatch **p);
18104
18105     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SELECTION)]
18106     HRESULT Selection([out, retval] IDispatch **p);
18107
18108     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STATICNODELIST)]
18109     HRESULT StaticNodeList([out, retval] IDispatch **p);
18110
18111     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STORAGE)]
18112     HRESULT Storage([out, retval] IDispatch **p);
18113
18114     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETLIST)]
18115     HRESULT StyleSheetList([out, retval] IDispatch **p);
18116
18117     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGE)]
18118     HRESULT StyleSheetPage([out, retval] IDispatch **p);
18119
18120     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGELIST)]
18121     HRESULT StyleSheetPageList([out, retval] IDispatch **p);
18122
18123     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXT)]
18124     HRESULT Text([out, retval] IDispatch **p);
18125
18126     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGE)]
18127     HRESULT TextRange([out, retval] IDispatch **p);
18128
18129     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGECOLLECTION)]
18130     HRESULT TextRangeCollection([out, retval] IDispatch **p);
18131
18132     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLE)]
18133     HRESULT TextRectangle([out, retval] IDispatch **p);
18134
18135     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLELIST)]
18136     HRESULT TextRectangleList([out, retval] IDispatch **p);
18137
18138     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_WINDOW)]
18139     HRESULT Window([out, retval] IDispatch **p);
18140
18141     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XDOMAINREQUEST)]
18142     HRESULT XDomainRequest([out, retval] IDispatch **p);
18143
18144     [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XMLHTTPREQUEST)]
18145     HRESULT XMLHttpRequest([out, retval] IDispatch **p);
18146 }
18147
18148 /*****************************************************************************
18149  *    IXMLGenericParse interface
18150  */
18151 [
18152     object,
18153     pointer_default(unique),
18154     uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
18155 ]
18156 interface IXMLGenericParse : IUnknown
18157 {
18158     HRESULT SetGenericParse(
18159         [in] VARIANT_BOOL fDoGeneric);
18160 }
18161
18162 /*****************************************************************************
18163  *    ISegment interface
18164  */
18165 [
18166     object,
18167     pointer_default(unique),
18168     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
18169 ]
18170 interface ISegment : IUnknown
18171 {
18172     HRESULT GetPointers(
18173         [in] IMarkupPointer *pIStart,
18174         [in] IMarkupPointer *pIEnd);
18175 }
18176
18177 /*****************************************************************************
18178  *    IElementSegment interface
18179  */
18180 [
18181     object,
18182     pointer_default(unique),
18183     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
18184 ]
18185 interface IElementSegment : ISegment
18186 {
18187     HRESULT GetElement([out] IHTMLElement **ppIElement);
18188
18189     HRESULT SetPrimary([in] BOOL fPrimary);
18190
18191     HRESULT IsPrimary([out] BOOL *pfPrimary);
18192 }
18193
18194 /*****************************************************************************
18195  *    ISelectionServicesListener interface
18196  */
18197 [
18198     object,
18199     pointer_default(unique),
18200     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
18201 ]
18202 interface ISelectionServicesListener : IUnknown
18203 {
18204     HRESULT BeginSelectionUndo();
18205
18206     HRESULT EndSelectionUndo();
18207
18208     HRESULT OnSelectedElementExit(
18209         [in] IMarkupPointer *pIElementStart,
18210         [in] IMarkupPointer *pIElementEnd,
18211         [in] IMarkupPointer *pIElementContentStart,
18212         [in] IMarkupPointer *pIElementContentEnd);
18213
18214     HRESULT OnChangeType(
18215         [in] SELECTION_TYPE eType,
18216         [in] ISelectionServicesListener *pIListener);
18217
18218     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
18219 }
18220
18221 /*****************************************************************************
18222  *    ISelectionServices interface
18223  */
18224 [
18225     object,
18226     pointer_default(unique),
18227     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
18228 ]
18229 interface ISelectionServices : IUnknown
18230 {
18231     HRESULT SetSelectionType(
18232         [in] SELECTION_TYPE eType,
18233         [in] ISelectionServicesListener *pIListener);
18234
18235     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
18236
18237     HRESULT AddSegment(
18238         [in] IMarkupPointer *pIStart,
18239         [in] IMarkupPointer *pIEnd,
18240         [out] ISegment **ppISegmentAdded);
18241
18242     HRESULT AddElementSegment(
18243         [in] IHTMLElement *pIElement,
18244         [out] IElementSegment **ppISegmentAdded);
18245
18246     HRESULT RemoveSegment([in] ISegment *pISegment);
18247
18248     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
18249 }
18250
18251 /*****************************************************************************
18252  *    IHTMLEditDesigner interface
18253  */
18254 [
18255     object,
18256     pointer_default(unique),
18257     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
18258 ]
18259 interface IHTMLEditDesigner : IUnknown
18260 {
18261     HRESULT PreHandleEvent(
18262         [in] DISPID inEvtDispId,
18263         [in] IHTMLEventObj *pIEventObj);
18264
18265     HRESULT PostHandleEvent(
18266         [in] DISPID inEvtDispId,
18267         [in] IHTMLEventObj *pIEventObj);
18268
18269     HRESULT TranslateAccelerator(
18270         [in] DISPID inEvtDispId,
18271         [in] IHTMLEventObj *pIEventObj);
18272
18273     HRESULT PostEditorEventNotify(
18274         [in] DISPID inEvtDispId,
18275         [in] IHTMLEventObj *pIEventObj);
18276 }
18277
18278 /*****************************************************************************
18279  *    IHTMLEditServices interface
18280  */
18281 [
18282     object,
18283     pointer_default(unique),
18284     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
18285 ]
18286 interface IHTMLEditServices : IUnknown
18287 {
18288     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
18289
18290     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
18291
18292     HRESULT GetSelectionServices(
18293         [in] IMarkupContainer *pIContainer,
18294         [out] ISelectionServices **ppSelSvc);
18295
18296     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
18297
18298     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
18299
18300     HRESULT SelectRange(
18301         [in] IMarkupPointer* pStart,
18302         [in] IMarkupPointer* pEnd,
18303         [in] SELECTION_TYPE eType);
18304 }
18305
18306 /*****************************************************************************
18307  *    IElementBehaviorSite interface
18308  */
18309 [
18310     odl,
18311     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
18312 ]
18313 interface IElementBehaviorSite : IUnknown {
18314     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
18315     HRESULT RegisterNotification([in] long lEvent);
18316 }
18317
18318 /*****************************************************************************
18319  *    IElementBehavior interface
18320  */
18321 [
18322     odl,
18323     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
18324 ]
18325 interface IElementBehavior : IUnknown {
18326     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
18327     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
18328     HRESULT Detach();
18329 }
18330
18331 /*****************************************************************************
18332  *    IElementBehaviorFactory interface
18333  */
18334 [
18335     odl,
18336     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
18337 ]
18338 interface IElementBehaviorFactory : IUnknown
18339 {
18340     HRESULT FindBehavior(
18341         [in] BSTR bstrBehavior,
18342         [in] BSTR bstrBehaviorUrl,
18343         [in] IElementBehaviorSite *pSite,
18344         [out] IElementBehavior **ppBehavior);
18345 }
18346
18347 } /* library MSHTML */
18348
18349 interface IOleCommandTarget;
18350
18351 /*****************************************************************************
18352  *    IHTMLPrivateWindow interface
18353  */
18354 [
18355     object,
18356     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
18357     local
18358 ]
18359 interface IHTMLPrivateWindow : IUnknown
18360 {
18361     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
18362     HRESULT GetPendingUrl(BSTR *url);
18363     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
18364     HRESULT PICSComplete(int arg);
18365     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
18366     HRESULT GetAddressBarUrl(BSTR *url);
18367 }