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