xref: /reactos/sdk/include/psdk/mshtml.idl (revision 1734f297)
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
24import "ocidl.idl";
25import "dimm.idl";
26import "shtypes.idl";
27import "dispex.idl";
28
29#ifndef __WIDL__
30#define progid(str)
31#define vi_progid(str)
32#endif
33
34cpp_quote("#include <olectl.h>")
35
36cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
37cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
38cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
39cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
40cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
41
42cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
43cpp_quote("#undef FindText")
44cpp_quote("#endif")
45
46typedef enum {
47    POINTER_GRAVITY_Left,
48    POINTER_GRAVITY_Right,
49    POINTER_GRAVITY_Max = 2147483647
50} POINTER_GRAVITY;
51
52typedef enum {
53    CONTEXT_TYPE_None,
54    CONTEXT_TYPE_Text,
55    CONTEXT_TYPE_EnterScope,
56    CONTEXT_TYPE_ExitScope,
57    CONTEXT_TYPE_NoScope,
58    MARKUP_CONTEXT_TYPE_Max = 2147483647
59} MARKUP_CONTEXT_TYPE;
60
61typedef enum {
62    ELEM_ADJ_BeforeBegin,
63    ELEM_ADJ_AfterBegin,
64    ELEM_ADJ_BeforeEnd,
65    ELEM_ADJ_AfterEnd,
66    ELEMENT_ADJACENCY_Max = 2147483647
67} ELEMENT_ADJACENCY;
68
69typedef enum {
70    MOVEUNIT_PREVCHAR,
71    MOVEUNIT_NEXTCHAR,
72    MOVEUNIT_PREVCLUSTERBEG,
73    MOVEUNIT_NEXTCLUSTERBEG,
74    MOVEUNIT_PREVCLUSTEREND,
75    MOVEUNIT_NEXTCLUSTEREND,
76    MOVEUNIT_PREVWORDBEG,
77    MOVEUNIT_NEXTWORDBEG,
78    MOVEUNIT_PREVWORDEND,
79    MOVEUNIT_NEXTWORDEND,
80    MOVEUNIT_PREVPROOFWORD,
81    MOVEUNIT_NEXTPROOFWORD,
82    MOVEUNIT_NEXTURLBEG,
83    MOVEUNIT_PREVURLBEG,
84    MOVEUNIT_NEXTURLEND,
85    MOVEUNIT_PREVURLEND,
86    MOVEUNIT_PREVSENTENCE,
87    MOVEUNIT_NEXTSENTENCE,
88    MOVEUNIT_PREVBLOCK,
89    MOVEUNIT_NEXTBLOCK,
90    MOVEUNIT_ACTION_Max = 2147483647
91} MOVEUNIT_ACTION;
92
93typedef enum _SELECTION_TYPE {
94    SELECTION_TYPE_None,
95    SELECTION_TYPE_Caret,
96    SELECTION_TYPE_Text,
97    SELECTION_TYPE_Control,
98    SELECTION_TYPE_Max = 2147483647
99} SELECTION_TYPE;
100
101[
102    version(4.0),
103    uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
104]
105library MSHTML
106{
107
108importlib("stdole2.tlb");
109
110typedef enum _DomConstructor {
111    DomConstructorObject                      = 0,
112    DomConstructorAttr                        = 1,
113    DomConstructorBehaviorUrnsCollection      = 2,
114    DomConstructorBookmarkCollection          = 3,
115    DomConstructorCompatibleInfo              = 4,
116    DomConstructorCompatibleInfoCollection    = 5,
117    DomConstructorControlRangeCollection      = 6,
118    DomConstructorCSSCurrentStyleDeclaration  = 7,
119    DomConstructorCSSRuleList                 = 8,
120    DomConstructorCSSRuleStyleDeclaration     = 9,
121    DomConstructorCSSStyleDeclaration         = 10,
122    DomConstructorCSSStyleRule                = 11,
123    DomConstructorCSSStyleSheet               = 12,
124    DomConstructorDataTransfer                = 13,
125    DomConstructorDOMImplementation           = 14,
126    DomConstructorElement                     = 15,
127    DomConstructorEvent                       = 16,
128    DomConstructorHistory                     = 17,
129    DomConstructorHTCElementBehaviorDefaults  = 18,
130    DomConstructorHTMLAnchorElement           = 19,
131    DomConstructorHTMLAreaElement             = 20,
132    DomConstructorHTMLAreasCollection         = 21,
133    DomConstructorHTMLBaseElement             = 22,
134    DomConstructorHTMLBaseFontElement         = 23,
135    DomConstructorHTMLBGSoundElement          = 24,
136    DomConstructorHTMLBlockElement            = 25,
137    DomConstructorHTMLBodyElement             = 26,
138    DomConstructorHTMLBRElement               = 27,
139    DomConstructorHTMLButtonElement           = 28,
140    DomConstructorHTMLCollection              = 29,
141    DomConstructorHTMLCommentElement          = 30,
142    DomConstructorHTMLDDElement               = 31,
143    DomConstructorHTMLDivElement              = 32,
144    DomConstructorHTMLDocument                = 33,
145    DomConstructorHTMLDListElement            = 34,
146    DomConstructorHTMLDTElement               = 35,
147    DomConstructorHTMLEmbedElement            = 36,
148    DomConstructorHTMLFieldSetElement         = 37,
149    DomConstructorHTMLFontElement             = 38,
150    DomConstructorHTMLFormElement             = 39,
151    DomConstructorHTMLFrameElement            = 40,
152    DomConstructorHTMLFrameSetElement         = 41,
153    DomConstructorHTMLGenericElement          = 42,
154    DomConstructorHTMLHeadElement             = 43,
155    DomConstructorHTMLHeadingElement          = 44,
156    DomConstructorHTMLHRElement               = 45,
157    DomConstructorHTMLHtmlElement             = 46,
158    DomConstructorHTMLIFrameElement           = 47,
159    DomConstructorHTMLImageElement            = 48,
160    DomConstructorHTMLInputElement            = 49,
161    DomConstructorHTMLIsIndexElement          = 50,
162    DomConstructorHTMLLabelElement            = 51,
163    DomConstructorHTMLLegendElement           = 52,
164    DomConstructorHTMLLIElement               = 53,
165    DomConstructorHTMLLinkElement             = 54,
166    DomConstructorHTMLMapElement              = 55,
167    DomConstructorHTMLMarqueeElement          = 56,
168    DomConstructorHTMLMetaElement             = 57,
169    DomConstructorHTMLModelessDialog          = 58,
170    DomConstructorHTMLNamespaceInfo           = 59,
171    DomConstructorHTMLNamespaceInfoCollection = 60,
172    DomConstructorHTMLNextIdElement           = 61,
173    DomConstructorHTMLNoShowElement           = 62,
174    DomConstructorHTMLObjectElement           = 63,
175    DomConstructorHTMLOListElement            = 64,
176    DomConstructorHTMLOptionElement           = 65,
177    DomConstructorHTMLParagraphElement        = 66,
178    DomConstructorHTMLParamElement            = 67,
179    DomConstructorHTMLPhraseElement           = 68,
180    DomConstructorHTMLPluginsCollection       = 69,
181    DomConstructorHTMLPopup                   = 70,
182    DomConstructorHTMLScriptElement           = 71,
183    DomConstructorHTMLSelectElement           = 72,
184    DomConstructorHTMLSpanElement             = 73,
185    DomConstructorHTMLStyleElement            = 74,
186    DomConstructorHTMLTableCaptionElement     = 75,
187    DomConstructorHTMLTableCellElement        = 76,
188    DomConstructorHTMLTableColElement         = 77,
189    DomConstructorHTMLTableElement            = 78,
190    DomConstructorHTMLTableRowElement         = 79,
191    DomConstructorHTMLTableSectionElement     = 80,
192    DomConstructorHTMLTextAreaElement         = 81,
193    DomConstructorHTMLTextElement             = 82,
194    DomConstructorHTMLTitleElement            = 83,
195    DomConstructorHTMLUListElement            = 84,
196    DomConstructorHTMLUnknownElement          = 85,
197    DomConstructorImage                       = 86,
198    DomConstructorLocation                    = 87,
199    DomConstructorNamedNodeMap                = 88,
200    DomConstructorNavigator                   = 89,
201    DomConstructorNodeList                    = 90,
202    DomConstructorOption                      = 91,
203    DomConstructorScreen                      = 92,
204    DomConstructorSelection                   = 93,
205    DomConstructorStaticNodeList              = 94,
206    DomConstructorStorage                     = 95,
207    DomConstructorStyleSheetList              = 96,
208    DomConstructorStyleSheetPage              = 97,
209    DomConstructorStyleSheetPageList          = 98,
210    DomConstructorText                        = 99,
211    DomConstructorTextRange                   = 100,
212    DomConstructorTextRangeCollection         = 101,
213    DomConstructorTextRectangle               = 102,
214    DomConstructorTextRectangleList           = 103,
215    DomConstructorWindow                      = 104,
216    DomConstructorXDomainRequest              = 105,
217    DomConstructorXMLHttpRequest              = 106,
218    DomConstructorMax                         = 107,
219    DomConstructor_Max                        = 2147483647L
220} DomConstructor;
221
222[
223    odl,
224    oleautomation,
225    dual,
226    uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
227]
228interface IHTMLDOMConstructor : IDispatch
229{
230    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
231    HRESULT constructor([retval, out] IDispatch* * p);
232
233    HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
234
235    HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
236
237    HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
238
239    HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
240}
241
242#define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
243    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
244    IDispatch *constructor()
245
246interface IHTMLDocument2;
247interface IHTMLElement2;
248interface IHTMLStyleSheetsCollection;
249interface IHTMLFrameBase;
250interface IHTMLStorage;
251interface IDOMEvent;
252
253/*****************************************************************************
254 *    IHTMLFiltersCollection interface
255 */
256[
257    odl,
258    oleautomation,
259    dual,
260    uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
261]
262interface IHTMLFiltersCollection : IDispatch
263{
264    [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
265    HRESULT length([retval, out] LONG *p);
266
267    [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
268    HRESULT _newEnum([retval, out] IUnknown **p);
269
270    [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
271    HRESULT item(
272        [in] VARIANT *pvarIndex,
273        [retval, out] VARIANT *pvarResult);
274}
275
276/*****************************************************************************
277 *    IHTMLStyle interface
278 */
279[
280    odl,
281    oleautomation,
282    dual,
283    uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
284]
285interface IHTMLStyle : IDispatch
286{
287    [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
288    HRESULT fontFamily([in] BSTR v);
289
290    [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
291    HRESULT fontFamily([retval, out] BSTR *p);
292
293    [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
294    HRESULT fontStyle([in] BSTR v);
295
296    [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
297    HRESULT fontStyle([retval, out] BSTR *p);
298
299    [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
300    HRESULT fontVariant([in] BSTR v);
301
302    [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
303    HRESULT fontVariant([retval, out] BSTR *p);
304
305    [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
306    HRESULT fontWeight([in] BSTR v);
307
308    [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
309    HRESULT fontWeight([retval, out] BSTR *p);
310
311    [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
312    HRESULT fontSize([in] VARIANT v);
313
314    [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
315    HRESULT fontSize([retval, out] VARIANT *p);
316
317    [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
318    HRESULT font([in] BSTR v);
319
320    [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
321    HRESULT font([retval, out] BSTR *p);
322
323    [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
324    HRESULT color([in] VARIANT v);
325
326    [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
327    HRESULT color([retval, out] VARIANT *p);
328
329    [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
330    HRESULT background([in] BSTR v);
331
332    [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
333    HRESULT background([retval, out] BSTR *p);
334
335    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
336    HRESULT backgroundColor([in] VARIANT v);
337
338    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
339    HRESULT backgroundColor([retval, out] VARIANT *p);
340
341    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
342    HRESULT backgroundImage([in] BSTR v);
343
344    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
345    HRESULT backgroundImage([retval, out] BSTR *p);
346
347    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
348    HRESULT backgroundRepeat([in] BSTR v);
349
350    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
351    HRESULT backgroundRepeat([retval, out] BSTR *p);
352
353    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
354    HRESULT backgroundAttachment([in] BSTR v);
355
356    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
357    HRESULT backgroundAttachment([retval, out] BSTR *p);
358
359    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
360    HRESULT backgroundPosition([in] BSTR v);
361
362    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
363    HRESULT backgroundPosition([retval, out] BSTR *p);
364
365    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
366    HRESULT backgroundPositionX([in] VARIANT v);
367
368    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
369    HRESULT backgroundPositionX([retval, out] VARIANT *p);
370
371    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
372    HRESULT backgroundPositionY([in] VARIANT v);
373
374    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
375    HRESULT backgroundPositionY([retval, out] VARIANT *p);
376
377    [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
378    HRESULT wordSpacing([in] VARIANT v);
379
380    [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
381    HRESULT wordSpacing([retval, out] VARIANT *p);
382
383    [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
384    HRESULT letterSpacing([in] VARIANT v);
385
386    [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
387    HRESULT letterSpacing([retval, out] VARIANT *p);
388
389    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
390    HRESULT textDecoration([in] BSTR v);
391
392    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
393    HRESULT textDecoration([retval, out] BSTR *p);
394
395    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
396    HRESULT textDecorationNone([in] VARIANT_BOOL v);
397
398    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
399    HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
400
401    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
402    HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
403
404    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
405    HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
406
407    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
408    HRESULT textDecorationOverline([in] VARIANT_BOOL v);
409
410    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
411    HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
412
413    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
414    HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
415
416    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
417    HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
418
419    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
420    HRESULT textDecorationBlink([in] VARIANT_BOOL v);
421
422    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
423    HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
424
425    [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
426    HRESULT verticalAlign([in] VARIANT v);
427
428    [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
429    HRESULT verticalAlign([retval, out] VARIANT *p);
430
431    [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
432    HRESULT textTransform([in] BSTR v);
433
434    [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
435    HRESULT textTransform([retval, out] BSTR *p);
436
437    [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
438    HRESULT textAlign([in] BSTR v);
439
440    [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
441    HRESULT textAlign([retval, out] BSTR *p);
442
443    [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
444    HRESULT textIndent([in] VARIANT v);
445
446    [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
447    HRESULT textIndent([retval, out] VARIANT *p);
448
449    [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
450    HRESULT lineHeight([in] VARIANT v);
451
452    [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
453    HRESULT lineHeight([retval, out] VARIANT *p);
454
455    [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
456    HRESULT marginTop([in] VARIANT v);
457
458    [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
459    HRESULT marginTop([retval, out] VARIANT *p);
460
461    [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
462    HRESULT marginRight([in] VARIANT v);
463
464    [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
465    HRESULT marginRight([retval, out] VARIANT *p);
466
467    [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
468    HRESULT marginBottom([in] VARIANT v);
469
470    [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
471    HRESULT marginBottom([retval, out] VARIANT *p);
472
473    [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
474    HRESULT marginLeft([in] VARIANT v);
475
476    [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
477    HRESULT marginLeft([retval, out] VARIANT *p);
478
479    [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
480    HRESULT margin([in] BSTR v);
481
482    [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
483    HRESULT margin([retval, out] BSTR *p);
484
485    [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
486    HRESULT paddingTop([in] VARIANT v);
487
488    [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
489    HRESULT paddingTop([retval, out] VARIANT *p);
490
491    [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
492    HRESULT paddingRight([in] VARIANT v);
493
494    [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
495    HRESULT paddingRight([retval, out] VARIANT *p);
496
497    [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
498    HRESULT paddingBottom([in] VARIANT v);
499
500    [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
501    HRESULT paddingBottom([retval, out] VARIANT *p);
502
503    [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
504    HRESULT paddingLeft([in] VARIANT v);
505
506    [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
507    HRESULT paddingLeft([retval, out] VARIANT *p);
508
509    [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
510    HRESULT padding([in] BSTR v);
511
512    [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
513    HRESULT padding([retval, out] BSTR *p);
514
515    [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
516    HRESULT border([in] BSTR v);
517
518    [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
519    HRESULT border([retval, out] BSTR *p);
520
521    [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
522    HRESULT borderTop([in] BSTR v);
523
524    [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
525    HRESULT borderTop([retval, out] BSTR *p);
526
527    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
528    HRESULT borderRight([in] BSTR v);
529
530    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
531    HRESULT borderRight([retval, out] BSTR *p);
532
533    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
534    HRESULT borderBottom([in] BSTR v);
535
536    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
537    HRESULT borderBottom([retval, out] BSTR *p);
538
539    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
540    HRESULT borderLeft([in] BSTR v);
541
542    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
543    HRESULT borderLeft([retval, out] BSTR *p);
544
545    [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
546    HRESULT borderColor([in] BSTR v);
547
548    [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
549    HRESULT borderColor([retval, out] BSTR *p);
550
551    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
552    HRESULT borderTopColor([in] VARIANT v);
553
554    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
555    HRESULT borderTopColor([retval, out] VARIANT *p);
556
557    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
558    HRESULT borderRightColor([in] VARIANT v);
559
560    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
561    HRESULT borderRightColor([retval, out] VARIANT *p);
562
563    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
564    HRESULT borderBottomColor([in] VARIANT v);
565
566    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
567    HRESULT borderBottomColor([retval, out] VARIANT *p);
568
569    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
570    HRESULT borderLeftColor([in] VARIANT v);
571
572    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
573    HRESULT borderLeftColor([retval, out] VARIANT *p);
574
575    [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
576    HRESULT borderWidth([in] BSTR v);
577
578    [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
579    HRESULT borderWidth([retval, out] BSTR *p);
580
581    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
582    HRESULT borderTopWidth([in] VARIANT v);
583
584    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
585    HRESULT borderTopWidth([retval, out] VARIANT *p);
586
587    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
588    HRESULT borderRightWidth([in] VARIANT v);
589
590    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
591    HRESULT borderRightWidth([retval, out] VARIANT *p);
592
593    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
594    HRESULT borderBottomWidth([in] VARIANT v);
595
596    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
597    HRESULT borderBottomWidth([retval, out] VARIANT *p);
598
599    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
600    HRESULT borderLeftWidth([in] VARIANT v);
601
602    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
603    HRESULT borderLeftWidth([retval, out] VARIANT *p);
604
605    [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
606    HRESULT borderStyle([in] BSTR v);
607
608    [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
609    HRESULT borderStyle([retval, out] BSTR *p);
610
611    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
612    HRESULT borderTopStyle([in] BSTR v);
613
614    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
615    HRESULT borderTopStyle([retval, out] BSTR *p);
616
617    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
618    HRESULT borderRightStyle([in] BSTR v);
619
620    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
621    HRESULT borderRightStyle([retval, out] BSTR *p);
622
623    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
624    HRESULT borderBottomStyle([in] BSTR v);
625
626    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
627    HRESULT borderBottomStyle([retval, out] BSTR *p);
628
629    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
630    HRESULT borderLeftStyle([in] BSTR v);
631
632    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
633    HRESULT borderLeftStyle([retval, out] BSTR *p);
634
635    [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
636    HRESULT width([in] VARIANT v);
637
638    [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
639    HRESULT width([retval, out] VARIANT *p);
640
641    [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
642    HRESULT height([in] VARIANT v);
643
644    [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
645    HRESULT height([retval, out] VARIANT *p);
646
647    [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
648    HRESULT styleFloat([in] BSTR v);
649
650    [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
651    HRESULT styleFloat([retval, out] BSTR *p);
652
653    [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
654    HRESULT clear([in] BSTR v);
655
656    [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
657    HRESULT clear([retval, out] BSTR *p);
658
659    [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
660    HRESULT display([in] BSTR v);
661
662    [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
663    HRESULT display([retval, out] BSTR *p);
664
665    [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
666    HRESULT visibility([in] BSTR v);
667
668    [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
669    HRESULT visibility([retval, out] BSTR *p);
670
671    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
672    HRESULT listStyleType([in] BSTR v);
673
674    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
675    HRESULT listStyleType([retval, out] BSTR *p);
676
677    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
678    HRESULT listStylePosition([in] BSTR v);
679
680    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
681    HRESULT listStylePosition([retval, out] BSTR *p);
682
683    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
684    HRESULT listStyleImage([in] BSTR v);
685
686    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
687    HRESULT listStyleImage([retval, out] BSTR *p);
688
689    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
690    HRESULT listStyle([in] BSTR v);
691
692    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
693    HRESULT listStyle([retval, out] BSTR *p);
694
695    [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
696    HRESULT whiteSpace([in] BSTR v);
697
698    [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
699    HRESULT whiteSpace([retval, out] BSTR *p);
700
701    [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
702    HRESULT top([in] VARIANT v);
703
704    [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
705    HRESULT top([retval, out] VARIANT *p);
706
707    [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
708    HRESULT left([in] VARIANT v);
709
710    [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
711    HRESULT left([retval, out] VARIANT *p);
712
713    [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
714    HRESULT position([retval, out] BSTR *p);
715
716    [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
717    HRESULT zIndex([in] VARIANT v);
718
719    [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
720    HRESULT zIndex([retval, out] VARIANT *p);
721
722    [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
723    HRESULT overflow([in] BSTR v);
724
725    [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
726    HRESULT overflow([retval, out] BSTR *p);
727
728    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
729    HRESULT pageBreakBefore([in] BSTR v);
730
731    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
732    HRESULT pageBreakBefore([retval, out] BSTR *p);
733
734    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
735    HRESULT pageBreakAfter([in] BSTR v);
736
737    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
738    HRESULT pageBreakAfter([retval, out] BSTR *p);
739
740    [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
741    HRESULT cssText([in] BSTR v);
742
743    [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
744    HRESULT cssText([retval, out] BSTR *p);
745
746    [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
747    HRESULT pixelTop([in] LONG v);
748
749    [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
750    HRESULT pixelTop([retval, out] LONG *p);
751
752    [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
753    HRESULT pixelLeft([in] LONG v);
754
755    [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
756    HRESULT pixelLeft([retval, out] LONG *p);
757
758    [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
759    HRESULT pixelWidth([in] LONG v);
760
761    [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
762    HRESULT pixelWidth([retval, out] LONG *p);
763
764    [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
765    HRESULT pixelHeight([in] LONG v);
766
767    [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
768    HRESULT pixelHeight([retval, out] LONG *p);
769
770    [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
771    HRESULT posTop([in] float v);
772
773    [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
774    HRESULT posTop([retval, out] float *p);
775
776    [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
777    HRESULT posLeft([in] float v);
778
779    [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
780    HRESULT posLeft([retval, out] float *p);
781
782    [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
783    HRESULT posWidth([in] float v);
784
785    [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
786    HRESULT posWidth([retval, out] float *p);
787
788    [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
789    HRESULT posHeight([in] float v);
790
791    [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
792    HRESULT posHeight([retval, out] float *p);
793
794    [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
795    HRESULT cursor([in] BSTR v);
796
797    [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
798    HRESULT cursor([retval, out] BSTR *p);
799
800    [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
801    HRESULT clip([in] BSTR v);
802
803    [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
804    HRESULT clip([retval, out] BSTR *p);
805
806    [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
807    HRESULT filter([in] BSTR v);
808
809    [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
810    HRESULT filter([retval, out] BSTR *p);
811
812    [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
813    HRESULT setAttribute(
814        [in] BSTR strAttributeName,
815        [in] VARIANT AttributeValue,
816        [defaultvalue(1), in] LONG lFlags);
817
818    [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
819    HRESULT getAttribute(
820        [in] BSTR strAttributeName,
821        [defaultvalue(0), in] LONG lFlags,
822        [retval, out] VARIANT *AttributeValue);
823
824    [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
825    HRESULT removeAttribute(
826        [in] BSTR strAttributeName,
827        [defaultvalue(1), in]
828        LONG lFlags,
829        [retval, out] VARIANT_BOOL *pfSuccess);
830
831    [id(DISPID_IHTMLSTYLE_TOSTRING)]
832    HRESULT toString([retval, out] BSTR *String);
833}
834
835/*****************************************************************************
836 *    IHTMLStyle2 interface
837 */
838[
839    odl,
840    oleautomation,
841    dual,
842    uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
843]
844interface IHTMLStyle2 : IDispatch
845{
846    [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
847    HRESULT tableLayout([in] BSTR v);
848
849    [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
850    HRESULT tableLayout([out, retval] BSTR *p);
851
852    [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
853    HRESULT borderCollapse([in] BSTR v);
854
855    [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
856    HRESULT borderCollapse([out, retval] BSTR *p);
857
858    [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
859    HRESULT direction([in] BSTR v);
860
861    [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
862    HRESULT direction([out, retval] BSTR *p);
863
864    [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
865    HRESULT behavior([in] BSTR v);
866
867    [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
868    HRESULT behavior([out, retval] BSTR *p);
869
870    [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
871    HRESULT setExpression(
872            [in] BSTR propname,
873            [in] BSTR expression,
874            [in, defaultvalue("")] BSTR language);
875
876    [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
877    HRESULT getExpression(
878            [in] BSTR propname,
879            [out, retval] VARIANT *expression);
880
881    [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
882    HRESULT removeExpression(
883            [in] BSTR propname,
884            [out, retval] VARIANT_BOOL *pfSuccess);
885
886    [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
887    HRESULT position([in] BSTR v);
888
889    [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
890    HRESULT position([out, retval] BSTR *p);
891
892    [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
893    HRESULT unicodeBidi([in] BSTR v);
894
895    [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
896    HRESULT unicodeBidi([out, retval] BSTR *p);
897
898    [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
899    HRESULT bottom([in] VARIANT v);
900
901    [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
902    HRESULT bottom([out, retval] VARIANT *p);
903
904    [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
905    HRESULT right([in] VARIANT v);
906
907    [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
908    HRESULT right([out, retval] VARIANT *p);
909
910    [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
911    HRESULT pixelBottom([in] LONG v);
912
913    [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
914    HRESULT pixelBottom([out, retval] LONG *p);
915
916    [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
917    HRESULT pixelRight([in] LONG v);
918
919    [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
920    HRESULT pixelRight([out, retval] LONG *p);
921
922    [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
923    HRESULT posBottom([in] float v);
924
925    [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
926    HRESULT posBottom([out, retval] float *p);
927
928    [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
929    HRESULT posRight([in] float v);
930
931    [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
932    HRESULT posRight([out, retval] float *p);
933
934    [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
935    HRESULT imeMode([in] BSTR v);
936
937    [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
938    HRESULT imeMode([out, retval] BSTR *p);
939
940    [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
941    HRESULT rubyAlign([in] BSTR v);
942
943    [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
944    HRESULT rubyAlign([out, retval] BSTR *p);
945
946    [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
947    HRESULT rubyPosition([in] BSTR v);
948
949    [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
950    HRESULT rubyPosition([out, retval] BSTR *p);
951
952    [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
953    HRESULT rubyOverhang([in] BSTR v);
954
955    [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
956    HRESULT rubyOverhang([out, retval] BSTR *p);
957
958    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
959    HRESULT layoutGridChar([in] VARIANT v);
960
961    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
962    HRESULT layoutGridChar([out, retval] VARIANT *p);
963
964    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
965    HRESULT layoutGridLine([in] VARIANT v);
966
967    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
968    HRESULT layoutGridLine([out, retval] VARIANT *p);
969
970    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
971    HRESULT layoutGridMode([in] BSTR v);
972
973    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
974    HRESULT layoutGridMode([out, retval] BSTR *p);
975
976    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
977    HRESULT layoutGridType([in] BSTR v);
978
979    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
980    HRESULT layoutGridType([out, retval] BSTR *p);
981
982    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
983    HRESULT layoutGrid([in] BSTR v);
984
985    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
986    HRESULT layoutGrid([out, retval] BSTR *p);
987
988    [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
989    HRESULT wordBreak([in] BSTR v);
990
991    [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
992    HRESULT wordBreak([out, retval] BSTR *p);
993
994    [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
995    HRESULT lineBreak([in] BSTR v);
996
997    [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
998    HRESULT lineBreak([out, retval] BSTR *p);
999
1000    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1001    HRESULT textJustify([in] BSTR v);
1002
1003    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1004    HRESULT textJustify([out, retval] BSTR *p);
1005
1006    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1007    HRESULT textJustifyTrim([in] BSTR v);
1008
1009    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1010    HRESULT textJustifyTrim([out, retval] BSTR *p);
1011
1012    [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1013    HRESULT textKashida([in] VARIANT v);
1014
1015    [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1016    HRESULT textKashida([out, retval] VARIANT *p);
1017
1018    [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1019    HRESULT textAutospace([in] BSTR v);
1020
1021    [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1022    HRESULT textAutospace([out, retval] BSTR *p);
1023
1024    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1025    HRESULT overflowX([in] BSTR v);
1026
1027    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1028    HRESULT overflowX([out, retval] BSTR *p);
1029
1030    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1031    HRESULT overflowY([in] BSTR v);
1032
1033    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1034    HRESULT overflowY([out, retval] BSTR *p);
1035
1036    [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1037    HRESULT accelerator([in] BSTR v);
1038
1039    [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1040    HRESULT accelerator([out, retval] BSTR *p);
1041}
1042
1043/*****************************************************************************
1044 *    IHTMLRuleStyle interface
1045 */
1046[
1047    odl,
1048    oleautomation,
1049    dual,
1050    uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
1051]
1052interface IHTMLRuleStyle : IDispatch
1053{
1054    [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
1055    HRESULT fontFamily([in] BSTR v);
1056
1057    [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
1058    HRESULT fontFamily([retval, out] BSTR *p);
1059
1060    [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
1061    HRESULT fontStyle([in] BSTR v);
1062
1063    [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
1064    HRESULT fontStyle([retval, out] BSTR *p);
1065
1066    [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
1067    HRESULT fontVariant([in] BSTR v);
1068
1069    [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
1070    HRESULT fontVariant([retval, out] BSTR *p);
1071
1072    [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
1073    HRESULT fontWeight([in] BSTR v);
1074
1075    [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
1076    HRESULT fontWeight([retval, out] BSTR *p);
1077
1078    [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
1079    HRESULT fontSize([in] VARIANT v);
1080
1081    [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
1082    HRESULT fontSize([retval, out] VARIANT *p);
1083
1084    [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
1085    HRESULT font([in] BSTR v);
1086
1087    [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
1088    HRESULT font([retval, out] BSTR *p);
1089
1090    [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
1091    HRESULT color([in] VARIANT v);
1092
1093    [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
1094    HRESULT color([retval, out] VARIANT *p);
1095
1096    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
1097    HRESULT background([in] BSTR v);
1098
1099    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
1100    HRESULT background([retval, out] BSTR *p);
1101
1102    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
1103    HRESULT backgroundColor([in] VARIANT v);
1104
1105    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
1106    HRESULT backgroundColor([retval, out] VARIANT *p);
1107
1108    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
1109    HRESULT backgroundImage([in] BSTR v);
1110
1111    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
1112    HRESULT backgroundImage([retval, out] BSTR *p);
1113
1114    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1115    HRESULT backgroundRepeat([in] BSTR v);
1116
1117    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1118    HRESULT backgroundRepeat([retval, out] BSTR *p);
1119
1120    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1121    HRESULT backgroundAttachment([in] BSTR v);
1122
1123    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1124    HRESULT backgroundAttachment([retval, out] BSTR *p);
1125
1126    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1127    HRESULT backgroundPosition([in] BSTR v);
1128
1129    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1130    HRESULT backgroundPosition([retval, out] BSTR *p);
1131
1132    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1133    HRESULT backgroundPositionX([in] VARIANT v);
1134
1135    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1136    HRESULT backgroundPositionX([retval, out] VARIANT *p);
1137
1138    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1139    HRESULT backgroundPositionY([in] VARIANT v);
1140
1141    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1142    HRESULT backgroundPositionY([retval, out] VARIANT *p);
1143
1144    [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1145    HRESULT wordSpacing([in] VARIANT v);
1146
1147    [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1148    HRESULT wordSpacing([retval, out] VARIANT *p);
1149
1150    [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1151    HRESULT letterSpacing([in] VARIANT v);
1152
1153    [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1154    HRESULT letterSpacing([retval, out] VARIANT *p);
1155
1156    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1157    HRESULT textDecoration([in] BSTR v);
1158
1159    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1160    HRESULT textDecoration([retval, out] BSTR *p);
1161
1162    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1163    HRESULT textDecorationNone([in] VARIANT_BOOL v);
1164
1165    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1166    HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1167
1168    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1169    HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1170
1171    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1172    HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1173
1174    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1175    HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1176
1177    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1178    HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1179
1180    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1181    HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1182
1183    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1184    HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1185
1186    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1187    HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1188
1189    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1190    HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1191
1192    [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1193    HRESULT verticalAlign([in] VARIANT v);
1194
1195    [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1196    HRESULT verticalAlign([retval, out] VARIANT *p);
1197
1198    [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1199    HRESULT textTransform([in] BSTR v);
1200
1201    [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1202    HRESULT textTransform([retval, out] BSTR *p);
1203
1204    [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1205    HRESULT textAlign([in] BSTR v);
1206
1207    [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1208    HRESULT textAlign([retval, out] BSTR *p);
1209
1210    [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1211    HRESULT textIndent([in] VARIANT v);
1212
1213    [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1214    HRESULT textIndent([retval, out] VARIANT *p);
1215
1216    [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1217    HRESULT lineHeight([in] VARIANT v);
1218
1219    [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1220    HRESULT lineHeight([retval, out] VARIANT *p);
1221
1222    [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1223    HRESULT marginTop([in] VARIANT v);
1224
1225    [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1226    HRESULT marginTop([retval, out] VARIANT *p);
1227
1228    [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1229    HRESULT marginRight([in] VARIANT v);
1230
1231    [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1232    HRESULT marginRight([retval, out] VARIANT *p);
1233
1234    [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1235    HRESULT marginBottom([in] VARIANT v);
1236
1237    [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1238    HRESULT marginBottom([retval, out] VARIANT *p);
1239
1240    [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1241    HRESULT marginLeft([in] VARIANT v);
1242
1243    [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1244    HRESULT marginLeft([retval, out] VARIANT *p);
1245
1246    [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1247    HRESULT margin([in] BSTR v);
1248
1249    [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1250    HRESULT margin([retval, out] BSTR *p);
1251
1252    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1253    HRESULT paddingTop([in] VARIANT v);
1254
1255    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1256    HRESULT paddingTop([retval, out] VARIANT *p);
1257
1258    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1259    HRESULT paddingRight([in] VARIANT v);
1260
1261    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1262    HRESULT paddingRight([retval, out] VARIANT *p);
1263
1264    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1265    HRESULT paddingBottom([in] VARIANT v);
1266
1267    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1268    HRESULT paddingBottom([retval, out] VARIANT *p);
1269
1270    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1271    HRESULT paddingLeft([in] VARIANT v);
1272
1273    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1274    HRESULT paddingLeft([retval, out] VARIANT *p);
1275
1276    [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1277    HRESULT padding([in] BSTR v);
1278
1279    [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1280    HRESULT padding([retval, out] BSTR *p);
1281
1282    [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1283    HRESULT border([in] BSTR v);
1284
1285    [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1286    HRESULT border([retval, out] BSTR *p);
1287
1288    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1289    HRESULT borderTop([in] BSTR v);
1290
1291    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1292    HRESULT borderTop([retval, out] BSTR *p);
1293
1294    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1295    HRESULT borderRight([in] BSTR v);
1296
1297    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1298    HRESULT borderRight([retval, out] BSTR *p);
1299
1300    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1301    HRESULT borderBottom([in] BSTR v);
1302
1303    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1304    HRESULT borderBottom([retval, out] BSTR *p);
1305
1306    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1307    HRESULT borderLeft([in] BSTR v);
1308
1309    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1310    HRESULT borderLeft([retval, out] BSTR *p);
1311
1312    [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1313    HRESULT borderColor([in] BSTR v);
1314
1315    [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1316    HRESULT borderColor([retval, out] BSTR *p);
1317
1318    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1319    HRESULT borderTopColor([in] VARIANT v);
1320
1321    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1322    HRESULT borderTopColor([retval, out] VARIANT *p);
1323
1324    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1325    HRESULT borderRightColor([in] VARIANT v);
1326
1327    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1328    HRESULT borderRightColor([retval, out] VARIANT *p);
1329
1330    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1331    HRESULT borderBottomColor([in] VARIANT v);
1332
1333    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1334    HRESULT borderBottomColor([retval, out] VARIANT *p);
1335
1336    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1337    HRESULT borderLeftColor([in] VARIANT v);
1338
1339    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1340    HRESULT borderLeftColor([retval, out] VARIANT *p);
1341
1342    [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1343    HRESULT borderWidth([in] BSTR v);
1344
1345    [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1346    HRESULT borderWidth([retval, out] BSTR *p);
1347
1348    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1349    HRESULT borderTopWidth([in] VARIANT v);
1350
1351    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1352    HRESULT borderTopWidth([retval, out] VARIANT *p);
1353
1354    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1355    HRESULT borderRightWidth([in] VARIANT v);
1356
1357    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1358    HRESULT borderRightWidth([retval, out] VARIANT *p);
1359
1360    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1361    HRESULT borderBottomWidth([in] VARIANT v);
1362
1363    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1364    HRESULT borderBottomWidth([retval, out] VARIANT *p);
1365
1366    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1367    HRESULT borderLeftWidth([in] VARIANT v);
1368
1369    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1370    HRESULT borderLeftWidth([retval, out] VARIANT *p);
1371
1372    [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1373    HRESULT borderStyle([in] BSTR v);
1374
1375    [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1376    HRESULT borderStyle([retval, out] BSTR *p);
1377
1378    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1379    HRESULT borderTopStyle([in] BSTR v);
1380
1381    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1382    HRESULT borderTopStyle([retval, out] BSTR *p);
1383
1384    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1385    HRESULT borderRightStyle([in] BSTR v);
1386
1387    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1388    HRESULT borderRightStyle([retval, out] BSTR *p);
1389
1390    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1391    HRESULT borderBottomStyle([in] BSTR v);
1392
1393    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1394    HRESULT borderBottomStyle([retval, out] BSTR *p);
1395
1396    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1397    HRESULT borderLeftStyle([in] BSTR v);
1398
1399    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1400    HRESULT borderLeftStyle([retval, out] BSTR *p);
1401
1402    [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1403    HRESULT width([in] VARIANT v);
1404
1405    [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1406    HRESULT width([retval, out] VARIANT *p);
1407
1408    [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1409    HRESULT height([in] VARIANT v);
1410
1411    [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1412    HRESULT height([retval, out] VARIANT *p);
1413
1414    [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1415    HRESULT styleFloat([in] BSTR v);
1416
1417    [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1418    HRESULT styleFloat([retval, out] BSTR *p);
1419
1420    [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1421    HRESULT clear([in] BSTR v);
1422
1423    [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1424    HRESULT clear([retval, out] BSTR *p);
1425
1426    [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1427    HRESULT display([in] BSTR v);
1428
1429    [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1430    HRESULT display([retval, out] BSTR *p);
1431
1432    [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1433    HRESULT visibility([in] BSTR v);
1434
1435    [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1436    HRESULT visibility([retval, out] BSTR *p);
1437
1438    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1439    HRESULT listStyleType([in] BSTR v);
1440
1441    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1442    HRESULT listStyleType([retval, out] BSTR *p);
1443
1444    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1445    HRESULT listStylePosition([in] BSTR v);
1446
1447    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1448    HRESULT listStylePosition([retval, out] BSTR *p);
1449
1450    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1451    HRESULT listStyleImage([in] BSTR v);
1452
1453    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1454    HRESULT listStyleImage([retval, out] BSTR *p);
1455
1456    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1457    HRESULT listStyle([in] BSTR v);
1458
1459    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1460    HRESULT listStyle([retval, out] BSTR *p);
1461
1462    [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1463    HRESULT whiteSpace([in] BSTR v);
1464
1465    [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1466    HRESULT whiteSpace([retval, out] BSTR *p);
1467
1468    [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1469    HRESULT top([in] VARIANT v);
1470
1471    [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1472    HRESULT top([retval, out] VARIANT *p);
1473
1474    [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1475    HRESULT left([in] VARIANT v);
1476
1477    [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1478    HRESULT left([retval, out] VARIANT *p);
1479
1480    [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1481    HRESULT position([retval, out] BSTR *p);
1482
1483    [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1484    HRESULT zIndex([in] VARIANT v);
1485
1486    [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1487    HRESULT zIndex([retval, out] VARIANT *p);
1488
1489    [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1490    HRESULT overflow([in] BSTR v);
1491
1492    [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1493    HRESULT overflow([retval, out] BSTR *p);
1494
1495    [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1496    HRESULT pageBreakBefore([in] BSTR v);
1497
1498    [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1499    HRESULT pageBreakBefore([retval, out] BSTR *p);
1500
1501    [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1502    HRESULT pageBreakAfter([in] BSTR v);
1503
1504    [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1505    HRESULT pageBreakAfter([retval, out] BSTR *p);
1506
1507    [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1508    HRESULT cssText([in] BSTR v);
1509
1510    [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1511    HRESULT cssText([retval, out] BSTR *p);
1512
1513    [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1514    HRESULT cursor([in] BSTR v);
1515
1516    [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1517    HRESULT cursor([retval, out] BSTR *p);
1518
1519    [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1520    HRESULT clip([in] BSTR v);
1521
1522    [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1523    HRESULT clip([retval, out] BSTR *p);
1524
1525    [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1526    HRESULT filter([in] BSTR v);
1527
1528    [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1529    HRESULT filter([retval, out] BSTR *p);
1530
1531    [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1532    HRESULT setAttribute(
1533        [in] BSTR strAttributeName,
1534        [in] VARIANT AttributeValue,
1535        [defaultvalue(1), in] LONG lFlags);
1536
1537    [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1538    HRESULT getAttribute(
1539        [in] BSTR strAttributeName,
1540        [defaultvalue(0), in] LONG lFlags,
1541        [retval, out] VARIANT *AttributeValue);
1542
1543    [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1544    HRESULT removeAttribute(
1545        [in] BSTR strAttributeName,
1546        [defaultvalue(1), in] LONG lFlags,
1547        [retval, out] VARIANT_BOOL *pfSuccess);
1548}
1549
1550/*****************************************************************************
1551 *    DispHTMLStyle dispinterface
1552 */
1553[
1554    hidden,
1555    uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1556]
1557dispinterface DispHTMLStyle
1558{
1559properties:
1560methods:
1561    [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1562    void fontFamily(BSTR v);
1563
1564    [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1565    BSTR fontFamily();
1566
1567    [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1568    void fontStyle(BSTR v);
1569
1570    [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1571    BSTR fontStyle();
1572
1573    [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1574    void fontVariant(BSTR v);
1575
1576    [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1577    BSTR fontVariant();
1578
1579    [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1580    void fontWeight(BSTR v);
1581
1582    [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1583    BSTR fontWeight();
1584
1585    [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1586    void fontSize(VARIANT v);
1587
1588    [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1589    VARIANT fontSize();
1590
1591    [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1592    void font(BSTR v);
1593
1594    [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1595    BSTR font();
1596
1597    [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1598    void color(VARIANT v);
1599
1600    [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1601    VARIANT color();
1602
1603    [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1604    void background(BSTR v);
1605
1606    [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1607    BSTR background();
1608
1609    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1610    void backgroundColor(VARIANT v);
1611
1612    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1613    VARIANT backgroundColor();
1614
1615    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1616    void backgroundImage(BSTR v);
1617
1618    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1619    BSTR backgroundImage();
1620
1621    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1622    void backgroundRepeat(BSTR v);
1623
1624    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1625    BSTR backgroundRepeat();
1626
1627    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1628    void backgroundAttachment(BSTR v);
1629
1630    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1631    BSTR backgroundAttachment();
1632
1633    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1634    void backgroundPosition(BSTR v);
1635
1636    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1637    BSTR backgroundPosition();
1638
1639    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1640    void backgroundPositionX(VARIANT v);
1641
1642    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1643    VARIANT backgroundPositionX();
1644
1645    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1646    void backgroundPositionY(VARIANT v);
1647
1648    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1649    VARIANT backgroundPositionY();
1650
1651    [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1652    void wordSpacing(VARIANT v);
1653
1654    [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1655    VARIANT wordSpacing();
1656
1657    [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1658    void letterSpacing(VARIANT v);
1659
1660    [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1661    VARIANT letterSpacing();
1662
1663    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1664    void textDecoration(BSTR v);
1665
1666    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1667    BSTR textDecoration();
1668
1669    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1670    void textDecorationNone(VARIANT_BOOL v);
1671
1672    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1673    VARIANT_BOOL textDecorationNone();
1674
1675    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1676    void textDecorationUnderline(VARIANT_BOOL v);
1677
1678    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1679    VARIANT_BOOL textDecorationUnderline();
1680
1681    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1682    void textDecorationOverline(VARIANT_BOOL v);
1683
1684    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1685    VARIANT_BOOL textDecorationOverline();
1686
1687    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1688    void textDecorationLineThrough(VARIANT_BOOL v);
1689
1690    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1691    VARIANT_BOOL textDecorationLineThrough();
1692
1693    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1694    void textDecorationBlink(VARIANT_BOOL v);
1695
1696    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1697    VARIANT_BOOL textDecorationBlink();
1698
1699    [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1700    void verticalAlign(VARIANT v);
1701
1702    [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1703    VARIANT verticalAlign();
1704
1705    [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1706    void textTransform(BSTR v);
1707
1708    [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1709    BSTR textTransform();
1710
1711    [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1712    void textAlign(BSTR v);
1713
1714    [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1715    BSTR textAlign();
1716
1717    [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1718    void textIndent(VARIANT v);
1719
1720    [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1721    VARIANT textIndent();
1722
1723    [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1724    void lineHeight(VARIANT v);
1725
1726    [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1727    VARIANT lineHeight();
1728
1729    [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1730    void marginTop(VARIANT v);
1731
1732    [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1733    VARIANT marginTop();
1734
1735    [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1736    void marginRight(VARIANT v);
1737
1738    [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1739    VARIANT marginRight();
1740
1741    [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1742    void marginBottom(VARIANT v);
1743
1744    [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1745    VARIANT marginBottom();
1746
1747    [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1748    void marginLeft(VARIANT v);
1749
1750    [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1751    VARIANT marginLeft();
1752
1753    [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1754    void margin(BSTR v);
1755
1756    [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1757    BSTR margin();
1758
1759    [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1760    void paddingTop(VARIANT v);
1761
1762    [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1763    VARIANT paddingTop();
1764
1765    [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1766    void paddingRight(VARIANT v);
1767
1768    [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1769    VARIANT paddingRight();
1770
1771    [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1772    void paddingBottom(VARIANT v);
1773
1774    [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1775    VARIANT paddingBottom();
1776
1777    [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1778    void paddingLeft(VARIANT v);
1779
1780    [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1781    VARIANT paddingLeft();
1782
1783    [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1784    void padding(BSTR v);
1785
1786    [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1787    BSTR padding();
1788
1789    [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1790    void border(BSTR v);
1791
1792    [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1793    BSTR border();
1794
1795    [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1796    void borderTop(BSTR v);
1797
1798    [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1799    BSTR borderTop();
1800
1801    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1802    void borderRight(BSTR v);
1803
1804    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1805    BSTR borderRight();
1806
1807    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1808    void borderBottom(BSTR v);
1809
1810    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1811    BSTR borderBottom();
1812
1813    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1814    void borderLeft(BSTR v);
1815
1816    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1817    BSTR borderLeft();
1818
1819    [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1820    void borderColor(BSTR v);
1821
1822    [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1823    BSTR borderColor();
1824
1825    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1826    void borderTopColor(VARIANT v);
1827
1828    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1829    VARIANT borderTopColor();
1830
1831    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1832    void borderRightColor(VARIANT v);
1833
1834    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1835    VARIANT borderRightColor();
1836
1837    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1838    void borderBottomColor(VARIANT v);
1839
1840    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1841    VARIANT borderBottomColor();
1842
1843    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1844    void borderLeftColor(VARIANT v);
1845
1846    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1847    VARIANT borderLeftColor();
1848
1849    [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1850    void borderWidth(BSTR v);
1851
1852    [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1853    BSTR borderWidth();
1854
1855    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1856    void borderTopWidth(VARIANT v);
1857
1858    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1859    VARIANT borderTopWidth();
1860
1861    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1862    void borderRightWidth(VARIANT v);
1863
1864    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1865    VARIANT borderRightWidth();
1866
1867    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1868    void borderBottomWidth(VARIANT v);
1869
1870    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1871    VARIANT borderBottomWidth();
1872
1873    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1874    void borderLeftWidth(VARIANT v);
1875
1876    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1877    VARIANT borderLeftWidth();
1878
1879    [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1880    void borderStyle(BSTR v);
1881
1882    [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1883    BSTR borderStyle();
1884
1885    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1886    void borderTopStyle(BSTR v);
1887
1888    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1889    BSTR borderTopStyle();
1890
1891    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1892    void borderRightStyle(BSTR v);
1893
1894    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1895    BSTR borderRightStyle();
1896
1897    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1898    void borderBottomStyle(BSTR v);
1899
1900    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1901    BSTR borderBottomStyle();
1902
1903    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1904    void borderLeftStyle(BSTR v);
1905
1906    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1907    BSTR borderLeftStyle();
1908
1909    [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1910    void width(VARIANT v);
1911
1912    [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1913    VARIANT width();
1914
1915    [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1916    void height(VARIANT v);
1917
1918    [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1919    VARIANT height();
1920
1921    [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1922    void styleFloat(BSTR v);
1923
1924    [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1925    BSTR styleFloat();
1926
1927    [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1928    void clear(BSTR v);
1929
1930    [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1931    BSTR clear();
1932
1933    [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1934    void display(BSTR v);
1935
1936    [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1937    BSTR display();
1938
1939    [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1940    void visibility(BSTR v);
1941
1942    [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1943    BSTR visibility();
1944
1945    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1946    void listStyleType(BSTR v);
1947
1948    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1949    BSTR listStyleType();
1950
1951    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1952    void listStylePosition(BSTR v);
1953
1954    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1955    BSTR listStylePosition();
1956
1957    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1958    void listStyleImage(BSTR v);
1959
1960    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1961    BSTR listStyleImage();
1962
1963    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1964    void listStyle(BSTR v);
1965
1966    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1967    BSTR listStyle();
1968
1969    [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1970    void whiteSpace(BSTR v);
1971
1972    [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1973    BSTR whiteSpace();
1974
1975    [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1976    void top(VARIANT v);
1977
1978    [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1979    VARIANT top();
1980
1981    [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1982    void left(VARIANT v);
1983
1984    [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1985    VARIANT left();
1986
1987    [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1988    void zIndex(VARIANT v);
1989
1990    [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1991    VARIANT zIndex();
1992
1993    [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1994    void overflow(BSTR v);
1995
1996    [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1997    BSTR overflow();
1998
1999    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2000    void pageBreakBefore(BSTR v);
2001
2002    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2003    BSTR pageBreakBefore();
2004
2005    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2006    void pageBreakAfter(BSTR v);
2007
2008    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2009    BSTR pageBreakAfter();
2010
2011    [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
2012    void cssText(BSTR v);
2013
2014    [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
2015    BSTR cssText();
2016
2017    [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
2018    void pixelTop(LONG v);
2019
2020    [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
2021    LONG pixelTop();
2022
2023    [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
2024    void pixelLeft(LONG v);
2025
2026    [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
2027    LONG pixelLeft();
2028
2029    [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
2030    void pixelWidth(LONG v);
2031
2032    [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
2033    LONG pixelWidth();
2034
2035    [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
2036    void pixelHeight(LONG v);
2037
2038    [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
2039    LONG pixelHeight();
2040
2041    [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
2042    void posTop(float v);
2043
2044    [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
2045    float posTop();
2046
2047    [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
2048    void posLeft(float v);
2049
2050    [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
2051    float posLeft();
2052
2053    [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
2054    void posWidth(float v);
2055
2056    [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
2057    float posWidth();
2058
2059    [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
2060    void posHeight(float v);
2061
2062    [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
2063    float posHeight();
2064
2065    [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
2066    void cursor(BSTR v);
2067
2068    [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
2069    BSTR cursor();
2070
2071    [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
2072    void clip(BSTR v);
2073
2074    [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
2075    BSTR clip();
2076
2077    [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
2078    void filter(BSTR v);
2079
2080    [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
2081    BSTR filter();
2082
2083    [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
2084    void setAttribute(
2085            [in] BSTR strAttributeName,
2086            [in] VARIANT AttributeValue,
2087            [in, defaultvalue(1)] LONG lFlags);
2088
2089    [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
2090    VARIANT getAttribute(
2091            [in] BSTR strAttributeName,
2092            [in, defaultvalue(0)] LONG lFlags);
2093
2094    [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
2095    VARIANT_BOOL removeAttribute(
2096            [in] BSTR strAttributeName,
2097            [in, defaultvalue(1)] LONG lFlags);
2098
2099    [id(DISPID_IHTMLSTYLE_TOSTRING)]
2100    BSTR toString();
2101
2102    [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
2103    void tableLayout(BSTR v);
2104
2105    [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
2106    BSTR tableLayout();
2107
2108    [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
2109    void borderCollapse(BSTR v);
2110
2111    [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
2112    BSTR borderCollapse();
2113
2114    [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2115    void direction(BSTR v);
2116
2117    [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2118    BSTR direction();
2119
2120    [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2121    void behavior(BSTR v);
2122
2123    [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2124    BSTR behavior();
2125
2126    [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2127    void setExpression(
2128            [in] BSTR propname,
2129            [in] BSTR expression,
2130            [in, defaultvalue("")] BSTR language);
2131
2132    [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2133    VARIANT getExpression([in] BSTR propname);
2134
2135    [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2136    VARIANT_BOOL removeExpression([in] BSTR propname);
2137
2138    [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2139    void position(BSTR v);
2140
2141    [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2142    BSTR position();
2143
2144    [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2145    void unicodeBidi(BSTR v);
2146
2147    [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2148    BSTR unicodeBidi();
2149
2150    [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2151    void bottom(VARIANT v);
2152
2153    [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2154    VARIANT bottom();
2155
2156    [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2157    void right(VARIANT v);
2158
2159    [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2160    VARIANT right();
2161
2162    [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2163    void pixelBottom(LONG v);
2164
2165    [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2166    LONG pixelBottom();
2167
2168    [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2169    void pixelRight(LONG v);
2170
2171    [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2172    LONG pixelRight();
2173
2174    [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2175    void posBottom(float v);
2176
2177    [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2178    float posBottom();
2179
2180    [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2181    void posRight(float v);
2182
2183    [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2184    float posRight();
2185
2186    [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2187    void imeMode(BSTR v);
2188
2189    [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2190    BSTR imeMode();
2191
2192    [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2193    void rubyAlign(BSTR v);
2194
2195    [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2196    BSTR rubyAlign();
2197
2198    [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2199    void rubyPosition(BSTR v);
2200
2201    [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2202    BSTR rubyPosition();
2203
2204    [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2205    void rubyOverhang(BSTR v);
2206
2207    [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2208    BSTR rubyOverhang();
2209
2210    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2211    void layoutGridChar(VARIANT v);
2212
2213    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2214    VARIANT layoutGridChar();
2215
2216    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2217    void layoutGridLine(VARIANT v);
2218
2219    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2220    VARIANT layoutGridLine();
2221
2222    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2223    void layoutGridMode(BSTR v);
2224
2225    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2226    BSTR layoutGridMode();
2227
2228    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2229    void layoutGridType(BSTR v);
2230
2231    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2232    BSTR layoutGridType();
2233
2234    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2235    void layoutGrid(BSTR v);
2236
2237    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2238    BSTR layoutGrid();
2239
2240    [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2241    void wordBreak(BSTR v);
2242
2243    [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2244    BSTR wordBreak();
2245
2246    [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2247    void lineBreak(BSTR v);
2248
2249    [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2250    BSTR lineBreak();
2251
2252    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2253    void textJustify(BSTR v);
2254
2255    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2256    BSTR textJustify();
2257
2258    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2259    void textJustifyTrim(BSTR v);
2260
2261    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2262    BSTR textJustifyTrim();
2263
2264    [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2265    void textKashida(VARIANT v);
2266
2267    [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2268    VARIANT textKashida();
2269
2270    [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2271    void textAutospace(BSTR v);
2272
2273    [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2274    BSTR textAutospace();
2275
2276    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2277    void overflowX(BSTR v);
2278
2279    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2280    BSTR overflowX();
2281
2282    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2283    void overflowY(BSTR v);
2284
2285    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2286    BSTR overflowY();
2287
2288    [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2289    void accelerator(BSTR v);
2290
2291    [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2292    BSTR accelerator();
2293
2294    [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2295    void layoutFlow(BSTR v);
2296
2297    [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2298    BSTR layoutFlow();
2299
2300    [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2301    void zoom(VARIANT v);
2302
2303    [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2304    VARIANT zoom();
2305
2306    [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2307    void wordWrap(BSTR v);
2308
2309    [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2310    BSTR wordWrap();
2311
2312    [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2313    void textUnderlinePosition(BSTR v);
2314
2315    [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2316    BSTR textUnderlinePosition();
2317
2318    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2319    void scrollbarBaseColor(VARIANT v);
2320
2321    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2322    VARIANT scrollbarBaseColor();
2323
2324    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2325    void scrollbarFaceColor(VARIANT v);
2326
2327    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2328    VARIANT scrollbarFaceColor();
2329
2330    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2331    void scrollbar3dLightColor(VARIANT v);
2332
2333    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2334    VARIANT scrollbar3dLightColor();
2335
2336    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2337    void scrollbarShadowColor(VARIANT v);
2338
2339    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2340    VARIANT scrollbarShadowColor();
2341
2342    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2343    void scrollbarHighlightColor(VARIANT v);
2344
2345    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2346    VARIANT scrollbarHighlightColor();
2347
2348    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2349    void scrollbarDarkShadowColor(VARIANT v);
2350
2351    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2352    VARIANT scrollbarDarkShadowColor();
2353
2354    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2355    void scrollbarArrowColor(VARIANT v);
2356
2357    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2358    VARIANT scrollbarArrowColor();
2359
2360    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2361    void scrollbarTrackColor(VARIANT v);
2362
2363    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2364    VARIANT scrollbarTrackColor();
2365
2366    [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2367    void writingMode(BSTR v);
2368
2369    [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2370    BSTR writingMode();
2371
2372    [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2373    void textAlignLast(BSTR v);
2374
2375    [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2376    BSTR textAlignLast();
2377
2378    [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2379    void textKashidaSpace(VARIANT v);
2380
2381    [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2382    VARIANT textKashidaSpace();
2383
2384    [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2385    void textOverflow(BSTR v);
2386
2387    [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2388    BSTR textOverflow();
2389
2390    [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2391    void minHeight(VARIANT v);
2392
2393    [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2394    VARIANT minHeight();
2395
2396    [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2397    void msInterpolationMode(BSTR v);
2398
2399    [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2400    BSTR msInterpolationMode();
2401
2402    [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2403    void maxHeight(VARIANT v);
2404
2405    [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2406    VARIANT maxHeight();
2407
2408    [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2409    void minWidth(VARIANT v);
2410
2411    [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2412    VARIANT minWidth();
2413
2414    [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2415    void maxWidth(VARIANT v);
2416
2417    [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2418    VARIANT maxWidth();
2419
2420    [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2421    void content(BSTR v);
2422
2423    [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2424    BSTR content();
2425
2426    [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2427    void captionSide(BSTR v);
2428
2429    [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2430    BSTR captionSide();
2431
2432    [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2433    void counterIncrement(BSTR v);
2434
2435    [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2436    BSTR counterIncrement();
2437
2438    [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2439    void counterReset(BSTR v);
2440
2441    [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2442    BSTR counterReset();
2443
2444    [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2445    void outline(BSTR v);
2446
2447    [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2448    BSTR outline();
2449
2450    [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2451    void outlineWidth(VARIANT v);
2452
2453    [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2454    VARIANT outlineWidth();
2455
2456    [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2457    void outlineStyle(BSTR v);
2458
2459    [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2460    BSTR outlineStyle();
2461
2462    [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2463    void outlineColor(VARIANT v);
2464
2465    [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2466    VARIANT outlineColor();
2467
2468    [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2469    void boxSizing(BSTR v);
2470
2471    [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2472    BSTR boxSizing();
2473
2474    [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2475    void borderSpacing(BSTR v);
2476
2477    [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2478    BSTR borderSpacing();
2479
2480    [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2481    void orphans(VARIANT v);
2482
2483    [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2484    VARIANT orphans();
2485
2486    [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2487    void widows(VARIANT v);
2488
2489    [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2490    VARIANT widows();
2491
2492    [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2493    void pageBreakInside(BSTR v);
2494
2495    [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2496    BSTR pageBreakInside();
2497
2498    [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2499    void emptyCells(BSTR v);
2500
2501    [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2502    BSTR emptyCells();
2503
2504    [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2505    void msBlockProgression(BSTR v);
2506
2507    [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2508    BSTR msBlockProgression();
2509
2510    [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2511    void quotes(BSTR v);
2512
2513    [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2514    BSTR quotes();
2515
2516    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2517    IDispatch *constructor();
2518}
2519
2520[
2521    odl,
2522    oleautomation,
2523    dual,
2524    uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2525]
2526interface IHTMLStyle3 : IDispatch
2527{
2528    [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2529    HRESULT layoutFlow([in] BSTR v);
2530
2531    [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2532    HRESULT layoutFlow([retval, out] BSTR * p);
2533
2534    [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2535    HRESULT zoom([in] VARIANT v);
2536
2537    [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2538    HRESULT zoom([retval, out] VARIANT * p);
2539
2540    [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2541    HRESULT wordWrap([in] BSTR v);
2542
2543    [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2544    HRESULT wordWrap([retval, out] BSTR * p);
2545
2546    [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2547    HRESULT textUnderlinePosition([in] BSTR v);
2548
2549    [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2550    HRESULT textUnderlinePosition([retval, out] BSTR * p);
2551
2552    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2553    HRESULT scrollbarBaseColor([in] VARIANT v);
2554
2555    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2556    HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2557
2558    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2559    HRESULT scrollbarFaceColor([in] VARIANT v);
2560
2561    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2562    HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2563
2564    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2565    HRESULT scrollbar3dLightColor([in] VARIANT v);
2566
2567    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2568    HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2569
2570    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2571    HRESULT scrollbarShadowColor([in] VARIANT v);
2572
2573    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2574    HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2575
2576    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2577    HRESULT scrollbarHighlightColor([in] VARIANT v);
2578
2579    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2580    HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2581
2582    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2583    HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2584
2585    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2586    HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2587
2588    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2589    HRESULT scrollbarArrowColor([in] VARIANT v);
2590
2591    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2592    HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2593
2594    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2595    HRESULT scrollbarTrackColor([in] VARIANT v);
2596
2597    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2598    HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2599
2600    [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2601    HRESULT writingMode([in] BSTR v);
2602
2603    [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2604    HRESULT writingMode([retval, out] BSTR * p);
2605
2606    [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2607    HRESULT textAlignLast([in] BSTR v);
2608
2609    [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2610    HRESULT textAlignLast([retval, out] BSTR * p);
2611
2612    [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2613    HRESULT textKashidaSpace([in] VARIANT v);
2614
2615    [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2616    HRESULT textKashidaSpace([retval, out] VARIANT * p);
2617}
2618
2619/*****************************************************************************
2620 *    IHTMLSytyle4 interface
2621 */
2622[
2623    odl,
2624    oleautomation,
2625    dual,
2626    uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2627]
2628interface IHTMLStyle4 : IDispatch
2629{
2630    [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2631    HRESULT textOverflow([in] BSTR v);
2632
2633    [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2634    HRESULT textOverflow([retval, out] BSTR * p);
2635
2636    [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2637    HRESULT minHeight([in] VARIANT v);
2638
2639    [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2640    HRESULT minHeight([retval, out] VARIANT * p);
2641}
2642
2643/*****************************************************************************
2644 *    IHTMLSytyle5 interface
2645 */
2646[
2647    odl,
2648    oleautomation,
2649    dual,
2650    uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2651]
2652interface IHTMLStyle5 : IDispatch
2653{
2654    [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2655    HRESULT msInterpolationMode([in] BSTR v);
2656
2657    [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2658    HRESULT msInterpolationMode([out, retval] BSTR *p);
2659
2660    [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2661    HRESULT maxHeight([in] VARIANT v);
2662
2663    [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2664    HRESULT maxHeight([out, retval] VARIANT *p);
2665
2666    [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2667    HRESULT minWidth([in] VARIANT v);
2668
2669    [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2670    HRESULT minWidth([out, retval] VARIANT *p);
2671
2672    [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2673    HRESULT maxWidth([in] VARIANT v);
2674
2675    [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2676    HRESULT maxWidth([out, retval] VARIANT *p);
2677}
2678
2679/*****************************************************************************
2680 *    IHTMLSytyle6 interface
2681 */
2682[
2683    odl,
2684    oleautomation,
2685    dual,
2686    uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2687]
2688interface IHTMLStyle6 : IDispatch
2689{
2690    [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2691    HRESULT content([in] BSTR v);
2692
2693    [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2694    HRESULT content([out, retval] BSTR *p);
2695
2696    [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2697    HRESULT captionSide([in] BSTR v);
2698
2699    [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2700    HRESULT captionSide([retval, out] BSTR *p);
2701
2702    [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2703    HRESULT counterIncrement([in] BSTR v);
2704
2705    [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2706    HRESULT counterIncrement([out, retval] BSTR *p);
2707
2708    [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2709    HRESULT counterReset([in] BSTR v);
2710
2711    [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2712    HRESULT counterReset([out, retval] BSTR *p);
2713
2714    [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2715    HRESULT outline([in] BSTR v);
2716
2717    [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2718    HRESULT outline([out, retval] BSTR *p);
2719
2720    [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2721    HRESULT outlineWidth([in] VARIANT v);
2722
2723    [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2724    HRESULT outlineWidth([out, retval] VARIANT *p);
2725
2726    [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2727    HRESULT outlineStyle([in] BSTR v);
2728
2729    [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2730    HRESULT outlineStyle([out, retval] BSTR *p);
2731
2732    [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2733    HRESULT outlineColor([in] VARIANT v);
2734
2735    [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2736    HRESULT outlineColor([out, retval] VARIANT *p);
2737
2738    [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2739    HRESULT boxSizing([in] BSTR v);
2740
2741    [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2742    HRESULT boxSizing([out, retval] BSTR *p);
2743
2744    [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2745    HRESULT borderSpacing([in] BSTR v);
2746
2747    [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2748    HRESULT borderSpacing([out, retval] BSTR *p);
2749
2750    [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2751    HRESULT orphans([in] VARIANT v);
2752
2753    [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2754    HRESULT orphans([out, retval] VARIANT *p);
2755
2756    [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2757    HRESULT widows([in] VARIANT v);
2758
2759    [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2760    HRESULT widows([out, retval] VARIANT *p);
2761
2762    [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2763    HRESULT pageBreakInside([in] BSTR v);
2764
2765    [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2766    HRESULT pageBreakInside([out, retval] BSTR *p);
2767
2768    [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2769    HRESULT emptyCells([in] BSTR v);
2770
2771    [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2772    HRESULT emptyCells([out, retval] BSTR *p);
2773
2774    [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2775    HRESULT msBlockProgression([in] BSTR v);
2776
2777    [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2778    HRESULT msBlockProgression([out, retval] BSTR *p);
2779
2780    [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2781    HRESULT quotes([in] BSTR v);
2782
2783    [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2784    HRESULT quotes([out, retval] BSTR *p);
2785}
2786
2787[
2788    noncreatable,
2789    uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2790]
2791coclass HTMLStyle
2792{
2793    [default] dispinterface DispHTMLStyle;
2794    interface IHTMLStyle;
2795    interface IHTMLStyle2;
2796    interface IHTMLStyle3;
2797    interface IHTMLStyle4;
2798    interface IHTMLStyle5;
2799    interface IHTMLStyle6;
2800}
2801
2802/*****************************************************************************
2803 *    IHTMLRenderStyle interface
2804 */
2805[
2806    odl,
2807    oleautomation,
2808    dual,
2809    uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2810]
2811interface IHTMLRenderStyle : IDispatch
2812{
2813    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2814    HRESULT textLineThroughStyle([in] BSTR v);
2815
2816    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2817    HRESULT textLineThroughStyle([retval, out] BSTR *p);
2818
2819    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2820    HRESULT textUnderlineStyle([in] BSTR v);
2821
2822    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2823    HRESULT textUnderlineStyle([retval, out] BSTR *p);
2824
2825    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2826    HRESULT textEffect([in] BSTR v);
2827
2828    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2829    HRESULT textEffect([retval, out] BSTR *p);
2830
2831    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2832    HRESULT textColor([in] VARIANT v);
2833
2834    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2835    HRESULT textColor([retval, out] VARIANT *p);
2836
2837    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2838    HRESULT textBackgroundColor([in] VARIANT v);
2839
2840    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2841    HRESULT textBackgroundColor([retval, out] VARIANT *p);
2842
2843    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2844    HRESULT textDecorationColor([in] VARIANT v);
2845
2846    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2847    HRESULT textDecorationColor([retval, out] VARIANT *p);
2848
2849    [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2850    HRESULT renderingPriority([in] LONG v);
2851
2852    [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2853    HRESULT renderingPriority([retval, out] LONG *p);
2854
2855    [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2856    HRESULT defaultTextSelection([in] BSTR v);
2857
2858    [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2859    HRESULT defaultTextSelection([retval, out] BSTR *p);
2860
2861    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2862    HRESULT textDecoration([in] BSTR v);
2863
2864    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2865    HRESULT textDecoration([retval, out] BSTR *p);
2866}
2867
2868/*****************************************************************************
2869 *    IHTMLCurrentStyle interface
2870 */
2871[
2872    odl,
2873    oleautomation,
2874    dual,
2875    uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2876]
2877interface IHTMLCurrentStyle : IDispatch
2878{
2879    [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2880    HRESULT position([retval, out] BSTR *p);
2881
2882    [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2883    HRESULT styleFloat([retval, out] BSTR *p);
2884
2885    [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2886    HRESULT color([retval, out] VARIANT *p);
2887
2888    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2889    HRESULT backgroundColor([retval, out] VARIANT *p);
2890
2891    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2892    HRESULT fontFamily([retval, out] BSTR *p);
2893
2894    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2895    HRESULT fontStyle([retval, out] BSTR *p);
2896
2897    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2898    HRESULT fontVariant([retval, out] BSTR *p);
2899
2900    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2901    HRESULT fontWeight([retval, out] VARIANT *p);
2902
2903    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2904    HRESULT fontSize([retval, out] VARIANT *p);
2905
2906    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2907    HRESULT backgroundImage([retval, out] BSTR *p);
2908
2909    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2910    HRESULT backgroundPositionX([retval, out] VARIANT *p);
2911
2912    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2913    HRESULT backgroundPositionY([retval, out] VARIANT *p);
2914
2915    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2916    HRESULT backgroundRepeat([retval, out] BSTR *p);
2917
2918    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2919    HRESULT borderLeftColor([retval, out] VARIANT *p);
2920
2921    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2922    HRESULT borderTopColor([retval, out] VARIANT *p);
2923
2924    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2925    HRESULT borderRightColor([retval, out] VARIANT *p);
2926
2927    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2928    HRESULT borderBottomColor([retval, out] VARIANT *p);
2929
2930    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2931    HRESULT borderTopStyle([retval, out] BSTR *p);
2932
2933    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2934    HRESULT borderRightStyle([retval, out] BSTR *p);
2935
2936    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2937    HRESULT borderBottomStyle([retval, out] BSTR *p);
2938
2939    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2940    HRESULT borderLeftStyle([retval, out] BSTR *p);
2941
2942    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2943    HRESULT borderTopWidth([retval, out] VARIANT *p);
2944
2945    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2946    HRESULT borderRightWidth([retval, out] VARIANT *p);
2947
2948    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2949    HRESULT borderBottomWidth([retval, out] VARIANT *p);
2950
2951    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2952    HRESULT borderLeftWidth([retval, out] VARIANT *p);
2953
2954    [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2955    HRESULT left([retval, out] VARIANT *p);
2956
2957    [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2958    HRESULT top([retval, out] VARIANT *p);
2959
2960    [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2961    HRESULT width([retval, out] VARIANT *p);
2962
2963    [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2964    HRESULT height([retval, out] VARIANT *p);
2965
2966    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2967    HRESULT paddingLeft([retval, out] VARIANT *p);
2968
2969    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2970    HRESULT paddingTop([retval, out] VARIANT *p);
2971
2972    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2973    HRESULT paddingRight([retval, out] VARIANT *p);
2974
2975    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2976    HRESULT paddingBottom([retval, out] VARIANT *p);
2977
2978    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2979    HRESULT textAlign([retval, out] BSTR *p);
2980
2981    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2982    HRESULT textDecoration([retval, out] BSTR *p);
2983
2984    [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2985    HRESULT display([retval, out] BSTR *p);
2986
2987    [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2988    HRESULT visibility([retval, out] BSTR *p);
2989
2990    [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2991    HRESULT zIndex([retval, out] VARIANT *p);
2992
2993    [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2994    HRESULT letterSpacing([retval, out] VARIANT *p);
2995
2996    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2997    HRESULT lineHeight([retval, out] VARIANT *p);
2998
2999    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3000    HRESULT textIndent([retval, out] VARIANT *p);
3001
3002    [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3003    HRESULT verticalAlign([retval, out] VARIANT *p);
3004
3005    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3006    HRESULT backgroundAttachment([retval, out] BSTR *p);
3007
3008    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3009    HRESULT marginTop([retval, out] VARIANT *p);
3010
3011    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3012    HRESULT marginRight([retval, out] VARIANT *p);
3013
3014    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3015    HRESULT marginBottom([retval, out] VARIANT *p);
3016
3017    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3018    HRESULT marginLeft([retval, out] VARIANT *p);
3019
3020    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3021    HRESULT clear([retval, out] BSTR *p);
3022
3023    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3024    HRESULT listStyleType([retval, out] BSTR *p);
3025
3026    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3027    HRESULT listStylePosition([retval, out] BSTR *p);
3028
3029    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3030    HRESULT listStyleImage([retval, out] BSTR *p);
3031
3032    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3033    HRESULT clipTop([retval, out] VARIANT *p);
3034
3035    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3036    HRESULT clipRight([retval, out] VARIANT *p);
3037
3038    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3039    HRESULT clipBottom([retval, out] VARIANT *p);
3040
3041    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3042    HRESULT clipLeft([retval, out] VARIANT *p);
3043
3044    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3045    HRESULT overflow([retval, out] BSTR *p);
3046
3047    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3048    HRESULT pageBreakBefore([retval, out] BSTR *p);
3049
3050    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3051    HRESULT pageBreakAfter([retval, out] BSTR *p);
3052
3053    [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3054    HRESULT cursor([retval, out] BSTR *p);
3055
3056    [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3057    HRESULT tableLayout([retval, out] BSTR *p);
3058
3059    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3060    HRESULT borderCollapse([retval, out] BSTR *p);
3061
3062    [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3063    HRESULT direction([retval, out] BSTR *p);
3064
3065    [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3066    HRESULT behavior([retval, out] BSTR *p);
3067
3068    [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3069    HRESULT getAttribute(
3070        [in] BSTR strAttributeName,
3071        [defaultvalue(0), in] LONG lFlags,
3072        [retval, out] VARIANT *AttributeValue);
3073
3074    [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3075    HRESULT unicodeBidi([retval, out] BSTR *p);
3076
3077    [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3078    HRESULT right([retval, out] VARIANT *p);
3079
3080    [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3081    HRESULT bottom([retval, out] VARIANT *p);
3082
3083    [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3084    HRESULT imeMode([retval, out] BSTR *p);
3085
3086    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3087    HRESULT rubyAlign([retval, out] BSTR *p);
3088
3089    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3090    HRESULT rubyPosition([retval, out] BSTR *p);
3091
3092    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3093    HRESULT rubyOverhang([retval, out] BSTR *p);
3094
3095    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3096    HRESULT textAutospace([retval, out] BSTR *p);
3097
3098    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3099    HRESULT lineBreak([retval, out] BSTR *p);
3100
3101    [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3102    HRESULT wordBreak([retval, out] BSTR *p);
3103
3104    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3105    HRESULT textJustify([retval, out] BSTR *p);
3106
3107    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3108    HRESULT textJustifyTrim([retval, out] BSTR *p);
3109
3110    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3111    HRESULT textKashida([retval, out] VARIANT *p);
3112
3113    [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3114    HRESULT blockDirection([retval, out] BSTR *p);
3115
3116    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3117    HRESULT layoutGridChar([retval, out] VARIANT *p);
3118
3119    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3120    HRESULT layoutGridLine([retval, out] VARIANT *p);
3121
3122    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3123    HRESULT layoutGridMode([retval, out] BSTR *p);
3124
3125    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3126    HRESULT layoutGridType([retval, out] BSTR *p);
3127
3128    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3129    HRESULT borderStyle([retval, out] BSTR *p);
3130
3131    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3132    HRESULT borderColor([retval, out] BSTR *p);
3133
3134    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3135    HRESULT borderWidth([retval, out] BSTR *p);
3136
3137    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3138    HRESULT padding([retval, out] BSTR *p);
3139
3140    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3141    HRESULT margin([retval, out] BSTR *p);
3142
3143    [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3144    HRESULT accelerator([retval, out] BSTR *p);
3145
3146    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3147    HRESULT overflowX([retval, out] BSTR *p);
3148
3149    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3150    HRESULT overflowY([retval, out] BSTR *p);
3151
3152    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3153    HRESULT textTransform([retval, out] BSTR *p);
3154}
3155
3156/*****************************************************************************
3157 *    IHTMLCurrentStyle2 interface
3158 */
3159[
3160    odl,
3161    oleautomation,
3162    dual,
3163    uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3164]
3165interface IHTMLCurrentStyle2 : IDispatch
3166{
3167    [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3168    HRESULT layoutFlow([retval, out] BSTR * p);
3169
3170    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3171    HRESULT wordWrap([retval, out] BSTR * p);
3172
3173    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3174    HRESULT textUnderlinePosition([retval, out] BSTR * p);
3175
3176    [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3177    HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3178
3179    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3180    HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3181
3182    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3183    HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3184
3185    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3186    HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3187
3188    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3189    HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3190
3191    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3192    HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3193
3194    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3195    HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3196
3197    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3198    HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3199
3200    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3201    HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3202
3203    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3204    HRESULT writingMode([retval, out] BSTR * p);
3205
3206    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3207    HRESULT zoom([retval, out] VARIANT * p);
3208
3209    [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3210    HRESULT filter([retval, out] BSTR * p);
3211
3212    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3213    HRESULT textAlignLast([retval, out] BSTR * p);
3214
3215    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3216    HRESULT textKashidaSpace([retval, out] VARIANT * p);
3217
3218    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3219    HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3220}
3221
3222/*****************************************************************************
3223 *    IHTMLCurrentStyle3 interface
3224 */
3225[
3226    odl,
3227    oleautomation,
3228    dual,
3229    uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3230]
3231interface IHTMLCurrentStyle3 : IDispatch
3232{
3233    [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3234    HRESULT textOverflow([retval, out] BSTR * p);
3235
3236    [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3237    HRESULT minHeight([retval, out] VARIANT * p);
3238
3239    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3240    HRESULT wordSpacing([retval, out] VARIANT * p);
3241
3242    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3243    HRESULT whiteSpace([retval, out] BSTR * p);
3244}
3245
3246/*****************************************************************************
3247 *    IHTMLCurrentStyle4 interface
3248 */
3249[
3250    odl,
3251    oleautomation,
3252    dual,
3253    uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3254]
3255interface IHTMLCurrentStyle4 : IDispatch
3256{
3257    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3258    HRESULT msInterpolationMode([retval, out] BSTR * p);
3259
3260    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3261    HRESULT maxHeight([retval, out] VARIANT * p);
3262
3263    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3264    HRESULT minWidth([retval, out] VARIANT * p);
3265
3266    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3267    HRESULT maxWidth([retval, out] VARIANT * p);
3268}
3269
3270/*****************************************************************************
3271 *    DispHTMLCurrentStyle dispinterface
3272 */
3273[
3274    hidden,
3275    uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3276]
3277dispinterface DispHTMLCurrentStyle
3278{
3279properties:
3280methods:
3281    [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3282    BSTR position();
3283
3284    [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3285    BSTR styleFloat();
3286
3287    [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3288    VARIANT color();
3289
3290    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3291    VARIANT backgroundColor();
3292
3293    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3294    BSTR fontFamily();
3295
3296    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3297    BSTR fontStyle();
3298
3299    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3300    BSTR fontVariant();
3301
3302    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3303    VARIANT fontWeight();
3304
3305    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3306    VARIANT fontSize();
3307
3308    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3309    BSTR backgroundImage();
3310
3311    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3312    VARIANT backgroundPositionX();
3313
3314    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3315    VARIANT backgroundPositionY();
3316
3317    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3318    BSTR backgroundRepeat();
3319
3320    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3321    VARIANT borderLeftColor();
3322
3323    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3324    VARIANT borderTopColor();
3325
3326    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3327    VARIANT borderRightColor();
3328
3329    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3330    VARIANT borderBottomColor();
3331
3332    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3333    BSTR borderTopStyle();
3334
3335    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3336    BSTR borderRightStyle();
3337
3338    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3339    BSTR borderBottomStyle();
3340
3341    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3342    BSTR borderLeftStyle();
3343
3344    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3345    VARIANT borderTopWidth();
3346
3347    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3348    VARIANT borderRightWidth();
3349
3350    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3351    VARIANT borderBottomWidth();
3352
3353    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3354    VARIANT borderLeftWidth();
3355
3356    [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3357    VARIANT left();
3358
3359    [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3360    VARIANT top();
3361
3362    [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3363    VARIANT width();
3364
3365    [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3366    VARIANT height();
3367
3368    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3369    VARIANT paddingLeft();
3370
3371    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3372    VARIANT paddingTop();
3373
3374    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3375    VARIANT paddingRight();
3376
3377    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3378    VARIANT paddingBottom();
3379
3380    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3381    BSTR textAlign();
3382
3383    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3384    BSTR textDecoration();
3385
3386    [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3387    BSTR display();
3388
3389    [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3390    BSTR visibility();
3391
3392    [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3393    VARIANT zIndex();
3394
3395    [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3396    VARIANT letterSpacing();
3397
3398    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3399    VARIANT lineHeight();
3400
3401    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3402    VARIANT textIndent();
3403
3404    [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3405    VARIANT verticalAlign();
3406
3407    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3408    BSTR backgroundAttachment();
3409
3410    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3411    VARIANT marginTop();
3412
3413    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3414    VARIANT marginRight();
3415
3416    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3417    VARIANT marginBottom();
3418
3419    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3420    VARIANT marginLeft();
3421
3422    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3423    BSTR clear();
3424
3425    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3426    BSTR listStyleType();
3427
3428    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3429    BSTR listStylePosition();
3430
3431    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3432    BSTR listStyleImage();
3433
3434    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3435    VARIANT clipTop();
3436
3437    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3438    VARIANT clipRight();
3439
3440    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3441    VARIANT clipBottom();
3442
3443    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3444    VARIANT clipLeft();
3445
3446    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3447    BSTR overflow();
3448
3449    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3450    BSTR pageBreakBefore();
3451
3452    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3453    BSTR pageBreakAfter();
3454
3455    [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3456    BSTR cursor();
3457
3458    [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3459    BSTR tableLayout();
3460
3461    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3462    BSTR borderCollapse();
3463
3464    [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3465    BSTR direction();
3466
3467    [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3468    BSTR behavior();
3469
3470    [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3471    VARIANT getAttribute(
3472            [in] BSTR strAttributeName,
3473            [in, defaultvalue(0)] LONG lFlags);
3474
3475    [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3476    BSTR unicodeBidi();
3477
3478    [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3479    VARIANT right();
3480
3481    [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3482    VARIANT bottom();
3483
3484    [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3485    BSTR imeMode();
3486
3487    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3488    BSTR rubyAlign();
3489
3490    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3491    BSTR rubyPosition();
3492
3493    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3494    BSTR rubyOverhang();
3495
3496    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3497    BSTR textAutospace();
3498
3499    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3500    BSTR lineBreak();
3501
3502    [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3503    BSTR wordBreak();
3504
3505    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3506    BSTR textJustify();
3507
3508    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3509    BSTR textJustifyTrim();
3510
3511    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3512    VARIANT textKashida();
3513
3514    [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3515    BSTR blockDirection();
3516
3517    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3518    VARIANT layoutGridChar();
3519
3520    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3521    VARIANT layoutGridLine();
3522
3523    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3524    BSTR layoutGridMode();
3525
3526    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3527    BSTR layoutGridType();
3528
3529    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3530    BSTR borderStyle();
3531
3532    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3533    BSTR borderColor();
3534
3535    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3536    BSTR borderWidth();
3537
3538    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3539    BSTR padding();
3540
3541    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3542    BSTR margin();
3543
3544    [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3545    BSTR accelerator();
3546
3547    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3548    BSTR overflowX();
3549
3550    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3551    BSTR overflowY();
3552
3553    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3554    BSTR textTransform();
3555
3556    [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3557    BSTR layoutFlow();
3558
3559    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3560    BSTR wordWrap();
3561
3562    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3563    BSTR textUnderlinePosition();
3564
3565    [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3566    VARIANT_BOOL hasLayout();
3567
3568    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3569    VARIANT scrollbarBaseColor();
3570
3571    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3572    VARIANT scrollbarFaceColor();
3573
3574    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3575    VARIANT scrollbar3dLightColor();
3576
3577    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3578    VARIANT scrollbarShadowColor();
3579
3580    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3581    VARIANT scrollbarHighlightColor();
3582
3583    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3584    VARIANT scrollbarDarkShadowColor();
3585
3586    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3587    VARIANT scrollbarArrowColor();
3588
3589    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3590    VARIANT scrollbarTrackColor();
3591
3592    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3593    BSTR writingMode();
3594
3595    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3596    VARIANT zoom();
3597
3598    [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3599    BSTR filter();
3600
3601    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3602    BSTR textAlignLast();
3603
3604    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3605    VARIANT textKashidaSpace();
3606
3607    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3608    VARIANT_BOOL isBlock();
3609
3610    [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3611    BSTR textOverflow();
3612
3613    [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3614    VARIANT minHeight();
3615
3616    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3617    VARIANT wordSpacing();
3618
3619    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3620    BSTR whiteSpace();
3621
3622    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3623    BSTR msInterpolationMode();
3624
3625    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3626    VARIANT maxHeight();
3627
3628    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3629    VARIANT minWidth();
3630
3631    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3632    VARIANT maxWidth();
3633}
3634
3635[
3636    noncreatable,
3637    uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3638]
3639coclass HTMLCurrentStyle
3640{
3641    [default] dispinterface DispHTMLCurrentStyle;
3642    interface IHTMLCurrentStyle;
3643    interface IHTMLCurrentStyle2;
3644    interface IHTMLCurrentStyle3;
3645    interface IHTMLCurrentStyle4;
3646}
3647
3648/*****************************************************************************
3649 *    IHTMLRect interface
3650 */
3651[
3652    odl,
3653    oleautomation,
3654    dual,
3655    uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3656]
3657interface IHTMLRect : IDispatch
3658{
3659    [propput, id(DISPID_IHTMLRECT_LEFT)]
3660    HRESULT left([in] LONG v);
3661
3662    [propget, id(DISPID_IHTMLRECT_LEFT)]
3663    HRESULT left([retval, out] LONG *p);
3664
3665    [propput, id(DISPID_IHTMLRECT_TOP)]
3666    HRESULT top([in] LONG v);
3667
3668    [propget, id(DISPID_IHTMLRECT_TOP)]
3669    HRESULT top([retval, out] LONG *p);
3670
3671    [propput, id(DISPID_IHTMLRECT_RIGHT)]
3672    HRESULT right([in] LONG v);
3673
3674    [propget, id(DISPID_IHTMLRECT_RIGHT)]
3675    HRESULT right([retval, out] LONG *p);
3676
3677    [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3678    HRESULT bottom([in] LONG v);
3679
3680    [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3681    HRESULT bottom([retval, out] LONG *p);
3682}
3683
3684/*****************************************************************************
3685 *    IHTMLRectCollection interface
3686 */
3687[
3688    odl,
3689    oleautomation,
3690    dual,
3691    uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3692]
3693interface IHTMLRectCollection : IDispatch
3694{
3695    [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3696    HRESULT length([retval, out] LONG *p);
3697
3698    [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3699    HRESULT _newEnum([retval, out] IUnknown **p);
3700
3701    [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3702    HRESULT item(
3703        [in] VARIANT *pvarIndex,
3704        [retval, out] VARIANT *pvarResult);
3705}
3706
3707/*****************************************************************************
3708 *    IHTMLDOMNode interface
3709 */
3710[
3711    odl,
3712    oleautomation,
3713    dual,
3714    uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3715]
3716interface IHTMLDOMNode : IDispatch
3717{
3718    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3719    HRESULT nodeType([retval, out] LONG *p);
3720
3721    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3722    HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3723
3724    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3725    HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3726
3727    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3728    HRESULT childNodes([retval, out] IDispatch **p);
3729
3730    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3731    HRESULT attributes([retval, out] IDispatch **p);
3732
3733    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3734    HRESULT insertBefore(
3735        [in] IHTMLDOMNode *newChild,
3736        [optional, in] VARIANT refChild,
3737        [retval, out] IHTMLDOMNode **node);
3738
3739    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3740    HRESULT removeChild(
3741        [in] IHTMLDOMNode *oldChild,
3742        [retval, out] IHTMLDOMNode **node);
3743
3744    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3745    HRESULT replaceChild(
3746        [in] IHTMLDOMNode *newChild,
3747        [in] IHTMLDOMNode *oldChild,
3748        [retval, out] IHTMLDOMNode **node);
3749
3750    [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3751    HRESULT cloneNode(
3752        [in] VARIANT_BOOL fDeep,
3753        [retval, out] IHTMLDOMNode **clonedNode);
3754
3755    [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3756    HRESULT removeNode(
3757        [defaultvalue(0), in] VARIANT_BOOL fDeep,
3758        [retval, out] IHTMLDOMNode **removed);
3759
3760    [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3761    HRESULT swapNode(
3762        [in] IHTMLDOMNode *otherNode,
3763        [retval, out] IHTMLDOMNode **swappedNode);
3764
3765    [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3766    HRESULT replaceNode(
3767        [in] IHTMLDOMNode *replacement,
3768        [retval, out] IHTMLDOMNode **replaced);
3769
3770    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3771    HRESULT appendChild(
3772        [in] IHTMLDOMNode *newChild,
3773        [retval, out] IHTMLDOMNode **node);
3774
3775    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3776    HRESULT nodeName([retval, out] BSTR *p);
3777
3778    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3779    HRESULT nodeValue([in] VARIANT v);
3780
3781    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3782    HRESULT nodeValue([retval, out] VARIANT *p);
3783
3784    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3785    HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3786
3787    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3788    HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3789
3790    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3791    HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3792
3793    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3794    HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3795}
3796
3797#define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3798    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3799    LONG nodeType();                                                    \
3800                                                                        \
3801    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3802    IHTMLDOMNode* parentNode();                                         \
3803                                                                        \
3804    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3805    VARIANT_BOOL hasChildNodes();                                       \
3806                                                                        \
3807    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3808    IDispatch* childNodes();                                            \
3809                                                                        \
3810    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3811    IDispatch* attributes();                                            \
3812                                                                        \
3813    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3814    IHTMLDOMNode* insertBefore(                                         \
3815            [in] IHTMLDOMNode* newChild,                                \
3816            [optional, in] VARIANT refChild);                           \
3817                                                                        \
3818    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3819    IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3820                                                                        \
3821    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3822    IHTMLDOMNode* replaceChild(                                         \
3823        [in] IHTMLDOMNode* newChild,                                    \
3824        [in] IHTMLDOMNode* oldChild);                                   \
3825                                                                        \
3826    [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3827    IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3828                                                                        \
3829    [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3830    IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3831                                                                        \
3832    [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3833    IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3834                                                                        \
3835    [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3836    IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3837                                                                        \
3838    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3839    IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3840                                                                        \
3841    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3842    BSTR nodeName();                                                    \
3843                                                                        \
3844    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3845    void nodeValue(VARIANT v);                                          \
3846                                                                        \
3847    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3848    VARIANT nodeValue();                                                \
3849                                                                        \
3850    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3851    IHTMLDOMNode* firstChild();                                         \
3852                                                                        \
3853    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3854    IHTMLDOMNode* lastChild();                                          \
3855                                                                        \
3856    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3857    IHTMLDOMNode* previousSibling();                                    \
3858                                                                        \
3859    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3860    IHTMLDOMNode* nextSibling()
3861
3862/*****************************************************************************
3863 *    IHTMLDOMNode2 interface
3864 */
3865[
3866    odl,
3867    oleautomation,
3868    dual,
3869    uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3870]
3871interface IHTMLDOMNode2 : IDispatch
3872{
3873    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3874    HRESULT ownerDocument([retval, out] IDispatch **p);
3875}
3876
3877#define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3878    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3879    IDispatch *ownerDocument()
3880
3881#define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3882    WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3883    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3884
3885/*****************************************************************************
3886 *    IHTMLDOMNode3 interface
3887 */
3888[
3889    odl,
3890    oleautomation,
3891    dual,
3892    uuid(305106e0-98b5-11cf-bb82-00aa00bdce0b)
3893]
3894interface IHTMLDOMNode3 : IDispatch
3895{
3896    [propput, id(DISPID_IHTMLDOMNODE3_PREFIX)]
3897    HRESULT prefix([in] VARIANT v);
3898
3899    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)]
3900    HRESULT prefix([out, retval] VARIANT *p);
3901
3902    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)]
3903    HRESULT localName([out, retval] VARIANT *p);
3904
3905    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)]
3906    HRESULT namespaceURI([out, retval] VARIANT *p);
3907
3908    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)]
3909    HRESULT textContent([in] VARIANT v);
3910
3911    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)]
3912    HRESULT textContent([out, retval] VARIANT *p);
3913
3914    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)]
3915    HRESULT isEqualNode(
3916        [in] IHTMLDOMNode3 *otherNode,
3917        [out, retval] VARIANT_BOOL *isEqual);
3918
3919    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)]
3920    HRESULT lookupNamespaceURI(
3921        [in] VARIANT *pvarPrefix,
3922        [out, retval] VARIANT *pvarNamespaceURI);
3923
3924    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)]
3925    HRESULT lookupPrefix(
3926       [in] VARIANT *pvarNamespaceURI,
3927       [out, retval] VARIANT *pvarPrefix);
3928
3929    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)]
3930    HRESULT isDefaultNamespace(
3931        [in] VARIANT *pvarNamespace,
3932        [out, retval] VARIANT_BOOL *pfDefaultNamespace);
3933
3934    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)]
3935    HRESULT appendChild(
3936        [in] IHTMLDOMNode *newChild,
3937        [out, retval] IHTMLDOMNode **node);
3938
3939    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)]
3940    HRESULT insertBefore(
3941        [in] IHTMLDOMNode *newChild,
3942        [in, optional] VARIANT refChild,
3943        [out, retval] IHTMLDOMNode **node);
3944
3945    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)]
3946    HRESULT removeChild(
3947        [in] IHTMLDOMNode *oldChild,
3948        [out, retval] IHTMLDOMNode **node);
3949
3950    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)]
3951    HRESULT replaceChild(
3952        [in] IHTMLDOMNode *newChild,
3953        [in] IHTMLDOMNode *oldChild,
3954        [out, retval] IHTMLDOMNode **node);
3955
3956    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)]
3957    HRESULT isSameNode(
3958        [in] IHTMLDOMNode3 *otherNode,
3959        [out, retval] VARIANT_BOOL *isSame);
3960
3961    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)]
3962    HRESULT compareDocumentPosition(
3963        [in] IHTMLDOMNode *otherNode,
3964        [out, retval] USHORT *flags);
3965
3966    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)]
3967    HRESULT isSupported(
3968        [in] BSTR feature,
3969        [in] VARIANT version,
3970        [out, retval] VARIANT_BOOL *pfisSupported);
3971}
3972
3973/*****************************************************************************
3974 *    IHTMLDOMAttribute interface
3975 */
3976[
3977    odl,
3978    oleautomation,
3979    dual,
3980    uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3981]
3982interface IHTMLDOMAttribute : IDispatch
3983{
3984    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3985    HRESULT nodeName([retval, out] BSTR *p);
3986
3987    [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3988    HRESULT nodeValue([in] VARIANT v);
3989
3990    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3991    HRESULT nodeValue([retval, out] VARIANT *p);
3992
3993    [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3994    HRESULT specified([retval, out] VARIANT_BOOL *p);
3995}
3996
3997/*****************************************************************************
3998 *    IHTMLDOMAttribute2 interface
3999 */
4000[
4001    odl,
4002    oleautomation,
4003    dual,
4004    uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
4005]
4006interface IHTMLDOMAttribute2 : IDispatch
4007{
4008    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
4009    HRESULT name([retval, out] BSTR *p);
4010
4011    [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4012    HRESULT value([in] BSTR v);
4013
4014    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4015    HRESULT value([retval, out] BSTR *p);
4016
4017    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
4018    HRESULT expando([retval, out] VARIANT_BOOL *p);
4019
4020    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
4021    HRESULT nodeType([retval, out] long *p);
4022
4023    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
4024    HRESULT parentNode([retval, out] IHTMLDOMNode **p);
4025
4026    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4027    HRESULT childNodes([retval, out] IDispatch **p);
4028
4029    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4030    HRESULT firstChild([retval, out] IHTMLDOMNode **p);
4031
4032    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4033    HRESULT lastChild([retval, out] IHTMLDOMNode **p);
4034
4035    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4036    HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
4037
4038    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4039    HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
4040
4041    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4042    HRESULT attributes([retval, out] IDispatch **p);
4043
4044    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4045    HRESULT ownerDocument([retval, out] IDispatch **p);
4046
4047    [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4048    HRESULT insertBefore(
4049            [in] IHTMLDOMNode *newChild,
4050            [optional, in] VARIANT refChild,
4051            [retval, out] IHTMLDOMNode **node);
4052
4053    [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4054    HRESULT replaceChild(
4055            [in] IHTMLDOMNode *newChild,
4056            [in] IHTMLDOMNode *oldChild,
4057            [retval, out] IHTMLDOMNode **node);
4058
4059    [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4060    HRESULT removeChild(
4061            [in] IHTMLDOMNode *oldChild,
4062            [retval, out] IHTMLDOMNode **node);
4063
4064    [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4065    HRESULT appendChild(
4066            [in] IHTMLDOMNode *newChild,
4067            [retval, out] IHTMLDOMNode **node);
4068
4069    [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4070    HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
4071
4072    [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4073    HRESULT cloneNode(
4074            [in] VARIANT_BOOL fDeep,
4075            [retval, out] IHTMLDOMAttribute **clonedNode);
4076}
4077
4078/*****************************************************************************
4079 *    IHTMLDOMTextNode interface
4080 */
4081[
4082    odl,
4083    oleautomation,
4084    dual,
4085    uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
4086]
4087interface IHTMLDOMTextNode : IDispatch
4088{
4089    [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4090    HRESULT data([in] BSTR v);
4091
4092    [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4093    HRESULT data([out, retval] BSTR *p);
4094
4095    [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4096    HRESULT toString([out, retval] BSTR *String);
4097
4098    [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4099    HRESULT length([out, retval] LONG *p);
4100
4101    [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4102    HRESULT splitText(
4103            [in] LONG offset,
4104            [out, retval] IHTMLDOMNode **pRetNode);
4105}
4106
4107/*****************************************************************************
4108 *    IHTMLDOMTextNode2 interface
4109 */
4110[
4111    odl,
4112    oleautomation,
4113    dual,
4114    uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
4115]
4116interface IHTMLDOMTextNode2 : IDispatch
4117{
4118    [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4119    HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
4120
4121    [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4122    HRESULT appendData([in] BSTR bstrstring);
4123
4124    [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4125    HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
4126
4127    [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4128    HRESULT deleteData([in] LONG offset,[in] LONG Count);
4129
4130    [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4131    HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
4132}
4133
4134[
4135    noncreatable,
4136    uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
4137]
4138coclass HTMLDOMTextNode
4139{
4140    [default]           dispinterface DispHTMLDOMTextNode;
4141                        interface IHTMLDOMTextNode;
4142                        interface IHTMLDOMTextNode2;
4143                        interface IHTMLDOMNode;
4144                        interface IHTMLDOMNode2;
4145}
4146
4147/*****************************************************************************
4148 *    IHTMLDOMImplementation interface
4149 */
4150[
4151    odl,
4152    oleautomation,
4153    dual,
4154    uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
4155]
4156interface IHTMLDOMImplementation : IDispatch
4157{
4158    [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
4159    HRESULT hasFeature(
4160        [in] BSTR bstrfeature,
4161        [optional, in] VARIANT version,
4162        [retval, out] VARIANT_BOOL *pfHasFeature);
4163}
4164
4165/*****************************************************************************
4166 *    DispHTMLDOMAttribute dispinterface
4167 */
4168[
4169    hidden,
4170    uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
4171]
4172dispinterface DispHTMLDOMAttribute
4173{
4174 properties:
4175    methods:
4176    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
4177    BSTR nodeName();
4178
4179    [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
4180    void nodeValue(VARIANT v);
4181
4182    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
4183    VARIANT nodeValue();
4184
4185    [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
4186    VARIANT_BOOL specified();
4187
4188    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
4189    BSTR name();
4190
4191    [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4192    void value(BSTR v);
4193
4194    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4195    BSTR value();
4196
4197    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
4198    VARIANT_BOOL expando();
4199
4200    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
4201    long nodeType();
4202
4203    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
4204    IHTMLDOMNode *parentNode();
4205
4206    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4207    IDispatch *childNodes();
4208
4209    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4210    IHTMLDOMNode *firstChild();
4211
4212    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4213    IHTMLDOMNode *lastChild();
4214
4215    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4216    IHTMLDOMNode *previousSibling();
4217
4218    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4219    IHTMLDOMNode *nextSibling();
4220
4221    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4222    IDispatch *attributes();
4223
4224    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4225    IDispatch *ownerDocument();
4226
4227    [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4228    IHTMLDOMNode *insertBefore(
4229            [in] IHTMLDOMNode *newChild,
4230            [optional, in] VARIANT refChild);
4231
4232    [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4233    IHTMLDOMNode *replaceChild(
4234            [in] IHTMLDOMNode *newChild,
4235            [in] IHTMLDOMNode *oldChild);
4236
4237    [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4238    IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4239
4240    [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4241    IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4242
4243    [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4244    VARIANT_BOOL hasChildNodes();
4245
4246    [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4247    IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4248
4249    [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4250    void ie8_nodeValue(VARIANT v);
4251
4252    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4253    VARIANT ie8_nodeValue();
4254
4255    [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4256    void ie8_value(BSTR v);
4257
4258    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4259    BSTR ie8_value();
4260
4261    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4262    VARIANT_BOOL ie8_specified();
4263
4264    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4265    IHTMLElement2 *ownerElement();
4266
4267    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4268}
4269
4270/*****************************************************************************
4271 *    IHTMLDocumentCompatibleInfo interface
4272 */
4273[
4274    odl,
4275    oleautomation,
4276    dual,
4277    uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4278]
4279interface IHTMLDocumentCompatibleInfo : IDispatch
4280{
4281    [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4282    HRESULT userAgent([retval, out] BSTR *p);
4283
4284    [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4285    HRESULT version([retval, out] BSTR *p);
4286}
4287
4288/*****************************************************************************
4289 *    IHTMLDocumentCompatibleInfoCollection interface
4290 */
4291[
4292    odl,
4293    oleautomation,
4294    dual,
4295    uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4296]
4297interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4298{
4299    [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4300    HRESULT length([retval, out] long *p);
4301
4302    [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4303    HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4304}
4305
4306/*****************************************************************************
4307 *    DispHTMLDOMTextNode dispinterface
4308 */
4309[
4310    hidden,
4311    uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4312]
4313dispinterface DispHTMLDOMTextNode
4314{
4315properties:
4316methods:
4317    [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4318    void data(BSTR v);
4319
4320    [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4321    BSTR data();
4322
4323    [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4324    BSTR toString();
4325
4326    [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4327    LONG length();
4328
4329    [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4330    IHTMLDOMNode *splitText([in] LONG offset);
4331
4332    [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4333    BSTR substringData(
4334            [in] LONG offset,
4335            [in] LONG Count);
4336
4337    [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4338    void appendData([in] BSTR bstrstring);
4339
4340    [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4341    void insertData(
4342            [in] LONG offset,
4343            [in] BSTR bstrstring);
4344
4345    [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4346    void deleteData(
4347            [in] LONG offset,
4348            [in] LONG Count);
4349
4350    [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4351    void replaceData(
4352            [in] LONG offset,
4353            [in] LONG Count,
4354            [in] BSTR bstrstring);
4355
4356    WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4357}
4358
4359/*****************************************************************************
4360 *    IHTMLAttributeCollection interface
4361 */
4362[
4363    odl,
4364    oleautomation,
4365    dual,
4366    uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4367]
4368interface IHTMLAttributeCollection : IDispatch
4369{
4370    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4371    HRESULT length(
4372            [retval, out] long *p);
4373
4374    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4375    HRESULT _newEnum(
4376            [retval, out] IUnknown **p);
4377
4378    [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4379    HRESULT item(
4380            [optional, in] VARIANT *name,
4381            [retval, out] IDispatch **pdisp);
4382}
4383
4384/*****************************************************************************
4385 *    IHTMLAttributeCollection2 interface
4386 */
4387[
4388    odl,
4389    oleautomation,
4390    dual,
4391    uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4392    ]
4393interface IHTMLAttributeCollection2 : IDispatch
4394{
4395    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4396    HRESULT getNamedItem(
4397            [in] BSTR bstrName,
4398            [retval, out] IHTMLDOMAttribute **newretNode);
4399
4400    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4401    HRESULT setNamedItem(
4402            [in] IHTMLDOMAttribute *ppNode,
4403            [retval, out] IHTMLDOMAttribute **newretNode);
4404
4405    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4406    HRESULT removeNamedItem(
4407            [in] BSTR bstrName,
4408            [retval, out] IHTMLDOMAttribute **newretNode);
4409}
4410
4411/*****************************************************************************
4412 *    IHTMLAttributeCollection3 interface
4413 */
4414[
4415    odl,
4416    oleautomation,
4417    dual,
4418    uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4419]
4420interface IHTMLAttributeCollection3 : IDispatch
4421{
4422    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4423    HRESULT getNamedItem(
4424            [in] BSTR bstrName,
4425            [retval, out] IHTMLDOMAttribute **ppNodeOut);
4426
4427    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4428    HRESULT setNamedItem(
4429            [in] IHTMLDOMAttribute *pNodeIn,
4430            [retval, out] IHTMLDOMAttribute **ppNodeOut);
4431
4432    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4433    HRESULT removeNamedItem(
4434            [in] BSTR bstrName,
4435            [retval, out] IHTMLDOMAttribute **ppNodeOut);
4436
4437    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4438    HRESULT item(
4439            [in] long index,
4440            [retval, out] IHTMLDOMAttribute **ppNodeOut);
4441
4442    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4443    HRESULT length([retval, out] long *p);
4444}
4445
4446/*****************************************************************************
4447 *    DispHTMLAttributeCollection dispinterface
4448 */
4449[
4450    hidden,
4451    uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4452]
4453dispinterface DispHTMLAttributeCollection
4454{
4455properties:
4456methods:
4457    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4458    long length();
4459
4460    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4461    IUnknown *_newEnum();
4462
4463    [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4464    IDispatch *item([optional, in] VARIANT *name);
4465
4466    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4467    IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4468
4469    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4470    IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4471
4472    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4473    IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4474
4475    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4476    IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4477
4478    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4479    IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4480
4481    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4482    IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4483
4484    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4485    IHTMLDOMAttribute *ie8_item([in] long index);
4486
4487    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4488    long ie8_length();
4489
4490    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4491    IDispatch *constructor();
4492}
4493
4494/*****************************************************************************
4495 *    IHTMLDOMChildrenCollection interface
4496 */
4497[
4498    odl,
4499    oleautomation,
4500    dual,
4501    uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4502]
4503interface IHTMLDOMChildrenCollection : IDispatch
4504{
4505    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4506    HRESULT length([out, retval] LONG *p);
4507
4508    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4509    HRESULT _newEnum([out, retval] IUnknown **p);
4510
4511    [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4512    HRESULT item(
4513            [in] LONG index,
4514            [out, retval] IDispatch **ppItem);
4515}
4516
4517/*****************************************************************************
4518 *    DispDOMChildrenCollection dispinterface
4519 */
4520[
4521    hidden,
4522    uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4523]
4524dispinterface DispDOMChildrenCollection
4525{
4526properties:
4527methods:
4528    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4529    LONG length();
4530
4531    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4532    IUnknown *_newEnum();
4533
4534    [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4535    IDispatch *item([in] LONG index);
4536}
4537
4538interface IHTMLElementCollection;
4539
4540/*****************************************************************************
4541 *    IHTMLElement interface
4542 */
4543[
4544    odl,
4545    dual,
4546    oleautomation,
4547    uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4548]
4549interface IHTMLElement : IDispatch
4550{
4551    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4552    HRESULT setAttribute(
4553        [in] BSTR strAttributeName,
4554        [in] VARIANT AttributeValue,
4555        [defaultvalue(1), in] LONG lFlags);
4556
4557    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4558    HRESULT getAttribute(
4559        [in] BSTR strAttributeName,
4560        [defaultvalue(0), in] LONG lFlags,
4561        [retval, out] VARIANT *AttributeValue);
4562
4563    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4564    HRESULT removeAttribute(
4565        [in] BSTR strAttributeName,
4566        [defaultvalue(1), in] LONG lFlags,
4567        [retval, out] VARIANT_BOOL *pfSuccess);
4568
4569    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4570    HRESULT className([in] BSTR v);
4571
4572    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4573    HRESULT className([retval, out] BSTR *p);
4574
4575    [propput, id(DISPID_IHTMLELEMENT_ID)]
4576    HRESULT id([in] BSTR v);
4577
4578    [propget, id(DISPID_IHTMLELEMENT_ID)]
4579    HRESULT id([retval, out] BSTR *p);
4580
4581    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4582    HRESULT tagName([retval, out] BSTR *p);
4583
4584    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4585    HRESULT parentElement([retval, out] IHTMLElement **p);
4586
4587    [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4588    HRESULT style([retval, out] IHTMLStyle **p);
4589
4590    [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4591    HRESULT onhelp([in] VARIANT v);
4592
4593    [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4594    HRESULT onhelp([retval, out] VARIANT *p);
4595
4596    [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4597    HRESULT onclick([in] VARIANT v);
4598
4599    [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4600    HRESULT onclick([retval, out] VARIANT *p);
4601
4602    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4603    HRESULT ondblclick([in] VARIANT v);
4604
4605    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4606    HRESULT ondblclick([retval, out] VARIANT *p);
4607
4608    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4609    HRESULT onkeydown([in] VARIANT v);
4610
4611    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4612    HRESULT onkeydown([retval, out] VARIANT *p);
4613
4614    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4615    HRESULT onkeyup([in] VARIANT v);
4616
4617    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4618    HRESULT onkeyup([retval, out] VARIANT *p);
4619
4620    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4621    HRESULT onkeypress([in] VARIANT v);
4622
4623    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4624    HRESULT onkeypress([retval, out] VARIANT *p);
4625
4626    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4627    HRESULT onmouseout([in] VARIANT v);
4628
4629    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4630    HRESULT onmouseout([retval, out] VARIANT *p);
4631
4632    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4633    HRESULT onmouseover([in] VARIANT v);
4634
4635    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4636    HRESULT onmouseover([retval, out] VARIANT *p);
4637
4638    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4639    HRESULT onmousemove([in] VARIANT v);
4640
4641    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4642    HRESULT onmousemove([retval, out] VARIANT *p);
4643
4644    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4645    HRESULT onmousedown([in] VARIANT v);
4646
4647    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4648    HRESULT onmousedown([retval, out] VARIANT *p);
4649
4650    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4651    HRESULT onmouseup([in] VARIANT v);
4652
4653    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4654    HRESULT onmouseup([retval, out] VARIANT *p);
4655
4656    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4657    HRESULT document([retval, out] IDispatch **p);
4658
4659    [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4660    HRESULT title([in] BSTR v);
4661
4662    [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4663    HRESULT title([retval, out] BSTR *p);
4664
4665    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4666    HRESULT language([in] BSTR v);
4667
4668    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4669    HRESULT language([retval, out] BSTR *p);
4670
4671    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4672    HRESULT onselectstart([in] VARIANT v);
4673
4674    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4675    HRESULT onselectstart([retval, out] VARIANT *p);
4676
4677    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4678    HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4679
4680    [id(DISPID_IHTMLELEMENT_CONTAINS)]
4681    HRESULT contains(
4682        [in] IHTMLElement *pChild,
4683        [retval, out] VARIANT_BOOL *pfResult);
4684
4685    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4686    HRESULT sourceIndex([retval, out] LONG *p);
4687
4688    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4689    HRESULT recordNumber([retval, out] VARIANT *p);
4690
4691    [propput, id(DISPID_IHTMLELEMENT_LANG)]
4692    HRESULT lang([in] BSTR v);
4693
4694    [propget, id(DISPID_IHTMLELEMENT_LANG)]
4695    HRESULT lang([retval, out] BSTR *p);
4696
4697    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4698    HRESULT offsetLeft([retval, out] LONG *p);
4699
4700    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4701    HRESULT offsetTop([retval, out] LONG *p);
4702
4703    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4704    HRESULT offsetWidth([retval, out] LONG *p);
4705
4706    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4707    HRESULT offsetHeight([retval, out] LONG *p);
4708
4709    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4710    HRESULT offsetParent([retval, out] IHTMLElement **p);
4711
4712    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4713    HRESULT innerHTML([in] BSTR v);
4714
4715    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4716    HRESULT innerHTML([retval, out] BSTR *p);
4717
4718    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4719    HRESULT innerText([in] BSTR v);
4720
4721    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4722    HRESULT innerText([retval, out] BSTR *p);
4723
4724    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4725    HRESULT outerHTML([in] BSTR v);
4726
4727    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4728    HRESULT outerHTML([retval, out] BSTR *p);
4729
4730    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4731    HRESULT outerText([in] BSTR v);
4732
4733    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4734    HRESULT outerText([retval, out] BSTR *p);
4735
4736    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4737    HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4738
4739    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4740    HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4741
4742    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4743    HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4744
4745    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4746    HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4747
4748    [id(DISPID_IHTMLELEMENT_CLICK)]
4749    HRESULT click();
4750
4751    [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4752    HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4753
4754    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4755    HRESULT ondragstart([in] VARIANT v);
4756
4757    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4758    HRESULT ondragstart([retval, out] VARIANT *p);
4759
4760    [id(DISPID_IHTMLELEMENT_TOSTRING)]
4761    HRESULT toString([retval, out] BSTR *String);
4762
4763    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4764    HRESULT onbeforeupdate([in] VARIANT v);
4765
4766    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4767    HRESULT onbeforeupdate([retval, out] VARIANT *p);
4768
4769    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4770    HRESULT onafterupdate([in] VARIANT v);
4771
4772    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4773    HRESULT onafterupdate([retval, out] VARIANT *p);
4774
4775    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4776    HRESULT onerrorupdate([in] VARIANT v);
4777
4778    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4779    HRESULT onerrorupdate([retval, out] VARIANT *p);
4780
4781    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4782    HRESULT onrowexit([in] VARIANT v);
4783
4784    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4785    HRESULT onrowexit([retval, out] VARIANT *p);
4786
4787    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4788    HRESULT onrowenter([in] VARIANT v);
4789
4790    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4791    HRESULT onrowenter([retval, out] VARIANT *p);
4792
4793    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4794    HRESULT ondatasetchanged([in] VARIANT v);
4795
4796    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4797    HRESULT ondatasetchanged([retval, out] VARIANT *p);
4798
4799    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4800    HRESULT ondataavailable([in] VARIANT v);
4801
4802    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4803    HRESULT ondataavailable([retval, out] VARIANT *p);
4804
4805    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4806    HRESULT ondatasetcomplete([in] VARIANT v);
4807
4808    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4809    HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4810
4811    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4812    HRESULT onfilterchange([in] VARIANT v);
4813
4814    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4815    HRESULT onfilterchange([retval, out] VARIANT *p);
4816
4817    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4818    HRESULT children([retval, out] IDispatch **p);
4819
4820    [propget, id(DISPID_IHTMLELEMENT_ALL)]
4821    HRESULT all([retval, out] IDispatch **p);
4822}
4823
4824#define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4825    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4826    void setAttribute(                                                  \
4827        [in] BSTR strAttributeName,                                     \
4828        [in] VARIANT AttValue,                                          \
4829        [defaultvalue(1), in] LONG lFlags);                             \
4830                                                                        \
4831    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4832    VARIANT getAttribute(                                               \
4833        [in] BSTR strAttributeName,                                     \
4834        [defaultvalue(0), in] LONG lFlags);                             \
4835                                                                        \
4836    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4837    VARIANT_BOOL removeAttribute(                                       \
4838        [in] BSTR strAttributeName,                                     \
4839        [defaultvalue(1), in] LONG lFlags);                             \
4840                                                                        \
4841    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4842    void className(BSTR v);                                             \
4843                                                                        \
4844    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4845    BSTR className();                                                   \
4846                                                                        \
4847    [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4848    void id(BSTR v);                                                    \
4849                                                                        \
4850    [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4851    BSTR id();                                                          \
4852                                                                        \
4853    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4854    BSTR tagName();                                                     \
4855                                                                        \
4856    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4857    IHTMLElement *parentElement();                                      \
4858                                                                        \
4859    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4860    IHTMLStyle *style();                                                \
4861                                                                        \
4862    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4863    void onhelp(VARIANT v);                                             \
4864                                                                        \
4865    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4866    VARIANT onhelp();                                                   \
4867                                                                        \
4868    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4869    void onclick(VARIANT v);                                            \
4870                                                                        \
4871    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4872    VARIANT onclick();                                                  \
4873                                                                        \
4874    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4875    void ondblclick(VARIANT v);                                         \
4876                                                                        \
4877    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4878    VARIANT ondblclick();                                               \
4879                                                                        \
4880    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4881    void onkeydown(VARIANT v);                                          \
4882                                                                        \
4883    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4884    VARIANT onkeydown();                                                \
4885                                                                        \
4886    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4887    void onkeyup(VARIANT v);                                            \
4888                                                                        \
4889    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4890    VARIANT onkeyup();                                                  \
4891                                                                        \
4892    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4893    void onkeypress(VARIANT v);                                         \
4894                                                                        \
4895    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4896    VARIANT onkeypress();                                               \
4897                                                                        \
4898    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4899    void onmouseout(VARIANT v);                                         \
4900                                                                        \
4901    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4902    VARIANT onmouseout();                                               \
4903                                                                        \
4904    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4905    void onmouseover(VARIANT v);                                        \
4906                                                                        \
4907    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4908    VARIANT onmouseover();                                              \
4909                                                                        \
4910    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4911    void onmousemove(VARIANT v);                                        \
4912                                                                        \
4913    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4914    VARIANT onmousemove();                                              \
4915                                                                        \
4916    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4917    void onmousedown(VARIANT v);                                        \
4918                                                                        \
4919    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4920    VARIANT onmousedown();                                              \
4921                                                                        \
4922    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4923    void onmouseup(VARIANT v);                                          \
4924                                                                        \
4925    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4926    VARIANT onmouseup();                                                \
4927                                                                        \
4928    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4929                                                                        \
4930    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4931    void title(BSTR v);                                                 \
4932                                                                        \
4933    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4934    BSTR title();                                                       \
4935                                                                        \
4936    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4937    void language(BSTR v);                                              \
4938                                                                        \
4939    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4940    BSTR language();                                                    \
4941                                                                        \
4942    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4943    void onselectstart(VARIANT v);                                      \
4944                                                                        \
4945    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4946    VARIANT onselectstart();                                            \
4947                                                                        \
4948    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4949    void scrollIntoView([optional, in] VARIANT varargStart);            \
4950                                                                        \
4951    [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4952    VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4953                                                                        \
4954    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4955    LONG sourceIndex();                                                 \
4956                                                                        \
4957    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4958    VARIANT recordNumber();                                             \
4959                                                                        \
4960    [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4961    void lang(BSTR v);                                                  \
4962                                                                        \
4963    [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4964    BSTR lang();                                                        \
4965                                                                        \
4966    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4967    LONG offsetLeft();                                                  \
4968                                                                        \
4969    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4970    LONG offsetTop();                                                   \
4971                                                                        \
4972    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4973    LONG offsetWidth();                                                 \
4974                                                                        \
4975    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4976    LONG offsetHeight();                                                \
4977                                                                        \
4978    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4979    IHTMLElement* offsetParent();                                       \
4980                                                                        \
4981    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4982    void innerHTML(BSTR v);                                             \
4983                                                                        \
4984    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4985    BSTR innerHTML();                                                   \
4986                                                                        \
4987    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4988    void innerText(BSTR v);                                             \
4989                                                                        \
4990    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4991    BSTR innerText();                                                   \
4992                                                                        \
4993    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4994    void outerHTML(BSTR v);                                             \
4995                                                                        \
4996    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4997    BSTR outerHTML();                                                   \
4998                                                                        \
4999    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
5000    void outerText(BSTR v);                                             \
5001                                                                        \
5002    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
5003    BSTR outerText();                                                   \
5004                                                                        \
5005    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
5006    void insertAdjacentHTML(                                            \
5007        [in] BSTR where,                                                \
5008        [in] BSTR html);                                                \
5009                                                                        \
5010    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
5011    void insertAdjacentText(                                            \
5012        [in] BSTR where,                                                \
5013        [in] BSTR text);                                                \
5014                                                                        \
5015    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
5016    IHTMLElement* parentTextEdit();                                     \
5017                                                                        \
5018    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
5019    VARIANT_BOOL isTextEdit();                                          \
5020                                                                        \
5021    [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
5022    void click();                                                       \
5023                                                                        \
5024    [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
5025    IHTMLFiltersCollection* filters();                                  \
5026                                                                        \
5027    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
5028    void ondragstart(VARIANT v);                                        \
5029                                                                        \
5030    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
5031    VARIANT ondragstart();                                              \
5032                                                                        \
5033    [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
5034    BSTR toString();                                                    \
5035                                                                        \
5036    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
5037    void onbeforeupdate(VARIANT v);                                     \
5038                                                                        \
5039    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
5040    VARIANT onbeforeupdate();                                           \
5041                                                                        \
5042    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
5043    void onafterupdate(VARIANT v);                                      \
5044                                                                        \
5045    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
5046    VARIANT onafterupdate();                                            \
5047                                                                        \
5048    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
5049    void onerrorupdate(VARIANT v);                                      \
5050                                                                        \
5051    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
5052    VARIANT onerrorupdate();                                            \
5053                                                                        \
5054    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
5055    void onrowexit(VARIANT v);                                          \
5056                                                                        \
5057    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
5058    VARIANT onrowexit();                                                \
5059                                                                        \
5060    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
5061    void onrowenter(VARIANT v);                                         \
5062                                                                        \
5063    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
5064    VARIANT onrowenter();                                               \
5065                                                                        \
5066    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
5067    void ondatasetchanged(VARIANT v);                                   \
5068                                                                        \
5069    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
5070    VARIANT ondatasetchanged();                                         \
5071                                                                        \
5072    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
5073    void ondataavailable(VARIANT v);                                    \
5074                                                                        \
5075    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
5076    VARIANT ondataavailable();                                          \
5077                                                                        \
5078    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
5079    void ondatasetcomplete(VARIANT v);                                  \
5080                                                                        \
5081    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
5082    VARIANT ondatasetcomplete();                                        \
5083                                                                        \
5084    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
5085    void onfilterchange(VARIANT v);                                     \
5086                                                                        \
5087    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
5088    VARIANT onfilterchange();                                           \
5089                                                                        \
5090    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
5091    IDispatch* children();                                              \
5092                                                                        \
5093    [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
5094    IDispatch* all()
5095
5096/*****************************************************************************
5097 *    IHTMLElement2 interface
5098 */
5099[
5100    odl,
5101    oleautomation,
5102    dual,
5103    uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
5104]
5105interface IHTMLElement2 : IDispatch
5106{
5107    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5108    HRESULT scopeName([retval, out] BSTR *p);
5109
5110    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5111    HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
5112
5113    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5114    HRESULT releaseCapture();
5115
5116    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5117    HRESULT onlosecapture([in] VARIANT v);
5118
5119    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5120    HRESULT onlosecapture([retval, out] VARIANT *p);
5121
5122    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5123    HRESULT componentFromPoint(
5124        [in] LONG x,
5125        [in] LONG y,
5126        [retval, out] BSTR *component);
5127
5128    [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5129    HRESULT doScroll([optional, in] VARIANT component);
5130
5131    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5132    HRESULT onscroll([in] VARIANT v);
5133
5134    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5135    HRESULT onscroll([retval, out] VARIANT *p);
5136
5137    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5138    HRESULT ondrag([in] VARIANT v);
5139
5140    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5141    HRESULT ondrag([retval, out] VARIANT *p);
5142
5143    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5144    HRESULT ondragend([in] VARIANT v);
5145
5146    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5147    HRESULT ondragend([retval, out] VARIANT *p);
5148
5149    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5150    HRESULT ondragenter([in] VARIANT v);
5151
5152    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5153    HRESULT ondragenter([retval, out] VARIANT *p);
5154
5155    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5156    HRESULT ondragover([in] VARIANT v);
5157
5158    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5159    HRESULT ondragover([retval, out] VARIANT *p);
5160
5161    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5162    HRESULT ondragleave([in] VARIANT v);
5163
5164    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5165    HRESULT ondragleave([retval, out] VARIANT *p);
5166
5167    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5168    HRESULT ondrop([in] VARIANT v);
5169
5170    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5171    HRESULT ondrop([retval, out] VARIANT *p);
5172
5173    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5174    HRESULT onbeforecut([in] VARIANT v);
5175
5176    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5177    HRESULT onbeforecut([retval, out] VARIANT *p);
5178
5179    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5180    HRESULT oncut([in] VARIANT v);
5181
5182    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5183    HRESULT oncut([retval, out] VARIANT *p);
5184
5185    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5186    HRESULT onbeforecopy([in] VARIANT v);
5187
5188    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5189    HRESULT onbeforecopy([retval, out] VARIANT *p);
5190
5191    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5192    HRESULT oncopy([in] VARIANT v);
5193
5194    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5195    HRESULT oncopy([retval, out] VARIANT *p);
5196
5197    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5198    HRESULT onbeforepaste([in] VARIANT v);
5199
5200    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5201    HRESULT onbeforepaste([retval, out] VARIANT *p);
5202
5203    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5204    HRESULT onpaste([in] VARIANT v);
5205
5206    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5207    HRESULT onpaste([retval, out] VARIANT *p);
5208
5209    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5210    HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5211
5212    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5213    HRESULT onpropertychange([in] VARIANT v);
5214
5215    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5216    HRESULT onpropertychange([retval, out] VARIANT *p);
5217
5218    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5219    HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5220
5221    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5222    HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5223
5224    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5225    HRESULT setExpression(
5226        [in] BSTR propname,
5227        [in] BSTR expression,
5228        [defaultvalue(""), in] BSTR language);
5229
5230    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5231    HRESULT getExpression(
5232        [in] BSTR propname,
5233        [retval, out] VARIANT *expression);
5234
5235    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5236    HRESULT removeExpression(
5237        [in] BSTR propname,
5238        [retval, out] VARIANT_BOOL *pfSuccess);
5239
5240    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5241    HRESULT tabIndex([in] short v);
5242
5243    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5244    HRESULT tabIndex([retval, out] short *p);
5245
5246    [id(DISPID_IHTMLELEMENT2_FOCUS)]
5247    HRESULT focus();
5248
5249    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5250    HRESULT accessKey([in] BSTR v);
5251
5252    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5253    HRESULT accessKey([retval, out] BSTR *p);
5254
5255    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5256    HRESULT onblur([in] VARIANT v);
5257
5258    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5259    HRESULT onblur([retval, out] VARIANT *p);
5260
5261    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5262    HRESULT onfocus([in] VARIANT v);
5263
5264    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5265    HRESULT onfocus([retval, out] VARIANT *p);
5266
5267    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5268    HRESULT onresize([in] VARIANT v);
5269
5270    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5271    HRESULT onresize([retval, out] VARIANT *p);
5272
5273    [id(DISPID_IHTMLELEMENT2_BLUR)]
5274    HRESULT blur();
5275
5276    [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5277    HRESULT addFilter([in] IUnknown *pUnk);
5278
5279    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5280    HRESULT removeFilter([in] IUnknown *pUnk);
5281
5282    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5283    HRESULT clientHeight([retval, out] LONG *p);
5284
5285    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5286    HRESULT clientWidth([retval, out] LONG *p);
5287
5288    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5289    HRESULT clientTop([retval, out] LONG *p);
5290
5291    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5292    HRESULT clientLeft([retval, out] LONG *p);
5293
5294    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5295    HRESULT attachEvent(
5296        [in] BSTR event,
5297        [in] IDispatch *pDisp,
5298        [retval, out] VARIANT_BOOL *pfResult);
5299
5300    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5301    HRESULT detachEvent(
5302        [in] BSTR event,
5303        [in] IDispatch *pDisp);
5304
5305    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5306    HRESULT readyState([retval, out] VARIANT *p);
5307
5308    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5309    HRESULT onreadystatechange([in] VARIANT v);
5310
5311    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5312    HRESULT onreadystatechange([retval, out] VARIANT *p);
5313
5314    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5315    HRESULT onrowsdelete([in] VARIANT v);
5316
5317    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5318    HRESULT onrowsdelete([retval, out] VARIANT *p);
5319
5320    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5321    HRESULT onrowsinserted([in] VARIANT v);
5322
5323    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5324    HRESULT onrowsinserted([retval, out] VARIANT *p);
5325
5326    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5327    HRESULT oncellchange([in] VARIANT v);
5328
5329    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5330    HRESULT oncellchange([retval, out] VARIANT *p);
5331
5332    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5333    HRESULT dir([in] BSTR v);
5334
5335    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5336    HRESULT dir([retval, out] BSTR *p);
5337
5338    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5339    HRESULT createControlRange([retval, out] IDispatch **range);
5340
5341    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5342    HRESULT scrollHeight([retval, out] LONG *p);
5343
5344    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5345    HRESULT scrollWidth([retval, out] LONG *p);
5346
5347    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5348    HRESULT scrollTop([in] LONG v);
5349
5350    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5351    HRESULT scrollTop([retval, out] LONG *p);
5352
5353    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5354    HRESULT scrollLeft([in] LONG v);
5355
5356    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5357    HRESULT scrollLeft([retval, out] LONG *p);
5358
5359    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5360    HRESULT clearAttributes();
5361
5362    [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5363    HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5364
5365    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5366    HRESULT oncontextmenu([in] VARIANT v);
5367
5368    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5369    HRESULT oncontextmenu([retval, out] VARIANT *p);
5370
5371    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5372    HRESULT insertAdjacentElement(
5373        [in] BSTR where,
5374        [in] IHTMLElement *insertedElement,
5375        [retval, out] IHTMLElement **inserted);
5376
5377    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5378    HRESULT applyElement(
5379        [in] IHTMLElement *apply,
5380        [in] BSTR where,
5381        [retval, out] IHTMLElement **applied);
5382
5383    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5384    HRESULT getAdjacentText(
5385        [in] BSTR where,
5386        [retval, out] BSTR *text);
5387
5388    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5389    HRESULT replaceAdjacentText(
5390        [in] BSTR where,
5391        [in] BSTR newText,
5392        [retval, out] BSTR *oldText);
5393
5394    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5395    HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5396
5397    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5398    HRESULT addBehavior(
5399        [in] BSTR bstrUrl,
5400        [optional, in] VARIANT *pvarFactory,
5401        [retval, out] LONG *pCookie);
5402
5403    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5404    HRESULT removeBehavior(
5405        [in] LONG cookie,
5406        [retval, out] VARIANT_BOOL *pfResult);
5407
5408    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5409    HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5410
5411    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5412    HRESULT behaviorUrns([retval, out] IDispatch **p);
5413
5414    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5415    HRESULT tagUrn([in] BSTR v);
5416
5417    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5418    HRESULT tagUrn([retval, out] BSTR *p);
5419
5420    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5421    HRESULT onbeforeeditfocus([in] VARIANT v);
5422
5423    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5424    HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5425
5426    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5427    HRESULT readyStateValue([retval, out] LONG *p);
5428
5429    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5430    HRESULT getElementsByTagName(
5431        [in] BSTR v,
5432        [retval, out] IHTMLElementCollection **pelColl);
5433}
5434
5435#define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5436    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5437    BSTR scopeName();                                                   \
5438                                                                        \
5439    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5440    void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5441                                                                        \
5442    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5443    void releaseCapture();                                              \
5444                                                                        \
5445    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5446    void onlosecapture(VARIANT v);                                      \
5447                                                                        \
5448    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5449    VARIANT onlosecapture();                                            \
5450                                                                        \
5451    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5452    BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5453                                                                        \
5454    [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5455    void doScroll([optional, in] VARIANT component);                    \
5456                                                                        \
5457    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5458    void onscroll(VARIANT v);                                           \
5459                                                                        \
5460    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5461    VARIANT onscroll();                                                 \
5462                                                                        \
5463    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5464    void ondrag(VARIANT v);                                             \
5465                                                                        \
5466    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5467    VARIANT ondrag();                                                   \
5468                                                                        \
5469    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5470    void ondragend(VARIANT v);                                          \
5471                                                                        \
5472    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5473    VARIANT ondragend();                                                \
5474                                                                        \
5475    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5476    void ondragenter(VARIANT v);                                        \
5477                                                                        \
5478    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5479    VARIANT ondragenter();                                              \
5480                                                                        \
5481    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5482    void ondragover(VARIANT v);                                         \
5483                                                                        \
5484    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5485    VARIANT ondragover();                                               \
5486                                                                        \
5487    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5488    void ondragleave(VARIANT v);                                        \
5489                                                                        \
5490    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5491    VARIANT ondragleave();                                              \
5492                                                                        \
5493    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5494    void ondrop(VARIANT v);                                             \
5495                                                                        \
5496    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5497    VARIANT ondrop();                                                   \
5498                                                                        \
5499    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5500    void onbeforecut(VARIANT v);                                        \
5501                                                                        \
5502    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5503    VARIANT onbeforecut();                                              \
5504                                                                        \
5505    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5506    void oncut(VARIANT v);                                              \
5507                                                                        \
5508    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5509    VARIANT oncut();                                                    \
5510                                                                        \
5511    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5512    void onbeforecopy(VARIANT v);                                       \
5513                                                                        \
5514    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5515    VARIANT onbeforecopy();                                             \
5516                                                                        \
5517    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5518    void oncopy(VARIANT v);                                             \
5519                                                                        \
5520    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5521    VARIANT oncopy();                                                   \
5522                                                                        \
5523    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5524    void onbeforepaste(VARIANT v);                                      \
5525                                                                        \
5526    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5527    VARIANT onbeforepaste();                                            \
5528                                                                        \
5529    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5530    void onpaste(VARIANT v);                                            \
5531                                                                        \
5532    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5533    VARIANT onpaste();                                                  \
5534                                                                        \
5535    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5536    IHTMLCurrentStyle* currentStyle();                                  \
5537                                                                        \
5538    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5539    void onpropertychange(VARIANT v);                                   \
5540                                                                        \
5541    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5542    VARIANT onpropertychange();                                         \
5543                                                                        \
5544    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5545    IHTMLRectCollection* getClientRects();                              \
5546                                                                        \
5547    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5548    IHTMLRect* getBoundingClientRect();                                 \
5549                                                                        \
5550    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5551    void setExpression(                                                 \
5552        [in] BSTR propname,                                             \
5553        [in] BSTR expr,                                                 \
5554        [defaultvalue(""), in] BSTR lang);                              \
5555                                                                        \
5556    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5557    VARIANT getExpression([in] BSTR propname);                          \
5558                                                                        \
5559    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5560    VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5561                                                                        \
5562    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5563    void tabIndex(short v);                                             \
5564                                                                        \
5565    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5566    short tabIndex();                                                   \
5567                                                                        \
5568    [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5569    void focus();                                                       \
5570                                                                        \
5571    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5572    void accessKey(BSTR v);                                             \
5573                                                                        \
5574    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5575    BSTR accessKey();                                                   \
5576                                                                        \
5577    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5578    void onblur(VARIANT v);                                             \
5579                                                                        \
5580    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5581    VARIANT onblur();                                                   \
5582                                                                        \
5583    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5584    void onfocus(VARIANT v);                                            \
5585                                                                        \
5586    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5587    VARIANT onfocus();                                                  \
5588                                                                        \
5589    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5590    void onresize(VARIANT v);                                           \
5591                                                                        \
5592    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5593    VARIANT onresize();                                                 \
5594                                                                        \
5595    [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5596    void blur();                                                        \
5597                                                                        \
5598    [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5599    void addFilter([in] IUnknown* pUnk);                                \
5600                                                                        \
5601    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5602    void removeFilter([in] IUnknown* pUnk);                             \
5603                                                                        \
5604    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5605    LONG clientHeight();                                                \
5606                                                                        \
5607    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5608    LONG clientWidth();                                                 \
5609                                                                        \
5610    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5611    LONG clientTop();                                                   \
5612                                                                        \
5613    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5614    LONG clientLeft();                                                  \
5615                                                                        \
5616    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5617    VARIANT_BOOL attachEvent(                                           \
5618            [in] BSTR event,                                            \
5619            [in] IDispatch* pDisp);                                     \
5620                                                                        \
5621    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5622    void detachEvent(                                                   \
5623            [in] BSTR event,                                            \
5624            [in] IDispatch* pDisp);                                     \
5625                                                                        \
5626    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5627                                                                        \
5628    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5629    void onreadystatechange(VARIANT v);                                 \
5630                                                                        \
5631    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5632    VARIANT onreadystatechange();                                       \
5633                                                                        \
5634    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5635    void onrowsdelete(VARIANT v);                                       \
5636                                                                        \
5637    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5638    VARIANT onrowsdelete();                                             \
5639                                                                        \
5640    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5641    void onrowsinserted(VARIANT v);                                     \
5642                                                                        \
5643    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5644    VARIANT onrowsinserted();                                           \
5645                                                                        \
5646    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5647    void oncellchange(VARIANT v);                                       \
5648                                                                        \
5649    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5650    VARIANT oncellchange();                                             \
5651                                                                        \
5652    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5653    void dir(BSTR v);                                                   \
5654                                                                        \
5655    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5656    BSTR dir();                                                         \
5657                                                                        \
5658    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5659    IDispatch* createControlRange();                                    \
5660                                                                        \
5661    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5662    LONG scrollHeight();                                                \
5663                                                                        \
5664    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5665    LONG scrollWidth();                                                 \
5666                                                                        \
5667    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5668    void scrollTop(LONG v);                                             \
5669                                                                        \
5670    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5671    LONG scrollTop();                                                   \
5672                                                                        \
5673    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5674    void scrollLeft(LONG v);                                            \
5675                                                                        \
5676    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5677    LONG scrollLeft();                                                  \
5678                                                                        \
5679    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5680    void clearAttributes();                                             \
5681                                                                        \
5682    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5683    void oncontextmenu(VARIANT v);                                      \
5684                                                                        \
5685    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5686    VARIANT oncontextmenu();                                            \
5687                                                                        \
5688    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5689    IHTMLElement* insertAdjacentElement(                                \
5690        [in] BSTR where,                                                \
5691        [in] IHTMLElement* insertedElement);                            \
5692                                                                        \
5693    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5694    IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5695                                                                        \
5696    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5697    BSTR getAdjacentText([in] BSTR where);                              \
5698                                                                        \
5699    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5700    BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5701                                                                        \
5702    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5703    VARIANT_BOOL canHaveChildren();                                     \
5704                                                                        \
5705    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5706    LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5707                                                                        \
5708    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5709    VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5710                                                                        \
5711    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5712    IHTMLStyle* runtimeStyle();                                         \
5713                                                                        \
5714    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5715    IDispatch* behaviorUrns();                                          \
5716                                                                        \
5717    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5718    void tagUrn(BSTR v);                                                \
5719                                                                        \
5720    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5721    BSTR tagUrn();                                                      \
5722                                                                        \
5723    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5724    void onbeforeeditfocus(VARIANT v);                                  \
5725                                                                        \
5726    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5727    VARIANT onbeforeeditfocus();                                        \
5728                                                                        \
5729    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5730    LONG readyStateValue();                                             \
5731                                                                        \
5732    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5733    IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5734
5735/*****************************************************************************
5736 *    IHTMLElement3 interface
5737 */
5738[
5739    odl,
5740    oleautomation,
5741    dual,
5742    uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5743]
5744interface IHTMLElement3 : IDispatch
5745{
5746    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5747    IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5748
5749    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5750    HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5751
5752    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5753    HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5754
5755    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5756    HRESULT onlayoutcomplete([in] VARIANT v);
5757
5758    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5759    HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5760
5761    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5762    HRESULT onpage([in] VARIANT v);
5763
5764    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5765    HRESULT onpage([retval, out] VARIANT * p);
5766
5767    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5768    HRESULT inflateBlock([in] VARIANT_BOOL v);
5769
5770    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5771    HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5772
5773    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5774    HRESULT onbeforedeactivate([in] VARIANT v);
5775
5776    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5777    HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5778
5779    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5780
5781    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5782    HRESULT contentEditable([in] BSTR v);
5783
5784    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5785    HRESULT contentEditable([retval, out] BSTR * p);
5786
5787    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5788    HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5789
5790    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5791    HRESULT hideFocus([in] VARIANT_BOOL v);
5792
5793    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5794    HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5795
5796    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5797    HRESULT disabled([in] VARIANT_BOOL v);
5798
5799    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5800    HRESULT disabled([retval, out] VARIANT_BOOL * p);
5801
5802    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5803    HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5804
5805    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5806    HRESULT onmove([in] VARIANT v);
5807
5808    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5809    HRESULT onmove([retval, out] VARIANT * p);
5810
5811    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5812    HRESULT oncontrolselect([in] VARIANT v);
5813
5814    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5815    HRESULT oncontrolselect([retval, out] VARIANT * p);
5816
5817    [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5818    HRESULT fireEvent(
5819        [in] BSTR bstrEventName,
5820        [optional, in] VARIANT* pvarEventObject,
5821        [retval, out] VARIANT_BOOL* pfCancelled);
5822
5823    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5824    HRESULT onresizestart([in] VARIANT v);
5825
5826    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5827    HRESULT onresizestart([retval, out] VARIANT * p);
5828
5829    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5830    HRESULT onresizeend([in] VARIANT v);
5831
5832    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5833    HRESULT onresizeend([retval, out] VARIANT * p);
5834
5835    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5836    HRESULT onmovestart([in] VARIANT v);
5837
5838    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5839    HRESULT onmovestart([retval, out] VARIANT * p);
5840
5841    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5842    HRESULT onmoveend([in] VARIANT v);
5843
5844    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5845    HRESULT onmoveend([retval, out] VARIANT * p);
5846
5847    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5848    HRESULT onmouseenter([in] VARIANT v);
5849
5850    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5851    HRESULT onmouseenter([retval, out] VARIANT * p);
5852
5853    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5854    HRESULT onmouseleave([in] VARIANT v);
5855
5856    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5857    HRESULT onmouseleave([retval, out] VARIANT * p);
5858
5859    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5860    HRESULT onactivate([in] VARIANT v);
5861
5862    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5863    HRESULT onactivate([retval, out] VARIANT * p);
5864
5865    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5866    HRESULT ondeactivate([in] VARIANT v);
5867
5868    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5869    HRESULT ondeactivate([retval, out] VARIANT * p);
5870
5871    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5872    VARIANT_BOOL* pfRet);
5873
5874    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5875    HRESULT glyphMode([retval, out] LONG * p);
5876}
5877
5878#define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5879                                                                        \
5880    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5881    void mergeAttributes(                                               \
5882            [in] IHTMLElement* mergeThis,                               \
5883            [optional, in] VARIANT* pvarFlags);                         \
5884                                                                        \
5885    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5886    VARIANT_BOOL isMultiLine();                                         \
5887                                                                        \
5888    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5889    VARIANT_BOOL canHaveHTML();                                         \
5890                                                                        \
5891    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5892    void onlayoutcomplete(VARIANT v);                                   \
5893                                                                        \
5894    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5895    VARIANT onlayoutcomplete();                                         \
5896                                                                        \
5897    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5898    void onpage(VARIANT v);                                             \
5899                                                                        \
5900    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5901    VARIANT onpage();                                                   \
5902                                                                        \
5903    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5904    void inflateBlock(VARIANT_BOOL v);                                  \
5905                                                                        \
5906    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5907    VARIANT_BOOL inflateBlock();                                        \
5908                                                                        \
5909    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5910    void onbeforedeactivate(VARIANT v);                                 \
5911                                                                        \
5912    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5913    VARIANT onbeforedeactivate();                                       \
5914                                                                        \
5915    [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5916    void setActive();                                                   \
5917                                                                        \
5918    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5919    void contentEditable(BSTR v);                                       \
5920                                                                        \
5921    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5922    BSTR contentEditable();                                             \
5923                                                                        \
5924    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5925    VARIANT_BOOL isContentEditable();                                   \
5926                                                                        \
5927    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5928    void hideFocus(VARIANT_BOOL v);                                     \
5929                                                                        \
5930    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5931    VARIANT_BOOL hideFocus();                                           \
5932                                                                        \
5933    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5934    void disabled(VARIANT_BOOL v);                                      \
5935                                                                        \
5936    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5937    VARIANT_BOOL disabled();                                            \
5938                                                                        \
5939    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5940    VARIANT_BOOL isDisabled();                                          \
5941                                                                        \
5942    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5943    void onmove(VARIANT v);                                             \
5944                                                                        \
5945    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5946    VARIANT onmove();                                                   \
5947                                                                        \
5948    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5949    void oncontrolselect(VARIANT v);                                    \
5950                                                                        \
5951    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5952    VARIANT oncontrolselect();                                          \
5953                                                                        \
5954    [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5955    VARIANT_BOOL fireEvent(                                             \
5956        [in] BSTR bstrEventName,                                        \
5957        [optional, in] VARIANT* pvarEventObject);                       \
5958                                                                        \
5959    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5960    void onresizestart(VARIANT v);                                      \
5961                                                                        \
5962    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5963    VARIANT onresizestart();                                            \
5964                                                                        \
5965    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5966    void onresizeend(VARIANT v);                                        \
5967                                                                        \
5968    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5969    VARIANT onresizeend();                                              \
5970                                                                        \
5971    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5972    void onmovestart(VARIANT v);                                        \
5973                                                                        \
5974    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5975    VARIANT onmovestart();                                              \
5976                                                                        \
5977    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5978    void onmoveend(VARIANT v);                                          \
5979                                                                        \
5980    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5981    VARIANT onmoveend();                                                \
5982                                                                        \
5983    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5984    void onmouseenter(VARIANT v);                                       \
5985                                                                        \
5986    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5987    VARIANT onmouseenter();                                             \
5988                                                                        \
5989    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5990    void onmouseleave(VARIANT v);                                       \
5991                                                                        \
5992    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5993    VARIANT onmouseleave();                                             \
5994                                                                        \
5995    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5996    void onactivate(VARIANT v);                                         \
5997                                                                        \
5998    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5999    VARIANT onactivate();                                               \
6000                                                                        \
6001    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
6002    void ondeactivate(VARIANT v);                                       \
6003                                                                        \
6004    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
6005    VARIANT ondeactivate();                                             \
6006                                                                        \
6007    [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
6008    VARIANT_BOOL dragDrop();                                            \
6009                                                                        \
6010    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
6011    LONG glyphMode()
6012
6013/*****************************************************************************
6014 *    IHTMLElement4 interface
6015 */
6016[
6017    odl,
6018    oleautomation,
6019    dual,
6020    uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
6021]
6022interface IHTMLElement4 : IDispatch
6023{
6024    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6025    HRESULT onmousewheel([in] VARIANT v);
6026
6027    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6028    HRESULT onmousewheel([retval, out] VARIANT * p);
6029
6030    [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6031    HRESULT normalize();
6032
6033    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6034    HRESULT getAttributeNode([in] BSTR bstrname,
6035        [retval, out] IHTMLDOMAttribute** ppAttribute);
6036
6037    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6038    HRESULT setAttributeNode(
6039        [in] IHTMLDOMAttribute* pattr,
6040        [retval, out] IHTMLDOMAttribute** ppretAttribute);
6041
6042    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6043    HRESULT removeAttributeNode(
6044        [in] IHTMLDOMAttribute* pattr,
6045        [retval, out] IHTMLDOMAttribute** ppretAttribute);
6046
6047    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6048    HRESULT onbeforeactivate([in] VARIANT v);
6049
6050    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6051    HRESULT onbeforeactivate([retval, out] VARIANT * p);
6052
6053    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6054    HRESULT onfocusin([in] VARIANT v);
6055
6056    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6057    HRESULT onfocusin([retval, out] VARIANT * p);
6058
6059    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6060    HRESULT onfocusout([in] VARIANT v);
6061
6062    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6063    HRESULT onfocusout([retval, out] VARIANT * p);
6064}
6065
6066#define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
6067    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
6068    void onmousewheel(VARIANT v);                                       \
6069                                                                        \
6070    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
6071    VARIANT onmousewheel();                                             \
6072                                                                        \
6073    [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
6074    void normalize();                                                   \
6075                                                                        \
6076    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
6077    IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
6078                                                                        \
6079    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
6080    IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
6081                                                                        \
6082    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
6083    IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
6084                                                                        \
6085    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
6086    void onbeforeactivate(VARIANT v);                                   \
6087                                                                        \
6088    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
6089    VARIANT onbeforeactivate();                                         \
6090                                                                        \
6091    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
6092    void onfocusin(VARIANT v);                                          \
6093                                                                        \
6094    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
6095    VARIANT onfocusin();                                                \
6096                                                                        \
6097    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
6098    void onfocusout(VARIANT v);                                         \
6099                                                                        \
6100    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
6101    VARIANT onfocusout()
6102
6103#define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
6104    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
6105    IHTMLElement *querySelector([in] BSTR v);                   \
6106                                                                \
6107    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
6108    IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
6109
6110/*****************************************************************************
6111 *    IHTMLUniqueName interface
6112 */
6113[
6114    odl,
6115    oleautomation,
6116    dual,
6117    uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6118]
6119interface IHTMLUniqueName : IDispatch
6120{
6121    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6122    HRESULT uniqueNumber([retval, out] LONG * p);
6123
6124    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6125    HRESULT uniqueID([retval, out] BSTR * p);
6126}
6127
6128#define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
6129    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
6130    LONG uniqueNumber();                                        \
6131                                                                \
6132    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
6133    BSTR uniqueID()
6134
6135#define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
6136    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
6137    IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
6138                                                                        \
6139    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
6140    IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
6141                                                                        \
6142    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
6143    IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
6144                                                                        \
6145    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
6146    VARIANT_BOOL hasAttribute([in] BSTR name);                          \
6147                                                                        \
6148    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
6149    void role(BSTR v);                                                  \
6150                                                                        \
6151    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
6152    BSTR role();                                                        \
6153                                                                        \
6154    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
6155    void ariaBusy(BSTR v);                                              \
6156                                                                        \
6157    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
6158    BSTR ariaBusy();                                                    \
6159                                                                        \
6160    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
6161    void ariaChecked(BSTR v);                                           \
6162                                                                        \
6163    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
6164    BSTR ariaChecked();                                                 \
6165                                                                        \
6166    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
6167    void ariaDisabled(BSTR v);                                          \
6168                                                                        \
6169    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
6170    BSTR ariaDisabled();                                                \
6171                                                                        \
6172    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
6173    void ariaExpanded(BSTR v);                                          \
6174                                                                        \
6175    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
6176    BSTR ariaExpanded();                                                \
6177                                                                        \
6178    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
6179    void ariaHaspopup(BSTR v);                                          \
6180                                                                        \
6181    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
6182    BSTR ariaHaspopup();                                                \
6183                                                                        \
6184    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
6185    void ariaHidden(BSTR v);                                            \
6186                                                                        \
6187    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
6188    BSTR ariaHidden();                                                  \
6189                                                                        \
6190    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
6191    void ariaInvalid(BSTR v);                                           \
6192                                                                        \
6193    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
6194    BSTR ariaInvalid();                                                 \
6195                                                                        \
6196    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
6197    void ariaMultiselectable(BSTR v);                                   \
6198                                                                        \
6199    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
6200    BSTR ariaMultiselectable();                                         \
6201                                                                        \
6202    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6203    void ariaPressed(BSTR v);                                           \
6204                                                                        \
6205    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6206    BSTR ariaPressed();                                                 \
6207                                                                        \
6208    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6209    void ariaReadonly(BSTR v);                                          \
6210                                                                        \
6211    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6212    BSTR ariaReadonly();                                                \
6213                                                                        \
6214    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6215    void ariaRequired(BSTR v);                                          \
6216                                                                        \
6217    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6218    BSTR ariaRequired();                                                \
6219                                                                        \
6220    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6221    void ariaSecret(BSTR v);                                            \
6222                                                                        \
6223    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6224    BSTR ariaSecret();                                                  \
6225                                                                        \
6226    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6227    void ariaSelected(BSTR v);                                          \
6228                                                                        \
6229    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6230    BSTR ariaSelected();                                                \
6231                                                                        \
6232    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6233    VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6234                                                                        \
6235    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6236    void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6237                                                                        \
6238    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6239    VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6240                                                                        \
6241    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6242    IHTMLAttributeCollection3 *ie8_attributes();                        \
6243                                                                        \
6244    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6245    void ariaValuenow(BSTR v);                                          \
6246                                                                        \
6247    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6248    BSTR ariaValuenow();                                                \
6249                                                                        \
6250    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6251    void ariaPosinset(short v);                                         \
6252                                                                        \
6253    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6254    short ariaPosinset();                                               \
6255                                                                        \
6256    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6257    void ariaSetsize(short v);                                          \
6258                                                                        \
6259    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6260    short ariaSetsize();                                                \
6261                                                                        \
6262    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6263    void ariaLevel(short v);                                            \
6264                                                                        \
6265    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6266    short ariaLevel();                                                  \
6267                                                                        \
6268    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6269    void ariaValuemin(BSTR v);                                          \
6270                                                                        \
6271    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6272    BSTR ariaValuemin();                                                \
6273                                                                        \
6274    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6275    void ariaValuemax(BSTR v);                                          \
6276                                                                        \
6277    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6278    BSTR ariaValuemax();                                                \
6279                                                                        \
6280    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6281    void ariaControls(BSTR v);                                          \
6282                                                                        \
6283    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6284    BSTR ariaControls();                                                \
6285                                                                        \
6286    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6287    void ariaDescribedby(BSTR v);                                       \
6288                                                                        \
6289    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6290    BSTR ariaDescribedby();                                             \
6291                                                                        \
6292    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6293    void ariaFlowto(BSTR v);                                            \
6294                                                                        \
6295    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6296    BSTR ariaFlowto();                                                  \
6297                                                                        \
6298    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6299    void ariaLabelledby(BSTR v);                                        \
6300                                                                        \
6301    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6302    BSTR ariaLabelledby();                                              \
6303                                                                        \
6304    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6305    void ariaActivedescendant(BSTR v);                                  \
6306                                                                        \
6307    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6308    BSTR ariaActivedescendant();                                        \
6309                                                                        \
6310    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6311    void ariaOwns(BSTR v);                                              \
6312                                                                        \
6313    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6314    BSTR ariaOwns();                                                    \
6315                                                                        \
6316    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6317    VARIANT_BOOL hasAttributes();                                       \
6318                                                                        \
6319    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6320    void ariaLive(BSTR v);                                              \
6321                                                                        \
6322    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6323    BSTR ariaLive();                                                    \
6324                                                                        \
6325    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6326    void ariaRelevant(BSTR v);                                          \
6327                                                                        \
6328    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6329    BSTR ariaRelevant()
6330
6331[
6332    odl,
6333    oleautomation,
6334    dual,
6335    uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6336]
6337interface IHTMLDatabinding : IDispatch
6338{
6339    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6340    HRESULT dataFld([in] BSTR v);
6341
6342    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6343    HRESULT dataFld([retval, out] BSTR * p);
6344
6345    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6346    HRESULT dataSrc([in] BSTR v);
6347
6348    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6349    HRESULT dataSrc([retval, out] BSTR * p);
6350
6351    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6352    HRESULT dataFormatAs([in] BSTR v);
6353
6354    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6355    HRESULT dataFormatAs([retval, out] BSTR * p);
6356}
6357
6358#define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6359    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6360    void dataFld(BSTR v);                               \
6361                                                        \
6362    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6363    BSTR dataFld();                                     \
6364                                                        \
6365    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6366    void dataSrc(BSTR v);                               \
6367                                                        \
6368    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6369    BSTR dataSrc();                                     \
6370                                                        \
6371    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6372    void dataFormatAs(BSTR v);                          \
6373                                                        \
6374    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6375    BSTR dataFormatAs()
6376
6377#define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6378    WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6379    WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6380    WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6381    WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6382    WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6383    WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6384    WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6385    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6386
6387#define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6388    WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6389    WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6390    WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6391    WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6392    WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6393    WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6394    WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6395    WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6396    WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6397    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6398
6399/*****************************************************************************
6400 *    IHTMLGenericElement interface
6401 */
6402[
6403    odl,
6404    oleautomation,
6405    dual,
6406    uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6407]
6408interface IHTMLGenericElement : IDispatch
6409{
6410    [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6411    HRESULT recordset([out, retval] IDispatch **p);
6412
6413    [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6414    HRESULT namedRecordset(
6415            [in] BSTR dataMember,
6416            [in, optional] VARIANT *hierarchy,
6417            [out, retval] IDispatch **ppRecordset);
6418}
6419
6420/*****************************************************************************
6421 *    DispHTMLGenericElement dispinterface
6422 */
6423[
6424    hidden,
6425    uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6426]
6427dispinterface DispHTMLGenericElement
6428{
6429properties:
6430methods:
6431    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6432
6433    [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6434    IDispatch *recordset();
6435
6436    [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6437    IDispatch *namedRecordset(
6438            [in] BSTR dataMember,
6439            [in, optional] VARIANT *hierarchy);
6440}
6441
6442/*****************************************************************************
6443 *    IHTMLStyleSheetRule interface
6444 */
6445[
6446    odl,
6447    oleautomation,
6448    dual,
6449    uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6450]
6451interface IHTMLStyleSheetRule : IDispatch
6452{
6453    [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6454    HRESULT selectorText([in] BSTR v);
6455
6456    [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6457    HRESULT selectorText([retval, out] BSTR *p);
6458
6459    [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6460    HRESULT style([retval, out] IHTMLRuleStyle **p);
6461
6462    [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6463    HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6464}
6465
6466[
6467    hidden,
6468    uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6469]
6470dispinterface DispHTMLStyleSheetRule
6471{
6472properties:
6473methods:
6474    [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6475    void selectorText(BSTR v);
6476
6477    [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6478    BSTR selectorText();
6479
6480    [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6481    IHTMLRuleStyle* style();
6482
6483    [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6484    VARIANT_BOOL readOnly();
6485
6486    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6487}
6488
6489[
6490    noncreatable,
6491    uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6492]
6493coclass HTMLStyleSheetRule
6494{
6495    [default]           dispinterface DispHTMLStyleSheetRule;
6496                        interface IHTMLStyleSheetRule;
6497                        interface IHTMLDOMConstructor;
6498}
6499
6500/*****************************************************************************
6501 *    IHTMLStyleSheetRulesCollection interface
6502 */
6503[
6504    odl,
6505    oleautomation,
6506    dual,
6507    uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6508]
6509interface IHTMLStyleSheetRulesCollection : IDispatch
6510{
6511    [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6512    HRESULT length([retval, out] LONG *p);
6513
6514    [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6515    HRESULT item(
6516        [in] LONG index,
6517        [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6518}
6519
6520[
6521    hidden,
6522    uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6523]
6524dispinterface DispHTMLStyleSheetRulesCollection
6525{
6526properties:
6527methods:
6528    [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6529    long length();
6530
6531    [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6532    IHTMLStyleSheetRule* item([in] long index);
6533
6534    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6535}
6536
6537[
6538    noncreatable,
6539    uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6540]
6541coclass HTMLStyleSheetRulesCollection
6542{
6543    [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6544                        interface IHTMLStyleSheetRulesCollection;
6545                        interface IHTMLDOMConstructor;
6546}
6547
6548[
6549    odl,
6550    oleautomation,
6551    dual,
6552    uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6553]
6554interface IHTMLStyleSheetPage : IDispatch
6555{
6556    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6557    HRESULT selector([retval, out] BSTR *p);
6558
6559    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6560    HRESULT pseudoClass([retval, out] BSTR *p);
6561}
6562
6563[
6564    hidden,
6565    uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6566]
6567dispinterface DispHTMLStyleSheetPage
6568{
6569properties:
6570methods:
6571    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6572    BSTR selector();
6573
6574    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6575    BSTR pseudoClass();
6576
6577    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6578}
6579[
6580    noncreatable,
6581    uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6582]
6583coclass HTMLStyleSheetPage
6584{
6585    [default]           dispinterface DispHTMLStyleSheetPage;
6586                        interface IHTMLStyleSheetPage;
6587                        interface IHTMLDOMConstructor;
6588}
6589
6590[
6591    odl,
6592    oleautomation,
6593    dual,
6594    uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6595]
6596interface IHTMLStyleSheetPagesCollection : IDispatch
6597{
6598    [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6599    HRESULT length([retval, out] LONG *p);
6600
6601    [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6602    HRESULT item(
6603        [in] LONG index,
6604        [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6605}
6606
6607[
6608    hidden,
6609    uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6610]
6611dispinterface DispHTMLStyleSheetPagesCollection
6612{
6613properties:
6614methods:
6615    [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6616    long length();
6617
6618    [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6619    IHTMLStyleSheetPage* item([in] long index);
6620
6621    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6622}
6623
6624[
6625    noncreatable,
6626    uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6627]
6628coclass HTMLStyleSheetPagesCollection
6629{
6630    [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6631                        interface IHTMLStyleSheetPagesCollection;
6632                        interface IHTMLDOMConstructor;
6633}
6634
6635/*****************************************************************************
6636 *    IHTMLStyleSheet interface
6637 */
6638[
6639    odl,
6640    oleautomation,
6641    dual,
6642    uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6643]
6644interface IHTMLStyleSheet : IDispatch
6645{
6646    [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6647    HRESULT title([in] BSTR v);
6648
6649    [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6650    HRESULT title([retval, out] BSTR *p);
6651
6652    [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6653    HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6654
6655    [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6656    HRESULT owningElement([retval, out] IHTMLElement **p);
6657
6658    [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6659    HRESULT disabled([in] VARIANT_BOOL v);
6660
6661    [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6662    HRESULT disabled([retval, out] VARIANT_BOOL *p);
6663
6664    [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6665    HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6666
6667    [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6668    HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6669
6670    [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6671    HRESULT href([in] BSTR v);
6672
6673    [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6674    HRESULT href([retval, out] BSTR *p);
6675
6676    [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6677    HRESULT type([retval, out] BSTR *p);
6678
6679    [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6680    HRESULT id([retval, out] BSTR *p);
6681
6682    [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6683    HRESULT addImport(
6684        [in] BSTR bstrURL,
6685        [defaultvalue(-1), in] LONG lIndex,
6686        [retval, out] LONG *plIndex);
6687
6688    [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6689    HRESULT addRule(
6690        [in] BSTR bstrSelector,
6691        [in] BSTR bstrStyle,
6692        [defaultvalue(-1), in] LONG lIndex,
6693        [retval, out] LONG *plNewIndex);
6694
6695    [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6696    HRESULT removeImport([in] LONG lIndex);
6697
6698    [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6699    HRESULT removeRule([in] LONG lIndex);
6700
6701    [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6702    HRESULT media([in] BSTR v);
6703
6704    [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6705    HRESULT media([retval, out] BSTR *p);
6706
6707    [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6708    HRESULT cssText([in] BSTR v);
6709
6710    [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6711    HRESULT cssText([retval, out] BSTR *p);
6712
6713    [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6714    HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6715}
6716
6717/*****************************************************************************
6718 *    IHTMLStyleSheet2 interface
6719 */
6720[
6721    odl,
6722    oleautomation,
6723    dual,
6724    uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6725]
6726interface IHTMLStyleSheet2 : IDispatch
6727{
6728    [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6729    HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6730
6731    [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6732    HRESULT addPageRule(
6733        [in] BSTR bstrSelector,
6734        [in] BSTR bstrStyle,
6735        [defaultvalue(-1), in] LONG lIndex,
6736        [retval, out] LONG *plNewIndex);
6737}
6738
6739[
6740    hidden,
6741    uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6742]
6743dispinterface DispHTMLStyleSheet
6744{
6745properties:
6746methods:
6747    [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6748    void title(BSTR v);
6749
6750    [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6751    BSTR title();
6752
6753    [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6754    IHTMLStyleSheet* parentStyleSheet();
6755
6756    [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6757    IHTMLElement* owningElement();
6758
6759    [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6760    void disabled(VARIANT_BOOL v);
6761
6762    [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6763    VARIANT_BOOL disabled();
6764
6765    [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6766    VARIANT_BOOL readOnly();
6767
6768    [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6769    IHTMLStyleSheetsCollection* imports();
6770
6771    [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6772    void href(BSTR v);
6773
6774    [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6775    BSTR href();
6776
6777    [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6778    BSTR type();
6779
6780    [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6781    BSTR id();
6782
6783    [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6784    LONG addImport(
6785        [in] BSTR bstrURL,
6786        [defaultvalue(-1), in] LONG lIndex);
6787
6788    [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6789    LONG addRule(
6790        [in] BSTR bstrSelector,
6791        [in] BSTR bstrStyle,
6792        [defaultvalue(-1), in] LONG lIndex);
6793
6794    [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6795    void removeImport([in] LONG lIndex);
6796
6797    [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6798    void removeRule([in] LONG lIndex);
6799
6800    [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6801    void media(BSTR v);
6802
6803    [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6804    BSTR media();
6805
6806    [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6807    void cssText(BSTR v);
6808
6809    [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6810    BSTR cssText();
6811
6812    [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6813    IHTMLStyleSheetRulesCollection* rules();
6814
6815    [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6816    IHTMLStyleSheetPagesCollection* pages();
6817
6818    [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6819    LONG addPageRule(
6820        [in] BSTR bstrSelector,
6821        [in] BSTR bstrStyle,
6822        [defaultvalue(-1), in] LONG lIndex);
6823}
6824
6825[
6826    noncreatable,
6827    uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6828]
6829coclass HTMLStyleSheet
6830{
6831    [default]           dispinterface DispHTMLStyleSheet;
6832                        interface IHTMLStyleSheet;
6833                        interface IHTMLStyleSheet2;
6834}
6835
6836/*****************************************************************************
6837 *    IHTMLStyleSheetsCollection interface
6838 */
6839[
6840    odl,
6841    oleautomation,
6842    dual,
6843    uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6844]
6845interface IHTMLStyleSheetsCollection : IDispatch
6846{
6847    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6848    HRESULT length([retval, out] LONG *p);
6849
6850    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6851    HRESULT _newEnum([retval, out] IUnknown **p);
6852
6853    [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6854    HRESULT item(
6855        [in] VARIANT *pvarIndex,
6856        [retval, out] VARIANT *pvarResult);
6857}
6858
6859/*****************************************************************************
6860 *    DispHTMLStyleSheetsCollection dispinterface
6861 */
6862[
6863    hidden,
6864    uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6865]
6866dispinterface DispHTMLStyleSheetsCollection
6867{
6868properties:
6869methods:
6870    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6871    long length();
6872
6873    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6874    IUnknown *_newEnum();
6875
6876    [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6877    VARIANT item([in] VARIANT *pvarIndex);
6878
6879    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6880    IDispatch *constructor();
6881}
6882
6883/*****************************************************************************
6884 *    IHTMLLinkElement interface
6885 */
6886[
6887    odl,
6888    oleautomation,
6889    dual,
6890    uuid(3050f205-98b5-11cf-bb82-00aa00bdce0b)
6891]
6892interface IHTMLLinkElement : IDispatch
6893{
6894    [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6895    HRESULT href([in] BSTR v);
6896
6897    [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6898    HRESULT href([out, retval] BSTR *p);
6899
6900    [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6901    HRESULT rel([in] BSTR v);
6902
6903    [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6904    HRESULT rel([out, retval] BSTR *p);
6905
6906    [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6907    HRESULT rev([in] BSTR v);
6908
6909    [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6910    HRESULT rev([out, retval] BSTR *p);
6911
6912    [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6913    HRESULT type([in] BSTR v);
6914
6915    [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6916    HRESULT type([out, retval] BSTR *p);
6917
6918    [propget, id(DISPID_IHTMLLINKELEMENT_READYSTATE)]
6919    HRESULT readyState([out, retval] BSTR *p);
6920
6921    [propput, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
6922    HRESULT onreadystatechange([in] VARIANT v);
6923
6924    [propget, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
6925    HRESULT onreadystatechange([out, retval] VARIANT *p);
6926
6927    [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6928    HRESULT onload([in] VARIANT v);
6929
6930    [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6931    HRESULT onload([out, retval] VARIANT *p);
6932
6933    [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6934    HRESULT onerror([in] VARIANT v);
6935
6936    [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6937    HRESULT onerror([out, retval] VARIANT *p);
6938
6939    [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)]
6940    HRESULT styleSheet([out, retval] IHTMLStyleSheet **p);
6941
6942    [propput, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable]
6943    HRESULT disabled([in] VARIANT_BOOL v);
6944
6945    [propget, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable]
6946    HRESULT disabled([out, retval] VARIANT_BOOL *p);
6947
6948    [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6949    HRESULT media([in] BSTR v);
6950
6951    [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6952    HRESULT media([out, retval] BSTR *p);
6953}
6954
6955/*****************************************************************************
6956 *    IHTMLLinkElement2 interface
6957 */
6958[
6959    odl,
6960    oleautomation,
6961    dual,
6962    uuid(3050f4e5-98b5-11cf-bb82-00aa00bdce0b)
6963]
6964interface IHTMLLinkElement2 : IDispatch
6965{
6966    [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6967    HRESULT target([in] BSTR v);
6968
6969    [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6970    HRESULT target([out, retval] BSTR *p);
6971}
6972
6973/*****************************************************************************
6974 *    IHTMLLinkElement3 interface
6975 */
6976[
6977    odl,
6978    oleautomation,
6979    dual,
6980    uuid(3050f81e-98b5-11cf-bb82-00aa00bdce0b)
6981]
6982interface IHTMLLinkElement3 : IDispatch
6983{
6984    [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6985    HRESULT charset([in] BSTR v);
6986
6987    [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6988    HRESULT charset([out, retval] BSTR *p);
6989
6990    [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6991    HRESULT hreflang([in] BSTR v);
6992
6993    [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6994    HRESULT hreflang([out, retval] BSTR *p);
6995}
6996
6997/*****************************************************************************
6998 *    IHTMLLinkElement4 interface
6999 */
7000[
7001    odl,
7002    oleautomation,
7003    dual,
7004    uuid(3051043a-98b5-11cf-bb82-00aa00bdce0b)
7005]
7006interface IHTMLLinkElement4 : IDispatch
7007{
7008    [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
7009    HRESULT href([in] BSTR v);
7010
7011    [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
7012    HRESULT href([retval, out] BSTR * p);
7013}
7014
7015/*****************************************************************************
7016 *    DispHTMLLinkElement dispinterface
7017 */
7018[
7019    hidden,
7020    uuid(3050f524-98b5-11cf-bb82-00aa00bdce0b)
7021]
7022dispinterface DispHTMLLinkElement
7023{
7024properties:
7025methods:
7026    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
7027
7028    [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
7029    void href(BSTR v);
7030
7031    [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
7032    BSTR href();
7033
7034    [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
7035    void rel(BSTR v);
7036
7037    [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
7038    BSTR rel();
7039
7040    [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
7041    void rev(BSTR v);
7042
7043    [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
7044    BSTR rev();
7045
7046    [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
7047    void type(BSTR v);
7048
7049    [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
7050    BSTR type();
7051
7052    [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
7053    void onload(VARIANT v);
7054
7055    [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
7056    VARIANT onload();
7057
7058    [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
7059    void onerror(VARIANT v);
7060
7061    [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
7062    VARIANT onerror();
7063
7064    [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)]
7065    IHTMLStyleSheet *styleSheet();
7066
7067    [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
7068    void media(BSTR v);
7069
7070    [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
7071    BSTR media();
7072
7073    [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
7074    void target(BSTR v);
7075
7076    [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
7077    BSTR target();
7078
7079    [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
7080    void charset(BSTR v);
7081
7082    [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
7083    BSTR charset();
7084
7085    [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
7086    void hreflang(BSTR v);
7087
7088    [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
7089    BSTR hreflang();
7090
7091    [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
7092    void ie8_href(BSTR v);
7093
7094    [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
7095    BSTR ie8_href();
7096}
7097
7098/*****************************************************************************
7099 *    IHTMLTxtRange interface
7100 */
7101[
7102    odl,
7103    oleautomation,
7104    dual,
7105    uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
7106]
7107interface IHTMLTxtRange : IDispatch
7108{
7109    [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
7110    HRESULT htmlText([retval, out] BSTR *p);
7111
7112    [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
7113    HRESULT text([in] BSTR v);
7114
7115    [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
7116    HRESULT text([retval, out] BSTR *p);
7117
7118    [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
7119    HRESULT parentElement([retval, out] IHTMLElement **parent);
7120
7121    [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
7122    HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
7123
7124    [id(DISPID_IHTMLTXTRANGE_INRANGE)]
7125    HRESULT inRange(
7126        [in] IHTMLTxtRange *Range,
7127        [retval, out] VARIANT_BOOL *InRange);
7128
7129    [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
7130    HRESULT isEqual(
7131        [in] IHTMLTxtRange *Range,
7132        [retval, out] VARIANT_BOOL *IsEqual);
7133
7134    [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
7135    HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
7136
7137    [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
7138    HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
7139
7140    [id(DISPID_IHTMLTXTRANGE_EXPAND)]
7141    HRESULT expand(
7142        [in] BSTR Unit,
7143        [retval, out] VARIANT_BOOL *Success);
7144
7145    [id(DISPID_IHTMLTXTRANGE_MOVE)]
7146    HRESULT move(
7147        [in] BSTR Unit,
7148        [defaultvalue(1), in] LONG Count,
7149        [retval, out] LONG *ActualCount);
7150
7151    [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
7152    HRESULT moveStart(
7153        [in] BSTR Unit,
7154        [defaultvalue(1), in] LONG Count,
7155        [retval, out] LONG *ActualCount);
7156
7157    [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
7158    HRESULT moveEnd(
7159        [in] BSTR Unit,
7160        [defaultvalue(1), in] LONG Count,
7161        [retval, out] LONG *ActualCount);
7162
7163    [id(DISPID_IHTMLTXTRANGE_SELECT)]
7164    HRESULT select();
7165
7166    [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
7167    HRESULT pasteHTML([in] BSTR html);
7168
7169    [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
7170    HRESULT moveToElementText([in] IHTMLElement *element);
7171
7172    [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
7173    HRESULT setEndPoint(
7174        [in] BSTR how,
7175        [in] IHTMLTxtRange *SourceRange);
7176
7177    [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
7178    HRESULT compareEndPoints(
7179        [in] BSTR how,
7180        [in] IHTMLTxtRange *SourceRange,
7181        [retval, out] LONG *ret);
7182
7183    [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
7184    HRESULT findText(
7185        [in] BSTR String,
7186        [defaultvalue(1073741823), in] LONG count,
7187        [defaultvalue(0), in] LONG Flags,
7188        [retval, out] VARIANT_BOOL *Success);
7189
7190    [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
7191    HRESULT moveToPoint(
7192        [in] LONG x,
7193        [in] LONG y);
7194
7195    [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
7196    HRESULT getBookmark([retval, out] BSTR *Boolmark);
7197
7198    [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
7199    HRESULT moveToBookmark(
7200        [in] BSTR Bookmark,
7201        [retval, out] VARIANT_BOOL *Success);
7202
7203    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
7204    HRESULT queryCommandSupported(
7205        [in] BSTR cmdID,
7206        [retval, out] VARIANT_BOOL *pfRet);
7207
7208    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
7209    HRESULT queryCommandEnabled(
7210        [in] BSTR cmdID,
7211        [retval, out] VARIANT_BOOL *pfRet);
7212
7213    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
7214    HRESULT queryCommandState(
7215        [in] BSTR cmdID,
7216        [retval, out] VARIANT_BOOL *pfRet);
7217
7218    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
7219    HRESULT queryCommandIndeterm(
7220        [in] BSTR cmdID,
7221        [retval, out] VARIANT_BOOL *pfRet);
7222
7223    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
7224    HRESULT queryCommandText(
7225        [in] BSTR cmdID,
7226        [retval, out] BSTR *pcmdText);
7227
7228    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
7229    HRESULT queryCommandValue(
7230        [in] BSTR cmdID,
7231        [retval, out] VARIANT *pcmdValue);
7232
7233    [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
7234    HRESULT execCommand(
7235        [in] BSTR cmdID,
7236        [defaultvalue(0), in] VARIANT_BOOL showUI,
7237        [optional, in] VARIANT value,
7238        [retval, out] VARIANT_BOOL *pfRet);
7239
7240    [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
7241    HRESULT execCommandShowHelp(
7242        [in] BSTR cmdID,
7243        [retval, out] VARIANT_BOOL *pfRet);
7244}
7245
7246/*****************************************************************************
7247 *    IHTMLDOMRange interface
7248 */
7249[
7250    odl,
7251    oleautomation,
7252    dual,
7253    uuid(305104ae-98b5-11cf-bb82-00aa00bdce0b)
7254]
7255interface IHTMLDOMRange : IDispatch
7256{
7257    [propget, id(DISPID_IHTMLDOMRANGE_STARTCONTAINER)]
7258    HRESULT startContainer([out, retval] IHTMLDOMNode **p);
7259
7260    [propget, id(DISPID_IHTMLDOMRANGE_STARTOFFSET)]
7261    HRESULT startOffset([out, retval] long *p);
7262
7263    [propget, id(DISPID_IHTMLDOMRANGE_ENDCONTAINER)]
7264    HRESULT endContainer([out, retval] IHTMLDOMNode **p);
7265
7266    [propget, id(DISPID_IHTMLDOMRANGE_ENDOFFSET)]
7267    HRESULT endOffset([out, retval] long *p);
7268
7269    [propget, id(DISPID_IHTMLDOMRANGE_COLLAPSED)]
7270    HRESULT collapsed([out, retval] VARIANT_BOOL *p);
7271
7272    [propget, id(DISPID_IHTMLDOMRANGE_COMMONANCESTORCONTAINER)]
7273    HRESULT commonAncestorContainer([out, retval] IHTMLDOMNode **p);
7274
7275    [id(DISPID_IHTMLDOMRANGE_SETSTART)]
7276    HRESULT setStart(
7277        [in] IDispatch *refNode,
7278        [in] long offset);
7279
7280    [id(DISPID_IHTMLDOMRANGE_SETEND)] HRESULT
7281    setEnd(
7282        [in] IDispatch *refNode,
7283        [in] long offset);
7284
7285    [id(DISPID_IHTMLDOMRANGE_SETSTARTBEFORE)]
7286    HRESULT setStartBefore([in] IDispatch* refNode);
7287
7288    [id(DISPID_IHTMLDOMRANGE_SETSTARTAFTER)]
7289    HRESULT setStartAfter([in] IDispatch *refNode);
7290
7291    [id(DISPID_IHTMLDOMRANGE_SETENDBEFORE)]
7292    HRESULT setEndBefore([in] IDispatch *refNode);
7293
7294    [id(DISPID_IHTMLDOMRANGE_SETENDAFTER)]
7295    HRESULT setEndAfter([in] IDispatch *refNode);
7296
7297    [id(DISPID_IHTMLDOMRANGE_COLLAPSE)]
7298    HRESULT collapse([in] VARIANT_BOOL toStart);
7299
7300    [id(DISPID_IHTMLDOMRANGE_SELECTNODE)]
7301    HRESULT selectNode([in] IDispatch *refNode);
7302
7303    [id(DISPID_IHTMLDOMRANGE_SELECTNODECONTENTS)]
7304    HRESULT selectNodeContents([in] IDispatch *refNode);
7305
7306    [id(DISPID_IHTMLDOMRANGE_COMPAREBOUNDARYPOINTS)]
7307    HRESULT compareBoundaryPoints(
7308        [in] short how,
7309        [in] IDispatch *sourceRange,
7310        [out, retval] long *compareResult);
7311
7312    [id(DISPID_IHTMLDOMRANGE_DELETECONTENTS)]
7313    HRESULT deleteContents();
7314
7315    [id(DISPID_IHTMLDOMRANGE_EXTRACTCONTENTS)]
7316    HRESULT extractContents([out, retval] IDispatch **ppDocumentFragment);
7317
7318    [id(DISPID_IHTMLDOMRANGE_CLONECONTENTS)]
7319    HRESULT cloneContents([out, retval] IDispatch **ppDocumentFragment);
7320
7321    [id(DISPID_IHTMLDOMRANGE_INSERTNODE)]
7322    HRESULT insertNode([in] IDispatch *newNode);
7323
7324    [id(DISPID_IHTMLDOMRANGE_SURROUNDCONTENTS)]
7325    HRESULT surroundContents([in] IDispatch *newParent);
7326
7327    [id(DISPID_IHTMLDOMRANGE_CLONERANGE)]
7328    HRESULT cloneRange([out, retval] IHTMLDOMRange **ppClonedRange);
7329
7330    [id(DISPID_IHTMLDOMRANGE_TOSTRING)]
7331    HRESULT toString([out, retval] BSTR *pRangeString);
7332
7333    [id(DISPID_IHTMLDOMRANGE_DETACH)]
7334    HRESULT detach();
7335
7336    [id(DISPID_IHTMLDOMRANGE_GETCLIENTRECTS)]
7337    HRESULT getClientRects([out, retval] IHTMLRectCollection **ppRectCol);
7338
7339    [id(DISPID_IHTMLDOMRANGE_GETBOUNDINGCLIENTRECT)]
7340    HRESULT getBoundingClientRect([out, retval] IHTMLRect **ppRect);
7341}
7342
7343[
7344    noncreatable,
7345    uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
7346]
7347coclass HTMLStyleSheetsCollection
7348{
7349    [default]           interface IHTMLStyleSheetsCollection;
7350}
7351
7352/*****************************************************************************
7353 *    IHTMLFormElement interface
7354 */
7355[
7356    odl,
7357    oleautomation,
7358    dual,
7359    uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
7360]
7361interface IHTMLFormElement : IDispatch
7362{
7363    [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7364    HRESULT action([in] BSTR v);
7365
7366    [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7367    HRESULT action([retval, out] BSTR *p);
7368
7369    [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
7370    HRESULT dir([in] BSTR v);
7371
7372    [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
7373    HRESULT dir([retval, out] BSTR *p);
7374
7375    [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7376    HRESULT encoding([in] BSTR v);
7377
7378    [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7379    HRESULT encoding([retval, out] BSTR *p);
7380
7381    [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7382    HRESULT method([in] BSTR v);
7383
7384    [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7385    HRESULT method([retval, out] BSTR *p);
7386
7387    [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
7388    HRESULT elements([retval, out] IDispatch **p);
7389
7390    [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7391    HRESULT target([in] BSTR v);
7392
7393    [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7394    HRESULT target([retval, out] BSTR *p);
7395
7396    [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
7397    HRESULT name([in] BSTR v);
7398
7399    [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
7400    HRESULT name([retval, out] BSTR *p);
7401
7402    [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7403    HRESULT onsubmit([in] VARIANT v);
7404
7405    [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7406    HRESULT onsubmit([retval, out] VARIANT *p);
7407
7408    [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7409    HRESULT onreset([in] VARIANT v);
7410
7411    [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7412    HRESULT onreset([retval, out] VARIANT *p);
7413
7414    [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
7415    HRESULT submit();
7416
7417    [id(DISPID_IHTMLFORMELEMENT_RESET)]
7418    HRESULT reset();
7419
7420    [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7421    HRESULT length([in] LONG v);
7422
7423    [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7424    HRESULT length([retval, out] LONG *p);
7425
7426    [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
7427    HRESULT _newEnum([retval, out] IUnknown **p);
7428
7429    [id(DISPID_IHTMLFORMELEMENT_ITEM)]
7430    HRESULT item(
7431        [optional, in] VARIANT name,
7432        [optional, in] VARIANT index,
7433        [retval, out] IDispatch **pdisp);
7434
7435    [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7436    HRESULT tags(
7437        [in] VARIANT tagName,
7438        [retval, out] IDispatch **pdisp);
7439}
7440
7441/*****************************************************************************
7442 *    DispHTMLFormElement dispinterface
7443 */
7444[
7445    hidden,
7446    uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
7447]
7448dispinterface DispHTMLFormElement
7449{
7450properties:
7451methods:
7452    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7453
7454    [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7455    void action(BSTR v);
7456
7457    [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7458    BSTR action();
7459
7460    [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7461    void encoding(BSTR v);
7462
7463    [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7464    BSTR encoding();
7465
7466    [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7467    void method(BSTR v);
7468
7469    [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7470    BSTR method();
7471
7472    [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
7473    IDispatch *elements();
7474
7475    [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7476    void target(BSTR v);
7477
7478    [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7479    BSTR target();
7480
7481    [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
7482    void name(BSTR v);
7483
7484    [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
7485    BSTR name();
7486
7487    [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7488    void onsubmit(VARIANT v);
7489
7490    [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7491    VARIANT onsubmit();
7492
7493    [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7494    void onreset(VARIANT v);
7495
7496    [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7497    VARIANT onreset();
7498
7499    [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
7500    void submit();
7501
7502    [id(DISPID_IHTMLFORMELEMENT_RESET)]
7503    void reset();
7504
7505    [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7506    void length(long v);
7507
7508    [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7509    long length();
7510
7511    [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
7512    IUnknown *_newEnum();
7513
7514    [id(DISPID_IHTMLFORMELEMENT_ITEM)]
7515    IDispatch *item(VARIANT name, VARIANT index);
7516
7517    [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7518    IDispatch *tags(VARIANT tagName);
7519}
7520
7521[
7522    hidden,
7523    uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7524]
7525dispinterface HTMLFormElementEvents
7526{
7527properties:
7528methods:
7529    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7530    VARIANT_BOOL onhelp();
7531
7532    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7533    VARIANT_BOOL onclick();
7534
7535    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7536    VARIANT_BOOL ondblclick();
7537
7538    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7539    VARIANT_BOOL onkeypress();
7540
7541    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7542    void onkeydown();
7543
7544    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7545    void onkeyup();
7546
7547    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7548    void onmouseout();
7549
7550    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7551    void onmouseover();
7552
7553    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7554    void onmousemove();
7555
7556    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7557    void onmousedown();
7558
7559    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7560    void onmouseup();
7561
7562    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7563    VARIANT_BOOL onselectstart();
7564
7565    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7566    void onfilterchange();
7567
7568    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7569    VARIANT_BOOL ondragstart();
7570
7571    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7572    VARIANT_BOOL onbeforeupdate();
7573
7574    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7575    void onafterupdate();
7576
7577    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7578    VARIANT_BOOL onerrorupdate();
7579
7580    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7581    VARIANT_BOOL onrowexit();
7582
7583    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7584    void onrowenter();
7585
7586    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7587    void ondatasetchanged();
7588
7589    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7590    void ondataavailable();
7591
7592    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7593    void ondatasetcomplete();
7594
7595    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7596    void onlosecapture();
7597
7598    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7599    void onpropertychange();
7600
7601    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7602    void onscroll();
7603
7604    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7605    void onfocus();
7606
7607    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7608    void onblur();
7609
7610    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7611    void onresize();
7612
7613    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7614    VARIANT_BOOL ondrag();
7615
7616    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7617    void ondragend();
7618
7619    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7620    VARIANT_BOOL ondragenter();
7621
7622    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7623    VARIANT_BOOL ondragover();
7624
7625    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7626    void ondragleave();
7627
7628    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7629    VARIANT_BOOL ondrop();
7630
7631    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7632    VARIANT_BOOL onbeforecut();
7633
7634    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7635    VARIANT_BOOL oncut();
7636
7637    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7638    VARIANT_BOOL onbeforecopy();
7639
7640    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7641    VARIANT_BOOL oncopy();
7642
7643    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7644    VARIANT_BOOL onbeforepaste();
7645
7646    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7647    VARIANT_BOOL onpaste();
7648
7649    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7650    VARIANT_BOOL oncontextmenu();
7651
7652    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7653    void onrowsdelete();
7654
7655    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7656    void onrowsinserted();
7657
7658    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7659    void oncellchange();
7660
7661    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7662    void onreadystatechange();
7663
7664    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7665    void onbeforeeditfocus();
7666
7667    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7668    void onlayoutcomplete();
7669
7670    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7671    void onpage();
7672
7673    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7674    VARIANT_BOOL onbeforedeactivate();
7675
7676    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7677    VARIANT_BOOL onbeforeactivate();
7678
7679    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7680    void onmove();
7681
7682    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7683    VARIANT_BOOL oncontrolselect();
7684
7685    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7686    VARIANT_BOOL onmovestart();
7687
7688    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7689    void onmoveend();
7690
7691    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7692    VARIANT_BOOL onresizestart();
7693
7694    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7695    void onresizeend();
7696
7697    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7698    void onmouseenter();
7699
7700    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7701    void onmouseleave();
7702
7703    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7704    VARIANT_BOOL onmousewheel();
7705
7706    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7707    void onactivate();
7708
7709    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7710    void ondeactivate();
7711
7712    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7713    void onfocusin();
7714
7715    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7716    void onfocusout();
7717
7718    [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7719    VARIANT_BOOL onsubmit();
7720
7721    [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7722    VARIANT_BOOL onreset();
7723}
7724
7725interface IHTMLEventObj;
7726
7727[
7728    hidden,
7729    uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7730]
7731dispinterface HTMLFormElementEvents2
7732{
7733properties:
7734methods:
7735    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7736    VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7737
7738    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7739    VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7740
7741    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7742    VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7743
7744    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7745    VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7746
7747    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7748    void onkeydown([in] IHTMLEventObj* pEvtObj);
7749
7750    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7751    void onkeyup([in] IHTMLEventObj* pEvtObj);
7752
7753    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7754    void onmouseout([in] IHTMLEventObj* pEvtObj);
7755
7756    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7757    void onmouseover([in] IHTMLEventObj* pEvtObj);
7758
7759    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7760    void onmousemove([in] IHTMLEventObj* pEvtObj);
7761
7762    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7763    void onmousedown([in] IHTMLEventObj* pEvtObj);
7764
7765    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7766    void onmouseup([in] IHTMLEventObj* pEvtObj);
7767
7768    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7769    VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7770
7771    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7772    void onfilterchange([in] IHTMLEventObj* pEvtObj);
7773
7774    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7775    VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7776
7777    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7778    VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7779
7780    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7781    void onafterupdate([in] IHTMLEventObj* pEvtObj);
7782
7783    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7784    VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7785
7786    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7787    VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7788
7789    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7790    void onrowenter([in] IHTMLEventObj* pEvtObj);
7791
7792    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7793    void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7794
7795    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7796    void ondataavailable([in] IHTMLEventObj* pEvtObj);
7797
7798    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7799    void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7800
7801    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7802    void onlosecapture([in] IHTMLEventObj* pEvtObj);
7803
7804    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7805    void onpropertychange([in] IHTMLEventObj* pEvtObj);
7806
7807    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7808    void onscroll([in] IHTMLEventObj* pEvtObj);
7809
7810    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7811    void onfocus([in] IHTMLEventObj* pEvtObj);
7812
7813    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7814    void onblur([in] IHTMLEventObj* pEvtObj);
7815
7816    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7817    void onresize([in] IHTMLEventObj* pEvtObj);
7818
7819    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7820    VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7821
7822    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7823    void ondragend([in] IHTMLEventObj* pEvtObj);
7824
7825    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7826    VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7827
7828    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7829    VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7830
7831    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7832    void ondragleave([in] IHTMLEventObj* pEvtObj);
7833
7834    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7835    VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7836
7837    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7838    VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7839
7840    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7841    VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7842
7843    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7844    VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7845
7846    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7847    VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7848
7849    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7850    VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7851
7852    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7853    VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7854
7855    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7856    VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7857
7858    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7859    void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7860
7861    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7862    void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7863
7864    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7865    void oncellchange([in] IHTMLEventObj* pEvtObj);
7866
7867    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7868    void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7869
7870    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7871    void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7872
7873    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7874    void onpage([in] IHTMLEventObj* pEvtObj);
7875
7876    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7877    void onmouseenter([in] IHTMLEventObj* pEvtObj);
7878
7879    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7880    void onmouseleave([in] IHTMLEventObj* pEvtObj);
7881
7882    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7883    void onactivate([in] IHTMLEventObj* pEvtObj);
7884
7885    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7886    void ondeactivate([in] IHTMLEventObj* pEvtObj);
7887
7888    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7889    VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7890
7891    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7892    VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7893
7894    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7895    void onfocusin([in] IHTMLEventObj* pEvtObj);
7896
7897    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7898    void onfocusout([in] IHTMLEventObj* pEvtObj);
7899
7900    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7901    void onmove([in] IHTMLEventObj* pEvtObj);
7902
7903    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7904    VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7905
7906    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7907    VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7908
7909    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7910    void onmoveend([in] IHTMLEventObj* pEvtObj);
7911
7912    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7913    VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7914
7915    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7916    void onresizeend([in] IHTMLEventObj* pEvtObj);
7917
7918    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7919    VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7920
7921    [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7922    VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7923
7924    [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7925    VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7926}
7927
7928[
7929    noncreatable,
7930    uuid(3050F251-98B5-11CF-BB82-00AA00BDCE0B)
7931]
7932coclass HTMLFormElement
7933{
7934    [default]           dispinterface DispHTMLFormElement;
7935    [source, default]   dispinterface HTMLFormElementEvents;
7936    [source]            dispinterface HTMLFormElementEvents2;
7937                        interface IHTMLElement;
7938                        interface IHTMLElement2;
7939                        interface IHTMLElement3;
7940                        interface IHTMLElement4;
7941                        interface IHTMLUniqueName;
7942                        interface IHTMLDOMNode;
7943                        interface IHTMLDOMNode2;
7944                        interface IHTMLDOMConstructor;
7945                        interface IHTMLFormElement;
7946}
7947
7948/*****************************************************************************
7949 *    IHTMLTextContainer interface
7950 */
7951[
7952    odl,
7953    oleautomation,
7954    dual,
7955    uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7956]
7957interface IHTMLTextContainer : IDispatch
7958{
7959    [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7960    HRESULT createControlRange([retval, out] IDispatch **range);
7961
7962    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7963    HRESULT scrollHeight([retval, out] LONG *p);
7964
7965    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7966    HRESULT scrollWidth([retval, out] LONG *p);
7967
7968    [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7969    HRESULT scrollTop([in] LONG v);
7970
7971    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7972    HRESULT scrollTop([retval, out] LONG *p);
7973
7974    [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7975    HRESULT scrollLeft([in] LONG v);
7976
7977    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7978    HRESULT scrollLeft([retval, out] LONG *p);
7979
7980    [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7981    HRESULT onscroll([in] VARIANT v);
7982
7983    [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7984    HRESULT onscroll([retval, out] VARIANT *p);
7985}
7986
7987/*****************************************************************************
7988 *    IHTMLImgElement interface
7989 */
7990[
7991    odl,
7992    oleautomation,
7993    dual,
7994    uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7995]
7996interface IHTMLImgElement : IDispatch
7997{
7998    [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7999    HRESULT isMap([in] VARIANT_BOOL v);
8000
8001    [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
8002    HRESULT isMap([retval, out] VARIANT_BOOL *p);
8003
8004    [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
8005    HRESULT useMap([in] BSTR v);
8006
8007    [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
8008    HRESULT useMap([retval, out] BSTR *p);
8009
8010    [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
8011    HRESULT mimeType([retval, out] BSTR *p);
8012
8013    [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
8014    HRESULT fileSize([retval, out] BSTR *p);
8015
8016    [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
8017    HRESULT fileCreatedDate([retval, out] BSTR *p);
8018
8019    [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
8020    HRESULT fileModifiedDate([retval, out] BSTR *p);
8021
8022    [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
8023    HRESULT fileUpdatedDate([retval, out] BSTR *p);
8024
8025    [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
8026    HRESULT protocol([retval, out] BSTR *p);
8027
8028    [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
8029    HRESULT href([retval, out] BSTR *p);
8030
8031    [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
8032    HRESULT nameProp([retval, out] BSTR *p);
8033
8034    [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
8035    HRESULT border([in] VARIANT v);
8036
8037    [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
8038    HRESULT border([retval, out] VARIANT *p);
8039
8040    [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
8041    HRESULT vspace([in] LONG v);
8042
8043    [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
8044    HRESULT vspace([retval, out] LONG *p);
8045
8046    [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
8047    HRESULT hspace([in] LONG v);
8048
8049    [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
8050    HRESULT hspace([retval, out] LONG *p);
8051
8052    [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
8053    HRESULT alt([in] BSTR v);
8054
8055    [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
8056    HRESULT alt([retval, out] BSTR *p);
8057
8058    [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
8059    HRESULT src([in] BSTR v);
8060
8061    [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
8062    HRESULT src([retval, out] BSTR *p);
8063
8064    [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
8065    HRESULT lowsrc([in] BSTR v);
8066
8067    [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
8068    HRESULT lowsrc([retval, out] BSTR *p);
8069
8070    [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
8071    HRESULT vrml([in] BSTR v);
8072
8073    [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
8074    HRESULT vrml([retval, out] BSTR *p);
8075
8076    [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
8077    HRESULT dynsrc([in] BSTR v);
8078
8079    [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
8080    HRESULT dynsrc([retval, out] BSTR *p);
8081
8082    [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
8083    HRESULT readyState([retval, out] BSTR *p);
8084
8085    [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
8086    HRESULT complete([retval, out] VARIANT_BOOL *p);
8087
8088    [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
8089    HRESULT loop([in] VARIANT v);
8090
8091    [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
8092    HRESULT loop([retval, out] VARIANT *p);
8093
8094    [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
8095    HRESULT align([in] BSTR v);
8096
8097    [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
8098    HRESULT align([retval, out] BSTR *p);
8099
8100    [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
8101    HRESULT onload([in] VARIANT v);
8102
8103    [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
8104    HRESULT onload([retval, out] VARIANT *p);
8105
8106    [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
8107    HRESULT onerror([in] VARIANT v);
8108
8109    [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
8110    HRESULT onerror([retval, out] VARIANT *p);
8111
8112    [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
8113    HRESULT onabort([in] VARIANT v);
8114
8115    [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
8116    HRESULT onabort([retval, out] VARIANT *p);
8117
8118    [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
8119    HRESULT name([in] BSTR v);
8120
8121    [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
8122    HRESULT name([retval, out] BSTR *p);
8123
8124    [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8125    HRESULT width([in] LONG v);
8126
8127    [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8128    HRESULT width([retval, out] LONG *p);
8129
8130    [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8131    HRESULT height([in] LONG v);
8132
8133    [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8134    HRESULT height([retval, out] LONG *p);
8135
8136    [propput, id(DISPID_IHTMLIMGELEMENT_START)]
8137    HRESULT start([in] BSTR v);
8138
8139    [propget, id(DISPID_IHTMLIMGELEMENT_START)]
8140    HRESULT start([retval, out] BSTR *p);
8141}
8142
8143/*****************************************************************************
8144 *    IHTMLImageElementFactory interface
8145 */
8146[
8147    odl,
8148    oleautomation,
8149    dual,
8150    uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
8151]
8152interface IHTMLImageElementFactory : IDispatch
8153{
8154    [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
8155    HRESULT create(
8156        [optional, in] VARIANT width,
8157        [optional, in] VARIANT height,
8158        [retval, out]  IHTMLImgElement **elem);
8159}
8160
8161/*****************************************************************************
8162 *    DispHTMLImg interface
8163 */
8164[
8165    hidden,
8166    uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
8167]
8168dispinterface DispHTMLImg
8169{
8170properties:
8171methods:
8172    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8173
8174    [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
8175    void isMap(VARIANT_BOOL v);
8176
8177    [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
8178    VARIANT_BOOL isMap();
8179
8180    [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
8181    void useMap(BSTR v);
8182
8183    [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
8184    BSTR useMap();
8185
8186    [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
8187    BSTR mimeType();
8188
8189    [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
8190    BSTR fileSize();
8191
8192    [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
8193    BSTR fileCreatedDate();
8194
8195    [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
8196    BSTR fileModifiedDate();
8197
8198    [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
8199    BSTR fileUpdatedDate();
8200
8201    [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
8202    BSTR protocol();
8203
8204    [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
8205    BSTR href();
8206
8207    [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
8208    BSTR nameProp();
8209
8210    [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
8211    void border(VARIANT v);
8212
8213    [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
8214    VARIANT border();
8215
8216    [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
8217    void vspace(LONG v);
8218
8219    [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
8220    LONG vspace();
8221
8222    [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
8223    void hspace(LONG v);
8224
8225    [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
8226    LONG hspace();
8227
8228    [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
8229    void alt(BSTR v);
8230
8231    [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
8232    BSTR alt();
8233
8234    [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
8235    void src(BSTR v);
8236
8237    [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
8238    BSTR src();
8239
8240    [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
8241    void lowsrc(BSTR v);
8242
8243    [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
8244    BSTR lowsrc();
8245
8246    [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
8247    void vrml(BSTR v);
8248
8249    [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
8250    BSTR vrml();
8251
8252    [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
8253    void dynsrc(BSTR v);
8254
8255    [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
8256    BSTR dynsrc();
8257
8258    [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
8259    VARIANT_BOOL complete();
8260
8261    [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
8262    void loop(VARIANT v);
8263
8264    [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
8265    VARIANT loop();
8266
8267    [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
8268    void align(BSTR v);
8269
8270    [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
8271    BSTR align();
8272
8273    [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
8274    void onload(VARIANT v);
8275
8276    [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
8277    VARIANT onload();
8278
8279    [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
8280    void onerror(VARIANT v);
8281
8282    [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
8283    VARIANT onerror();
8284
8285    [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
8286    void onabort(VARIANT v);
8287
8288    [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
8289    VARIANT onabort();
8290
8291    [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
8292    void name(BSTR v);
8293
8294    [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
8295    BSTR name();
8296
8297    [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8298    void width(LONG v);
8299
8300    [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8301    LONG width();
8302
8303    [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8304    void height(LONG v);
8305
8306    [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8307    LONG height();
8308
8309    [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
8310    void start(BSTR v);
8311
8312    [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
8313    BSTR start();
8314
8315    [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
8316    void longDesc(BSTR v);
8317
8318    [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
8319    BSTR longDesc();
8320}
8321
8322/*****************************************************************************
8323 *    IHTMLXMLHttpRequest interface
8324 */
8325[
8326    odl,
8327    oleautomation,
8328    dual,
8329    uuid(3051040a-98b5-11cf-bb82-00aa00bdce0b)
8330]
8331interface IHTMLXMLHttpRequest : IDispatch
8332{
8333    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
8334    HRESULT readyState([out, retval] long *p);
8335
8336    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
8337    HRESULT responseBody([out, retval] VARIANT *p);
8338
8339    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
8340    HRESULT responseText([out, retval] BSTR *p);
8341
8342    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
8343    HRESULT responseXML([out, retval] IDispatch **p);
8344
8345    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
8346    HRESULT status([out, retval] long *p);
8347
8348    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
8349    HRESULT statusText([out, retval] BSTR *p);
8350
8351    [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8352    HRESULT onreadystatechange([in] VARIANT v);
8353
8354    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8355    HRESULT onreadystatechange([out, retval] VARIANT *p);
8356
8357    [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)] HRESULT abort();
8358
8359    [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
8360    HRESULT open(
8361            [in] BSTR bstrMethod,
8362            [in] BSTR bstrUrl,
8363            [in] VARIANT varAsync,
8364            [in, optional] VARIANT varUser,
8365            [in, optional] VARIANT varPassword);
8366
8367    [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
8368    HRESULT send([in, optional] VARIANT varBody);
8369
8370    [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
8371    HRESULT getAllResponseHeaders([out, retval] BSTR *p);
8372
8373    [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
8374    HRESULT getResponseHeader(
8375            [in] BSTR bstrHeader,
8376            [out, retval] BSTR *p);
8377
8378    [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
8379    HRESULT setRequestHeader(
8380            [in] BSTR bstrHeader,
8381            [in] BSTR bstrValue);
8382}
8383
8384/*****************************************************************************
8385 *    IHTMLXMLHttpRequest2 interface
8386 */
8387[
8388    odl,
8389    oleautomation,
8390    dual,
8391    uuid(30510482-98b5-11cf-bb82-00aa00bdce0b)
8392]
8393interface IHTMLXMLHttpRequest2 : IDispatch
8394{
8395    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8396    HRESULT timeout([in] long v);
8397
8398    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8399    HRESULT timeout([out, retval] long *p);
8400
8401    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8402    HRESULT ontimeout([in] VARIANT v);
8403
8404    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8405    HRESULT ontimeout([out, retval] VARIANT *p);
8406}
8407
8408/*****************************************************************************
8409 *    IHTMLXMLHttpRequestFactory interface
8410 */
8411[
8412    odl,
8413    oleautomation,
8414    dual,
8415    uuid(3051040c-98b5-11cf-bb82-00aa00bdce0b)
8416]
8417interface IHTMLXMLHttpRequestFactory : IDispatch
8418{
8419    [id(DISPID_IHTMLXMLHTTPREQUESTFACTORY_CREATE)]
8420    HRESULT create([out, retval] IHTMLXMLHttpRequest **p);
8421}
8422
8423/*****************************************************************************
8424 *    DispHTMLXMLHttpRequest dispinterface
8425 */
8426[
8427    hidden,
8428    uuid(3050f596-98b5-11cf-bb82-00aa00bdce0b)
8429]
8430dispinterface DispHTMLXMLHttpRequest
8431{
8432properties:
8433methods:
8434    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
8435    long readyState();
8436
8437    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
8438    VARIANT responseBody();
8439
8440    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
8441    BSTR responseText();
8442
8443    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
8444    IDispatch *responseXML();
8445
8446    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
8447    long status();
8448
8449    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
8450    BSTR statusText();
8451
8452    [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8453    void onreadystatechange(VARIANT v);
8454
8455    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8456    VARIANT onreadystatechange();
8457
8458    [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)]
8459    void abort();
8460
8461    [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
8462    void open(
8463            [in] BSTR bstrMethod,
8464            [in] BSTR bstrUrl,
8465            [in] VARIANT varAsync,
8466            [in, optional] VARIANT varUser,
8467            [in, optional] VARIANT varPassword);
8468
8469    [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
8470    void send([in, optional] VARIANT varBody);
8471
8472    [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
8473    BSTR getAllResponseHeaders();
8474
8475    [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
8476    BSTR getResponseHeader([in] BSTR bstrHeader);
8477
8478    [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
8479    void setRequestHeader(
8480            [in] BSTR bstrHeader,
8481            [in] BSTR bstrValue);
8482
8483    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8484    void timeout(long v);
8485
8486    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8487    long timeout();
8488
8489    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8490    void ontimeout(VARIANT v);
8491
8492    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8493    VARIANT ontimeout();
8494
8495    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
8496
8497
8498    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
8499    void addEventListener(
8500            [in] BSTR type,
8501            [in] IDispatch *listener,
8502            [in] VARIANT_BOOL useCapture);
8503
8504    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
8505    void removeEventListener(
8506            [in] BSTR type,
8507            [in] IDispatch *listener,
8508            [in] VARIANT_BOOL useCapture);
8509
8510    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
8511    VARIANT_BOOL dispatchEvent([in] IDOMEvent *evt);
8512}
8513
8514/*****************************************************************************
8515 *    IHTMLControlElement interface
8516 */
8517[
8518    odl,
8519    oleautomation,
8520    dual,
8521    uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
8522]
8523interface IHTMLControlElement : IDispatch
8524{
8525    [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8526    HRESULT tabIndex([in] short v);
8527
8528    [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8529    HRESULT tabIndex([retval, out] short * p);
8530
8531    [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
8532    HRESULT focus();
8533
8534    [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8535    HRESULT accessKey([in] BSTR v);
8536
8537    [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8538    HRESULT accessKey([retval, out] BSTR * p);
8539
8540    [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8541    HRESULT onblur([in] VARIANT v);
8542
8543    [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8544    HRESULT onblur([retval, out] VARIANT * p);
8545
8546    [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8547    HRESULT onfocus([in] VARIANT v);
8548
8549    [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8550    HRESULT onfocus([retval, out] VARIANT * p);
8551
8552    [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8553    HRESULT onresize([in] VARIANT v);
8554
8555    [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8556    HRESULT onresize([retval, out] VARIANT * p);
8557
8558    [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
8559    HRESULT blur();
8560
8561    [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
8562    HRESULT addFilter([in] IUnknown* pUnk);
8563
8564    [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
8565    HRESULT removeFilter([in] IUnknown* pUnk);
8566
8567    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
8568    HRESULT clientHeight([retval, out] LONG * p);
8569
8570    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
8571    HRESULT clientWidth([retval, out] LONG * p);
8572
8573    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
8574    HRESULT clientTop([retval, out] LONG * p);
8575
8576    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
8577    HRESULT clientLeft([retval, out] LONG * p);
8578}
8579
8580/*****************************************************************************
8581 *    IHTMLBodyElement interface
8582 */
8583[
8584    odl,
8585    oleautomation,
8586    dual,
8587    uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
8588]
8589interface IHTMLBodyElement : IDispatch
8590{
8591    [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8592    HRESULT background([in] BSTR v);
8593
8594    [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8595    HRESULT background([retval, out] BSTR *p);
8596
8597    [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8598    HRESULT bgProperties([in] BSTR v);
8599
8600    [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8601    HRESULT bgProperties([retval, out] BSTR *p);
8602
8603    [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8604    HRESULT leftMargin([in] VARIANT v);
8605
8606    [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8607    HRESULT leftMargin([retval, out] VARIANT *p);
8608
8609    [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8610    HRESULT topMargin([in] VARIANT v);
8611
8612    [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8613    HRESULT topMargin([retval, out] VARIANT *p);
8614
8615    [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8616    HRESULT rightMargin([in] VARIANT v);
8617
8618    [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8619    HRESULT rightMargin([retval, out] VARIANT *p);
8620
8621    [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8622    HRESULT bottomMargin([in] VARIANT v);
8623
8624    [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8625    HRESULT bottomMargin([retval, out] VARIANT *p);
8626
8627    [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8628    HRESULT noWrap([in] VARIANT_BOOL v);
8629
8630    [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8631    HRESULT noWrap([retval, out] VARIANT_BOOL *p);
8632
8633    [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8634    HRESULT bgColor([in] VARIANT v);
8635
8636    [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8637    HRESULT bgColor([retval, out] VARIANT *p);
8638
8639    [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8640    HRESULT text([in] VARIANT v);
8641
8642    [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8643    HRESULT text([retval, out] VARIANT *p);
8644
8645    [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8646    HRESULT link([in] VARIANT v);
8647
8648    [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8649    HRESULT link([retval, out] VARIANT *p);
8650
8651    [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8652    HRESULT vLink([in] VARIANT v);
8653
8654    [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8655    HRESULT vLink([retval, out] VARIANT *p);
8656
8657    [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8658    HRESULT aLink([in] VARIANT v);
8659
8660    [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8661    HRESULT aLink([retval, out] VARIANT *p);
8662
8663    [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8664    HRESULT onload([in] VARIANT v);
8665
8666    [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8667    HRESULT onload([retval, out] VARIANT *p);
8668
8669    [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8670    HRESULT onunload([in] VARIANT v);
8671
8672    [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8673    HRESULT onunload([retval, out] VARIANT *p);
8674
8675    [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8676    HRESULT scroll([in] BSTR v);
8677
8678    [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8679    HRESULT scroll([retval, out] BSTR *p);
8680
8681    [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8682    HRESULT onselect([in] VARIANT v);
8683
8684    [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8685    HRESULT onselect([retval, out] VARIANT *p);
8686
8687    [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8688    HRESULT onbeforeunload([in] VARIANT v);
8689
8690    [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8691    HRESULT onbeforeunload([retval, out] VARIANT *p);
8692
8693    [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8694    HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8695}
8696
8697/*****************************************************************************
8698 *    IHTMLBodyElement2 interface
8699 */
8700[
8701    odl,
8702    oleautomation,
8703    dual,
8704    uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
8705]
8706interface IHTMLBodyElement2 : IDispatch
8707{
8708    [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8709    HRESULT onbeforeprint([in] VARIANT v);
8710
8711    [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8712    HRESULT onbeforeprint([retval, out] VARIANT *p);
8713
8714    [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8715    HRESULT onafterprint([in] VARIANT v);
8716
8717    [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8718    HRESULT onafterprint([retval, out] VARIANT *p);
8719}
8720
8721[
8722    hidden,
8723    uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8724]
8725dispinterface DispHTMLBody
8726{
8727properties:
8728methods:
8729    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8730
8731    [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8732    void background(BSTR v);
8733
8734    [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8735    BSTR background();
8736
8737    [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8738    void bgProperties(BSTR v);
8739
8740    [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8741    BSTR bgProperties();
8742
8743    [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8744    void leftMargin(VARIANT v);
8745
8746    [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8747    VARIANT leftMargin();
8748
8749    [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8750    void topMargin(VARIANT v);
8751
8752    [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8753    VARIANT topMargin();
8754
8755    [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8756    void rightMargin(VARIANT v);
8757
8758    [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8759    VARIANT rightMargin();
8760
8761    [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8762    void bottomMargin(VARIANT v);
8763
8764    [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8765    VARIANT bottomMargin();
8766
8767    [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8768    void noWrap(VARIANT_BOOL v);
8769
8770    [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8771    VARIANT_BOOL noWrap();
8772
8773    [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8774    void bgColor(VARIANT v);
8775
8776    [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8777    VARIANT bgColor();
8778
8779    [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8780    void text(VARIANT v);
8781
8782    [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8783    VARIANT text();
8784
8785    [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8786    void link(VARIANT v);
8787
8788    [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8789    VARIANT link();
8790
8791    [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8792    void vLink(VARIANT v);
8793
8794    [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8795    VARIANT vLink();
8796
8797    [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8798    void aLink(VARIANT v);
8799
8800    [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8801    VARIANT aLink();
8802
8803    [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8804    void onload(VARIANT v);
8805
8806    [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8807    VARIANT onload();
8808
8809    [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8810    void onunload(VARIANT v);
8811
8812    [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8813    VARIANT onunload();
8814
8815    [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8816    void scroll(BSTR v);
8817
8818    [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8819    BSTR scroll();
8820
8821    [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8822    void onselect(VARIANT v);
8823
8824    [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8825    VARIANT onselect();
8826
8827    [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8828    void onbeforeunload(VARIANT v);
8829
8830    [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8831    VARIANT onbeforeunload();
8832
8833    [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8834    IHTMLTxtRange* createTextRange();
8835
8836    [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8837    void onbeforeprint(VARIANT v);
8838
8839    [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8840    VARIANT onbeforeprint();
8841
8842    [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8843    void onafterprint(VARIANT v);
8844
8845    [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8846    VARIANT onafterprint();
8847}
8848
8849[
8850    uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8851]
8852coclass HTMLBody
8853{
8854    [default]           dispinterface DispHTMLBody;
8855    [source, default]   dispinterface HTMLTextContainerEvents;
8856    [source]            dispinterface HTMLTextContainerEvents2;
8857                        interface IHTMLElement;
8858                        interface IHTMLElement2;
8859                        interface IHTMLElement3;
8860                        interface IHTMLElement4;
8861                        interface IHTMLUniqueName;
8862                        interface IHTMLDOMNode;
8863                        interface IHTMLDOMNode2;
8864                        interface IHTMLControlElement;
8865                        interface IHTMLTextContainer;
8866                        interface IHTMLBodyElement;
8867                        interface IHTMLBodyElement2;
8868}
8869
8870/*****************************************************************************
8871 *    IHTMLAnchorElement interface
8872 */
8873[
8874    odl,
8875    oleautomation,
8876    dual,
8877    uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8878]
8879interface IHTMLAnchorElement : IDispatch
8880{
8881    [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8882    HRESULT href([in] BSTR v);
8883
8884    [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8885    HRESULT href([retval, out] BSTR *p);
8886
8887    [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8888    HRESULT target([in] BSTR v);
8889
8890    [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8891    HRESULT target([retval, out] BSTR *p);
8892
8893    [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8894    HRESULT rel([in] BSTR v);
8895
8896    [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8897    HRESULT rel([retval, out] BSTR *p);
8898
8899    [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8900    HRESULT rev([in] BSTR v);
8901
8902    [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8903    HRESULT rev([retval, out] BSTR *p);
8904
8905    [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8906    HRESULT urn([in] BSTR v);
8907
8908    [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8909    HRESULT urn([retval, out] BSTR *p);
8910
8911    [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8912    HRESULT Methods([in] BSTR v);
8913
8914    [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8915    HRESULT Methods([retval, out] BSTR *p);
8916
8917    [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8918    HRESULT name([in] BSTR v);
8919
8920    [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8921    HRESULT name([retval, out] BSTR *p);
8922
8923    [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8924    HRESULT host([in] BSTR v);
8925
8926    [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8927    HRESULT host([retval, out] BSTR *p);
8928
8929    [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8930    HRESULT hostname([in] BSTR v);
8931
8932    [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8933    HRESULT hostname([retval, out] BSTR *p);
8934
8935    [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8936    HRESULT pathname([in] BSTR v);
8937
8938    [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8939    HRESULT pathname([retval, out] BSTR *p);
8940
8941    [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8942    HRESULT port([in] BSTR v);
8943
8944    [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8945    HRESULT port([retval, out] BSTR *p);
8946
8947    [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8948    HRESULT protocol([in] BSTR v);
8949
8950    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8951    HRESULT protocol([retval, out] BSTR *p);
8952
8953    [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8954    HRESULT search([in] BSTR v);
8955
8956    [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8957    HRESULT search([retval, out] BSTR *p);
8958
8959    [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8960    HRESULT hash([in] BSTR v);
8961
8962    [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8963    HRESULT hash([retval, out] BSTR *p);
8964
8965    [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8966    HRESULT onblur([in] VARIANT v);
8967
8968    [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8969    HRESULT onblur([retval, out] VARIANT *p);
8970
8971    [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8972    HRESULT onfocus([in] VARIANT v);
8973
8974    [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8975    HRESULT onfocus([retval, out] VARIANT *p);
8976
8977    [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8978    HRESULT accessKey([in] BSTR v);
8979
8980    [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8981    HRESULT accessKey([retval, out] BSTR *p);
8982
8983    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8984    HRESULT protocolLong([retval, out] BSTR *p);
8985
8986    [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8987    HRESULT mimeType([retval, out] BSTR *p);
8988
8989    [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8990    HRESULT nameProp([retval, out] BSTR *p);
8991
8992    [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8993    HRESULT tabIndex([in] short v);
8994
8995    [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8996    HRESULT tabIndex([retval, out] short *p);
8997
8998    [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8999    HRESULT focus();
9000
9001    [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
9002    HRESULT blur();
9003}
9004
9005/*****************************************************************************
9006 *    DispHTMLAnchorElement dispinterface
9007 */
9008[
9009    hidden,
9010    uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
9011]
9012dispinterface DispHTMLAnchorElement
9013{
9014properties:
9015methods:
9016    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9017
9018    [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
9019    void href(BSTR v);
9020
9021    [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
9022    BSTR href();
9023
9024    [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
9025    void target(BSTR v);
9026
9027    [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
9028    BSTR target();
9029
9030    [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
9031    void rel(BSTR v);
9032
9033    [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
9034    BSTR rel();
9035
9036    [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
9037    void rev(BSTR v);
9038
9039    [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
9040    BSTR rev();
9041
9042    [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
9043    void urn(BSTR v);
9044
9045    [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
9046    BSTR urn();
9047
9048    [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
9049    void Methods(BSTR v);
9050
9051    [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
9052    BSTR Methods();
9053
9054    [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
9055    void name(BSTR v);
9056
9057    [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
9058    BSTR name();
9059
9060    [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
9061    void host(BSTR v);
9062
9063    [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
9064    BSTR host();
9065
9066    [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
9067    void hostname(BSTR v);
9068
9069    [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
9070    BSTR hostname();
9071
9072    [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
9073    void pathname(BSTR v);
9074
9075    [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
9076    BSTR pathname();
9077
9078    [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
9079    void port(BSTR v);
9080
9081    [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
9082    BSTR port();
9083
9084    [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
9085    void protocol(BSTR v);
9086
9087    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
9088    BSTR protocol();
9089
9090    [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
9091    void search(BSTR v);
9092
9093    [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
9094    BSTR search();
9095
9096    [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
9097    void hash(BSTR v);
9098
9099    [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
9100    BSTR hash();
9101
9102    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
9103    BSTR protocolLong();
9104
9105    [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
9106    BSTR mimeType();
9107
9108    [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
9109    BSTR nameProp();
9110
9111    [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
9112    void charset(BSTR v);
9113
9114    [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
9115    BSTR charset();
9116
9117    [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
9118    void coords(BSTR v);
9119
9120    [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
9121    BSTR coords();
9122
9123    [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
9124    void hreflang(BSTR v);
9125
9126    [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
9127    BSTR hreflang();
9128
9129    [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
9130    void shape(BSTR v);
9131
9132    [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
9133    BSTR shape();
9134
9135    [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
9136    void type(BSTR v);
9137
9138    [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
9139    BSTR type();
9140
9141    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
9142    void ie8_shape(BSTR v);
9143
9144    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
9145    BSTR ie8_shape();
9146
9147    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
9148    void ie8_coords(BSTR v);
9149
9150    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
9151    BSTR ie8_coords();
9152
9153    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
9154    void ie8_href(BSTR v);
9155
9156    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
9157    BSTR ie8_href();
9158}
9159
9160/*****************************************************************************
9161 *    IHTMLAreaElement interface
9162 */
9163[
9164    odl,
9165    oleautomation,
9166    dual,
9167    uuid(3050f265-98b5-11cf-bb82-00aa00bdce0b)
9168]
9169interface IHTMLAreaElement : IDispatch
9170{
9171    [propput, id(DISPID_IHTMLAREAELEMENT_SHAPE)]
9172    HRESULT shape([in] BSTR v);
9173
9174    [propget, id(DISPID_IHTMLAREAELEMENT_SHAPE)]
9175    HRESULT shape([retval, out] BSTR *p);
9176
9177    [propput, id(DISPID_IHTMLAREAELEMENT_COORDS)]
9178    HRESULT coords([in] BSTR v);
9179
9180    [propget, id(DISPID_IHTMLAREAELEMENT_COORDS)]
9181    HRESULT coords([retval, out] BSTR *p);
9182
9183    [propput, id(DISPID_IHTMLAREAELEMENT_HREF)]
9184    HRESULT href([in] BSTR v);
9185
9186    [propget, id(DISPID_IHTMLAREAELEMENT_HREF)]
9187    HRESULT href([retval, out] BSTR *p);
9188
9189    [propput, id(DISPID_IHTMLAREAELEMENT_TARGET)]
9190    HRESULT target([in] BSTR v);
9191
9192    [propget, id(DISPID_IHTMLAREAELEMENT_TARGET)]
9193    HRESULT target([retval, out] BSTR *p);
9194
9195    [propput, id(DISPID_IHTMLAREAELEMENT_ALT)]
9196    HRESULT alt([in] BSTR v);
9197
9198    [propget, id(DISPID_IHTMLAREAELEMENT_ALT)]
9199    HRESULT alt([retval, out] BSTR *p);
9200
9201    [propput, id(DISPID_IHTMLAREAELEMENT_NOHREF)]
9202    HRESULT noHref([in] VARIANT_BOOL v);
9203
9204    [propget, id(DISPID_IHTMLAREAELEMENT_NOHREF)]
9205    HRESULT noHref([retval, out] VARIANT_BOOL *p);
9206
9207    [propput, id(DISPID_IHTMLAREAELEMENT_HOST)]
9208    HRESULT host([in] BSTR v);
9209
9210    [propget, id(DISPID_IHTMLAREAELEMENT_HOST)]
9211    HRESULT host([retval, out] BSTR *p);
9212
9213    [propput, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)]
9214    HRESULT hostname([in] BSTR v);
9215
9216    [propget, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)]
9217    HRESULT hostname([retval, out] BSTR *p);
9218
9219    [propput, id(DISPID_IHTMLAREAELEMENT_PATHNAME)]
9220    HRESULT pathname([in] BSTR v);
9221
9222    [propget, id(DISPID_IHTMLAREAELEMENT_PATHNAME)]
9223    HRESULT pathname([retval, out] BSTR *p);
9224
9225    [propput, id(DISPID_IHTMLAREAELEMENT_PORT)]
9226    HRESULT port([in] BSTR v);
9227
9228    [propget, id(DISPID_IHTMLAREAELEMENT_PORT)]
9229    HRESULT port([retval, out] BSTR *p);
9230
9231    [propput, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)]
9232    HRESULT protocol([in] BSTR v);
9233
9234    [propget, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)]
9235    HRESULT protocol([retval, out] BSTR *p);
9236
9237    [propput, id(DISPID_IHTMLAREAELEMENT_SEARCH)]
9238    HRESULT search([in] BSTR v);
9239
9240    [propget, id(DISPID_IHTMLAREAELEMENT_SEARCH)]
9241    HRESULT search([retval, out] BSTR *p);
9242
9243    [propput, id(DISPID_IHTMLAREAELEMENT_HASH)]
9244    HRESULT hash([in] BSTR v);
9245
9246    [propget, id(DISPID_IHTMLAREAELEMENT_HASH)]
9247    HRESULT hash([retval, out] BSTR *p);
9248
9249    [propput, id(DISPID_IHTMLAREAELEMENT_ONBLUR), displaybind, bindable]
9250    HRESULT onblur([in] VARIANT v);
9251
9252    [propget, id(DISPID_IHTMLAREAELEMENT_ONBLUR), displaybind, bindable]
9253    HRESULT onblur([retval, out] VARIANT *p);
9254
9255    [propput, id(DISPID_IHTMLAREAELEMENT_ONFOCUS), displaybind, bindable]
9256    HRESULT onfocus([in] VARIANT v);
9257
9258    [propget, id(DISPID_IHTMLAREAELEMENT_ONFOCUS), displaybind, bindable]
9259    HRESULT onfocus([retval, out] VARIANT *p);
9260
9261    [propput, id(DISPID_IHTMLAREAELEMENT_TABINDEX), displaybind, bindable]
9262    HRESULT tabIndex([in] short v);
9263
9264    [propget, id(DISPID_IHTMLAREAELEMENT_TABINDEX), displaybind, bindable]
9265    HRESULT tabIndex([retval, out] short *p);
9266
9267    [id(DISPID_IHTMLAREAELEMENT_FOCUS)]
9268    HRESULT focus();
9269
9270    [id(DISPID_IHTMLAREAELEMENT_BLUR)]
9271    HRESULT blur();
9272}
9273
9274/*****************************************************************************
9275 *    DispHTMLAreaElement dispinterface
9276 */
9277[
9278    hidden,
9279    uuid(3050f503-98b5-11cf-bb82-00aa00bdce0b)
9280]
9281dispinterface DispHTMLAreaElement
9282{
9283properties:
9284methods:
9285    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9286
9287    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9288    IDispatch* constructor();
9289
9290    [propput, id(DISPID_IHTMLAREAELEMENT_SHAPE)]
9291    void shape(BSTR v);
9292
9293    [propget, id(DISPID_IHTMLAREAELEMENT_SHAPE)]
9294    BSTR shape();
9295
9296    [propput, id(DISPID_IHTMLAREAELEMENT_COORDS)]
9297    void coords(BSTR v);
9298
9299    [propget, id(DISPID_IHTMLAREAELEMENT_COORDS)]
9300    BSTR coords();
9301
9302    [propput, id(DISPID_IHTMLAREAELEMENT_HREF)]
9303    void href(BSTR v);
9304
9305    [propget, id(DISPID_IHTMLAREAELEMENT_HREF)]
9306    BSTR href();
9307
9308    [propput, id(DISPID_IHTMLAREAELEMENT_TARGET)]
9309    void target(BSTR v);
9310
9311    [propget, id(DISPID_IHTMLAREAELEMENT_TARGET)]
9312    BSTR target();
9313
9314    [propput, id(DISPID_IHTMLAREAELEMENT_ALT)]
9315    void alt(BSTR v);
9316
9317    [propget, id(DISPID_IHTMLAREAELEMENT_ALT)]
9318    BSTR alt();
9319
9320    [propput, id(DISPID_IHTMLAREAELEMENT_NOHREF)]
9321    void noHref(VARIANT_BOOL v);
9322
9323    [propget, id(DISPID_IHTMLAREAELEMENT_NOHREF)]
9324    VARIANT_BOOL noHref();
9325
9326    [propput, id(DISPID_IHTMLAREAELEMENT_HOST)]
9327    void host(BSTR v);
9328
9329    [propget, id(DISPID_IHTMLAREAELEMENT_HOST)]
9330    BSTR host();
9331
9332    [propput, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)]
9333    void hostname(BSTR v);
9334
9335    [propget, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)]
9336    BSTR hostname();
9337
9338    [propput, id(DISPID_IHTMLAREAELEMENT_PATHNAME)]
9339    void pathname(BSTR v);
9340
9341    [propget, id(DISPID_IHTMLAREAELEMENT_PATHNAME)]
9342    BSTR pathname();
9343
9344    [propput, id(DISPID_IHTMLAREAELEMENT_PORT)]
9345    void port(BSTR v);
9346
9347    [propget, id(DISPID_IHTMLAREAELEMENT_PORT)]
9348    BSTR port();
9349
9350    [propput, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)]
9351    void protocol(BSTR v);
9352
9353    [propget, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)]
9354    BSTR protocol();
9355
9356    [propput, id(DISPID_IHTMLAREAELEMENT_SEARCH)]
9357    void search(BSTR v);
9358
9359    [propget, id(DISPID_IHTMLAREAELEMENT_SEARCH)]
9360    BSTR search();
9361
9362    [propput, id(DISPID_IHTMLAREAELEMENT_HASH)]
9363    void hash(BSTR v);
9364
9365    [propget, id(DISPID_IHTMLAREAELEMENT_HASH)]
9366    BSTR hash();
9367
9368    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_SHAPE)]
9369    void ie8_shape(BSTR v);
9370
9371    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_SHAPE)]
9372    BSTR ie8_shape();
9373
9374    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_COORDS)]
9375    void ie8_coords(BSTR v);
9376
9377    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_COORDS)]
9378    BSTR ie8_coords();
9379
9380    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_HREF)]
9381    void ie8_href(BSTR v);
9382
9383    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_HREF)]
9384    BSTR ie8_href();
9385};
9386
9387/*****************************************************************************
9388 *    IHTMLLabelElement interface
9389 */
9390[
9391    odl,
9392    oleautomation,
9393    dual,
9394    uuid(3050f32a-98b5-11cf-bb82-00aa00bdce0b)
9395]
9396interface IHTMLLabelElement : IDispatch
9397{
9398    [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9399    HRESULT htmlFor([in] BSTR v);
9400
9401    [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9402    HRESULT htmlFor([out, retval] BSTR *p);
9403
9404    [propput, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable]
9405    HRESULT accessKey([in] BSTR v);
9406
9407    [propget, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable]
9408    HRESULT accessKey([out, retval] BSTR *p);
9409}
9410
9411/*****************************************************************************
9412 *    IHTMLLabelElement2 interface
9413 */
9414[
9415    odl,
9416    oleautomation,
9417    dual,
9418    uuid(3050f832-98b5-11cf-bb82-00aa00bdce0b)
9419]
9420interface IHTMLLabelElement2 : IDispatch
9421{
9422    [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)]
9423    HRESULT form([out, retval] IHTMLFormElement **p);
9424}
9425
9426/*****************************************************************************
9427 *    DispHTMLLabelElement dispinterface
9428 */
9429[
9430    hidden,
9431    uuid(3050f522-98b5-11cf-bb82-00aa00bdce0b)
9432]
9433dispinterface DispHTMLLabelElement
9434{
9435properties:
9436methods:
9437    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9438
9439    [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9440    void htmlFor(BSTR v);
9441
9442    [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9443    BSTR htmlFor();
9444
9445    [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)]
9446    IHTMLFormElement *form();
9447}
9448
9449/*****************************************************************************
9450 *    IHTMLElementCollection interface
9451 */
9452[
9453    odl,
9454    oleautomation,
9455    dual,
9456    uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
9457]
9458interface IHTMLElementCollection : IDispatch
9459{
9460    [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
9461    HRESULT toString([retval, out] BSTR *String);
9462
9463    [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9464    HRESULT length([in] LONG v);
9465
9466    [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9467    HRESULT length([retval, out] LONG *p);
9468
9469    [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
9470    HRESULT _newEnum([retval, out] IUnknown **p);
9471
9472    [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
9473    HRESULT item(
9474        [optional, in] VARIANT name,
9475        [optional, in] VARIANT index,
9476        [retval,  out] IDispatch **pdisp);
9477
9478    [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9479    HRESULT tags(
9480        [in] VARIANT tagName,
9481        [retval, out] IDispatch **pdisp);
9482}
9483
9484/*****************************************************************************
9485 *    DispHTMLElementCollection dispinterface
9486 */
9487[
9488    hidden,
9489    uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
9490]
9491dispinterface DispHTMLElementCollection
9492{
9493properties:
9494methods:
9495    [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
9496    BSTR toString();
9497
9498    [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9499    void length(LONG v);
9500
9501    [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9502    LONG length();
9503
9504    [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
9505    IUnknown *_newEnum();
9506
9507    [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
9508    IDispatch *item(
9509            [in, optional] VARIANT name,
9510            [in, optional] VARIANT index);
9511
9512    [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9513    IDispatch *tags(
9514            [in] VARIANT tagName);
9515
9516    [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
9517    IDispatch *urns([in] VARIANT urn);
9518
9519    [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
9520    IDispatch *namedItem([in] BSTR name);
9521}
9522
9523/*****************************************************************************
9524 *    IHTMLSelectElement interface
9525 */
9526[
9527    odl,
9528    oleautomation,
9529    dual,
9530    uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
9531]
9532interface IHTMLSelectElement : IDispatch
9533{
9534    [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9535    HRESULT size([in] LONG v);
9536
9537    [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9538    HRESULT size([retval, out] LONG *p);
9539
9540    [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9541    HRESULT multiple([in] VARIANT_BOOL v);
9542
9543    [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9544    HRESULT multiple([retval, out] VARIANT_BOOL *p);
9545
9546    [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9547    HRESULT name([in] BSTR v);
9548
9549    [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9550    HRESULT name([retval, out] BSTR *p);
9551
9552    [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9553    HRESULT options([retval, out] IDispatch **p);
9554
9555    [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9556    HRESULT onchange([in] VARIANT v);
9557
9558    [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9559    HRESULT onchange([retval, out] VARIANT *p);
9560
9561    [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9562    HRESULT selectedIndex([in] LONG v);
9563
9564    [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9565    HRESULT selectedIndex([retval, out] LONG *p);
9566
9567    [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9568    HRESULT type([retval, out] BSTR *p);
9569
9570    [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9571    HRESULT value([in] BSTR v);
9572
9573    [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9574    HRESULT value([retval, out] BSTR *p);
9575
9576    [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9577    HRESULT disabled([in] VARIANT_BOOL v);
9578
9579    [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9580    HRESULT disabled([retval, out] VARIANT_BOOL *p);
9581
9582    [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9583    HRESULT form([retval, out] IHTMLFormElement **p);
9584
9585    [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9586    HRESULT add(
9587        [in] IHTMLElement *element,
9588        [optional, in] VARIANT before);
9589
9590    [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9591    HRESULT remove([defaultvalue(-1), in] LONG index);
9592
9593    [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9594    HRESULT length([in] LONG v);
9595
9596    [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9597    HRESULT length([retval, out] LONG *p);
9598
9599    [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9600    HRESULT _newEnum([retval, out] IUnknown **p);
9601
9602    [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9603    HRESULT item(
9604        [optional, in] VARIANT name,
9605        [optional, in] VARIANT index,
9606        [retval, out] IDispatch **pdisp);
9607
9608    [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9609    HRESULT tags(
9610        [in] VARIANT tagName,
9611        [retval, out] IDispatch **pdisp);
9612}
9613
9614/*****************************************************************************
9615 *    DispHTMLSelectElement dispinterface
9616 */
9617[
9618    hidden,
9619    uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
9620]
9621dispinterface DispHTMLSelectElement
9622{
9623properties:
9624methods:
9625    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9626
9627    [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9628    void size(LONG v);
9629
9630    [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9631    LONG size();
9632
9633    [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9634    void multiple(VARIANT_BOOL v);
9635
9636    [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9637    VARIANT_BOOL multiple();
9638
9639    [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9640    void name(BSTR v);
9641
9642    [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9643    BSTR name();
9644
9645    [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9646    IDispatch *options();
9647
9648    [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9649    void onchange(VARIANT v);
9650
9651    [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9652    VARIANT onchange();
9653
9654    [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9655    void selectedIndex(LONG v);
9656
9657    [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9658    LONG selectedIndex();
9659
9660    [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9661    BSTR type();
9662
9663    [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9664    void value(BSTR v);
9665
9666    [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9667    BSTR value();
9668
9669    [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9670    IHTMLFormElement *form();
9671
9672    [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9673    void add(
9674            [in] IHTMLElement *element,
9675            [in, optional] VARIANT before);
9676
9677    [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9678    void remove([in, defaultvalue(-1)] LONG index);
9679
9680    [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9681    void length(LONG v);
9682
9683    [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9684    LONG length();
9685
9686    [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9687    IUnknown *_newEnum();
9688
9689    [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9690    IDispatch *item(
9691            [in, optional] VARIANT name,
9692            [in, optional] VARIANT index);
9693
9694    [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9695    IDispatch *tags([in] VARIANT tagName);
9696
9697    [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9698    IDispatch *urns([in] VARIANT urn);
9699
9700    [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9701    IDispatch *namedItem([in] BSTR name);
9702}
9703
9704/*****************************************************************************
9705 *    IHTMLSelectionObject interface
9706 */
9707[
9708    odl,
9709    oleautomation,
9710    dual,
9711    uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9712]
9713interface IHTMLSelectionObject : IDispatch
9714{
9715    [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9716    HRESULT createRange([retval, out] IDispatch **range);
9717
9718    [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9719    HRESULT empty();
9720
9721    [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9722    HRESULT clear();
9723
9724    [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9725    HRESULT type([retval, out] BSTR *p);
9726}
9727
9728/*****************************************************************************
9729 *    IHTMLSelectionObject2 interface
9730 */
9731[
9732    odl,
9733    oleautomation,
9734    dual,
9735    uuid(3050f7ec-98b5-11cf-bb82-00aa00bdce0b)
9736]
9737interface IHTMLSelectionObject2 : IDispatch
9738{
9739    [id(DISPID_IHTMLSELECTIONOBJECT2_CREATERANGECOLLECTION)]
9740    HRESULT createRangeCollection([out, retval] IDispatch **rangeCollection);
9741
9742    [propget, id(DISPID_IHTMLSELECTIONOBJECT2_TYPEDETAIL)]
9743    HRESULT typeDetail([out, retval] BSTR *p);
9744}
9745
9746/*****************************************************************************
9747 *    IHTMLSelection interface
9748 */
9749[
9750    odl,
9751    oleautomation,
9752    dual,
9753    uuid(305104b6-98b5-11cf-bb82-00aa00bdce0b)
9754]
9755interface IHTMLSelection : IDispatch
9756{
9757    [propget, id(DISPID_IHTMLSELECTION_ANCHORNODE)]
9758    HRESULT anchorNode([out, retval] IHTMLDOMNode **p);
9759
9760    [propget, id(DISPID_IHTMLSELECTION_ANCHOROFFSET)]
9761    HRESULT anchorOffset([out, retval] long *p);
9762
9763    [propget, id(DISPID_IHTMLSELECTION_FOCUSNODE)]
9764    HRESULT focusNode([out, retval] IHTMLDOMNode **p);
9765
9766    [propget, id(DISPID_IHTMLSELECTION_FOCUSOFFSET)]
9767    HRESULT focusOffset([out, retval] long *p);
9768
9769    [propget, id(DISPID_IHTMLSELECTION_ISCOLLAPSED)]
9770    HRESULT isCollapsed([out, retval] VARIANT_BOOL *p);
9771
9772    [id(DISPID_IHTMLSELECTION_COLLAPSE)]
9773    HRESULT collapse(
9774        [in] IDispatch *parentNode,
9775        [in] long offfset);
9776
9777    [id(DISPID_IHTMLSELECTION_COLLAPSETOSTART)]
9778    HRESULT collapseToStart();
9779
9780    [id(DISPID_IHTMLSELECTION_COLLAPSETOEND)]
9781    HRESULT collapseToEnd();
9782
9783    [id(DISPID_IHTMLSELECTION_SELECTALLCHILDREN)]
9784    HRESULT selectAllChildren([in] IDispatch *parentNode);
9785
9786    [id(DISPID_IHTMLSELECTION_DELETEFROMDOCUMENT)]
9787    HRESULT deleteFromDocument();
9788
9789    [propget, id(DISPID_IHTMLSELECTION_RANGECOUNT)]
9790    HRESULT rangeCount([out, retval] long *p);
9791
9792    [id(DISPID_IHTMLSELECTION_GETRANGEAT)]
9793    HRESULT getRangeAt(
9794        [in] long index,
9795        [out, retval] IHTMLDOMRange **ppRange);
9796
9797    [id(DISPID_IHTMLSELECTION_ADDRANGE)]
9798    HRESULT addRange([in] IDispatch *range);
9799
9800    [id(DISPID_IHTMLSELECTION_REMOVERANGE)]
9801    HRESULT removeRange([in] IDispatch *range);
9802
9803    [id(DISPID_IHTMLSELECTION_REMOVEALLRANGES)]
9804    HRESULT removeAllRanges();
9805
9806    [id(DISPID_IHTMLSELECTION_TOSTRING)]
9807    HRESULT toString([out, retval] BSTR *pSelectionString);
9808}
9809
9810/*****************************************************************************
9811 *    IHTMLOptionElement interface
9812 */
9813[
9814    odl,
9815    oleautomation,
9816    dual,
9817    uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9818]
9819interface IHTMLOptionElement : IDispatch
9820{
9821    [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9822    HRESULT selected([in] VARIANT_BOOL v);
9823
9824    [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9825    HRESULT selected([retval, out] VARIANT_BOOL *p);
9826
9827    [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9828    HRESULT value([in] BSTR v);
9829
9830    [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9831    HRESULT value([retval, out] BSTR *p);
9832
9833    [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9834    HRESULT defaultSelected([in] VARIANT_BOOL v);
9835
9836    [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9837    HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9838
9839    [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9840    HRESULT index([in] LONG v);
9841
9842    [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9843    HRESULT index([retval, out] LONG *p);
9844
9845    [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9846    HRESULT text([in] BSTR v);
9847
9848    [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9849    HRESULT text([retval, out] BSTR *p);
9850
9851    [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9852    HRESULT form([retval, out] IHTMLFormElement **p);
9853}
9854
9855[
9856    odl,
9857    oleautomation,
9858    dual,
9859    uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
9860]
9861interface IHTMLOptionElement3 : IDispatch
9862{
9863    [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9864    HRESULT label([in] BSTR v);
9865
9866    [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9867    HRESULT label([retval, out] BSTR * p);
9868}
9869
9870/*****************************************************************************
9871 *    IHTMLOptionElementFactory interface
9872 */
9873[
9874    odl,
9875    oleautomation,
9876    dual,
9877    uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9878]
9879interface IHTMLOptionElementFactory : IDispatch
9880{
9881    [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9882    HRESULT create(
9883        [optional, in] VARIANT text,
9884        [optional, in] VARIANT value,
9885        [optional, in] VARIANT defaultselected,
9886        [optional, in] VARIANT selected,
9887        [retval, out] IHTMLOptionElement **optelem);
9888}
9889
9890/*****************************************************************************
9891 *    DispHTMLOptionElement dispinterface
9892 */
9893[
9894    hidden,
9895    uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9896]
9897dispinterface DispHTMLOptionElement
9898{
9899properties:
9900methods:
9901    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9902
9903    [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9904    void selected(VARIANT_BOOL v);
9905
9906    [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9907    VARIANT_BOOL selected();
9908
9909    [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9910    void value(BSTR v);
9911
9912    [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9913    BSTR value();
9914
9915    [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9916    void defaultSelected(VARIANT_BOOL v);
9917
9918    [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9919    VARIANT_BOOL defaultSelected();
9920
9921    [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9922    void index(LONG v);
9923
9924    [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9925    LONG index();
9926
9927    [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9928    void text(BSTR v);
9929
9930    [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9931    BSTR text();
9932
9933    [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9934    IHTMLFormElement *form();
9935
9936    [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9937    void label(BSTR v);
9938
9939    [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9940    BSTR label();
9941}
9942
9943[
9944    noncreatable,
9945    uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
9946]
9947coclass HTMLOptionElement
9948{
9949    [default]           dispinterface DispHTMLOptionElement;
9950    [source, default]   dispinterface HTMLElementEvents;
9951    [source]            dispinterface HTMLElementEvents2;
9952                        interface IHTMLElement;
9953                        interface IHTMLElement2;
9954                        interface IHTMLElement3;
9955                        interface IHTMLElement4;
9956                        interface IHTMLUniqueName;
9957                        interface IHTMLDOMNode;
9958                        interface IHTMLDOMNode2;
9959                        interface IHTMLDatabinding;
9960                        interface IHTMLOptionElement;
9961                        interface IHTMLOptionElement3;
9962}
9963
9964/*****************************************************************************
9965 *    IHTMLInputElement interface
9966 */
9967[
9968    odl,
9969    oleautomation,
9970    dual,
9971    uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9972]
9973interface IHTMLInputElement : IDispatch
9974{
9975    [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9976    HRESULT type([in] BSTR v);
9977
9978    [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9979    HRESULT type([retval, out] BSTR *p);
9980
9981    [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9982    HRESULT value([in] BSTR v);
9983
9984    [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9985    HRESULT value([retval, out] BSTR *p);
9986
9987    [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9988    HRESULT name([in] BSTR v);
9989
9990    [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9991    HRESULT name([retval, out] BSTR *p);
9992
9993    [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9994    HRESULT status([in] VARIANT_BOOL v);
9995
9996    [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9997    HRESULT status([retval, out] VARIANT_BOOL *p);
9998
9999    [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10000    HRESULT disabled([in] VARIANT_BOOL v);
10001
10002    [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10003    HRESULT disabled([retval, out] VARIANT_BOOL *p);
10004
10005    [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10006    HRESULT form([retval, out] IHTMLFormElement **p);
10007
10008    [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10009    HRESULT size([in] LONG v);
10010
10011    [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10012    HRESULT size([retval, out] LONG *p);
10013
10014    [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10015    HRESULT maxLength([in] LONG v);
10016
10017    [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10018    HRESULT maxLength([retval, out] LONG *p);
10019
10020    [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10021    HRESULT select();
10022
10023    [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10024    HRESULT onchange([in] VARIANT v);
10025
10026    [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10027    HRESULT onchange([retval, out] VARIANT *p);
10028
10029    [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10030    HRESULT onselect([in] VARIANT v);
10031
10032    [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10033    HRESULT onselect([retval, out] VARIANT *p);
10034
10035    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10036    HRESULT defaultValue([in] BSTR v);
10037
10038    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10039    HRESULT defaultValue([retval, out] BSTR *p);
10040
10041    [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10042    HRESULT readOnly([in] VARIANT_BOOL v);
10043
10044    [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10045    HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10046
10047    [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10048    HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10049
10050    [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10051    HRESULT indeterminate([in] VARIANT_BOOL v);
10052
10053    [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10054    HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10055
10056    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10057    HRESULT defaultChecked([in] VARIANT_BOOL v);
10058
10059    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10060    HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10061
10062    [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10063    HRESULT checked([in] VARIANT_BOOL v);
10064
10065    [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10066    HRESULT checked([retval, out] VARIANT_BOOL *p);
10067
10068    [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10069    HRESULT border([in] VARIANT v);
10070
10071    [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10072    HRESULT border([retval, out] VARIANT *p);
10073
10074    [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10075    HRESULT vspace([in] LONG v);
10076
10077    [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10078    HRESULT vspace([retval, out] LONG *p);
10079
10080    [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10081    HRESULT hspace([in] LONG v);
10082
10083    [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10084    HRESULT hspace([retval, out] LONG *p);
10085
10086    [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10087    HRESULT alt([in] BSTR v);
10088
10089    [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10090    HRESULT alt([retval, out] BSTR *p);
10091
10092    [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10093    HRESULT src([in] BSTR v);
10094
10095    [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10096    HRESULT src([retval, out] BSTR *p);
10097
10098    [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10099    HRESULT lowsrc([in] BSTR v);
10100
10101    [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10102    HRESULT lowsrc([retval, out] BSTR *p);
10103
10104    [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10105    HRESULT vrml([in] BSTR v);
10106
10107    [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10108    HRESULT vrml([retval, out] BSTR *p);
10109
10110    [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10111    HRESULT dynsrc([in] BSTR v);
10112
10113    [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10114    HRESULT dynsrc([retval, out] BSTR *p);
10115
10116    [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10117    HRESULT readyState([retval, out] BSTR *p);
10118
10119    [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10120    HRESULT complete([retval, out] VARIANT_BOOL *p);
10121
10122    [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10123    HRESULT loop([in] VARIANT v);
10124
10125    [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10126    HRESULT loop([retval, out] VARIANT *p);
10127
10128    [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10129    HRESULT align([in] BSTR v);
10130
10131    [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10132    HRESULT align([retval, out] BSTR *p);
10133
10134    [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10135    HRESULT onload([in] VARIANT v);
10136
10137    [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10138    HRESULT onload([retval, out] VARIANT *p);
10139
10140    [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10141    HRESULT onerror([in] VARIANT v);
10142
10143    [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10144    HRESULT onerror([retval, out] VARIANT *p);
10145
10146    [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10147    HRESULT onabort([in] VARIANT v);
10148
10149    [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10150    HRESULT onabort([retval, out] VARIANT *p);
10151
10152    [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10153    HRESULT width([in] LONG v);
10154
10155    [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10156    HRESULT width([retval, out] LONG *p);
10157
10158    [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10159    HRESULT height([in] LONG v);
10160
10161    [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10162    HRESULT height([retval, out] LONG *p);
10163
10164    [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10165    HRESULT start([in] BSTR v);
10166
10167    [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10168    HRESULT start([retval, out] BSTR *p);
10169}
10170
10171/*****************************************************************************
10172 *    IHTMLInputTextElement interface
10173 */
10174[
10175    odl,
10176    oleautomation,
10177    dual,
10178    uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10179]
10180interface IHTMLInputTextElement : IDispatch
10181{
10182    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10183    HRESULT type([retval, out] BSTR *p);
10184
10185    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10186    HRESULT value([in] BSTR v);
10187
10188    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10189    HRESULT value([retval, out] BSTR *p);
10190
10191    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10192    HRESULT name([in] BSTR v);
10193
10194    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10195    HRESULT name([retval, out] BSTR *p);
10196
10197    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10198    HRESULT status([in] VARIANT v);
10199
10200    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10201    HRESULT status([retval, out] VARIANT *p);
10202
10203    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10204    HRESULT disabled([in] VARIANT_BOOL v);
10205
10206    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10207    HRESULT disabled([retval, out] VARIANT_BOOL *p);
10208
10209    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10210    HRESULT form([retval, out] IHTMLFormElement **p);
10211
10212    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10213    HRESULT defaultValue([in] BSTR v);
10214
10215    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10216    HRESULT defaultValue([retval, out] BSTR *p);
10217
10218    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10219    HRESULT size([in] LONG v);
10220
10221    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10222    HRESULT size([retval, out] LONG *p);
10223
10224    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10225    HRESULT maxLength([in] LONG v);
10226
10227    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10228    HRESULT maxLength([retval, out] LONG *p);
10229
10230    [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10231    HRESULT select();
10232
10233    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10234    HRESULT onchange([in] VARIANT v);
10235
10236    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10237    HRESULT onchange([retval, out] VARIANT *p);
10238
10239    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10240    HRESULT onselect([in] VARIANT v);
10241
10242    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10243    HRESULT onselect([retval, out] VARIANT *p);
10244
10245    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10246    HRESULT readOnly([in] VARIANT_BOOL v);
10247
10248    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10249    HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10250
10251    [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10252    HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10253}
10254
10255[
10256    hidden,
10257    uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10258]
10259dispinterface DispHTMLInputElement
10260{
10261properties:
10262methods:
10263    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10264
10265    [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10266    void type(BSTR v);
10267
10268    [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10269    BSTR type();
10270
10271    [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10272    void value(BSTR v);
10273
10274    [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10275    BSTR value();
10276
10277    [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10278    void name(BSTR v);
10279
10280    [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10281    BSTR name();
10282
10283    [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10284    void status(VARIANT_BOOL v);
10285
10286    [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10287    VARIANT_BOOL status();
10288
10289    [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10290    IHTMLFormElement *form();
10291
10292    [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10293    void size(LONG v);
10294
10295    [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10296    LONG size();
10297
10298    [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10299    void maxLength(LONG v);
10300
10301    [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10302    LONG maxLength();
10303
10304    [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10305    void select();
10306
10307    [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10308    void onchange(VARIANT v);
10309
10310    [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10311    VARIANT onchange();
10312
10313    [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10314    void onselect(VARIANT v);
10315
10316    [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10317    VARIANT onselect();
10318
10319    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10320    void defaultValue(BSTR v);
10321
10322    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10323    BSTR defaultValue();
10324
10325    [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10326    void readOnly(VARIANT_BOOL v);
10327
10328    [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10329    VARIANT_BOOL readOnly();
10330
10331    [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10332    IHTMLTxtRange *createTextRange();
10333
10334    [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10335    void indeterminate(VARIANT_BOOL v);
10336
10337    [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10338    VARIANT_BOOL indeterminate();
10339
10340    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10341    void defaultChecked(VARIANT_BOOL v);
10342
10343    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10344    VARIANT_BOOL defaultChecked();
10345
10346    [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10347    void checked(VARIANT_BOOL v);
10348
10349    [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10350    VARIANT_BOOL checked();
10351
10352    [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10353    void border(VARIANT v);
10354
10355    [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10356    VARIANT border();
10357
10358    [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10359    void vspace(LONG v);
10360
10361    [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10362    LONG vspace();
10363
10364    [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10365    void hspace(LONG v);
10366
10367    [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10368    LONG hspace();
10369
10370    [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10371    void alt(BSTR v);
10372
10373    [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10374    BSTR alt();
10375
10376    [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10377    void src(BSTR v);
10378
10379    [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10380    BSTR src();
10381
10382    [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10383    void lowsrc(BSTR v);
10384
10385    [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10386    BSTR lowsrc();
10387
10388    [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10389    void vrml(BSTR v);
10390
10391    [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10392    BSTR vrml();
10393
10394    [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10395    void dynsrc(BSTR v);
10396
10397    [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10398    BSTR dynsrc();
10399
10400    [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10401    VARIANT_BOOL complete();
10402
10403    [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10404    void loop(VARIANT v);
10405
10406    [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10407    VARIANT loop();
10408
10409    [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10410    void align(BSTR v);
10411
10412    [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10413    BSTR align();
10414
10415    [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10416    void onload(VARIANT v);
10417
10418    [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10419    VARIANT onload();
10420
10421    [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10422    void onerror(VARIANT v);
10423
10424    [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10425    VARIANT onerror();
10426
10427    [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10428    void onabort(VARIANT v);
10429
10430    [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10431    VARIANT onabort();
10432
10433    [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10434    void width(LONG v);
10435
10436    [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10437    LONG width();
10438
10439    [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10440    void height(LONG v);
10441
10442    [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10443    LONG height();
10444
10445    [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10446    void start(BSTR v);
10447
10448    [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10449    BSTR start();
10450
10451    [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
10452    void accept(BSTR v);
10453
10454    [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
10455    BSTR accept();
10456
10457    [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
10458    void useMap(BSTR v);
10459
10460    [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
10461    BSTR useMap();
10462}
10463
10464/*****************************************************************************
10465 *    IHTMLTextAreaElement interface
10466 */
10467[
10468    odl,
10469    oleautomation,
10470    dual,
10471    uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
10472]
10473interface IHTMLTextAreaElement : IDispatch
10474{
10475    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
10476    HRESULT type([retval, out] BSTR *p);
10477
10478    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10479    HRESULT value([in] BSTR v);
10480
10481    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10482    HRESULT value([retval, out] BSTR *p);
10483
10484    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10485    HRESULT name([in] BSTR v);
10486
10487    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10488    HRESULT name([retval, out] BSTR *p);
10489
10490    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10491    HRESULT status([in] VARIANT v);
10492
10493    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10494    HRESULT status([retval, out] VARIANT *p);
10495
10496    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10497    HRESULT disabled([in] VARIANT_BOOL v);
10498
10499    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10500    HRESULT disabled([retval, out] VARIANT_BOOL *p);
10501
10502    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10503    HRESULT form([retval, out] IHTMLFormElement **p);
10504
10505    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10506    HRESULT defaultValue([in] BSTR v);
10507
10508    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10509    HRESULT defaultValue([retval, out] BSTR *p);
10510
10511    [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10512    HRESULT select();
10513
10514    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10515    HRESULT onchange([in] VARIANT v);
10516
10517    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10518    HRESULT onchange([retval, out] VARIANT *p);
10519
10520    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10521    HRESULT onselect([in] VARIANT v);
10522
10523    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10524    HRESULT onselect([retval, out] VARIANT *p);
10525
10526    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10527    HRESULT readOnly([in] VARIANT_BOOL v);
10528
10529    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10530    HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10531
10532    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10533    HRESULT rows([in] LONG v);
10534
10535    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10536    HRESULT rows([retval, out] LONG *p);
10537
10538    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10539    HRESULT cols([in] LONG v);
10540
10541    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10542    HRESULT cols([retval, out] LONG *p);
10543
10544    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10545    HRESULT wrap([in] BSTR v);
10546
10547    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10548    HRESULT wrap([retval, out] BSTR *p);
10549
10550    [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10551    HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10552}
10553
10554/*****************************************************************************
10555 *    DispHTMLTextAreaElement dispinterface
10556 */
10557[
10558    hidden,
10559    uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
10560]
10561dispinterface DispHTMLTextAreaElement
10562{
10563properties:
10564methods:
10565    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10566
10567    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
10568    BSTR type();
10569
10570    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10571    void value(BSTR v);
10572
10573    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10574    BSTR value();
10575
10576    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10577    void name(BSTR v);
10578
10579    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10580    BSTR name();
10581
10582    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10583    void status(VARIANT v);
10584
10585    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10586    VARIANT status();
10587
10588    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10589    IHTMLFormElement *form();
10590
10591    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10592    void defaultValue(BSTR v);
10593
10594    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10595    BSTR defaultValue();
10596
10597    [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10598    void select();
10599
10600    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10601    void onchange(VARIANT v);
10602
10603    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10604    VARIANT onchange();
10605
10606    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10607    void onselect(VARIANT v);
10608
10609    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10610    VARIANT onselect();
10611
10612    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10613    void readOnly(VARIANT_BOOL v);
10614
10615    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10616    VARIANT_BOOL readOnly();
10617
10618    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10619    void rows(LONG v);
10620
10621    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10622    LONG rows();
10623
10624    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10625    void cols(LONG v);
10626
10627    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10628    LONG cols();
10629
10630    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10631    void wrap(BSTR v);
10632
10633    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10634    BSTR wrap();
10635
10636    [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10637    IHTMLTxtRange *createTextRange();
10638}
10639
10640/*****************************************************************************
10641 *    IHTMLButtonElement interface
10642 */
10643[
10644    odl,
10645    oleautomation,
10646    dual,
10647    uuid(3050f2bb-98b5-11cf-bb82-00aa00bdce0b)
10648]
10649interface IHTMLButtonElement : IDispatch
10650{
10651    [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)]
10652    HRESULT type([out, retval] BSTR *p);
10653
10654    [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10655    HRESULT value([in] BSTR v);
10656
10657    [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10658    HRESULT value([out, retval] BSTR *p);
10659
10660    [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10661    HRESULT name([in] BSTR v);
10662
10663    [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10664    HRESULT name([out, retval] BSTR *p);
10665
10666    [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10667    HRESULT status([in] VARIANT v);
10668
10669    [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10670    HRESULT status([out, retval] VARIANT *p);
10671
10672    [propput, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable]
10673    HRESULT disabled([in] VARIANT_BOOL v);
10674
10675    [propget, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable]
10676    HRESULT disabled([out, retval] VARIANT_BOOL *p);
10677
10678    [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)]
10679    HRESULT form([out, retval] IHTMLFormElement **p);
10680
10681    [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)]
10682    HRESULT createTextRange([out, retval] IHTMLTxtRange **range);
10683}
10684
10685/*****************************************************************************
10686 *    DispHTMLButtonElement dispinterface
10687 */
10688[
10689    hidden,
10690    uuid(3050f51f-98b5-11cf-bb82-00aa00bdce0b)
10691]
10692dispinterface DispHTMLButtonElement
10693{
10694properties:
10695methods:
10696    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10697
10698    [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)]
10699    BSTR type();
10700
10701    [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10702    void value(BSTR v);
10703
10704    [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10705    BSTR value();
10706
10707    [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10708    void name(BSTR v);
10709
10710    [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10711    BSTR name();
10712
10713    [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10714    void status(VARIANT v);
10715
10716    [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10717    VARIANT status();
10718
10719    [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)]
10720    IHTMLFormElement *form();
10721
10722    [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)]
10723    IHTMLTxtRange *createTextRange();
10724}
10725
10726/*****************************************************************************
10727 *    IHTMLHeadElement interface
10728 */
10729[
10730    odl,
10731    oleautomation,
10732    dual,
10733    uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
10734]
10735interface IHTMLHeadElement : IDispatch
10736{
10737    [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10738    HRESULT profile([in] BSTR v);
10739
10740    [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10741    HRESULT profile([retval, out] BSTR *p);
10742}
10743
10744/*****************************************************************************
10745 *    IHTMLHeadElement2 interface
10746 */
10747[
10748    odl,
10749    oleautomation,
10750    dual,
10751    uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
10752]
10753interface IHTMLHeadElement2 : IDispatch
10754{
10755    [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10756    HRESULT profile([in] BSTR v);
10757
10758    [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10759    HRESULT profile([retval, out] BSTR *p);
10760}
10761
10762/*****************************************************************************
10763 *    IHTMLTitleElement interface
10764 */
10765[
10766    odl,
10767    oleautomation,
10768    dual,
10769    uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
10770]
10771interface IHTMLTitleElement : IDispatch
10772{
10773    [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10774    HRESULT text([in] BSTR v);
10775
10776    [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10777    HRESULT text([retval, out] BSTR *p);
10778}
10779
10780/*****************************************************************************
10781 *    IHTMLMetaElement interface
10782 */
10783[
10784    odl,
10785    oleautomation,
10786    dual,
10787    uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
10788]
10789interface IHTMLMetaElement : IDispatch
10790{
10791    [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10792    HRESULT httpEquiv([in] BSTR v);
10793
10794    [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10795    HRESULT httpEquiv([out, retval] BSTR *p);
10796
10797    [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10798    HRESULT content([in] BSTR v);
10799
10800    [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10801    HRESULT content([out, retval] BSTR *p);
10802
10803    [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10804    HRESULT name([in] BSTR v);
10805
10806    [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10807    HRESULT name([out, retval] BSTR *p);
10808
10809    [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10810    HRESULT url([in] BSTR v);
10811
10812    [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10813    HRESULT url([out, retval] BSTR *p);
10814
10815    [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10816    HRESULT charset([in] BSTR v);
10817
10818    [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10819    HRESULT charset([out, retval] BSTR *p);
10820}
10821
10822/*****************************************************************************
10823 *    IHTMLMetaElement2 interface
10824 */
10825[
10826    odl,
10827    oleautomation,
10828    dual,
10829    uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
10830]
10831interface IHTMLMetaElement2 : IDispatch
10832{
10833    [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10834    HRESULT scheme([in] BSTR v);
10835
10836    [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10837    HRESULT scheme([out, retval] BSTR *p);
10838}
10839
10840/*****************************************************************************
10841 *    IHTMLMetaElement3 interface
10842 */
10843[
10844    odl,
10845    oleautomation,
10846    dual,
10847    uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
10848]
10849interface IHTMLMetaElement3 : IDispatch
10850{
10851    [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10852    HRESULT url([in] BSTR v);
10853
10854    [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10855    HRESULT url([out, retval] BSTR *p);
10856}
10857
10858/*****************************************************************************
10859 *    DispHTMLHeadElement interface
10860 */
10861[
10862    hidden,
10863    uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
10864]
10865dispinterface DispHTMLHeadElement
10866{
10867properties:
10868methods:
10869    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10870
10871    [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10872    void profile(BSTR v);
10873
10874    [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10875    BSTR profile();
10876
10877    [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10878    void ie8_profile(BSTR v);
10879
10880    [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10881    BSTR ie8_profile();
10882}
10883
10884/*****************************************************************************
10885 *    DispHTMLTitleElement interface
10886 */
10887[
10888    hidden,
10889    uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
10890]
10891dispinterface DispHTMLTitleElement
10892{
10893properties:
10894methods:
10895    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10896
10897    [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10898    void text(BSTR v);
10899
10900    [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10901    BSTR text();
10902}
10903
10904/*****************************************************************************
10905 *    DispHTMLMetaElement dispinterface
10906 */
10907[
10908    hidden,
10909    uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
10910]
10911dispinterface DispHTMLMetaElement
10912{
10913properties:
10914methods:
10915    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10916
10917    [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10918    void httpEquiv(BSTR v);
10919
10920    [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10921    BSTR httpEquiv();
10922
10923    [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10924    void content(BSTR v);
10925
10926    [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10927    BSTR content();
10928
10929    [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10930    void name(BSTR v);
10931
10932    [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10933    BSTR name();
10934
10935    [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10936    void url(BSTR v);
10937
10938    [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10939    BSTR url();
10940
10941    [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10942    void charset(BSTR v);
10943
10944    [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10945    BSTR charset();
10946
10947    [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10948    void scheme(BSTR v);
10949
10950    [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10951    BSTR scheme();
10952
10953    [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10954    void ie8_url(BSTR v);
10955
10956    [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10957    BSTR ie8_url();
10958}
10959
10960/*****************************************************************************
10961 *    DispHTMLUnknownElement dispinterface
10962 */
10963[
10964    hidden,
10965    uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
10966]
10967dispinterface DispHTMLUnknownElement
10968{
10969properties:
10970methods:
10971    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10972}
10973
10974/*****************************************************************************
10975 *    IOmHistory interface
10976 */
10977[
10978    odl,
10979    oleautomation,
10980    dual,
10981    uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
10982]
10983interface IOmHistory : IDispatch
10984{
10985    [propget, id(DISPID_IOMHISTORY_LENGTH)]
10986    HRESULT length([retval, out] short *p);
10987
10988    [id(DISPID_IOMHISTORY_BACK)]
10989    HRESULT back([optional, in] VARIANT *pvargdistance);
10990
10991    [id(DISPID_IOMHISTORY_FORWARD)]
10992    HRESULT forward([optional, in] VARIANT *pvargdistance);
10993
10994    [id(DISPID_IOMHISTORY_GO)]
10995    HRESULT go([optional, in] VARIANT *pvargdistance);
10996}
10997
10998[
10999    noncreatable,
11000    uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
11001]
11002coclass HTMLHistory
11003{
11004    [default]           interface IOmHistory;
11005}
11006
11007/*****************************************************************************
11008 *    IHTMLMimeTypesCollection interface
11009 */
11010[
11011    odl,
11012    oleautomation,
11013    dual,
11014    uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
11015]
11016interface IHTMLMimeTypesCollection : IDispatch
11017{
11018    [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
11019    HRESULT length([retval, out] LONG *p);
11020}
11021
11022[
11023    noncreatable,
11024    uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
11025]
11026coclass CMimeTypes
11027{
11028    [default]           interface IHTMLMimeTypesCollection;
11029}
11030
11031/*****************************************************************************
11032 *    IHTMLPluginsCollection interface
11033 */
11034[
11035    odl,
11036    oleautomation,
11037    dual,
11038    uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
11039]
11040interface IHTMLPluginsCollection : IDispatch
11041{
11042    [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
11043    HRESULT length([retval, out] LONG *p);
11044
11045    [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
11046    HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
11047}
11048
11049[
11050    hidden,
11051    uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
11052]
11053dispinterface DispCPlugins
11054{
11055 properties:
11056methods:
11057    [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
11058    long length();
11059
11060    [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
11061    void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
11062
11063    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11064    IDispatch *constructor();
11065}
11066
11067[
11068    noncreatable,
11069    uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
11070]
11071coclass CPlugins
11072{
11073    [default]  dispinterface DispCPlugins;
11074               interface IHTMLPluginsCollection;
11075               interface IHTMLDOMConstructor;
11076}
11077
11078/*****************************************************************************
11079 *    IHTMLOpsProfile interface
11080 */
11081[
11082    odl,
11083    oleautomation,
11084    dual,
11085    uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
11086]
11087interface IHTMLOpsProfile : IDispatch
11088{
11089    [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
11090    HRESULT addRequest(
11091        [in] BSTR name,
11092        [optional, in] VARIANT reserved,
11093        [retval, out] VARIANT_BOOL *success);
11094
11095    [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
11096    HRESULT clearRequest();
11097
11098    [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
11099    HRESULT doRequest(
11100        [in] VARIANT usage,
11101        [optional, in] VARIANT fname,
11102        [optional, in] VARIANT domain,
11103        [optional, in] VARIANT path,
11104        [optional, in] VARIANT expire,
11105        [optional, in] VARIANT reserved);
11106
11107    [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
11108    HRESULT getAttribute(
11109        [in] BSTR name,
11110        [retval, out] BSTR *value);
11111
11112    [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
11113    HRESULT setAttribute(
11114        [in] BSTR name,
11115        [in] BSTR value,
11116        [optional, in] VARIANT prefs,
11117        [retval, out] VARIANT_BOOL *success);
11118
11119    [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
11120    HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
11121
11122    [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
11123    HRESULT addReadRequest(
11124        [in] BSTR name,
11125        [optional, in] VARIANT reserved,
11126        [retval, out] VARIANT_BOOL *success);
11127
11128    [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
11129    HRESULT doReadRequest(
11130        [in] VARIANT usage,
11131        [optional, in] VARIANT fname,
11132        [optional, in] VARIANT domain,
11133        [optional, in] VARIANT path,
11134        [optional, in] VARIANT expire,
11135        [optional, in] VARIANT reserved);
11136
11137    [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
11138    HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
11139}
11140
11141[
11142    noncreatable,
11143    uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
11144]
11145coclass COpsProfile
11146{
11147    [default]           interface IHTMLOpsProfile;
11148}
11149
11150/*****************************************************************************
11151 *    IOmNavigator interface
11152 */
11153[
11154    odl,
11155    oleautomation,
11156    dual,
11157    uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
11158]
11159interface IOmNavigator : IDispatch
11160{
11161    [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
11162    HRESULT appCodeName([retval, out] BSTR *p);
11163
11164    [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
11165    HRESULT appName([retval, out] BSTR *p);
11166
11167    [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
11168    HRESULT appVersion([retval, out] BSTR *p);
11169
11170    [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
11171    HRESULT userAgent([retval, out] BSTR *p);
11172
11173    [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
11174    HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
11175
11176    [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
11177    HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
11178
11179    [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
11180    HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
11181
11182    [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
11183    HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
11184
11185    [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
11186    HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
11187
11188    [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
11189    HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
11190
11191    [id(DISPID_IOMNAVIGATOR_TOSTRING)]
11192    HRESULT toString([retval, out] BSTR *String);
11193
11194    [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
11195    HRESULT cpuClass([retval, out] BSTR *p);
11196
11197    [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
11198    HRESULT systemLanguage([retval, out] BSTR *p);
11199
11200    [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
11201    HRESULT browserLanguage([retval, out] BSTR *p);
11202
11203    [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
11204    HRESULT userLanguage([retval, out] BSTR *p);
11205
11206    [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
11207    HRESULT platform([retval, out] BSTR *p);
11208
11209    [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
11210    HRESULT appMinorVersion([retval, out] BSTR *p);
11211
11212    [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
11213    HRESULT connectionSpeed([retval, out] LONG *p);
11214
11215    [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
11216    HRESULT onLine([retval, out] VARIANT_BOOL *p);
11217
11218    [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
11219    HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
11220}
11221
11222/*****************************************************************************
11223 *    DispHTMLNavigator dispinterface
11224 */
11225[
11226    hidden,
11227    uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
11228]
11229dispinterface DispHTMLNavigator
11230{
11231properties:
11232methods:
11233    [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
11234    BSTR appCodeName();
11235
11236    [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
11237    BSTR appName();
11238
11239    [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
11240    BSTR appVersion();
11241
11242    [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
11243    BSTR userAgent();
11244
11245    [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
11246    VARIANT_BOOL javaEnabled();
11247
11248    [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
11249    VARIANT_BOOL taintEnabled();
11250
11251    [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
11252    IHTMLMimeTypesCollection *mimeTypes();
11253
11254    [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
11255    IHTMLPluginsCollection *plugins();
11256
11257    [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
11258    VARIANT_BOOL cookieEnabled();
11259
11260    [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
11261    IHTMLOpsProfile *opsProfile();
11262
11263    [id(DISPID_IOMNAVIGATOR_TOSTRING)]
11264    BSTR toString();
11265
11266    [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
11267    BSTR cpuClass();
11268
11269    [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
11270    BSTR systemLanguage();
11271
11272    [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
11273    BSTR browserLanguage();
11274
11275    [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
11276    BSTR userLanguage();
11277
11278    [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
11279    BSTR platform();
11280
11281    [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
11282    BSTR appMinorVersion();
11283
11284    [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
11285    LONG connectionSpeed();
11286
11287    [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
11288    VARIANT_BOOL onLine();
11289
11290    [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
11291    IHTMLOpsProfile *userProfile();
11292
11293    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11294}
11295
11296[
11297    noncreatable,
11298    uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
11299]
11300coclass HTMLNavigator
11301{
11302    [default]  dispinterface DispHTMLNavigator;
11303               interface IOmNavigator;
11304}
11305
11306/*****************************************************************************
11307 *    IHTMLLocation interface
11308 */
11309[
11310    odl,
11311    oleautomation,
11312    dual,
11313    uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
11314]
11315interface IHTMLLocation : IDispatch
11316{
11317    [propput, id(DISPID_IHTMLLOCATION_HREF)]
11318    HRESULT href([in] BSTR v);
11319
11320    [propget, id(DISPID_IHTMLLOCATION_HREF)]
11321    HRESULT href([retval, out] BSTR *p);
11322
11323    [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
11324    HRESULT protocol([in] BSTR v);
11325
11326    [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
11327    HRESULT protocol([retval, out] BSTR *p);
11328
11329    [propput, id(DISPID_IHTMLLOCATION_HOST)]
11330    HRESULT host([in] BSTR v);
11331
11332    [propget, id(DISPID_IHTMLLOCATION_HOST)]
11333    HRESULT host([retval, out] BSTR *p);
11334
11335    [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
11336    HRESULT hostname([in] BSTR v);
11337
11338    [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
11339    HRESULT hostname([retval, out] BSTR *p);
11340
11341    [propput, id(DISPID_IHTMLLOCATION_PORT)]
11342    HRESULT port([in] BSTR v);
11343
11344    [propget, id(DISPID_IHTMLLOCATION_PORT)]
11345    HRESULT port([retval, out] BSTR *p);
11346
11347    [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
11348    HRESULT pathname([in] BSTR v);
11349
11350    [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
11351    HRESULT pathname([retval, out] BSTR *p);
11352
11353    [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
11354    HRESULT search([in] BSTR v);
11355
11356    [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
11357    HRESULT search([retval, out] BSTR *p);
11358
11359    [propput, id(DISPID_IHTMLLOCATION_HASH)]
11360    HRESULT hash([in] BSTR v);
11361
11362    [propget, id(DISPID_IHTMLLOCATION_HASH)]
11363    HRESULT hash([retval, out] BSTR *p);
11364
11365    [id(DISPID_IHTMLLOCATION_RELOAD)]
11366    HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
11367
11368    [id(DISPID_IHTMLLOCATION_REPLACE)]
11369    HRESULT replace([in] BSTR bstr);
11370
11371    [id(DISPID_IHTMLLOCATION_ASSIGN)]
11372    HRESULT assign([in] BSTR bstr);
11373
11374    [id(DISPID_IHTMLLOCATION_TOSTRING)]
11375    HRESULT toString([retval, out] BSTR *String);
11376}
11377
11378/*****************************************************************************
11379 *    DispHTMLHistory dispinterface
11380 */
11381[
11382    hidden,
11383    uuid(3050f549-98b5-11cf-bb82-00aa00bdce0b)
11384]
11385dispinterface DispHTMLHistory
11386{
11387properties:
11388methods:
11389    [propget, id(DISPID_IOMHISTORY_LENGTH)]
11390    short length();
11391
11392    [id(DISPID_IOMHISTORY_BACK)]
11393    void back([optional, in] VARIANT *pvargdistance);
11394
11395    [id(DISPID_IOMHISTORY_FORWARD)]
11396    void forward([optional, in] VARIANT *pvargdistance);
11397
11398    [id(DISPID_IOMHISTORY_GO)]
11399    void go([optional, in] VARIANT *pvargdistance);
11400
11401    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11402    IDispatch *constructor();
11403}
11404
11405/*****************************************************************************
11406 *    DispHTMLLocation dispinterface
11407 */
11408[
11409    hidden,
11410    uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
11411]
11412dispinterface DispHTMLLocation
11413{
11414properties:
11415methods:
11416    [propput, id(DISPID_IHTMLLOCATION_HREF)]
11417    void href(BSTR v);
11418
11419    [propget, id(DISPID_IHTMLLOCATION_HREF)]
11420    BSTR href();
11421
11422    [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
11423    void protocol(BSTR v);
11424
11425    [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
11426    BSTR protocol();
11427
11428    [propput, id(DISPID_IHTMLLOCATION_HOST)]
11429    void host(BSTR v);
11430
11431    [propget, id(DISPID_IHTMLLOCATION_HOST)]
11432    BSTR host();
11433
11434    [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
11435    void hostname(BSTR v);
11436
11437    [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
11438    BSTR hostname();
11439
11440    [propput, id(DISPID_IHTMLLOCATION_PORT)]
11441    void port(BSTR v);
11442
11443    [propget, id(DISPID_IHTMLLOCATION_PORT)]
11444    BSTR port();
11445
11446    [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
11447    void pathname(BSTR v);
11448
11449    [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
11450    BSTR pathname();
11451
11452    [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
11453    void search(BSTR v);
11454
11455    [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
11456    BSTR search();
11457
11458    [propput, id(DISPID_IHTMLLOCATION_HASH)]
11459    void hash(BSTR v);
11460
11461    [propget, id(DISPID_IHTMLLOCATION_HASH)]
11462    BSTR hash();
11463
11464    [id(DISPID_IHTMLLOCATION_RELOAD)]
11465    void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
11466
11467    [id(DISPID_IHTMLLOCATION_REPLACE)]
11468    void replace([in] BSTR bstr);
11469
11470    [id(DISPID_IHTMLLOCATION_ASSIGN)]
11471    void assign([in] BSTR bstr);
11472
11473    [id(DISPID_IHTMLLOCATION_TOSTRING)]
11474    BSTR toString();
11475
11476    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11477}
11478
11479[
11480    noncreatable,
11481    uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
11482]
11483coclass HTMLLocation
11484{
11485    [default]  dispinterface DispHTMLLocation;
11486               interface IHTMLLocation;
11487}
11488
11489[
11490    odl,
11491    oleautomation,
11492    dual,
11493    uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
11494]
11495interface IHTMLBookmarkCollection : IDispatch
11496{
11497    [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
11498    HRESULT length([out, retval] LONG *p);
11499
11500    [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
11501    HRESULT _newEnum([out, retval] IUnknown **p);
11502
11503    [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
11504    HRESULT item(
11505            [in] LONG index,
11506            [out, retval] VARIANT *pVarBookmark);
11507}
11508
11509/*****************************************************************************
11510 *    IHTMLDataTransfer interface
11511 */
11512[
11513    odl,
11514    oleautomation,
11515    dual,
11516    uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
11517]
11518interface IHTMLDataTransfer : IDispatch
11519{
11520    [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
11521    HRESULT setData(
11522            [in] BSTR format,
11523            [in] VARIANT *data,
11524            [out, retval] VARIANT_BOOL *pret);
11525
11526    [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
11527    HRESULT getData(
11528            [in] BSTR format,
11529            [out, retval] VARIANT *pvarRet);
11530
11531    [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
11532    HRESULT clearData(
11533            [in] BSTR format,
11534            [out, retval] VARIANT_BOOL *pret);
11535
11536    [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
11537    HRESULT dropEffect([in] BSTR v);
11538
11539    [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
11540    HRESULT dropEffect([out, retval] BSTR *p);
11541
11542    [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
11543    HRESULT effectAllowed([in] BSTR v);
11544
11545    [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
11546    HRESULT effectAllowed([out, retval] BSTR *p);
11547}
11548
11549/*****************************************************************************
11550 *    IHTMLEventObj interface
11551 */
11552[
11553    odl,
11554    oleautomation,
11555    dual,
11556    uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
11557]
11558interface IHTMLEventObj : IDispatch
11559{
11560    [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
11561    HRESULT srcElement([retval, out] IHTMLElement **p);
11562
11563    [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
11564    HRESULT altKey([retval, out] VARIANT_BOOL *p);
11565
11566    [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
11567    HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
11568
11569    [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
11570    HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
11571
11572    [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11573    HRESULT returnValue([in] VARIANT v);
11574
11575    [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11576    HRESULT returnValue([retval, out] VARIANT *p);
11577
11578    [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11579    HRESULT cancelBubble([in] VARIANT_BOOL v);
11580
11581    [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11582    HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
11583
11584    [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
11585    HRESULT fromElement([retval, out] IHTMLElement **p);
11586
11587    [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
11588    HRESULT toElement([retval, out] IHTMLElement **p);
11589
11590    [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11591    HRESULT keyCode([in] LONG v);
11592
11593    [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11594    HRESULT keyCode([retval, out] LONG *p);
11595
11596    [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
11597    HRESULT button([retval, out] LONG *p);
11598
11599    [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
11600    HRESULT type([retval, out] BSTR *p);
11601
11602    [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
11603    HRESULT qualifier([retval, out] BSTR *p);
11604
11605    [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
11606    HRESULT reason([retval, out] LONG *p);
11607
11608    [propget, id(DISPID_IHTMLEVENTOBJ_X)]
11609    HRESULT x([retval, out] LONG *p);
11610
11611    [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
11612    HRESULT y([retval, out] LONG *p);
11613
11614    [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
11615    HRESULT clientX([retval, out] LONG *p);
11616
11617    [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
11618    HRESULT clientY([retval, out] LONG *p);
11619
11620    [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
11621    HRESULT offsetX([retval, out] LONG *p);
11622
11623    [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
11624    HRESULT offsetY([retval, out] LONG *p);
11625
11626    [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
11627    HRESULT screenX([retval, out] LONG *p);
11628
11629    [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
11630    HRESULT screenY([retval, out] LONG *p);
11631
11632    [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
11633    HRESULT srcFilter([retval, out] IDispatch **p);
11634}
11635
11636/*****************************************************************************
11637 *    DispCEventObj dispinterface
11638 */
11639[
11640    hidden,
11641    uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
11642]
11643dispinterface DispCEventObj
11644{
11645properties:
11646methods:
11647    [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11648    void returnValue(VARIANT v);
11649
11650    [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11651    VARIANT returnValue();
11652
11653    [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11654    void cancelBubble(VARIANT_BOOL v);
11655
11656    [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
11657    VARIANT_BOOL cancelBubble();
11658
11659    [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11660    void keyCode(LONG v);
11661
11662    [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
11663    LONG keyCode();
11664
11665    [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
11666    void setAttribute(
11667            [in] BSTR strAttributeName,
11668            [in] VARIANT AttributeValue,
11669            [in, defaultvalue(1)] LONG lFlags);
11670
11671    [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
11672    VARIANT getAttribute(
11673            [in] BSTR strAttributeName,
11674            [in, defaultvalue(0)] LONG lFlags);
11675
11676    [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
11677    VARIANT_BOOL removeAttribute(
11678            [in] BSTR strAttributeName,
11679            [in, defaultvalue(1)] LONG lFlags);
11680
11681    [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
11682    void propertyName(BSTR v);
11683
11684    [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
11685    BSTR propertyName();
11686
11687    [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
11688    void bookmarks(IHTMLBookmarkCollection *v);
11689
11690    [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
11691    IHTMLBookmarkCollection *bookmarks();
11692
11693    [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
11694    void recordset(IDispatch *v);
11695
11696    [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
11697    IDispatch *recordset();
11698
11699    [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
11700    void dataFld(BSTR v);
11701
11702    [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
11703    BSTR dataFld();
11704
11705    [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
11706    void boundElements(IHTMLElementCollection *v);
11707
11708    [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
11709    IHTMLElementCollection *boundElements();
11710
11711    [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
11712    void repeat(VARIANT_BOOL v);
11713
11714    [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
11715    VARIANT_BOOL repeat();
11716
11717    [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
11718    void srcUrn(BSTR v);
11719
11720    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
11721    BSTR srcUrn();
11722
11723    [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
11724    void srcElement(IHTMLElement *v);
11725
11726    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
11727    IHTMLElement *srcElement();
11728
11729    [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
11730    void altKey(VARIANT_BOOL v);
11731
11732    [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
11733    VARIANT_BOOL altKey();
11734
11735    [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
11736    void ctrlKey(VARIANT_BOOL v);
11737
11738    [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
11739    VARIANT_BOOL ctrlKey();
11740
11741    [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
11742    void shiftKey(VARIANT_BOOL v);
11743
11744    [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
11745    VARIANT_BOOL shiftKey();
11746
11747    [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
11748    void fromElement(IHTMLElement *v);
11749
11750    [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
11751    IHTMLElement *fromElement();
11752
11753    [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
11754    void toElement(IHTMLElement *v);
11755
11756    [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
11757    IHTMLElement *toElement();
11758
11759    [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
11760    void button(LONG v);
11761
11762    [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
11763    LONG button();
11764
11765    [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
11766    void type(BSTR v);
11767
11768    [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
11769    BSTR type();
11770
11771    [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
11772    void qualifier(BSTR v);
11773
11774    [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
11775    BSTR qualifier();
11776
11777    [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
11778    void reason(LONG v);
11779
11780    [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
11781    LONG reason();
11782
11783    [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
11784    void x(LONG v);
11785
11786    [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
11787    LONG x();
11788
11789    [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
11790    void y(LONG v);
11791
11792    [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
11793    LONG y();
11794
11795    [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
11796    void clientX(LONG v);
11797
11798    [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
11799    LONG clientX();
11800
11801    [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
11802    void clientY(LONG v);
11803
11804    [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
11805    LONG clientY();
11806    [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
11807    void offsetX(LONG v);
11808
11809    [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
11810    LONG offsetX();
11811
11812    [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
11813    void offsetY(LONG v);
11814
11815    [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
11816    LONG offsetY();
11817
11818    [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
11819    void screenX(LONG v);
11820
11821    [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
11822    LONG screenX();
11823
11824    [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
11825    void screenY(LONG v);
11826
11827    [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
11828    LONG screenY();
11829
11830    [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
11831    void srcFilter(IDispatch *v);
11832
11833    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
11834    IDispatch *srcFilter();
11835
11836    [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
11837    IHTMLDataTransfer *dataTransfer();
11838
11839    [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
11840    VARIANT_BOOL contentOverflow();
11841
11842    [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
11843    void shiftLeft(VARIANT_BOOL v);
11844
11845    [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
11846    VARIANT_BOOL shiftLeft();
11847
11848    [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
11849    void altLeft(VARIANT_BOOL v);
11850
11851    [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
11852    VARIANT_BOOL altLeft();
11853
11854    [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
11855    void ctrlLeft(VARIANT_BOOL v);
11856
11857    [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
11858    VARIANT_BOOL ctrlLeft();
11859
11860    [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
11861    LONG_PTR imeCompositionChange();
11862
11863    [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
11864    LONG_PTR imeNotifyCommand();
11865
11866    [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
11867    LONG_PTR imeNotifyData();
11868
11869    [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
11870    LONG_PTR imeRequest();
11871
11872    [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
11873    LONG_PTR imeRequestData();
11874
11875    [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
11876    LONG_PTR keyboardLayout();
11877
11878    [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
11879    LONG behaviorCookie();
11880
11881    [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
11882    LONG behaviorPart();
11883
11884    [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
11885    BSTR nextPage();
11886
11887    [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
11888    LONG wheelDelta();
11889}
11890
11891/*****************************************************************************
11892 *    IHTMLFramesCollection2 interface
11893 */
11894[
11895    odl,
11896    oleautomation,
11897    dual,
11898    uuid(332C4426-26CB-11D0-B483-00C04FD90119)
11899]
11900interface IHTMLFramesCollection2 : IDispatch
11901{
11902    [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11903    HRESULT item(
11904        [in] VARIANT *pvarIndex,
11905        [retval, out] VARIANT *pvarResult);
11906
11907    [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11908    HRESULT length([retval, out] LONG *p);
11909}
11910
11911/*****************************************************************************
11912 *    IHTMLScreen interface
11913 */
11914[
11915    odl,
11916    oleautomation,
11917    dual,
11918    uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
11919]
11920interface IHTMLScreen : IDispatch
11921{
11922    [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11923    HRESULT colorDepth([retval, out] LONG *p);
11924
11925    [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11926    HRESULT bufferDepth([in] LONG v);
11927
11928    [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11929    HRESULT bufferDepth([retval, out] LONG *p);
11930
11931    [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11932    HRESULT width([retval, out] LONG *p);
11933
11934    [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11935    HRESULT height([retval, out] LONG *p);
11936
11937    [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11938    HRESULT updateInterval([in] LONG v);
11939
11940    [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11941    HRESULT updateInterval([retval, out] LONG *p);
11942
11943    [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11944    HRESULT availHeight([retval, out] LONG *p);
11945
11946    [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11947    HRESULT availWidth([retval, out] LONG *p);
11948
11949    [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11950    HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
11951}
11952
11953/*****************************************************************************
11954 *    IHTMLWindow2 interface
11955 */
11956[
11957    odl,
11958    oleautomation,
11959    dual,
11960    uuid(332C4427-26CB-11D0-B483-00C04FD90119)
11961]
11962interface IHTMLWindow2 : IHTMLFramesCollection2
11963{
11964    [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11965    HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11966
11967    [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11968    HRESULT defaultStatus([in] BSTR v);
11969
11970    [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11971    HRESULT defaultStatus([retval, out] BSTR *p);
11972
11973    [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11974    HRESULT status([in] BSTR v);
11975
11976    [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11977    HRESULT status([retval, out] BSTR *p);
11978
11979    [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
11980    HRESULT setTimeout(
11981        [in] BSTR expression,
11982        [in] LONG msec,
11983        [optional, in] VARIANT *language,
11984        [retval, out] LONG *timerID);
11985
11986    [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11987    HRESULT clearTimeout([in] LONG timerID);
11988
11989    [id(DISPID_IHTMLWINDOW2_ALERT)]
11990    HRESULT alert([defaultvalue(""), in] BSTR message);
11991
11992    [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11993    HRESULT confirm(
11994        [defaultvalue(""), in] BSTR message,
11995        [retval, out] VARIANT_BOOL *confirmed);
11996
11997    [id(DISPID_IHTMLWINDOW2_PROMPT)]
11998    HRESULT prompt(
11999        [defaultvalue(""), in] BSTR message,
12000        [defaultvalue("undefined"), in] BSTR defstr,
12001        [retval, out] VARIANT *textdata);
12002
12003    [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12004    HRESULT Image([retval, out] IHTMLImageElementFactory **p);
12005
12006    [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12007    HRESULT location([retval, out] IHTMLLocation **p);
12008
12009    [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12010    HRESULT history([retval, out] IOmHistory **p);
12011
12012    [id(DISPID_IHTMLWINDOW2_CLOSE)]
12013    HRESULT close();
12014
12015    [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12016    HRESULT opener([in] VARIANT v);
12017
12018    [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12019    HRESULT opener([retval, out] VARIANT *p);
12020
12021    [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12022    HRESULT navigator([retval, out] IOmNavigator **p);
12023
12024    [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12025    HRESULT name([in] BSTR v);
12026
12027    [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12028    HRESULT name([retval, out] BSTR *p);
12029
12030    [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12031    HRESULT parent([retval, out] IHTMLWindow2 **p);
12032
12033    [id(DISPID_IHTMLWINDOW2_OPEN)]
12034    HRESULT open(
12035        [defaultvalue(""), in] BSTR url,
12036        [defaultvalue(""), in] BSTR name,
12037        [defaultvalue(""), in] BSTR features,
12038        [defaultvalue(0), in] VARIANT_BOOL replace,
12039        [retval, out] IHTMLWindow2 **pomWindowResult);
12040
12041    [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12042    HRESULT self([retval, out] IHTMLWindow2 **p);
12043
12044    [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12045    HRESULT top([retval, out] IHTMLWindow2 **p);
12046
12047    [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12048    HRESULT window([retval, out] IHTMLWindow2 **p);
12049
12050    [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12051    HRESULT navigate([in] BSTR url);
12052
12053    [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
12054    HRESULT onfocus([in] VARIANT v);
12055
12056    [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
12057    HRESULT onfocus([retval, out] VARIANT *p);
12058
12059    [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
12060    HRESULT onblur([in] VARIANT v);
12061
12062    [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
12063    HRESULT onblur([retval, out] VARIANT *p);
12064
12065    [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
12066    HRESULT onload([in] VARIANT v);
12067
12068    [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
12069    HRESULT onload([retval, out] VARIANT *p);
12070
12071    [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
12072    HRESULT onbeforeunload([in] VARIANT v);
12073
12074    [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
12075    HRESULT onbeforeunload([retval, out] VARIANT *p);
12076
12077    [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
12078    HRESULT onunload([in] VARIANT v);
12079
12080    [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
12081    HRESULT onunload([retval, out] VARIANT *p);
12082
12083    [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
12084    HRESULT onhelp([in] VARIANT v);
12085
12086    [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
12087    HRESULT onhelp([retval, out] VARIANT *p);
12088
12089    [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
12090    HRESULT onerror([in] VARIANT v);
12091
12092    [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
12093    HRESULT onerror([retval, out] VARIANT *p);
12094
12095    [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
12096    HRESULT onresize([in] VARIANT v);
12097
12098    [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
12099    HRESULT onresize([retval, out] VARIANT *p);
12100
12101    [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
12102    HRESULT onscroll([in] VARIANT v);
12103
12104    [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
12105    HRESULT onscroll([retval, out] VARIANT *p);
12106
12107    [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
12108    HRESULT document([retval, out] IHTMLDocument2 **p);
12109
12110    [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12111    HRESULT event([retval, out] IHTMLEventObj **p);
12112
12113    [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
12114    HRESULT _newEnum([retval, out] IUnknown **p);
12115
12116    [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12117    HRESULT showModalDialog(
12118        [in] BSTR dialog,
12119        [optional, in] VARIANT *varArgIn,
12120        [optional, in] VARIANT *varOptions,
12121        [retval, out] VARIANT *varArgOut);
12122
12123    [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12124    HRESULT showHelp(
12125        [in] BSTR helpURL,
12126        [optional, in] VARIANT helpArg,
12127        [defaultvalue(""), in] BSTR features);
12128
12129    [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12130    HRESULT screen([retval, out] IHTMLScreen **p);
12131
12132    [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12133    HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
12134
12135    [id(DISPID_IHTMLWINDOW2_FOCUS)]
12136    HRESULT focus();
12137
12138    [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12139    HRESULT closed([retval, out] VARIANT_BOOL *p);
12140
12141    [id(DISPID_IHTMLWINDOW2_BLUR)]
12142    HRESULT blur();
12143
12144    [id(DISPID_IHTMLWINDOW2_SCROLL)]
12145    HRESULT scroll([in] LONG x, [in] LONG y);
12146
12147    [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12148    HRESULT clientInformation([retval, out] IOmNavigator **p);
12149
12150    [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
12151    HRESULT setInterval([
12152        in] BSTR expression,
12153        [in] LONG msec,
12154        [optional, in] VARIANT *language,
12155        [retval, out] LONG *timerID);
12156
12157    [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12158    HRESULT clearInterval([in] LONG timerID);
12159
12160    [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12161    HRESULT offscreenBuffering([in] VARIANT v);
12162
12163    [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12164    HRESULT offscreenBuffering([retval, out] VARIANT *p);
12165
12166    [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12167    HRESULT execScript(
12168        [in] BSTR scode,
12169        [defaultvalue("JScript"), in] BSTR language,
12170        [retval, out] VARIANT *pvarRet);
12171
12172    [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12173    HRESULT toString([retval, out] BSTR *String);
12174
12175    [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12176    HRESULT scrollBy([in] LONG x, [in] LONG y);
12177
12178    [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12179    HRESULT scrollTo([in] LONG x, [in] LONG y);
12180
12181    [id(DISPID_IHTMLWINDOW2_MOVETO)]
12182    HRESULT moveTo([in] LONG x, [in] LONG y);
12183
12184    [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12185    HRESULT moveBy([in] LONG x, [in] LONG y);
12186
12187    [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12188    HRESULT resizeTo([in] LONG x, [in] LONG y);
12189
12190    [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12191    HRESULT resizeBy([in] LONG x, [in] LONG y);
12192
12193    [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12194    HRESULT external([retval, out] IDispatch **p);
12195}
12196
12197/*****************************************************************************
12198 *    IHTMLWindow3 interface
12199 */
12200[
12201    odl,
12202    oleautomation,
12203    dual,
12204    uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
12205]
12206interface IHTMLWindow3 : IDispatch
12207{
12208    [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12209    HRESULT screenLeft([out, retval] LONG *p);
12210
12211    [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12212    HRESULT screenTop([out, retval] LONG *p);
12213
12214    [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12215    HRESULT attachEvent(
12216            [in] BSTR event,
12217            [in] IDispatch *pDisp,
12218            [out, retval] VARIANT_BOOL *pfResult);
12219
12220    [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12221    HRESULT detachEvent(
12222            [in] BSTR event,
12223            [in] IDispatch *pDisp);
12224
12225    [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12226    HRESULT setTimeout(
12227            [in] VARIANT *expression,
12228            [in] LONG msec,
12229            [in, optional] VARIANT *language,
12230            [out, retval] LONG *timerID);
12231
12232    [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12233    HRESULT setInterval(
12234            [in] VARIANT *expression,
12235            [in] LONG msec,
12236            [in, optional] VARIANT *language,
12237            [out, retval] LONG *timerID);
12238
12239    [id(DISPID_IHTMLWINDOW3_PRINT)]
12240    HRESULT print();
12241
12242    [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12243    HRESULT onbeforeprint([in] VARIANT v);
12244
12245    [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12246    HRESULT onbeforeprint([out, retval] VARIANT *p);
12247
12248    [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12249    HRESULT onafterprint([in] VARIANT v);
12250
12251    [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12252    HRESULT onafterprint([out, retval] VARIANT *p);
12253
12254    [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12255    HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
12256
12257    [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12258    HRESULT showModelessDialog(
12259            [in, defaultvalue("")] BSTR url,
12260            [in, optional] VARIANT *varArgIn,
12261            [in, optional] VARIANT *options,
12262            [out, retval] IHTMLWindow2 **pDialog);
12263}
12264
12265/*****************************************************************************
12266 *    IHTMLWindow4 interface
12267 */
12268[
12269    odl,
12270    oleautomation,
12271    dual,
12272    uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
12273]
12274interface IHTMLWindow4 : IDispatch
12275{
12276    [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12277    HRESULT createPopup([optional, in] VARIANT* varArgIn,
12278                        [retval, out] IDispatch** ppPopup);
12279
12280    [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12281    HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
12282}
12283
12284/*****************************************************************************
12285 *    IHTMLWindow5 interface
12286 */
12287[
12288    odl,
12289    oleautomation,
12290    dual,
12291    uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
12292]
12293interface IHTMLWindow5 : IDispatch
12294{
12295    [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12296    HRESULT XMLHttpRequest([in] VARIANT v);
12297
12298    [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12299    HRESULT XMLHttpRequest([retval, out] VARIANT * p);
12300}
12301
12302/*****************************************************************************
12303 *    IHTMLWindow6 interface
12304 */
12305[
12306    odl,
12307    oleautomation,
12308    dual,
12309    uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
12310]
12311interface IHTMLWindow6 : IDispatch
12312{
12313    [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
12314    HRESULT XDomainRequest([in] VARIANT v);
12315
12316    [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
12317    HRESULT XDomainRequest([out, retval] VARIANT *p);
12318
12319    [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12320    HRESULT sessionStorage([out, retval] IHTMLStorage **p);
12321
12322    [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12323    HRESULT localStorage([out, retval] IHTMLStorage **p);
12324
12325    [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12326    HRESULT onhashchange([in] VARIANT v);
12327
12328    [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12329    HRESULT onhashchange([out, retval] VARIANT *p);
12330
12331    [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12332    HRESULT maxConnectionsPerServer([out, retval] long *p);
12333
12334    [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12335    HRESULT postMessage(
12336            [in] BSTR msg,
12337            [in, optional] VARIANT targetOrigin);
12338
12339    [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12340    HRESULT toStaticHTML(
12341            [in] BSTR bstrHTML,
12342            [out, retval] BSTR *pbstrStaticHTML);
12343
12344    [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12345    HRESULT onmessage([in] VARIANT v);
12346
12347    [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12348    HRESULT onmessage([out, retval] VARIANT *p);
12349
12350    [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12351    HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12352}
12353
12354/*****************************************************************************
12355 *    DispHTMLScreen dispinterface
12356 */
12357[
12358    hidden,
12359    uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
12360]
12361dispinterface DispHTMLScreen
12362{
12363properties:
12364methods:
12365    [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
12366    long colorDepth();
12367
12368    [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12369    void bufferDepth(long v);
12370
12371    [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12372    long bufferDepth();
12373
12374    [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
12375    long width();
12376
12377    [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
12378    long height();
12379
12380    [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12381    void updateInterval(long v);
12382
12383    [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12384    long updateInterval();
12385
12386    [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
12387    long availHeight();
12388
12389    [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
12390    long availWidth();
12391
12392    [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
12393    VARIANT_BOOL fontSmoothingEnabled();
12394
12395    [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
12396    long logicalXDPI();
12397
12398    [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
12399    long logicalYDPI();
12400
12401    [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
12402    long deviceXDPI();
12403
12404    [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
12405    long deviceYDPI();
12406
12407    [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
12408    long systemXDPI();
12409
12410    [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
12411    long systemYDPI();
12412
12413    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
12414    IDispatch *constructor();
12415}
12416
12417/*****************************************************************************
12418 *    DispHTMLWindow2 dispinterface
12419 */
12420[
12421    hidden,
12422    uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
12423]
12424dispinterface DispHTMLWindow2
12425{
12426properties:
12427methods:
12428    [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12429    VARIANT item([in] VARIANT *pvarIndex);
12430
12431    [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12432    LONG length();
12433
12434    [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12435    IHTMLFramesCollection2 *frames();
12436
12437    [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12438    void defaultStatus(BSTR v);
12439
12440    [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12441    BSTR defaultStatus();
12442
12443    [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12444    void status(BSTR v);
12445
12446    [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12447    BSTR status();
12448
12449    [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12450    void clearTimeout([in] LONG timerID);
12451
12452    [id(DISPID_IHTMLWINDOW2_ALERT)]
12453    void alert([in, defaultvalue("")] BSTR message);
12454
12455    [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12456    VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
12457
12458    [id(DISPID_IHTMLWINDOW2_PROMPT)]
12459    VARIANT prompt(
12460            [in, defaultvalue("")] BSTR message,
12461            [in, defaultvalue("undefined")] BSTR defstr);
12462
12463    [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12464    IHTMLImageElementFactory *Image();
12465
12466    [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12467    IHTMLLocation *location();
12468
12469    [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12470    IOmHistory *history();
12471
12472    [id(DISPID_IHTMLWINDOW2_CLOSE)]
12473    void close();
12474
12475    [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12476    void opener(VARIANT v);
12477
12478    [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12479    VARIANT opener();
12480
12481    [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12482    IOmNavigator *navigator();
12483
12484    [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12485    void name(BSTR v);
12486
12487    [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12488    BSTR name();
12489
12490    [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12491    IHTMLWindow2 *parent();
12492
12493    [id(DISPID_IHTMLWINDOW2_OPEN)]
12494    IHTMLWindow2 *open(
12495            [in, defaultvalue("")] BSTR url,
12496            [in, defaultvalue("")] BSTR name,
12497            [in, defaultvalue("")] BSTR features,
12498            [in, defaultvalue(0)]  VARIANT_BOOL replace);
12499
12500    [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12501    IHTMLWindow2 *self();
12502
12503    [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12504    IHTMLWindow2 *top();
12505
12506    [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12507    IHTMLWindow2 *window();
12508
12509    [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12510    void navigate([in] BSTR url);
12511
12512    [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12513    void onfocus(VARIANT v);
12514
12515    [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12516    VARIANT onfocus();
12517
12518    [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12519    void onblur(VARIANT v);
12520
12521    [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12522    VARIANT onblur();
12523
12524    [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12525    VARIANT onload();
12526
12527    [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12528    void onbeforeunload(VARIANT v);
12529
12530    [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12531    VARIANT onbeforeunload();
12532
12533    [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12534    void onunload(VARIANT v);
12535
12536    [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12537    VARIANT onunload();
12538
12539    [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12540    void onhelp(VARIANT v);
12541
12542    [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12543    VARIANT onhelp();
12544
12545    [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12546    void onerror(VARIANT v);
12547
12548    [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12549    VARIANT onerror();
12550
12551    [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12552    void onresize(VARIANT v);
12553
12554    [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12555    VARIANT onresize();
12556
12557    [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12558    void onscroll(VARIANT v);
12559
12560    [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12561    VARIANT onscroll();
12562
12563    [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
12564    IHTMLDocument2 *document();
12565
12566    [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12567    IHTMLEventObj *event();
12568
12569    [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
12570    IUnknown *_newEnum();
12571
12572    [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12573    VARIANT showModalDialog(
12574            [in] BSTR dialog,
12575            [in, optional] VARIANT *varArgIn,
12576            [in, optional] VARIANT *varOptions);
12577
12578    [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12579    void showHelp(
12580            [in] BSTR helpURL,
12581            [in, optional] VARIANT helpArg,
12582            [in, defaultvalue("")] BSTR features);
12583
12584    [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12585    IHTMLScreen *screen();
12586
12587    [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12588    IHTMLOptionElementFactory *Option();
12589
12590    [id(DISPID_IHTMLWINDOW2_FOCUS)]
12591    void focus();
12592
12593    [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12594    VARIANT_BOOL closed();
12595
12596    [id(DISPID_IHTMLWINDOW2_BLUR)]
12597    void blur();
12598
12599    [id(DISPID_IHTMLWINDOW2_SCROLL)]
12600    void scroll([in] LONG x, [in] LONG y);
12601
12602    [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12603    IOmNavigator *clientInformation();
12604
12605    [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12606    void clearInterval([in] LONG timerID);
12607
12608    [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12609    void offscreenBuffering(VARIANT v);
12610
12611    [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12612    VARIANT offscreenBuffering();
12613
12614    [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12615    VARIANT execScript(
12616            [in] BSTR _code,
12617            [in, defaultvalue("JScript")] BSTR language);
12618
12619    [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12620    BSTR toString();
12621
12622    [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12623    void scrollBy([in] LONG x, [in] LONG y);
12624
12625    [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12626    void scrollTo([in] LONG x, [in] LONG y);
12627
12628    [id(DISPID_IHTMLWINDOW2_MOVETO)]
12629    void moveTo([in] LONG x, [in] LONG y);
12630
12631    [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12632    void moveBy([in] LONG x, [in] LONG y);
12633
12634    [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12635    void resizeTo([in] LONG x, [in] LONG y);
12636
12637    [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12638    void resizeBy([in] LONG x, [in] LONG y);
12639
12640    [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12641    IDispatch *external();
12642
12643    [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12644    LONG screenLeft();
12645
12646    [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12647    LONG screenTop();
12648
12649    [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12650    VARIANT_BOOL attachEvent(
12651             [in] BSTR event,
12652             [in] IDispatch *pDisp);
12653
12654    [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12655    void detachEvent(
12656            [in] BSTR event,
12657            [in] IDispatch *pDisp);
12658
12659    [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12660    LONG setTimeout(
12661            [in] VARIANT *expression,
12662            [in] LONG msec,
12663            [in, optional] VARIANT *language);
12664
12665    [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12666    LONG setInterval(
12667            [in] VARIANT *expression,
12668            [in] LONG msec,
12669            [in, optional] VARIANT *language);
12670
12671    [id(DISPID_IHTMLWINDOW3_PRINT)]
12672    void print();
12673
12674    [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12675    void onbeforeprint(VARIANT v);
12676
12677    [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12678    VARIANT onbeforeprint();
12679
12680    [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12681    void onafterprint(VARIANT v);
12682
12683    [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12684    VARIANT onafterprint();
12685
12686    [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12687    IHTMLDataTransfer *clipboardData();
12688
12689    [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12690    IHTMLWindow2 *showModelessDialog(
12691            [in, defaultvalue("")] BSTR url,
12692            [in, optional] VARIANT *varArgIn,
12693            [in, optional] VARIANT *options);
12694
12695    [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12696    IDispatch *createPopup([in, optional] VARIANT *varArgIn);
12697
12698    [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12699    IHTMLFrameBase *frameElement();
12700
12701    [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12702    IHTMLStorage *sessionStorage();
12703
12704    [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12705    IHTMLStorage *localStorage();
12706
12707    [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12708    void onhashchange(VARIANT v);
12709
12710    [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12711    VARIANT onhashchange();
12712
12713    [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12714    long maxConnectionsPerServer();
12715
12716    [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12717    void postMessage(
12718            [in] BSTR msg,
12719            [in, optional] VARIANT targetOrigin);
12720
12721    [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12722    BSTR toStaticHTML([in] BSTR bstrHTML);
12723
12724    [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12725    void onmessage(VARIANT v);
12726
12727    [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12728    VARIANT onmessage();
12729
12730    [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12731    void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12732
12733    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
12734}
12735
12736/*****************************************************************************
12737 *    DispHTMLWindowProxy dispinterface
12738 */
12739[
12740    hidden,
12741    uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
12742]
12743dispinterface DispHTMLWindowProxy
12744{
12745properties:
12746methods:
12747    [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12748    VARIANT item([in] VARIANT* pvarIndex);
12749
12750    [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12751    LONG length();
12752
12753    [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12754    IHTMLFramesCollection2* frames();
12755
12756    [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12757    void defaultStatus(BSTR v);
12758
12759    [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12760    BSTR defaultStatus();
12761
12762    [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12763    void status(BSTR v);
12764
12765    [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12766    BSTR status();
12767
12768    [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12769    void clearTimeout([in] LONG timerID);
12770
12771    [id(DISPID_IHTMLWINDOW2_ALERT)]
12772    void alert([defaultvalue(""), in] BSTR message);
12773
12774    [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12775    VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
12776
12777    [id(DISPID_IHTMLWINDOW2_PROMPT)]
12778    VARIANT prompt([defaultvalue(""), in] BSTR message,
12779                   [defaultvalue("undefined"), in] BSTR defstr);
12780
12781    [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12782    IHTMLImageElementFactory* Image();
12783
12784    [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12785    IHTMLLocation* location();
12786
12787    [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12788    IOmHistory* history();
12789
12790    [id(DISPID_IHTMLWINDOW2_CLOSE)]
12791    void close();
12792
12793    [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12794    void opener(VARIANT v);
12795
12796    [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12797    VARIANT opener();
12798
12799    [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12800    IOmNavigator* navigator();
12801
12802    [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12803    void name(BSTR v);
12804
12805    [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12806    BSTR name();
12807
12808    [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12809    IHTMLWindow2* parent();
12810
12811    [id(DISPID_IHTMLWINDOW2_OPEN)]
12812    IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
12813                       [defaultvalue(""), in] BSTR name,
12814                       [defaultvalue(""), in] BSTR features,
12815                       [defaultvalue(0), in] VARIANT_BOOL replace);
12816
12817    [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12818    IHTMLWindow2* self();
12819
12820    [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12821    IHTMLWindow2* top();
12822
12823    [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12824    IHTMLWindow2* window();
12825
12826    [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12827    void navigate([in] BSTR url);
12828
12829    [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12830    void onfocus(VARIANT v);
12831
12832    [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12833    VARIANT onfocus();
12834
12835    [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12836    void onblur(VARIANT v);
12837
12838    [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12839    VARIANT onblur();
12840
12841    [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12842    void onload(VARIANT v);
12843
12844    [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12845    VARIANT onload();
12846
12847    [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12848    void onbeforeunload(VARIANT v);
12849
12850    [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12851    VARIANT onbeforeunload();
12852
12853    [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12854    void onunload(VARIANT v);
12855
12856    [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12857    VARIANT onunload();
12858
12859    [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12860    void onhelp(VARIANT v);
12861
12862    [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12863    VARIANT onhelp();
12864
12865    [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12866    void onerror(VARIANT v);
12867
12868    [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12869    VARIANT onerror();
12870
12871    [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12872    void onresize(VARIANT v);
12873
12874    [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12875    VARIANT onresize();
12876
12877    [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12878    void onscroll(VARIANT v);
12879
12880    [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12881    VARIANT onscroll();
12882
12883    [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
12884    IHTMLDocument2* document();
12885
12886    [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12887    IHTMLEventObj* event();
12888
12889    [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
12890    IUnknown* _newEnum();
12891
12892    [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12893    VARIANT showModalDialog([in] BSTR dialog,
12894                            [optional, in] VARIANT* varArgIn,
12895                            [optional, in] VARIANT* varOptions);
12896
12897    [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12898    void showHelp([in] BSTR helpURL,
12899                  [optional, in] VARIANT helpArg,
12900                  [defaultvalue(""), in] BSTR features);
12901
12902    [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12903    IHTMLScreen* screen();
12904
12905    [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12906    IHTMLOptionElementFactory* Option();
12907
12908    [id(DISPID_IHTMLWINDOW2_FOCUS)]
12909    void focus();
12910
12911    [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12912    VARIANT_BOOL closed();
12913
12914    [id(DISPID_IHTMLWINDOW2_BLUR)]
12915    void blur();
12916
12917    [id(DISPID_IHTMLWINDOW2_SCROLL)]
12918    void scroll([in] LONG x,
12919                [in] LONG y);
12920
12921    [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12922    IOmNavigator* clientInformation();
12923
12924    [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12925    void clearInterval([in] LONG timerID);
12926
12927    [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12928    void offscreenBuffering(VARIANT v);
12929
12930    [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12931    VARIANT offscreenBuffering();
12932
12933    [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12934    VARIANT execScript([in] BSTR code,
12935                       [defaultvalue("JScript"), in] BSTR language);
12936
12937    [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12938    BSTR toString();
12939
12940    [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12941    void scrollBy([in] LONG x,
12942                  [in] LONG y);
12943
12944    [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12945    void scrollTo([in] LONG x,
12946                  [in] LONG y);
12947
12948    [id(DISPID_IHTMLWINDOW2_MOVETO)]
12949    void moveTo([in] LONG x,
12950                [in] LONG y);
12951
12952    [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12953    void moveBy([in] LONG x,
12954                [in] LONG y);
12955
12956    [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12957    void resizeTo([in] LONG x,
12958                  [in] LONG y);
12959
12960    [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12961    void resizeBy([in] LONG x,
12962                  [in] LONG y);
12963
12964    [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12965    IDispatch* external();
12966
12967    [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12968    LONG screenLeft();
12969
12970    [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12971    LONG screenTop();
12972
12973    [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12974    VARIANT_BOOL attachEvent([in] BSTR event,
12975                             [in] IDispatch* pDisp);
12976
12977    [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12978    void detachEvent([in] BSTR event,
12979                     [in] IDispatch* pDisp);
12980
12981    [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12982    LONG setTimeout([in] VARIANT* expression,
12983                    [in] LONG msec,
12984                    [optional, in] VARIANT* language);
12985
12986    [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12987    LONG setInterval([in] VARIANT* expression,
12988                     [in] LONG msec,
12989                     [optional, in] VARIANT* language);
12990
12991    [id(DISPID_IHTMLWINDOW3_PRINT)]
12992    void print();
12993
12994    [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12995    void onbeforeprint(VARIANT v);
12996
12997    [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12998    VARIANT onbeforeprint();
12999
13000    [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13001    void onafterprint(VARIANT v);
13002
13003    [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13004    VARIANT onafterprint();
13005
13006    [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13007    IHTMLDataTransfer* clipboardData();
13008
13009    [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13010    IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
13011                                     [optional, in] VARIANT* varArgIn,
13012                                     [optional, in] VARIANT* options);
13013
13014    [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
13015    IDispatch* createPopup([optional, in] VARIANT* varArgIn);
13016
13017    [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
13018    IHTMLFrameBase* frameElement();
13019
13020    [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
13021    void XMLHttpRequest(VARIANT v);
13022
13023    [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
13024    VARIANT XMLHttpRequest();
13025
13026    [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
13027    IHTMLStorage *sessionStorage();
13028
13029    [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
13030    IHTMLStorage *localStorage();
13031
13032    [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
13033    void onhashchange(VARIANT v);
13034
13035    [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
13036    VARIANT onhashchange();
13037
13038    [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
13039    long maxConnectionsPerServer();
13040
13041    [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
13042    void postMessage(
13043            [in] BSTR msg,
13044            [in, optional] VARIANT targetOrigin);
13045
13046    [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
13047    BSTR toStaticHTML([in] BSTR bstrHTML);
13048
13049    [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
13050    void onmessage(VARIANT v);
13051
13052    [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
13053    VARIANT onmessage();
13054
13055    [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
13056    void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
13057
13058    WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
13059}
13060
13061/*****************************************************************************
13062 *    HTMLWindowEvents interface
13063 */
13064[
13065    hidden,
13066    uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
13067]
13068dispinterface HTMLWindowEvents
13069{
13070properties:
13071methods:
13072    [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
13073    void onload();
13074
13075    [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
13076    void onunload();
13077
13078    [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
13079    VARIANT_BOOL onhelp();
13080
13081    [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
13082    void onfocus();
13083
13084    [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
13085    void onblur();
13086
13087    [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
13088    void onerror([in] BSTR description,
13089                 [in] BSTR url,
13090                 [in] LONG line);
13091
13092    [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
13093    void onresize();
13094
13095    [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
13096    void onscroll();
13097
13098    [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
13099    void onbeforeunload();
13100
13101    [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
13102    void onbeforeprint();
13103
13104    [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
13105    void onafterprint();
13106}
13107
13108/*****************************************************************************
13109 *    HTMLWindowEvents2 interface
13110 */
13111[
13112    hidden,
13113    uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
13114]
13115dispinterface HTMLWindowEvents2
13116{
13117properties:
13118methods:
13119    [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
13120    void onload([in] IHTMLEventObj* pEvtObj);
13121
13122    [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
13123    void onunload([in] IHTMLEventObj* pEvtObj);
13124
13125    [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
13126    VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13127
13128    [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
13129    void onfocus([in] IHTMLEventObj* pEvtObj);
13130
13131    [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
13132    void onblur([in] IHTMLEventObj* pEvtObj);
13133
13134    [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
13135    void onerror([in] BSTR description,
13136                 [in] BSTR url,
13137                 [in] LONG line);
13138
13139    [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
13140    void onresize([in] IHTMLEventObj* pEvtObj);
13141
13142    [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
13143    void onscroll([in] IHTMLEventObj* pEvtObj);
13144
13145    [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
13146    void onbeforeunload([in] IHTMLEventObj* pEvtObj);
13147
13148    [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
13149    void onbeforeprint([in] IHTMLEventObj* pEvtObj);
13150
13151    [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
13152    void onafterprint([in] IHTMLEventObj* pEvtObj);
13153}
13154
13155/*****************************************************************************
13156 *    HTMLWindowProxy class
13157 */
13158[
13159    uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
13160]
13161coclass HTMLWindowProxy
13162{
13163    [default]           dispinterface DispHTMLWindowProxy;
13164    [source, default]   dispinterface HTMLWindowEvents;
13165    [source]            dispinterface HTMLWindowEvents2;
13166                        interface IHTMLWindow2;
13167                        interface IHTMLWindow3;
13168                        interface IHTMLWindow4;
13169                        interface IHTMLWindow5;
13170}
13171
13172/*****************************************************************************
13173 *    HTMLDocumentEvents2 interface
13174 */
13175[
13176    hidden,
13177    uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
13178]
13179dispinterface HTMLDocumentEvents2
13180{
13181    properties:
13182    methods:
13183    [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
13184    VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
13185
13186    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
13187    VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
13188
13189    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
13190    VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
13191
13192    [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
13193    void onkeydown([in] IHTMLEventObj *pEvtObj);
13194
13195    [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
13196    void onkeyup([in] IHTMLEventObj *pEvtObj);
13197
13198    [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
13199    VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
13200
13201    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
13202    void onmousedown([in] IHTMLEventObj *pEvtObj);
13203
13204    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
13205    void onmousemove([in] IHTMLEventObj *pEvtObj);
13206
13207    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
13208    void onmouseup([in] IHTMLEventObj *pEvtObj);
13209
13210    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
13211    void onmouseout([in] IHTMLEventObj *pEvtObj);
13212
13213    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
13214    void onmouseover([in] IHTMLEventObj *pEvtObj);
13215
13216    [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
13217    void onreadystatechange([in] IHTMLEventObj *pEvtObj);
13218
13219    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
13220    VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
13221
13222    [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
13223    void onafterupdate([in] IHTMLEventObj *pEvtObj);
13224
13225    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
13226    VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
13227
13228    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
13229    void onrowenter([in] IHTMLEventObj *pEvtObj);
13230
13231    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
13232    VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
13233
13234    [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
13235    VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
13236
13237    [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
13238    VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
13239
13240    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
13241    VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
13242
13243    [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
13244    VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
13245
13246    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
13247    void onrowsdelete([in] IHTMLEventObj *pEvtObj);
13248
13249    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
13250    void onrowsinserted([in] IHTMLEventObj *pEvtObj);
13251
13252    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
13253    void oncellchange([in] IHTMLEventObj *pEvtObj);
13254
13255    [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
13256    void onpropertychange([in] IHTMLEventObj *pEvtObj);
13257
13258    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
13259    void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
13260
13261    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
13262    void ondataavailable([in] IHTMLEventObj *pEvtObj);
13263
13264    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
13265    void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
13266
13267    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
13268    void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
13269
13270    [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
13271    void onselectionchange([in] IHTMLEventObj *pEvtObj);
13272
13273    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
13274    VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
13275
13276    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
13277    VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
13278
13279    [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
13280    void onfocusin([in] IHTMLEventObj *pEvtObj);
13281
13282    [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
13283    void onfocusout([in] IHTMLEventObj *pEvtObj);
13284
13285    [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
13286    void onactivate([in] IHTMLEventObj *pEvtObj);
13287
13288    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
13289    void ondeactivate([in] IHTMLEventObj *pEvtObj);
13290
13291    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
13292    VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
13293
13294    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
13295    VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
13296}
13297
13298/*****************************************************************************
13299 *    HTMLDocumentEvents interface
13300 */
13301[
13302    hidden,
13303    uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
13304]
13305dispinterface HTMLDocumentEvents
13306{
13307    properties:
13308    methods:
13309    [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
13310    VARIANT_BOOL onhelp();
13311
13312    [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
13313    VARIANT_BOOL onclick();
13314
13315    [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
13316    VARIANT_BOOL ondblclick();
13317
13318    [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
13319    void onkeydown();
13320
13321    [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
13322    void onkeyup();
13323
13324    [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
13325    VARIANT_BOOL onkeypress();
13326
13327    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
13328    void onmousedown();
13329
13330    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
13331    void onmousemove();
13332
13333    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
13334    void onmouseup();
13335
13336    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
13337    void onmouseout();
13338
13339    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
13340    void onmouseover();
13341
13342    [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
13343    void onreadystatechange();
13344
13345    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
13346    VARIANT_BOOL onbeforeupdate();
13347
13348    [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
13349    void onafterupdate();
13350
13351    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
13352    VARIANT_BOOL onrowexit();
13353
13354    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
13355    void onrowenter();
13356
13357    [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
13358    VARIANT_BOOL ondragstart();
13359
13360    [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
13361    VARIANT_BOOL onselectstart();
13362
13363    [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
13364    VARIANT_BOOL onerrorupdate();
13365
13366    [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
13367    VARIANT_BOOL oncontextmenu();
13368
13369    [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
13370    VARIANT_BOOL onstop();
13371
13372    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
13373    void onrowsdelete();
13374
13375    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
13376    void onrowsinserted();
13377
13378    [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
13379    void oncellchange();
13380
13381    [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
13382    void onpropertychange();
13383
13384    [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
13385    void ondatasetchanged();
13386
13387    [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
13388    void ondataavailable();
13389
13390    [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
13391    void ondatasetcomplete();
13392
13393    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
13394    void onbeforeeditfocus();
13395
13396    [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
13397    void onselectionchange();
13398
13399    [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
13400    VARIANT_BOOL oncontrolselect();
13401
13402    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
13403    VARIANT_BOOL onmousewheel();
13404
13405    [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
13406    void onfocusin();
13407
13408    [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
13409    void onfocusout();
13410
13411    [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
13412    void onactivate();
13413
13414    [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
13415    void ondeactivate();
13416
13417    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
13418    VARIANT_BOOL onbeforeactivate();
13419
13420    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
13421    VARIANT_BOOL onbeforedeactivate();
13422}
13423
13424/*****************************************************************************
13425 *    HTMLTextContainerEvents interface
13426 */
13427[
13428    hidden,
13429    uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
13430]
13431dispinterface HTMLTextContainerEvents
13432{
13433properties:
13434
13435methods:
13436    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13437    VARIANT_BOOL onhelp();
13438
13439    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13440    VARIANT_BOOL onclick();
13441
13442    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13443    VARIANT_BOOL ondblclick();
13444
13445    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13446    VARIANT_BOOL onkeypress();
13447
13448    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13449    void onkeydown();
13450
13451    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13452    void onkeyup();
13453
13454    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13455    void onmouseout();
13456
13457    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13458    void onmouseover();
13459
13460    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13461    void onmousemove();
13462
13463    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13464    void onmousedown();
13465
13466    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13467    void onmouseup();
13468
13469    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13470    VARIANT_BOOL onselectstart();
13471
13472    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13473    void onfilterchange();
13474
13475    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13476    VARIANT_BOOL ondragstart();
13477
13478    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13479    VARIANT_BOOL onbeforeupdate();
13480
13481    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13482    void onafterupdate();
13483
13484    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13485    VARIANT_BOOL onerrorupdate();
13486
13487    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13488    VARIANT_BOOL onrowexit();
13489
13490    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13491    void onrowenter();
13492
13493    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13494    void ondatasetchanged();
13495
13496    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13497    void ondataavailable();
13498
13499    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13500    void ondatasetcomplete();
13501
13502    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13503    void onlosecapture();
13504
13505    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13506    void onpropertychange();
13507
13508    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13509    void onscroll();
13510
13511    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13512    void onfocus();
13513
13514    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13515    void onblur();
13516
13517    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13518    void onresize();
13519
13520    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13521    VARIANT_BOOL ondrag();
13522
13523    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13524    void ondragend();
13525
13526    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13527    VARIANT_BOOL ondragenter();
13528
13529    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13530    VARIANT_BOOL ondragover();
13531
13532    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13533    void ondragleave();
13534
13535    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13536    VARIANT_BOOL ondrop();
13537
13538    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13539    VARIANT_BOOL onbeforecut();
13540
13541    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13542    VARIANT_BOOL oncut();
13543
13544    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13545    VARIANT_BOOL onbeforecopy();
13546
13547    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13548    VARIANT_BOOL oncopy();
13549
13550    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13551    VARIANT_BOOL onbeforepaste();
13552
13553    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13554    VARIANT_BOOL onpaste();
13555
13556    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13557    VARIANT_BOOL oncontextmenu();
13558
13559    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13560    void onrowsdelete();
13561
13562    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13563    void onrowsinserted();
13564
13565    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13566    void oncellchange();
13567
13568    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13569    void onreadystatechange();
13570
13571    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13572    void onbeforeeditfocus();
13573
13574    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13575    void onlayoutcomplete();
13576
13577    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13578    void onpage();
13579
13580    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13581    VARIANT_BOOL onbeforedeactivate();
13582
13583    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13584    VARIANT_BOOL onbeforeactivate();
13585
13586    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13587    void onmove();
13588
13589    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13590    VARIANT_BOOL oncontrolselect();
13591
13592    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13593    VARIANT_BOOL onmovestart();
13594
13595    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13596    void onmoveend();
13597
13598    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13599    VARIANT_BOOL onresizestart();
13600
13601    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13602    void onresizeend();
13603
13604    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13605    void onmouseenter();
13606
13607    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13608    void onmouseleave();
13609
13610    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13611    VARIANT_BOOL onmousewheel();
13612
13613    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13614    void onactivate();
13615
13616    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13617    void ondeactivate();
13618
13619    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13620    void onfocusin();
13621
13622    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13623    void onfocusout();
13624
13625    [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
13626    void onchange();
13627
13628    [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
13629    void onselect();
13630}
13631
13632/*****************************************************************************
13633 *    HTMLTextContainerEvents2 interface
13634 */
13635[
13636    hidden,
13637    uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
13638]
13639dispinterface HTMLTextContainerEvents2
13640{
13641properties:
13642methods:
13643    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13644    VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13645
13646    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13647    VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13648
13649    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13650    VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13651
13652    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13653    VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13654
13655    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13656    void onkeydown([in] IHTMLEventObj* pEvtObj);
13657
13658    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13659    void onkeyup([in] IHTMLEventObj* pEvtObj);
13660
13661    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13662    void onmouseout([in] IHTMLEventObj* pEvtObj);
13663
13664    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13665    void onmouseover([in] IHTMLEventObj* pEvtObj);
13666
13667    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13668    void onmousemove([in] IHTMLEventObj* pEvtObj);
13669
13670    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13671    void onmousedown([in] IHTMLEventObj* pEvtObj);
13672
13673    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13674    void onmouseup([in] IHTMLEventObj* pEvtObj);
13675
13676    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13677    VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13678
13679    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13680    void onfilterchange([in] IHTMLEventObj* pEvtObj);
13681
13682    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13683    VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13684
13685    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13686    VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13687
13688    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13689    void onafterupdate([in] IHTMLEventObj* pEvtObj);
13690
13691    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13692    VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13693
13694    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13695    VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13696
13697    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13698    void onrowenter([in] IHTMLEventObj* pEvtObj);
13699
13700    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13701    void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13702
13703    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13704    void ondataavailable([in] IHTMLEventObj* pEvtObj);
13705
13706    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13707    void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13708
13709    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13710    void onlosecapture([in] IHTMLEventObj* pEvtObj);
13711
13712    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13713    void onpropertychange([in] IHTMLEventObj* pEvtObj);
13714
13715    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13716    void onscroll([in] IHTMLEventObj* pEvtObj);
13717
13718    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13719    void onfocus([in] IHTMLEventObj* pEvtObj);
13720
13721    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13722    void onblur([in] IHTMLEventObj* pEvtObj);
13723
13724    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13725    void onresize([in] IHTMLEventObj* pEvtObj);
13726
13727    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13728    VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13729
13730    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13731    void ondragend([in] IHTMLEventObj* pEvtObj);
13732
13733    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13734    VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13735
13736    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13737    VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13738
13739    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13740    void ondragleave([in] IHTMLEventObj* pEvtObj);
13741
13742    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13743    VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13744
13745    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13746    VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13747
13748    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13749    VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13750
13751    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13752    VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13753
13754    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13755    VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13756
13757    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13758    VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13759
13760    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13761    VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13762
13763    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13764    VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13765
13766    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13767    void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13768
13769    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13770    void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13771
13772    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13773    void oncellchange([in] IHTMLEventObj* pEvtObj);
13774
13775    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13776    void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13777
13778    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13779    void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13780
13781    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13782    void onpage([in] IHTMLEventObj* pEvtObj);
13783
13784    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13785    void onmouseenter([in] IHTMLEventObj* pEvtObj);
13786
13787    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13788    void onmouseleave([in] IHTMLEventObj* pEvtObj);
13789
13790    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13791    void onactivate([in] IHTMLEventObj* pEvtObj);
13792
13793    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13794    void ondeactivate([in] IHTMLEventObj* pEvtObj);
13795
13796    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13797    VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13798
13799    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13800    VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13801
13802    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13803    void onfocusin([in] IHTMLEventObj* pEvtObj);
13804
13805    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13806    void onfocusout([in] IHTMLEventObj* pEvtObj);
13807
13808    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13809    void onmove([in] IHTMLEventObj* pEvtObj);
13810
13811    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13812    VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13813
13814    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13815    VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13816
13817    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13818    void onmoveend([in] IHTMLEventObj* pEvtObj);
13819
13820    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13821    VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13822
13823    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13824    void onresizeend([in] IHTMLEventObj* pEvtObj);
13825
13826    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13827    VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13828
13829    [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
13830    void onchange([in] IHTMLEventObj* pEvtObj);
13831
13832    [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
13833    void onselect([in] IHTMLEventObj* pEvtObj);
13834}
13835
13836/*****************************************************************************
13837 *    IDOMProcessingInstruction interface
13838 */
13839[
13840    odl,
13841    oleautomation,
13842    dual,
13843    uuid(30510742-98b5-11cf-bb82-00aa00bdce0b)
13844]
13845interface IDOMProcessingInstruction : IDispatch
13846{
13847    [propget, id(DISPID_IDOMPROCESSINGINSTRUCTION_TARGET)]
13848    HRESULT target([out, retval] BSTR *p);
13849
13850    [propput, id(DISPID_IDOMPROCESSINGINSTRUCTION_DATA)]
13851    HRESULT data([in] BSTR v);
13852
13853    [propget, id(DISPID_IDOMPROCESSINGINSTRUCTION_DATA)]
13854    HRESULT data([out, retval] BSTR *p);
13855}
13856
13857/*****************************************************************************
13858 *    IHTMLDocument interface
13859 */
13860[
13861    odl,
13862    oleautomation,
13863    dual,
13864    uuid(626FC520-A41E-11CF-A731-00A0C9082637)
13865]
13866interface IHTMLDocument : IDispatch
13867{
13868    [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
13869    HRESULT Script([retval, out] IDispatch **p);
13870}
13871
13872/*****************************************************************************
13873 *    IHTMLDocument2 interface
13874 */
13875[
13876    odl,
13877    oleautomation,
13878    dual,
13879    uuid(332C4425-26CB-11D0-B483-00C04FD90119)
13880]
13881interface IHTMLDocument2 : IHTMLDocument
13882{
13883    [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13884    HRESULT all([retval, out] IHTMLElementCollection **p);
13885
13886    [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13887    HRESULT body([retval, out] IHTMLElement **p);
13888
13889    [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13890    HRESULT activeElement([retval, out] IHTMLElement **p);
13891
13892    [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13893    HRESULT images([retval, out] IHTMLElementCollection **p);
13894
13895    [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13896    HRESULT applets([retval, out] IHTMLElementCollection **p);
13897
13898    [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13899    HRESULT links([retval, out] IHTMLElementCollection **p);
13900
13901    [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13902    HRESULT forms([retval, out] IHTMLElementCollection **p);
13903
13904    [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13905    HRESULT anchors([retval, out] IHTMLElementCollection **p);
13906
13907    [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13908    HRESULT title([in] BSTR v);
13909
13910    [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13911    HRESULT title([retval, out] BSTR *p);
13912
13913    [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13914    HRESULT scripts([retval, out] IHTMLElementCollection **p);
13915
13916    [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13917    HRESULT designMode([in] BSTR v);
13918
13919    [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13920    HRESULT designMode([retval, out] BSTR *p);
13921
13922    [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13923    HRESULT selection([retval, out] IHTMLSelectionObject **p);
13924
13925    [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
13926     HRESULT readyState([retval, out] BSTR *p);
13927
13928    [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13929    HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13930
13931    [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13932    HRESULT embeds([retval, out] IHTMLElementCollection **p);
13933
13934    [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13935    HRESULT plugins([retval, out] IHTMLElementCollection **p);
13936
13937    [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13938    HRESULT alinkColor([in] VARIANT v);
13939
13940    [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13941    HRESULT alinkColor([retval, out] VARIANT *p);
13942
13943    [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13944    HRESULT bgColor([in] VARIANT v);
13945
13946    [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13947    HRESULT bgColor([retval, out] VARIANT *p);
13948
13949    [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13950    HRESULT fgColor([in] VARIANT v);
13951
13952    [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13953    HRESULT fgColor([retval, out] VARIANT *p);
13954
13955    [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13956    HRESULT linkColor([in] VARIANT v);
13957
13958    [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13959    HRESULT linkColor([retval, out] VARIANT *p);
13960
13961    [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13962    HRESULT vlinkColor([in] VARIANT v);
13963
13964    [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13965    HRESULT vlinkColor([retval, out] VARIANT *p);
13966
13967    [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13968    HRESULT referrer([retval, out] BSTR *p);
13969
13970    [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13971    HRESULT location([retval, out] IHTMLLocation **p);
13972
13973    [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13974    HRESULT lastModified([retval, out] BSTR *p);
13975
13976    [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13977    HRESULT URL([in] BSTR v);
13978
13979    [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13980    HRESULT URL([retval, out] BSTR *p);
13981
13982    [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13983    HRESULT domain([in] BSTR v);
13984
13985    [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13986    HRESULT domain([retval, out] BSTR *p);
13987
13988    [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13989    HRESULT cookie([in] BSTR v);
13990
13991    [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13992    HRESULT cookie([retval, out] BSTR *p);
13993
13994    [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13995    HRESULT expando([in] VARIANT_BOOL v);
13996
13997    [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13998    HRESULT expando([retval, out] VARIANT_BOOL *p);
13999
14000    [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14001     HRESULT charset([in] BSTR v);
14002
14003    [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14004    HRESULT charset([retval, out] BSTR *p);
14005
14006    [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14007    HRESULT defaultCharset([in] BSTR v);
14008
14009    [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14010    HRESULT defaultCharset([retval, out] BSTR *p);
14011
14012    [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14013    HRESULT mimeType([retval, out] BSTR *p);
14014
14015    [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14016    HRESULT fileSize([retval, out] BSTR *p);
14017
14018    [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14019    HRESULT fileCreatedDate([retval, out] BSTR *p);
14020
14021    [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14022    HRESULT fileModifiedDate([retval, out] BSTR *p);
14023
14024    [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14025    HRESULT fileUpdatedDate([retval, out] BSTR *p);
14026
14027    [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14028    HRESULT security([retval, out] BSTR *p);
14029
14030    [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14031    HRESULT protocol([retval, out] BSTR *p);
14032
14033    [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14034     HRESULT nameProp([retval, out] BSTR *p);
14035
14036    [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14037    HRESULT write([in] SAFEARRAY(VARIANT) psarray);
14038
14039    [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14040    HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
14041
14042    [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14043    HRESULT open(
14044        [defaultvalue("text/html"), in] BSTR url,
14045        [optional, in] VARIANT name,
14046        [optional, in] VARIANT features,
14047        [optional, in] VARIANT replace,
14048        [retval, out]  IDispatch **pomWindowResult);
14049
14050    [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14051    HRESULT close();
14052
14053    [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14054    HRESULT clear();
14055
14056    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14057    HRESULT queryCommandSupported(
14058        [in] BSTR cmdID,
14059        [retval, out] VARIANT_BOOL *pfRet);
14060
14061    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14062    HRESULT queryCommandEnabled(
14063        [in] BSTR cmdID,
14064        [retval, out] VARIANT_BOOL *pfRet);
14065
14066    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14067    HRESULT queryCommandState(
14068        [in] BSTR cmdID,
14069        [retval, out] VARIANT_BOOL *pfRet);
14070
14071    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14072    HRESULT queryCommandIndeterm(
14073        [in] BSTR cmdID,
14074        [retval, out] VARIANT_BOOL *pfRet);
14075
14076    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14077    HRESULT queryCommandText(
14078        [in] BSTR cmdID,
14079        [retval, out] BSTR *pcmdText);
14080
14081    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14082    HRESULT queryCommandValue(
14083        [in] BSTR cmdID,
14084        [retval, out] VARIANT *pcmdValue);
14085
14086    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14087    HRESULT execCommand(
14088        [in] BSTR cmdID,
14089        [defaultvalue(0), in] VARIANT_BOOL showUI,
14090        [optional, in] VARIANT value,
14091        [retval, out] VARIANT_BOOL *pfRet);
14092
14093    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14094    HRESULT execCommandShowHelp(
14095        [in] BSTR cmdID,
14096        [retval, out] VARIANT_BOOL *pfRet);
14097
14098    [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14099     HRESULT createElement(
14100        [in] BSTR eTag,
14101        [retval, out] IHTMLElement **newElem);
14102
14103    [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14104    HRESULT onhelp([in] VARIANT v);
14105
14106    [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14107    HRESULT onhelp([retval, out] VARIANT *p);
14108
14109    [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14110    HRESULT onclick([in] VARIANT v);
14111
14112    [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14113    HRESULT onclick([retval, out] VARIANT *p);
14114
14115    [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14116    HRESULT ondblclick([in] VARIANT v);
14117
14118    [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14119    HRESULT ondblclick([retval, out] VARIANT *p);
14120
14121    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14122    HRESULT onkeyup([in] VARIANT v);
14123
14124    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14125    HRESULT onkeyup([retval, out] VARIANT *p);
14126
14127    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14128    HRESULT onkeydown([in] VARIANT v);
14129
14130    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14131    HRESULT onkeydown([retval, out] VARIANT *p);
14132
14133    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14134     HRESULT onkeypress([in] VARIANT v);
14135
14136    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14137    HRESULT onkeypress([retval, out] VARIANT *p);
14138
14139    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14140    HRESULT onmouseup([in] VARIANT v);
14141
14142    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14143    HRESULT onmouseup([retval, out] VARIANT *p);
14144
14145    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14146    HRESULT onmousedown([in] VARIANT v);
14147
14148    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14149    HRESULT onmousedown([retval, out] VARIANT *p);
14150
14151    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14152    HRESULT onmousemove([in] VARIANT v);
14153
14154    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14155    HRESULT onmousemove([retval, out] VARIANT *p);
14156
14157    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14158    HRESULT onmouseout([in] VARIANT v);
14159
14160    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14161    HRESULT onmouseout([retval, out] VARIANT *p);
14162
14163    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14164    HRESULT onmouseover([in] VARIANT v);
14165
14166    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14167    HRESULT onmouseover([retval, out] VARIANT *p);
14168
14169    [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14170    HRESULT onreadystatechange([in] VARIANT v);
14171
14172    [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14173    HRESULT onreadystatechange([retval, out] VARIANT *p);
14174
14175    [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14176    HRESULT onafterupdate([in] VARIANT v);
14177
14178    [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14179    HRESULT onafterupdate([retval, out] VARIANT *p);
14180
14181    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14182    HRESULT onrowexit([in] VARIANT v);
14183
14184    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14185    HRESULT onrowexit([retval, out] VARIANT *p);
14186
14187    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14188    HRESULT onrowenter([in] VARIANT v);
14189
14190    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14191    HRESULT onrowenter([retval, out] VARIANT *p);
14192
14193    [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14194    HRESULT ondragstart([in] VARIANT v);
14195
14196    [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14197    HRESULT ondragstart([retval, out] VARIANT *p);
14198
14199    [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14200    HRESULT onselectstart([in] VARIANT v);
14201
14202    [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14203    HRESULT onselectstart([retval, out] VARIANT *p);
14204
14205    [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14206    HRESULT elementFromPoint(
14207        [in] LONG x,
14208        [in] LONG y,
14209        [retval, out] IHTMLElement **elementHit);
14210
14211    [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14212    HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
14213
14214    [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14215    HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
14216
14217    [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14218    HRESULT onbeforeupdate([in] VARIANT v);
14219
14220    [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14221    HRESULT onbeforeupdate([retval, out] VARIANT *p);
14222
14223    [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14224    HRESULT onerrorupdate([in] VARIANT v);
14225
14226    [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14227    HRESULT onerrorupdate([retval, out] VARIANT *p);
14228
14229    [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14230    HRESULT toString([retval, out] BSTR *String);
14231
14232    [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14233    HRESULT createStyleSheet(
14234        [defaultvalue(""), in] BSTR bstrHref,
14235        [defaultvalue(-1), in] LONG lIndex,
14236        [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
14237}
14238
14239/*****************************************************************************
14240 *    IHTMLDocument3 interface
14241 */
14242[
14243    odl,
14244    oleautomation,
14245    dual,
14246    uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
14247]
14248interface IHTMLDocument3 : IDispatch
14249{
14250    [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14251    HRESULT releaseCapture();
14252
14253    [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14254    HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14255
14256    [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14257    HRESULT createTextNode(
14258        [in] BSTR text,
14259        [retval, out] IHTMLDOMNode **newTextNode);
14260
14261    [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14262    HRESULT documentElement([retval, out] IHTMLElement **p);
14263
14264    [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14265    HRESULT uniqueID([retval, out] BSTR *p);
14266
14267    [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14268    HRESULT attachEvent(
14269        [in] BSTR event,
14270        [in] IDispatch* pDisp,
14271        [retval, out] VARIANT_BOOL *pfResult);
14272
14273    [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14274    HRESULT detachEvent(
14275        [in] BSTR event,
14276        [in] IDispatch *pDisp);
14277
14278    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14279    HRESULT onrowsdelete([in] VARIANT v);
14280
14281    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14282    HRESULT onrowsdelete([retval, out] VARIANT *p);
14283
14284    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14285    HRESULT onrowsinserted([in] VARIANT v);
14286
14287    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14288    HRESULT onrowsinserted([retval, out] VARIANT *p);
14289
14290    [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14291    HRESULT oncellchange([in] VARIANT v);
14292
14293    [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14294    HRESULT oncellchange([retval, out] VARIANT *p);
14295
14296    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14297    HRESULT ondatasetchanged([in] VARIANT v);
14298
14299    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14300    HRESULT ondatasetchanged([retval, out] VARIANT *p);
14301
14302    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14303    HRESULT ondataavailable([in] VARIANT v);
14304
14305    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14306    HRESULT ondataavailable([retval, out] VARIANT * p);
14307
14308    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14309    HRESULT ondatasetcomplete([in] VARIANT v);
14310
14311    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14312    HRESULT ondatasetcomplete([retval, out] VARIANT *p);
14313
14314    [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14315    HRESULT onpropertychange([in] VARIANT v);
14316
14317    [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14318    HRESULT onpropertychange([retval, out] VARIANT *p);
14319
14320    [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14321    HRESULT dir([in] BSTR v);
14322
14323    [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14324    HRESULT dir([retval, out] BSTR *p);
14325
14326    [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14327    HRESULT oncontextmenu([in] VARIANT v);
14328
14329    [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14330    HRESULT oncontextmenu([retval, out] VARIANT *p);
14331
14332    [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14333    HRESULT onstop([in] VARIANT v);
14334
14335    [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14336    HRESULT onstop([retval, out] VARIANT *p);
14337
14338    [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14339    HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
14340
14341    [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14342    HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
14343
14344    [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14345    HRESULT enableDownload([in] VARIANT_BOOL v);
14346
14347    [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14348    HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
14349
14350    [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14351    HRESULT baseUrl([in] BSTR v);
14352
14353    [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14354    HRESULT baseUrl([retval, out] BSTR *p);
14355
14356    [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
14357    HRESULT childNodes([retval, out] IDispatch **p);
14358
14359    [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14360    HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
14361
14362    [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14363    HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
14364
14365    [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14366    HRESULT onbeforeeditfocus([in] VARIANT v);
14367
14368    [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14369    HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
14370
14371    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14372    HRESULT getElementsByName(
14373        [in] BSTR v,
14374        [retval, out] IHTMLElementCollection **pelColl);
14375
14376    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14377    HRESULT getElementById(
14378        [in] BSTR v,
14379        [retval, out] IHTMLElement **pel);
14380
14381    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14382    HRESULT getElementsByTagName(
14383        [in] BSTR v,
14384        [retval, out] IHTMLElementCollection **pelColl);
14385}
14386
14387/*****************************************************************************
14388 *    IHTMLDocument4 interface
14389 */
14390[
14391    odl,
14392    oleautomation,
14393    dual,
14394    uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
14395]
14396interface IHTMLDocument4 : IDispatch
14397{
14398    [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14399    HRESULT focus();
14400
14401    [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14402    HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
14403
14404    [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14405    HRESULT onselectionchange([in] VARIANT v);
14406
14407    [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14408    HRESULT onselectionchange([retval, out] VARIANT *p);
14409
14410    [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14411    HRESULT namespaces([retval, out] IDispatch **p);
14412
14413    [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14414    HRESULT createDocumentFromUrl(
14415        [in] BSTR bstrUrl,
14416        [in] BSTR bstrOptions,
14417        [retval, out] IHTMLDocument2 **newDoc);
14418
14419    [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14420    HRESULT media([in] BSTR v);
14421
14422    [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14423    HRESULT media([retval, out] BSTR *p);
14424
14425    [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14426    HRESULT createEventObject(
14427        [optional, in] VARIANT *pvarEventObject,
14428        [retval, out] IHTMLEventObj **ppEventObj);
14429
14430    [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14431    HRESULT fireEvent(
14432        [in] BSTR bstrEventName,
14433        [optional, in] VARIANT *pvarEventObject,
14434        [retval, out] VARIANT_BOOL *pfCancelled);
14435
14436    [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14437    HRESULT createRenderStyle(
14438        [in] BSTR v,
14439        [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
14440
14441    [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14442    HRESULT oncontrolselect([in] VARIANT v);
14443
14444    [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14445    HRESULT oncontrolselect([retval, out] VARIANT *p);
14446
14447    [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14448    HRESULT URLUnencoded([retval, out] BSTR *p);
14449}
14450
14451/*****************************************************************************
14452 *    IHTMLDocument5 interface
14453 */
14454[
14455    odl,
14456    oleautomation,
14457    dual,
14458    uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
14459]
14460interface IHTMLDocument5 : IDispatch
14461{
14462    [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14463    HRESULT onmousewheel([in] VARIANT v);
14464
14465    [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14466    HRESULT onmousewheel([retval, out] VARIANT *p);
14467
14468    [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14469    HRESULT doctype([retval, out] IHTMLDOMNode **p);
14470
14471    [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14472    HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
14473
14474    [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14475    HRESULT createAttribute(
14476        [in] BSTR bstrattrName,
14477        [retval, out] IHTMLDOMAttribute **ppattribute);
14478
14479    [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14480    HRESULT createComment(
14481        [in] BSTR bstrdata,
14482        [retval, out] IHTMLDOMNode **ppRetNode);
14483
14484    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14485    HRESULT onfocusin([in] VARIANT v);
14486
14487    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14488    HRESULT onfocusin([retval, out] VARIANT *p);
14489
14490    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14491    HRESULT onfocusout([in] VARIANT v);
14492
14493    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14494    HRESULT onfocusout([retval, out] VARIANT *p);
14495
14496    [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14497    HRESULT onactivate([in] VARIANT v);
14498
14499    [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14500    HRESULT onactivate([retval, out] VARIANT *p);
14501
14502    [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14503    HRESULT ondeactivate([in] VARIANT v);
14504
14505    [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14506    HRESULT ondeactivate([retval, out] VARIANT *p);
14507
14508    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14509    HRESULT onbeforeactivate([in] VARIANT v);
14510
14511    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14512    HRESULT onbeforeactivate([retval, out] VARIANT *p);
14513
14514    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14515    HRESULT onbeforedeactivate([in] VARIANT v);
14516
14517    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14518    HRESULT onbeforedeactivate([retval, out] VARIANT *p);
14519
14520    [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14521    HRESULT compatMode([retval, out] BSTR *p);
14522}
14523
14524/*****************************************************************************
14525 *    IHTMLDocument6 interface
14526 */
14527[
14528    odl,
14529    oleautomation,
14530    dual,
14531    uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
14532]
14533interface IHTMLDocument6 : IDispatch
14534{
14535    [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
14536    HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
14537
14538    [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
14539    HRESULT documentMode([retval, out] VARIANT *p);
14540
14541    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14542    HRESULT onstorage([in] VARIANT v);
14543
14544    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14545    HRESULT onstorage([retval, out] VARIANT *p);
14546
14547    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14548    HRESULT onstoragecommit([in] VARIANT v);
14549
14550    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14551    HRESULT onstoragecommit([retval, out] VARIANT *p);
14552
14553    [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
14554    HRESULT getElementById(
14555        [in] BSTR bstrId,
14556        [retval, out] IHTMLElement2 **p);
14557
14558    [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
14559    HRESULT updateSettings();
14560}
14561
14562/*****************************************************************************
14563 *    IHTMLDocument7 interface
14564 */
14565[
14566    odl,
14567    oleautomation,
14568    dual,
14569    uuid(305104b8-98b5-11cf-bb82-00aa00bdce0b)
14570]
14571interface IHTMLDocument7 : IDispatch
14572{
14573    [propget, id(DISPID_IHTMLDOCUMENT7_DEFAULTVIEW)]
14574    HRESULT defaultView([out, retval] IHTMLWindow2 **p);
14575
14576    [id(DISPID_IHTMLDOCUMENT7_CREATECDATASECTION)]
14577    HRESULT createCDATASection(
14578        [in] BSTR text,
14579        [out, retval] IHTMLDOMNode **newCDATASectionNode);
14580
14581    [id(DISPID_IHTMLDOCUMENT7_GETSELECTION)]
14582    HRESULT getSelection([out, retval] IHTMLSelection **ppIHTMLSelection);
14583
14584    [id(DISPID_IHTMLDOCUMENT7_GETELEMENTSBYTAGNAMENS)]
14585    HRESULT getElementsByTagNameNS(
14586        [in] VARIANT *pvarNS,
14587        [in] BSTR bstrLocalName,
14588        [out, retval] IHTMLElementCollection **pelColl);
14589
14590    [id(DISPID_IHTMLDOCUMENT7_CREATEELEMENTNS)]
14591    HRESULT createElementNS(
14592        [in] VARIANT *pvarNS,
14593        [in] BSTR bstrTag,
14594        [out, retval] IHTMLElement **newElem);
14595
14596    [id(DISPID_IHTMLDOCUMENT7_CREATEATTRIBUTENS)]
14597    HRESULT createAttributeNS(
14598        [in] VARIANT *pvarNS,
14599        [in] BSTR bstrAttrName,
14600        [out, retval] IHTMLDOMAttribute **ppAttribute);
14601
14602    [propput, id(DISPID_IHTMLDOCUMENT7_ONMSTHUMBNAILCLICK), displaybind, bindable]
14603    HRESULT onmsthumbnailclick([in] VARIANT v);
14604
14605    [propget, id(DISPID_IHTMLDOCUMENT7_ONMSTHUMBNAILCLICK), displaybind, bindable]
14606    HRESULT onmsthumbnailclick([out, retval] VARIANT *p);
14607
14608    [propget, id(DISPID_IHTMLDOCUMENT7_CHARACTERSET)]
14609    HRESULT characterSet([out, retval] BSTR *p);
14610
14611    [id(DISPID_IHTMLDOCUMENT7_IE9_CREATEELEMENT)]
14612    HRESULT createElement(
14613        [in] BSTR bstrTag,
14614        [out, retval] IHTMLElement **newElem);
14615
14616    [id(DISPID_IHTMLDOCUMENT7_IE9_CREATEATTRIBUTE)]
14617    HRESULT createAttribute(
14618        [in] BSTR bstrAttrName,
14619        [out, retval] IHTMLDOMAttribute **ppAttribute);
14620
14621    [id(DISPID_IHTMLDOCUMENT7_GETELEMENTSBYCLASSNAME)]
14622    HRESULT getElementsByClassName(
14623        [in] BSTR v,
14624        [out, retval] IHTMLElementCollection **pel);
14625
14626    [id(DISPID_IHTMLDOCUMENT7_CREATEPROCESSINGINSTRUCTION)]
14627    HRESULT createProcessingInstruction(
14628        [in] BSTR bstrTarget,
14629        [in] BSTR bstrData,
14630        [out, retval] IDOMProcessingInstruction **newProcessingInstruction);
14631
14632    [id(DISPID_IHTMLDOCUMENT7_ADOPTNODE)]
14633    HRESULT adoptNode(
14634        [in] IHTMLDOMNode *pNodeSource,
14635        [out, retval] IHTMLDOMNode3 **ppNodeDest);
14636
14637    [propput, id(DISPID_IHTMLDOCUMENT7_ONMSSITEMODEJUMPLISTITEMREMOVED), displaybind, bindable]
14638    HRESULT onmssitemodejumplistitemremoved([in] VARIANT v);
14639
14640    [propget, id(DISPID_IHTMLDOCUMENT7_ONMSSITEMODEJUMPLISTITEMREMOVED), displaybind, bindable]
14641    HRESULT onmssitemodejumplistitemremoved([out, retval] VARIANT *p);
14642
14643    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_ALL)]
14644    HRESULT all([out, retval] IHTMLElementCollection **p);
14645
14646    [propget, id(DISPID_IHTMLDOCUMENT7_INPUTENCODING)]
14647    HRESULT inputEncoding([out, retval] BSTR *p);
14648
14649    [propget, id(DISPID_IHTMLDOCUMENT7_XMLENCODING)]
14650    HRESULT xmlEncoding([out, retval] BSTR *p);
14651
14652    [propput, id(DISPID_IHTMLDOCUMENT7_XMLSTANDALONE)]
14653    HRESULT xmlStandalone([in] VARIANT_BOOL v);
14654
14655    [propget, id(DISPID_IHTMLDOCUMENT7_XMLSTANDALONE)]
14656    HRESULT xmlStandalone([out, retval] VARIANT_BOOL *p);
14657
14658    [propput, id(DISPID_IHTMLDOCUMENT7_XMLVERSION)]
14659    HRESULT xmlVersion([in] BSTR v);
14660
14661    [propget, id(DISPID_IHTMLDOCUMENT7_XMLVERSION)]
14662    HRESULT xmlVersion([out, retval] BSTR *p);
14663
14664    [id(DISPID_IHTMLDOCUMENT7_HASATTRIBUTES)]
14665    HRESULT hasAttributes([out, retval] VARIANT_BOOL *pfHasAttributes);
14666
14667    [propput, id(DISPID_IHTMLDOCUMENT7_ONABORT), displaybind, bindable]
14668    HRESULT onabort([in] VARIANT v);
14669
14670    [propget, id(DISPID_IHTMLDOCUMENT7_ONABORT), displaybind, bindable]
14671    HRESULT onabort([out, retval] VARIANT *p);
14672
14673    [propput, id(DISPID_IHTMLDOCUMENT7_ONBLUR), displaybind, bindable]
14674    HRESULT onblur([in] VARIANT v);
14675
14676    [propget, id(DISPID_IHTMLDOCUMENT7_ONBLUR), displaybind, bindable]
14677    HRESULT onblur([out, retval] VARIANT *p);
14678
14679    [propput, id(DISPID_IHTMLDOCUMENT7_ONCANPLAY), displaybind, bindable]
14680    HRESULT oncanplay([in] VARIANT v);
14681
14682    [propget, id(DISPID_IHTMLDOCUMENT7_ONCANPLAY), displaybind, bindable]
14683    HRESULT oncanplay([out, retval] VARIANT *p);
14684
14685    [propput, id(DISPID_IHTMLDOCUMENT7_ONCANPLAYTHROUGH), displaybind, bindable]
14686    HRESULT oncanplaythrough([in] VARIANT v);
14687
14688    [propget, id(DISPID_IHTMLDOCUMENT7_ONCANPLAYTHROUGH), displaybind, bindable]
14689    HRESULT oncanplaythrough([out, retval] VARIANT *p);
14690
14691    [propput, id(DISPID_IHTMLDOCUMENT7_ONCHANGE), displaybind, bindable]
14692    HRESULT onchange([in] VARIANT v);
14693
14694    [propget, id(DISPID_IHTMLDOCUMENT7_ONCHANGE), displaybind, bindable]
14695    HRESULT onchange([out, retval] VARIANT *p);
14696
14697    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAG), displaybind, bindable]
14698    HRESULT ondrag([in] VARIANT v);
14699
14700    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAG), displaybind, bindable]
14701    HRESULT ondrag([out, retval] VARIANT *p);
14702
14703    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGEND), displaybind, bindable]
14704    HRESULT ondragend([in] VARIANT v);
14705
14706    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGEND), displaybind, bindable]
14707    HRESULT ondragend([out, retval] VARIANT *p);
14708
14709    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGENTER), displaybind, bindable]
14710    HRESULT ondragenter([in] VARIANT v);
14711
14712    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGENTER), displaybind, bindable]
14713    HRESULT ondragenter([out, retval] VARIANT *p);
14714
14715    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGLEAVE), displaybind, bindable]
14716    HRESULT ondragleave([in] VARIANT v);
14717
14718    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGLEAVE), displaybind, bindable]
14719    HRESULT ondragleave([out, retval] VARIANT *p);
14720
14721    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGOVER), displaybind, bindable]
14722    HRESULT ondragover([in] VARIANT v);
14723
14724    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGOVER), displaybind, bindable]
14725    HRESULT ondragover([out, retval] VARIANT *p);
14726
14727    [propput, id(DISPID_IHTMLDOCUMENT7_ONDROP), displaybind, bindable]
14728    HRESULT ondrop([in] VARIANT v);
14729
14730    [propget, id(DISPID_IHTMLDOCUMENT7_ONDROP), displaybind, bindable]
14731    HRESULT ondrop([out, retval] VARIANT *p);
14732
14733    [propput, id(DISPID_IHTMLDOCUMENT7_ONDURATIONCHANGE), displaybind, bindable]
14734    HRESULT ondurationchange([in] VARIANT v);
14735
14736    [propget, id(DISPID_IHTMLDOCUMENT7_ONDURATIONCHANGE), displaybind, bindable]
14737    HRESULT ondurationchange([out, retval] VARIANT *p);
14738
14739    [propput, id(DISPID_IHTMLDOCUMENT7_ONEMPTIED), displaybind, bindable]
14740    HRESULT onemptied([in] VARIANT v);
14741
14742    [propget, id(DISPID_IHTMLDOCUMENT7_ONEMPTIED), displaybind, bindable]
14743    HRESULT onemptied([out, retval] VARIANT *p);
14744
14745    [propput, id(DISPID_IHTMLDOCUMENT7_ONENDED), displaybind, bindable]
14746    HRESULT onended([in] VARIANT v);
14747
14748    [propget, id(DISPID_IHTMLDOCUMENT7_ONENDED), displaybind, bindable]
14749    HRESULT onended([out, retval] VARIANT *p);
14750
14751    [propput, id(DISPID_IHTMLDOCUMENT7_ONERROR), displaybind, bindable]
14752    HRESULT onerror([in] VARIANT v);
14753
14754    [propget, id(DISPID_IHTMLDOCUMENT7_ONERROR), displaybind, bindable]
14755    HRESULT onerror([out, retval] VARIANT *p);
14756
14757    [propput, id(DISPID_IHTMLDOCUMENT7_ONFOCUS), displaybind, bindable]
14758    HRESULT onfocus([in] VARIANT v);
14759
14760    [propget, id(DISPID_IHTMLDOCUMENT7_ONFOCUS), displaybind, bindable]
14761    HRESULT onfocus([out, retval] VARIANT *p);
14762
14763    [propput, id(DISPID_IHTMLDOCUMENT7_ONINPUT), displaybind, bindable]
14764    HRESULT oninput([in] VARIANT v);
14765
14766    [propget, id(DISPID_IHTMLDOCUMENT7_ONINPUT), displaybind, bindable]
14767    HRESULT oninput([out, retval] VARIANT *p);
14768
14769    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOAD), displaybind, bindable]
14770    HRESULT onload([in] VARIANT v);
14771
14772    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOAD), displaybind, bindable]
14773    HRESULT onload([out, retval] VARIANT *p);
14774
14775    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADEDDATA), displaybind, bindable]
14776    HRESULT onloadeddata([in] VARIANT v);
14777
14778    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADEDDATA), displaybind, bindable]
14779    HRESULT onloadeddata([out, retval] VARIANT *p);
14780
14781    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADEDMETADATA), displaybind, bindable]
14782    HRESULT onloadedmetadata([in] VARIANT v);
14783
14784    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADEDMETADATA), displaybind, bindable]
14785    HRESULT onloadedmetadata([out, retval] VARIANT *p);
14786
14787    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADSTART), displaybind, bindable]
14788    HRESULT onloadstart([in] VARIANT v);
14789
14790    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADSTART), displaybind, bindable]
14791    HRESULT onloadstart([out, retval] VARIANT *p);
14792
14793    [propput, id(DISPID_IHTMLDOCUMENT7_ONPAUSE), displaybind, bindable]
14794    HRESULT onpause([in] VARIANT v);
14795
14796    [propget, id(DISPID_IHTMLDOCUMENT7_ONPAUSE), displaybind, bindable]
14797    HRESULT onpause([out, retval] VARIANT *p);
14798
14799    [propput, id(DISPID_IHTMLDOCUMENT7_ONPLAY), displaybind, bindable]
14800    HRESULT onplay([in] VARIANT v);
14801
14802    [propget, id(DISPID_IHTMLDOCUMENT7_ONPLAY), displaybind, bindable]
14803    HRESULT onplay([out, retval] VARIANT *p);
14804
14805    [propput, id(DISPID_IHTMLDOCUMENT7_ONPLAYING), displaybind, bindable]
14806    HRESULT onplaying([in] VARIANT v);
14807
14808    [propget, id(DISPID_IHTMLDOCUMENT7_ONPLAYING), displaybind, bindable]
14809    HRESULT onplaying([out, retval] VARIANT *p);
14810
14811    [propput, id(DISPID_IHTMLDOCUMENT7_ONPROGRESS), displaybind, bindable]
14812    HRESULT onprogress([in] VARIANT v);
14813
14814    [propget, id(DISPID_IHTMLDOCUMENT7_ONPROGRESS), displaybind, bindable]
14815    HRESULT onprogress([out, retval] VARIANT *p);
14816
14817    [propput, id(DISPID_IHTMLDOCUMENT7_ONRATECHANGE), displaybind, bindable]
14818    HRESULT onratechange([in] VARIANT v);
14819
14820    [propget, id(DISPID_IHTMLDOCUMENT7_ONRATECHANGE), displaybind, bindable]
14821    HRESULT onratechange([out, retval] VARIANT *p);
14822
14823    [propput, id(DISPID_IHTMLDOCUMENT7_ONRESET), displaybind, bindable]
14824    HRESULT onreset([in] VARIANT v);
14825
14826    [propget, id(DISPID_IHTMLDOCUMENT7_ONRESET), displaybind, bindable]
14827    HRESULT onreset([out, retval] VARIANT *p);
14828
14829    [propput, id(DISPID_IHTMLDOCUMENT7_ONSCROLL), displaybind, bindable]
14830    HRESULT onscroll([in] VARIANT v);
14831
14832    [propget, id(DISPID_IHTMLDOCUMENT7_ONSCROLL), displaybind, bindable]
14833    HRESULT onscroll([out, retval] VARIANT *p);
14834
14835    [propput, id(DISPID_IHTMLDOCUMENT7_ONSEEKED), displaybind, bindable]
14836    HRESULT onseeked([in] VARIANT v);
14837
14838    [propget, id(DISPID_IHTMLDOCUMENT7_ONSEEKED), displaybind, bindable]
14839    HRESULT onseeked([out, retval] VARIANT *p);
14840
14841    [propput, id(DISPID_IHTMLDOCUMENT7_ONSEEKING), displaybind, bindable]
14842    HRESULT onseeking([in] VARIANT v);
14843
14844    [propget, id(DISPID_IHTMLDOCUMENT7_ONSEEKING), displaybind, bindable]
14845    HRESULT onseeking([out, retval] VARIANT *p);
14846
14847    [propput, id(DISPID_IHTMLDOCUMENT7_ONSELECT), displaybind, bindable]
14848    HRESULT onselect([in] VARIANT v);
14849
14850    [propget, id(DISPID_IHTMLDOCUMENT7_ONSELECT), displaybind, bindable]
14851    HRESULT onselect([out, retval] VARIANT *p);
14852
14853    [propput, id(DISPID_IHTMLDOCUMENT7_ONSTALLED), displaybind, bindable]
14854    HRESULT onstalled([in] VARIANT v);
14855
14856    [propget, id(DISPID_IHTMLDOCUMENT7_ONSTALLED), displaybind, bindable]
14857    HRESULT onstalled([out, retval] VARIANT *p);
14858
14859    [propput, id(DISPID_IHTMLDOCUMENT7_ONSUBMIT), displaybind, bindable]
14860    HRESULT onsubmit([in] VARIANT v);
14861
14862    [propget, id(DISPID_IHTMLDOCUMENT7_ONSUBMIT), displaybind, bindable]
14863    HRESULT onsubmit([out, retval] VARIANT *p);
14864
14865    [propput, id(DISPID_IHTMLDOCUMENT7_ONSUSPEND), displaybind, bindable]
14866    HRESULT onsuspend([in] VARIANT v);
14867
14868    [propget, id(DISPID_IHTMLDOCUMENT7_ONSUSPEND), displaybind, bindable]
14869    HRESULT onsuspend([out, retval] VARIANT *p);
14870
14871    [propput, id(DISPID_IHTMLDOCUMENT7_ONTIMEUPDATE), displaybind, bindable]
14872    HRESULT ontimeupdate([in] VARIANT v);
14873
14874    [propget, id(DISPID_IHTMLDOCUMENT7_ONTIMEUPDATE), displaybind, bindable]
14875    HRESULT ontimeupdate([out, retval] VARIANT *p);
14876
14877    [propput, id(DISPID_IHTMLDOCUMENT7_ONVOLUMECHANGE), displaybind, bindable]
14878    HRESULT onvolumechange([in] VARIANT v);
14879
14880    [propget, id(DISPID_IHTMLDOCUMENT7_ONVOLUMECHANGE), displaybind, bindable]
14881    HRESULT onvolumechange([out, retval] VARIANT *p);
14882
14883    [propput, id(DISPID_IHTMLDOCUMENT7_ONWAITING), displaybind, bindable]
14884    HRESULT onwaiting([in] VARIANT v);
14885
14886    [propget, id(DISPID_IHTMLDOCUMENT7_ONWAITING), displaybind, bindable]
14887    HRESULT onwaiting([out, retval] VARIANT *p);
14888
14889    [id(DISPID_IHTMLDOCUMENT7_NORMALIZE)]
14890    HRESULT normalize();
14891
14892    [id(DISPID_IHTMLDOCUMENT7_IMPORTNODE)]
14893    HRESULT importNode(
14894        [in] IHTMLDOMNode *pNodeSource,
14895        [in] VARIANT_BOOL fDeep,
14896        [out, retval] IHTMLDOMNode3 **ppNodeDest);
14897
14898    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_PARENTWINDOW)]
14899    HRESULT parentWindow([out, retval] IHTMLWindow2 **p);
14900
14901    [propputref, id(DISPID_IHTMLDOCUMENT7_IE9_BODY)]
14902    HRESULT body([in] IHTMLElement *v);
14903
14904    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_BODY)]
14905    HRESULT body([out, retval] IHTMLElement **p);
14906
14907    [propget, id(DISPID_IHTMLDOCUMENT7_HEAD)]
14908    HRESULT head([out, retval] IHTMLElement **p);
14909}
14910
14911/*****************************************************************************
14912 *    DispHTMLDocument dispinterface
14913 */
14914[
14915    hidden,
14916    uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
14917]
14918dispinterface DispHTMLDocument
14919{
14920properties:
14921methods:
14922    [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
14923    IDispatch *Script();
14924
14925    [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14926    IHTMLElementCollection *all();
14927
14928    [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14929    IHTMLElement *body();
14930
14931    [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14932    IHTMLElement *activeElement();
14933
14934    [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14935    IHTMLElementCollection *images();
14936
14937    [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14938    IHTMLElementCollection *applets();
14939
14940    [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14941    IHTMLElementCollection *links();
14942
14943    [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14944    IHTMLElementCollection *forms();
14945
14946    [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14947    IHTMLElementCollection *anchors();
14948
14949    [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14950    void title(BSTR v);
14951
14952    [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14953    BSTR title();
14954
14955    [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14956    IHTMLElementCollection *scripts();
14957
14958    [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14959    void designMode(BSTR v);
14960
14961    [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14962    BSTR designMode();
14963
14964    [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14965    IHTMLSelectionObject *selection();
14966
14967    [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
14968    BSTR readyState();
14969
14970    [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14971    IHTMLFramesCollection2 *frames();
14972
14973    [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14974    IHTMLElementCollection *embeds();
14975
14976    [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14977    IHTMLElementCollection *plugins();
14978
14979    [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14980    void alinkColor(VARIANT v);
14981
14982    [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14983    VARIANT alinkColor();
14984
14985    [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14986    void bgColor(VARIANT v);
14987
14988    [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14989    VARIANT bgColor();
14990
14991    [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14992    void fgColor(VARIANT v);
14993
14994    [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14995    VARIANT fgColor();
14996
14997    [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14998    void linkColor(VARIANT v);
14999
15000    [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15001    VARIANT linkColor();
15002
15003    [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15004    void vlinkColor(VARIANT v);
15005
15006    [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15007    VARIANT vlinkColor();
15008
15009    [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15010    BSTR referrer();
15011
15012    [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15013    IHTMLLocation *location();
15014
15015    [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15016    BSTR lastModified();
15017
15018    [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15019    void URL(BSTR v);
15020
15021    [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15022    BSTR URL();
15023
15024    [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15025    void domain(BSTR v);
15026
15027    [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15028    BSTR domain();
15029
15030    [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15031    void cookie(BSTR v);
15032
15033    [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15034    BSTR cookie();
15035
15036    [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15037    void expando(VARIANT_BOOL v);
15038
15039    [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15040    VARIANT_BOOL expando();
15041
15042    [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15043    void charset(BSTR v);
15044
15045    [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15046    BSTR charset();
15047
15048    [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15049    void defaultCharset(BSTR v);
15050
15051    [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15052    BSTR defaultCharset();
15053
15054    [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15055    BSTR mimeType();
15056
15057    [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15058    BSTR fileSize();
15059
15060    [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15061    BSTR fileCreatedDate();
15062
15063    [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15064    BSTR fileModifiedDate();
15065
15066    [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15067    BSTR fileUpdatedDate();
15068
15069    [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15070    BSTR security();
15071
15072    [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15073    BSTR protocol();
15074
15075    [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15076    BSTR nameProp();
15077
15078    [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15079    void write([in] SAFEARRAY(VARIANT) psarray);
15080
15081    [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15082    void writeln([in] SAFEARRAY(VARIANT) psarray);
15083
15084    [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15085    IDispatch *open(
15086        [defaultvalue("text/html"), in] BSTR url,
15087        [optional, in] VARIANT name,
15088        [optional, in] VARIANT features,
15089        [optional, in] VARIANT replace);
15090
15091    [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15092    void close();
15093
15094    [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15095    void clear();
15096
15097    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15098    VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
15099
15100    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15101    VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
15102
15103    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15104    VARIANT_BOOL queryCommandState([in] BSTR cmdID);
15105
15106    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15107    VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
15108
15109    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15110    BSTR queryCommandText([in] BSTR cmdID);
15111
15112    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15113    VARIANT queryCommandValue([in] BSTR cmdID);
15114
15115    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15116    VARIANT_BOOL execCommand(
15117        [in] BSTR cmdID,
15118        [defaultvalue(0), in] VARIANT_BOOL showUI,
15119        [optional, in] VARIANT value);
15120
15121    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15122    VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
15123
15124    [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15125    IHTMLElement *createElement([in] BSTR eTag);
15126
15127    [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15128    void onhelp(VARIANT v);
15129
15130    [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15131    VARIANT onhelp();
15132
15133    [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15134    void onclick(VARIANT v);
15135
15136    [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15137    VARIANT onclick();
15138
15139    [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15140    void ondblclick(VARIANT v);
15141
15142    [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15143    VARIANT ondblclick();
15144
15145    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15146    void onkeyup(VARIANT v);
15147
15148    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15149    VARIANT onkeyup();
15150
15151    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15152    void onkeydown(VARIANT v);
15153
15154    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15155    VARIANT onkeydown();
15156
15157    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15158    void onkeypress(VARIANT v);
15159
15160    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15161    VARIANT onkeypress();
15162
15163    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15164    void onmouseup(VARIANT v);
15165
15166    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15167    VARIANT onmouseup();
15168
15169    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15170    void onmousedown(VARIANT v);
15171
15172    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15173    VARIANT onmousedown();
15174
15175    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15176    void onmousemove(VARIANT v);
15177
15178    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15179    VARIANT onmousemove();
15180
15181    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15182    void onmouseout(VARIANT v);
15183
15184    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15185    VARIANT onmouseout();
15186
15187    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15188    void onmouseover(VARIANT v);
15189
15190    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15191    VARIANT onmouseover();
15192
15193    [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15194    void onreadystatechange(VARIANT v);
15195
15196    [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15197    VARIANT onreadystatechange();
15198
15199    [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15200    void onafterupdate(VARIANT v);
15201
15202    [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15203    VARIANT onafterupdate();
15204
15205    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15206    void onrowexit(VARIANT v);
15207
15208    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15209    VARIANT onrowexit();
15210
15211    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15212    void onrowenter(VARIANT v);
15213
15214    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15215    VARIANT onrowenter();
15216
15217    [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15218    void ondragstart(VARIANT v);
15219
15220    [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15221    VARIANT ondragstart();
15222
15223    [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15224    void onselectstart(VARIANT v);
15225
15226    [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15227    VARIANT onselectstart();
15228
15229    [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15230    IHTMLElement *elementFromPoint(
15231        [in] LONG x,
15232        [in] LONG y);
15233
15234    [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15235    IHTMLWindow2 *parentWindow();
15236
15237    [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15238    IHTMLStyleSheetsCollection *styleSheets();
15239
15240    [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15241    void onbeforeupdate(VARIANT v);
15242
15243    [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15244    VARIANT onbeforeupdate();
15245
15246    [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15247    void onerrorupdate(VARIANT v);
15248
15249    [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15250    VARIANT onerrorupdate();
15251
15252    [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15253    BSTR toString();
15254
15255    [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15256    IHTMLStyleSheet *createStyleSheet(
15257        [defaultvalue(""), in] BSTR bstrHref,
15258        [defaultvalue(-1), in] LONG lIndex);
15259
15260    [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15261    void releaseCapture();
15262
15263    [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15264    void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15265
15266    [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15267    IHTMLDOMNode *createTextNode([in] BSTR text);
15268
15269    [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15270    IHTMLElement *documentElement();
15271
15272    [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15273    BSTR uniqueID();
15274
15275    [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15276    VARIANT_BOOL attachEvent(
15277        [in] BSTR event,
15278        [in] IDispatch *pDisp);
15279
15280    [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15281    void detachEvent(
15282        [in] BSTR event,
15283        [in] IDispatch *pDisp);
15284
15285    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15286    void onrowsdelete(VARIANT v);
15287
15288    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15289    VARIANT onrowsdelete();
15290
15291    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15292    void onrowsinserted(VARIANT v);
15293
15294    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15295    VARIANT onrowsinserted();
15296
15297    [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15298    void oncellchange(VARIANT v);
15299
15300    [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15301    VARIANT oncellchange();
15302
15303    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15304    void ondatasetchanged(VARIANT v);
15305
15306    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15307    VARIANT ondatasetchanged();
15308
15309    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15310    void ondataavailable(VARIANT v);
15311
15312    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15313    VARIANT ondataavailable();
15314
15315    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15316    void ondatasetcomplete(VARIANT v);
15317
15318    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15319    VARIANT ondatasetcomplete();
15320
15321    [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15322    void onpropertychange(VARIANT v);
15323
15324    [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15325    VARIANT onpropertychange();
15326
15327    [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15328    void dir(BSTR v);
15329
15330    [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15331    BSTR dir();
15332
15333    [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15334    void oncontextmenu(VARIANT v);
15335
15336    [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15337    VARIANT oncontextmenu();
15338
15339    [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15340    void onstop(VARIANT v);
15341
15342    [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15343    VARIANT onstop();
15344
15345    [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15346    IHTMLDocument2 *createDocumentFragment();
15347
15348    [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15349    IHTMLDocument2 *parentDocument();
15350
15351    [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15352    void enableDownload(VARIANT_BOOL v);
15353
15354    [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15355    VARIANT_BOOL enableDownload();
15356
15357    [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15358    void baseUrl(BSTR v);
15359
15360    [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15361    BSTR baseUrl();
15362
15363    [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15364    void inheritStyleSheets(VARIANT_BOOL v);
15365
15366    [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15367    VARIANT_BOOL inheritStyleSheets();
15368
15369    [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15370    void onbeforeeditfocus(VARIANT v);
15371
15372    [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15373    VARIANT onbeforeeditfocus();
15374
15375    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15376    IHTMLElementCollection *getElementsByName([in] BSTR v);
15377
15378    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15379    IHTMLElement *getElementById([in] BSTR v);
15380
15381    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15382    IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15383
15384    [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15385    void focus();
15386
15387    [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15388    VARIANT_BOOL hasFocus();
15389
15390    [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15391    void onselectionchange(VARIANT v);
15392
15393    [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15394    VARIANT onselectionchange();
15395
15396    [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15397    IDispatch *namespaces();
15398
15399    [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15400    IHTMLDocument2 *createDocumentFromUrl(
15401        [in] BSTR bstrUrl,
15402        [in] BSTR bstrOptions);
15403
15404    [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15405    void media(BSTR v);
15406
15407    [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15408    BSTR media();
15409
15410    [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15411    IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
15412
15413    [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15414    VARIANT_BOOL fireEvent(
15415        [in] BSTR bstrEventName,
15416        [optional, in] VARIANT *pvarEventObject);
15417
15418    [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15419    IHTMLRenderStyle *createRenderStyle([in] BSTR v);
15420
15421    [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15422    void oncontrolselect(VARIANT v);
15423
15424    [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15425    VARIANT oncontrolselect();
15426
15427    [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15428    BSTR URLUnencoded();
15429
15430    [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15431    void onmousewheel(VARIANT v);
15432
15433    [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15434    VARIANT onmousewheel();
15435
15436    [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15437    IHTMLDOMNode *doctype();
15438
15439    [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15440    IHTMLDOMImplementation *implementation();
15441
15442    [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15443    IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
15444
15445    [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15446    IHTMLDOMNode *createComment([in] BSTR bstrdata);
15447
15448    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15449    void onfocusin(VARIANT v);
15450
15451    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15452    VARIANT onfocusin();
15453
15454    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15455    void onfocusout(VARIANT v);
15456
15457    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15458    VARIANT onfocusout();
15459
15460    [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15461    void onactivate(VARIANT v);
15462
15463    [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15464    VARIANT onactivate();
15465
15466    [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15467    void ondeactivate(VARIANT v);
15468
15469    [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15470    VARIANT ondeactivate();
15471
15472    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15473    void onbeforeactivate(VARIANT v);
15474
15475    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15476    VARIANT onbeforeactivate();
15477
15478    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15479    void onbeforedeactivate(VARIANT v);
15480
15481    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15482    VARIANT onbeforedeactivate();
15483
15484    [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15485    BSTR compatMode();
15486
15487    [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
15488    IHTMLDocumentCompatibleInfoCollection *compatible();
15489
15490    [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
15491    VARIANT documentMode();
15492
15493    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
15494    void onstorage(VARIANT v);
15495
15496    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
15497    VARIANT onstorage();
15498
15499    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
15500    void onstoragecommit(VARIANT v);
15501
15502    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
15503    VARIANT onstoragecommit();
15504
15505    [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
15506    IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
15507
15508    [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
15509    void updateSettings();
15510
15511    WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
15512}
15513
15514/*****************************************************************************
15515 *    HTMLDocument coclass
15516 */
15517[
15518    uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
15519]
15520coclass HTMLDocument
15521{
15522    [default]         dispinterface DispHTMLDocument;
15523    [source, default] dispinterface HTMLDocumentEvents;
15524    [source]          dispinterface HTMLDocumentEvents2;
15525                      interface IHTMLDocument2;
15526                      interface IHTMLDocument3;
15527                      interface IHTMLDocument4;
15528                      interface IHTMLDocument5;
15529                      interface IHTMLDocument6;
15530                      interface IHTMLDOMNode;
15531                      interface IHTMLDOMNode2;
15532}
15533
15534/*****************************************************************************
15535 *    DWebBridgeEvents dispinterface
15536 */
15537[
15538    hidden,
15539    uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
15540]
15541dispinterface DWebBridgeEvents
15542{
15543properties:
15544methods:
15545    [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
15546    void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
15547
15548    [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
15549    void onreadystatechange();
15550
15551    [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
15552    VARIANT_BOOL onclick();
15553
15554    [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
15555    VARIANT_BOOL ondblclick();
15556
15557    [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
15558    void onkeydown();
15559
15560    [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
15561    void onkeyup();
15562
15563    [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
15564    VARIANT_BOOL onkeypress();
15565
15566    [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
15567    void onmousedown();
15568
15569    [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
15570    void onmousemove();
15571
15572    [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
15573    void onmouseup();
15574}
15575
15576/*****************************************************************************
15577 *    IWebBridge interface
15578 */
15579[
15580    odl,
15581    oleautomation,
15582    dual,
15583    uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
15584]
15585interface IWebBridge : IDispatch
15586{
15587    [propput, id(DISPID_IWEBBRIDGE_URL)]
15588    HRESULT URL([in] BSTR v);
15589
15590    [propget, id(DISPID_IWEBBRIDGE_URL)]
15591    HRESULT URL([retval, out] BSTR * p);
15592
15593    [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
15594    HRESULT Scrollbar([in] VARIANT_BOOL v);
15595
15596    [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
15597    HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
15598
15599    [propput, id(DISPID_IWEBBRIDGE_EMBED)]
15600    HRESULT embed([in] VARIANT_BOOL v);
15601
15602    [propget, id(DISPID_IWEBBRIDGE_EMBED)]
15603    HRESULT embed([retval, out] VARIANT_BOOL * p);
15604
15605    [propget, id(DISPID_IWEBBRIDGE_EVENT)]
15606    HRESULT event([retval, out] IDispatch* * p);
15607
15608    [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
15609    HRESULT readyState([retval, out] long * p);
15610
15611    [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
15612    HRESULT AboutBox();
15613}
15614
15615/*****************************************************************************
15616 *    Scriptlet coclass
15617 */
15618[
15619    control,
15620    helpstring("Microsoft Scriptlet Component"),
15621    progid("ScriptBridge.ScriptBridge.1"),
15622    vi_progid("ScriptBridge.ScriptBridge"),
15623    uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
15624]
15625coclass Scriptlet
15626{
15627    [default]           interface IWebBridge;
15628    [source, default]   dispinterface DWebBridgeEvents;
15629}
15630
15631/*****************************************************************************
15632 *    IHTMLEmbedElement interface
15633 */
15634[
15635    odl,
15636    oleautomation,
15637    dual,
15638    uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
15639]
15640interface IHTMLEmbedElement : IDispatch
15641{
15642    [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
15643    HRESULT hidden([in] BSTR v);
15644
15645    [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
15646    HRESULT hidden([retval, out] BSTR *p);
15647
15648    [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
15649    HRESULT palette([retval, out] BSTR *p);
15650
15651    [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
15652    HRESULT pluginspage([retval, out] BSTR *p);
15653
15654    [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
15655    HRESULT src([in] BSTR v);
15656
15657    [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
15658    HRESULT src([retval, out] BSTR *p);
15659
15660    [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
15661    HRESULT units([in] BSTR v);
15662
15663    [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
15664    HRESULT units([retval, out] BSTR *p);
15665
15666    [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
15667    HRESULT name([in] BSTR v);
15668
15669    [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
15670    HRESULT name([retval, out] BSTR *p);
15671
15672    [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
15673    HRESULT width([in] VARIANT v);
15674
15675    [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
15676    HRESULT width([retval, out] VARIANT *p);
15677
15678    [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
15679    HRESULT height([in] VARIANT v);
15680
15681    [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
15682    HRESULT height([retval, out] VARIANT *p);
15683}
15684
15685/*****************************************************************************
15686 *    DispHTMLEmbedElement dispinterface
15687 */
15688[
15689    hidden,
15690    uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
15691]
15692dispinterface DispHTMLEmbed
15693{
15694properties:
15695methods:
15696    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15697
15698    [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
15699    void hidden(BSTR v);
15700
15701    [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
15702    BSTR hidden();
15703
15704    [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
15705    BSTR palette();
15706
15707    [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
15708    BSTR pluginspage();
15709
15710    [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
15711    void src(BSTR v);
15712
15713    [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
15714    BSTR src();
15715
15716    [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
15717    void units(BSTR v);
15718
15719    [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
15720    BSTR units();
15721
15722    [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
15723    void name(BSTR v);
15724
15725    [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
15726    BSTR name();
15727
15728    [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
15729    void width(VARIANT v);
15730
15731    [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
15732    VARIANT width();
15733
15734    [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
15735    void height(VARIANT v);
15736
15737    [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
15738    VARIANT height();
15739
15740    [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
15741    void ie8_src(BSTR v);
15742
15743    [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
15744    BSTR ie8_src();
15745
15746    [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
15747    BSTR ie8_pluginspage();
15748}
15749
15750/*****************************************************************************
15751 *    IHTMLCommentElement interface
15752 */
15753[
15754    odl,
15755    oleautomation,
15756    dual,
15757    uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
15758]
15759interface IHTMLCommentElement : IDispatch
15760{
15761    [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15762    HRESULT text([in] BSTR v);
15763
15764    [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15765    HRESULT text([out, retval] BSTR *p);
15766
15767    [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15768    HRESULT atomic([in] LONG v);
15769
15770    [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15771    HRESULT atomic([out, retval] LONG *p);
15772}
15773
15774/*****************************************************************************
15775 *    IHTMLCommentElement2 interface
15776 */
15777[
15778    odl,
15779    oleautomation,
15780    dual,
15781    uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
15782]
15783interface IHTMLCommentElement2 : IDispatch
15784{
15785    [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15786    HRESULT data([in] BSTR v);
15787
15788    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15789    HRESULT data([out, retval] BSTR *p);
15790
15791    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15792    HRESULT length([out, retval] LONG *p);
15793
15794    [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15795    HRESULT substringData(
15796            [in] LONG offset,
15797            [in] LONG Count,
15798            [out, retval] BSTR *pbstrsubString);
15799
15800    [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15801    HRESULT appendData([in] BSTR bstrstring);
15802
15803    [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15804    HRESULT insertData(
15805            [in] LONG offset,
15806            [in] BSTR bstrstring);
15807
15808    [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15809    HRESULT deleteData(
15810            [in] LONG offset,
15811            [in] LONG Count);
15812
15813    [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15814    HRESULT replaceData(
15815            [in] LONG offset,
15816            [in] LONG Count,
15817            [in] BSTR bstrstring);
15818}
15819
15820/*****************************************************************************
15821 *    DispHTMLCommentElement dispinterface
15822 */
15823[
15824    hidden,
15825    uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
15826]
15827dispinterface DispHTMLCommentElement
15828{
15829properties:
15830methods:
15831    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15832
15833    [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15834    void text(BSTR v);
15835
15836    [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15837    BSTR text();
15838
15839    [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15840    void atomic(LONG v);
15841
15842    [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15843    LONG atomic();
15844
15845    [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15846    void data(BSTR v);
15847
15848    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15849    BSTR data();
15850
15851    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15852    LONG length();
15853
15854    [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15855    BSTR substringData(
15856            [in] LONG offset,
15857            [in] LONG Count);
15858
15859    [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15860    void appendData([in] BSTR bstrstring);
15861
15862    [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15863     void insertData(
15864            [in] LONG offset,
15865            [in] BSTR bstrstring);
15866
15867    [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15868    void deleteData(
15869            [in] LONG offset,
15870            [in] LONG Count);
15871
15872    [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15873    void replaceData(
15874            [in] LONG offset,
15875            [in] LONG Count,
15876            [in] BSTR bstrstring);
15877}
15878
15879[
15880    hidden,
15881    uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
15882]
15883dispinterface HTMLElementEvents2
15884{
15885properties:
15886methods:
15887    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15888    VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15889
15890    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15891    VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15892
15893    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15894    VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15895
15896    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15897    VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15898
15899    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15900    void onkeydown([in] IHTMLEventObj* pEvtObj);
15901
15902    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15903    void onkeyup([in] IHTMLEventObj* pEvtObj);
15904
15905    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15906    void onmouseout([in] IHTMLEventObj* pEvtObj);
15907
15908    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15909    void onmouseover([in] IHTMLEventObj* pEvtObj);
15910
15911    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15912    void onmousemove([in] IHTMLEventObj* pEvtObj);
15913
15914    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15915    void onmousedown([in] IHTMLEventObj* pEvtObj);
15916
15917    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15918    void onmouseup([in] IHTMLEventObj* pEvtObj);
15919
15920    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15921    VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15922
15923    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15924    void onfilterchange([in] IHTMLEventObj* pEvtObj);
15925
15926    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15927    VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15928
15929    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15930    VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15931
15932    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15933    void onafterupdate([in] IHTMLEventObj* pEvtObj);
15934
15935    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15936    VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15937
15938    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15939    VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15940
15941    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15942    void onrowenter([in] IHTMLEventObj* pEvtObj);
15943
15944    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15945    void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15946
15947    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15948    void ondataavailable([in] IHTMLEventObj* pEvtObj);
15949
15950    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15951    void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15952
15953    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15954    void onlosecapture([in] IHTMLEventObj* pEvtObj);
15955
15956    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15957    void onpropertychange([in] IHTMLEventObj* pEvtObj);
15958
15959    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15960    void onscroll([in] IHTMLEventObj* pEvtObj);
15961
15962    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15963    void onfocus([in] IHTMLEventObj* pEvtObj);
15964
15965    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15966    void onblur([in] IHTMLEventObj* pEvtObj);
15967
15968    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15969    void onresize([in] IHTMLEventObj* pEvtObj);
15970
15971    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15972    VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15973
15974    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15975    void ondragend([in] IHTMLEventObj* pEvtObj);
15976
15977    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15978    VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15979
15980    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15981    VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15982
15983    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15984    void ondragleave([in] IHTMLEventObj* pEvtObj);
15985
15986    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15987    VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15988
15989    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15990    VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15991
15992    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15993    VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15994
15995    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15996    VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15997
15998    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15999    VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
16000
16001    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
16002    VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
16003
16004    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
16005    VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
16006
16007    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
16008    VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
16009
16010    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
16011    void onrowsdelete([in] IHTMLEventObj* pEvtObj);
16012
16013    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
16014    void onrowsinserted([in] IHTMLEventObj* pEvtObj);
16015
16016    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
16017    void oncellchange([in] IHTMLEventObj* pEvtObj);
16018
16019    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
16020    void onreadystatechange([in] IHTMLEventObj* pEvtObj);
16021
16022    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
16023    void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
16024
16025    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
16026    void onpage([in] IHTMLEventObj* pEvtObj);
16027
16028    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
16029    void onmouseenter([in] IHTMLEventObj* pEvtObj);
16030
16031    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
16032    void onmouseleave([in] IHTMLEventObj* pEvtObj);
16033
16034    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
16035    void onactivate([in] IHTMLEventObj* pEvtObj);
16036
16037    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
16038    void ondeactivate([in] IHTMLEventObj* pEvtObj);
16039
16040    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
16041    VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
16042
16043    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
16044    VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
16045
16046    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
16047    void onfocusin([in] IHTMLEventObj* pEvtObj);
16048
16049    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
16050    void onfocusout([in] IHTMLEventObj* pEvtObj);
16051
16052    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
16053    void onmove([in] IHTMLEventObj* pEvtObj);
16054
16055    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
16056    VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
16057
16058    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
16059    VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
16060
16061    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
16062    void onmoveend([in] IHTMLEventObj* pEvtObj);
16063
16064    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
16065    VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
16066
16067    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
16068    void onresizeend([in] IHTMLEventObj* pEvtObj);
16069
16070    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
16071    VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
16072}
16073
16074[
16075    hidden,
16076    uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
16077]
16078dispinterface HTMLElementEvents
16079{
16080properties:
16081methods:
16082    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
16083    VARIANT_BOOL onhelp();
16084
16085    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
16086    VARIANT_BOOL onclick();
16087
16088    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
16089    VARIANT_BOOL ondblclick();
16090
16091    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
16092    VARIANT_BOOL onkeypress();
16093
16094    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
16095    void onkeydown();
16096
16097    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
16098    void onkeyup();
16099
16100    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
16101    void onmouseout();
16102
16103    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
16104    void onmouseover();
16105
16106    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
16107    void onmousemove();
16108
16109    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
16110    void onmousedown();
16111
16112    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
16113    void onmouseup();
16114
16115    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
16116    VARIANT_BOOL onselectstart();
16117
16118    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
16119    void onfilterchange();
16120
16121    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
16122    VARIANT_BOOL ondragstart();
16123
16124    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
16125    VARIANT_BOOL onbeforeupdate();
16126
16127    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
16128    void onafterupdate();
16129
16130    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
16131    VARIANT_BOOL onerrorupdate();
16132
16133    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
16134    VARIANT_BOOL onrowexit();
16135
16136    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
16137    void onrowenter();
16138
16139    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
16140    void ondatasetchanged();
16141
16142    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
16143    void ondataavailable();
16144
16145    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
16146    void ondatasetcomplete();
16147
16148    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
16149    void onlosecapture();
16150
16151    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
16152    void onpropertychange();
16153
16154    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
16155    void onscroll();
16156
16157    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
16158    void onfocus();
16159
16160    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
16161    void onblur();
16162
16163    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
16164    void onresize();
16165
16166    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
16167    VARIANT_BOOL ondrag();
16168
16169    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
16170    void ondragend();
16171
16172    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
16173    VARIANT_BOOL ondragenter();
16174
16175    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
16176    VARIANT_BOOL ondragover();
16177
16178    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
16179    void ondragleave();
16180
16181    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
16182    VARIANT_BOOL ondrop();
16183
16184    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
16185    VARIANT_BOOL onbeforecut();
16186
16187    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
16188    VARIANT_BOOL oncut();
16189
16190    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
16191    VARIANT_BOOL onbeforecopy();
16192
16193    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
16194    VARIANT_BOOL oncopy();
16195
16196    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
16197    VARIANT_BOOL onbeforepaste();
16198
16199    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
16200    VARIANT_BOOL onpaste();
16201
16202    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
16203    VARIANT_BOOL oncontextmenu();
16204
16205    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
16206    void onrowsdelete();
16207
16208    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
16209    void onrowsinserted();
16210
16211    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
16212    void oncellchange();
16213
16214    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
16215    void onreadystatechange();
16216
16217    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
16218    void onbeforeeditfocus();
16219
16220    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
16221    void onlayoutcomplete();
16222
16223    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
16224    void onpage();
16225
16226    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
16227    VARIANT_BOOL onbeforedeactivate();
16228
16229    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
16230    VARIANT_BOOL onbeforeactivate();
16231
16232    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
16233    void onmove();
16234
16235    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
16236    VARIANT_BOOL oncontrolselect();
16237
16238    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
16239    VARIANT_BOOL onmovestart();
16240
16241    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
16242    void onmoveend();
16243
16244    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
16245    VARIANT_BOOL onresizestart();
16246
16247    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
16248    void onresizeend();
16249
16250    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
16251    void onmouseenter();
16252
16253    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
16254    void onmouseleave();
16255
16256    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
16257    VARIANT_BOOL onmousewheel();
16258
16259    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
16260    void onactivate();
16261
16262    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
16263    void ondeactivate();
16264
16265    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
16266    void onfocusin();
16267
16268    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
16269    void onfocusout();
16270}
16271
16272[
16273    noncreatable,
16274    uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
16275]
16276coclass HTMLCommentElement
16277{
16278    [default]           dispinterface DispHTMLCommentElement;
16279    [source, default]   dispinterface HTMLElementEvents;
16280    [source]            dispinterface HTMLElementEvents2;
16281                        interface IHTMLElement;
16282                        interface IHTMLElement2;
16283                        interface IHTMLElement3;
16284                        interface IHTMLElement4;
16285                        interface IHTMLUniqueName;
16286                        interface IHTMLDOMNode;
16287                        interface IHTMLDOMNode2;
16288                        interface IHTMLCommentElement;
16289                        interface IHTMLCommentElement2;
16290}
16291
16292/*****************************************************************************
16293 *    HTMLTableEvents dispinterface
16294 */
16295[
16296    hidden,
16297    uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
16298]
16299dispinterface HTMLTableEvents
16300{
16301properties:
16302methods:
16303    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
16304    VARIANT_BOOL onhelp();
16305
16306    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
16307    VARIANT_BOOL onclick();
16308
16309    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
16310    VARIANT_BOOL ondblclick();
16311
16312    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
16313    VARIANT_BOOL onkeypress();
16314
16315    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
16316    void onkeydown();
16317
16318    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
16319    void onkeyup();
16320
16321    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
16322    void onmouseout();
16323
16324    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
16325    void onmouseover();
16326
16327    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
16328    void onmousemove();
16329
16330    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
16331    void onmousedown();
16332
16333    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
16334    void onmouseup();
16335
16336    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
16337    VARIANT_BOOL onselectstart();
16338
16339    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
16340    void onfilterchange();
16341
16342    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
16343    VARIANT_BOOL ondragstart();
16344
16345    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
16346    VARIANT_BOOL onbeforeupdate();
16347
16348    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
16349    void onafterupdate();
16350
16351    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
16352    VARIANT_BOOL onerrorupdate();
16353
16354    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
16355    VARIANT_BOOL onrowexit();
16356
16357    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
16358    void onrowenter();
16359
16360    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
16361    void ondatasetchanged();
16362
16363    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
16364    void ondataavailable();
16365
16366    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
16367    void ondatasetcomplete();
16368
16369    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
16370    void onlosecapture();
16371
16372    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
16373    void onpropertychange();
16374
16375    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
16376    void onscroll();
16377
16378    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
16379    void onfocus();
16380
16381    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
16382    void onblur();
16383
16384    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
16385    void onresize();
16386
16387    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
16388    VARIANT_BOOL ondrag();
16389
16390    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
16391    void ondragend();
16392
16393    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
16394    VARIANT_BOOL ondragenter();
16395
16396    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
16397    VARIANT_BOOL ondragover();
16398
16399    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
16400    void ondragleave();
16401
16402    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
16403    VARIANT_BOOL ondrop();
16404
16405    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
16406    VARIANT_BOOL onbeforecut();
16407
16408    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
16409    VARIANT_BOOL oncut();
16410
16411    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
16412    VARIANT_BOOL onbeforecopy();
16413
16414    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
16415    VARIANT_BOOL oncopy();
16416
16417    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
16418    VARIANT_BOOL onbeforepaste();
16419
16420    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
16421    VARIANT_BOOL onpaste();
16422
16423    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
16424    VARIANT_BOOL oncontextmenu();
16425
16426    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
16427    void onrowsdelete();
16428
16429    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
16430    void onrowsinserted();
16431
16432    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
16433    void oncellchange();
16434
16435    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
16436    void onreadystatechange();
16437
16438    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
16439    void onbeforeeditfocus();
16440
16441    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
16442    void onlayoutcomplete();
16443
16444    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
16445    void onpage();
16446
16447    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
16448    VARIANT_BOOL onbeforedeactivate();
16449
16450    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
16451    VARIANT_BOOL onbeforeactivate();
16452
16453    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
16454    void onmove();
16455
16456    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
16457    VARIANT_BOOL oncontrolselect();
16458
16459    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
16460    VARIANT_BOOL onmovestart();
16461
16462    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
16463    void onmoveend();
16464
16465    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
16466    VARIANT_BOOL onresizestart();
16467
16468    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
16469    void onresizeend();
16470
16471    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
16472    void onmouseenter();
16473
16474    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
16475    void onmouseleave();
16476
16477    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
16478    VARIANT_BOOL onmousewheel();
16479
16480    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
16481    void onactivate();
16482
16483    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
16484    void ondeactivate();
16485
16486    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
16487    void onfocusin();
16488
16489    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
16490    void onfocusout();
16491}
16492
16493[
16494    hidden,
16495    uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
16496]
16497dispinterface HTMLTableEvents2
16498{
16499properties:
16500methods:
16501    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
16502    VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
16503
16504    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
16505    VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
16506
16507    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
16508    VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
16509
16510    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
16511    VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
16512
16513    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
16514    void onkeydown([in] IHTMLEventObj* pEvtObj);
16515
16516    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
16517    void onkeyup([in] IHTMLEventObj* pEvtObj);
16518
16519    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
16520    void onmouseout([in] IHTMLEventObj* pEvtObj);
16521
16522    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
16523    void onmouseover([in] IHTMLEventObj* pEvtObj);
16524
16525    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
16526    void onmousemove([in] IHTMLEventObj* pEvtObj);
16527
16528    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
16529    void onmousedown([in] IHTMLEventObj* pEvtObj);
16530
16531    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
16532    void onmouseup([in] IHTMLEventObj* pEvtObj);
16533
16534    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
16535    VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
16536
16537    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
16538    void onfilterchange([in] IHTMLEventObj* pEvtObj);
16539
16540    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
16541    VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
16542
16543    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
16544    VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
16545
16546    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
16547    void onafterupdate([in] IHTMLEventObj* pEvtObj);
16548
16549    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
16550    VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
16551
16552    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
16553    VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
16554
16555    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
16556    void onrowenter([in] IHTMLEventObj* pEvtObj);
16557
16558    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
16559    void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
16560
16561    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
16562    void ondataavailable([in] IHTMLEventObj* pEvtObj);
16563
16564    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
16565    void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
16566
16567    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
16568    void onlosecapture([in] IHTMLEventObj* pEvtObj);
16569
16570    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
16571    void onpropertychange([in] IHTMLEventObj* pEvtObj);
16572
16573    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
16574    void onscroll([in] IHTMLEventObj* pEvtObj);
16575
16576    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
16577    void onfocus([in] IHTMLEventObj* pEvtObj);
16578
16579    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
16580    void onblur([in] IHTMLEventObj* pEvtObj);
16581
16582    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
16583    void onresize([in] IHTMLEventObj* pEvtObj);
16584
16585    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
16586    VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
16587
16588    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
16589    void ondragend([in] IHTMLEventObj* pEvtObj);
16590
16591    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
16592    VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
16593
16594    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
16595    VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
16596
16597    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
16598    void ondragleave([in] IHTMLEventObj* pEvtObj);
16599
16600    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
16601    VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
16602
16603    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
16604    VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
16605
16606    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
16607    VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
16608
16609    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
16610    VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
16611
16612    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
16613    VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
16614
16615    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
16616    VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
16617
16618    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
16619    VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
16620
16621    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
16622    VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
16623
16624    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
16625    void onrowsdelete([in] IHTMLEventObj* pEvtObj);
16626
16627    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
16628    void onrowsinserted([in] IHTMLEventObj* pEvtObj);
16629
16630    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
16631    void oncellchange([in] IHTMLEventObj* pEvtObj);
16632
16633    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
16634    void onreadystatechange([in] IHTMLEventObj* pEvtObj);
16635
16636    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
16637    void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
16638
16639    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
16640    void onpage([in] IHTMLEventObj* pEvtObj);
16641
16642    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
16643    void onmouseenter([in] IHTMLEventObj* pEvtObj);
16644
16645    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
16646    void onmouseleave([in] IHTMLEventObj* pEvtObj);
16647
16648    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
16649    void onactivate([in] IHTMLEventObj* pEvtObj);
16650
16651    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
16652    void ondeactivate([in] IHTMLEventObj* pEvtObj);
16653
16654    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
16655    VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
16656
16657    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
16658    VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
16659
16660    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
16661    void onfocusin([in] IHTMLEventObj* pEvtObj);
16662
16663    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
16664    void onfocusout([in] IHTMLEventObj* pEvtObj);
16665
16666    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
16667    void onmove([in] IHTMLEventObj* pEvtObj);
16668
16669    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
16670    VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
16671
16672    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
16673    VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
16674
16675    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
16676    void onmoveend([in] IHTMLEventObj* pEvtObj);
16677
16678    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
16679    VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
16680
16681    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
16682    void onresizeend([in] IHTMLEventObj* pEvtObj);
16683
16684    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
16685    VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
16686}
16687
16688/*****************************************************************************
16689 *    IHTMLTableCaption interface
16690 */
16691[
16692    odl,
16693    oleautomation,
16694    dual,
16695    uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
16696]
16697interface IHTMLTableCaption : IDispatch
16698{
16699    [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16700    HRESULT align([in] BSTR v);
16701
16702    [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16703    HRESULT align([retval, out] BSTR *p);
16704
16705    [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16706    HRESULT vAlign([in] BSTR v);
16707
16708    [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16709    HRESULT vAlign([retval, out] BSTR *p);
16710}
16711
16712interface IHTMLTableSection;
16713
16714/*****************************************************************************
16715 *    IHTMLTable interface
16716 */
16717[
16718    odl,
16719    oleautomation,
16720    dual,
16721    uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
16722]
16723interface IHTMLTable : IDispatch
16724{
16725    [propput, id(DISPID_IHTMLTABLE_COLS)]
16726    HRESULT cols([in] LONG v);
16727
16728    [propget, id(DISPID_IHTMLTABLE_COLS)]
16729    HRESULT cols([retval, out] LONG *p);
16730
16731    [propput, id(DISPID_IHTMLTABLE_BORDER)]
16732    HRESULT border([in] VARIANT v);
16733
16734    [propget, id(DISPID_IHTMLTABLE_BORDER)]
16735    HRESULT border([retval, out] VARIANT *p);
16736
16737    [propput, id(DISPID_IHTMLTABLE_FRAME)]
16738    HRESULT frame([in] BSTR v);
16739
16740    [propget, id(DISPID_IHTMLTABLE_FRAME)]
16741    HRESULT frame([retval, out] BSTR *p);
16742
16743    [propput, id(DISPID_IHTMLTABLE_RULES)]
16744    HRESULT rules([in] BSTR v);
16745
16746    [propget, id(DISPID_IHTMLTABLE_RULES)]
16747    HRESULT rules([retval, out] BSTR *p);
16748
16749    [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
16750    HRESULT cellSpacing([in] VARIANT v);
16751
16752    [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
16753    HRESULT cellSpacing([retval, out] VARIANT *p);
16754
16755    [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
16756    HRESULT cellPadding([in] VARIANT v);
16757
16758    [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
16759    HRESULT cellPadding([retval, out] VARIANT *p);
16760
16761    [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
16762    HRESULT background([in] BSTR v);
16763
16764    [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
16765    HRESULT background([retval, out] BSTR *p);
16766
16767    [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
16768    HRESULT bgColor([in] VARIANT v);
16769
16770    [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
16771    HRESULT bgColor([retval, out] VARIANT *p);
16772
16773    [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16774    HRESULT borderColor([in] VARIANT v);
16775
16776    [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16777    HRESULT borderColor([retval, out] VARIANT *p);
16778
16779    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16780    HRESULT borderColorLight([in] VARIANT v);
16781
16782    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16783    HRESULT borderColorLight([retval, out] VARIANT *p);
16784
16785    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16786    HRESULT borderColorDark([in] VARIANT v);
16787
16788    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16789    HRESULT borderColorDark([retval, out] VARIANT *p);
16790
16791    [propput, id(DISPID_IHTMLTABLE_ALIGN)]
16792    HRESULT align([in] BSTR v);
16793
16794    [propget, id(DISPID_IHTMLTABLE_ALIGN)]
16795    HRESULT align([retval, out] BSTR * p);
16796
16797    [id(DISPID_IHTMLTABLE_REFRESH)]
16798    HRESULT refresh();
16799
16800    [propget, id(DISPID_IHTMLTABLE_ROWS)]
16801    HRESULT rows([retval, out] IHTMLElementCollection **p);
16802
16803    [propput, id(DISPID_IHTMLTABLE_WIDTH)]
16804    HRESULT width([in] VARIANT v);
16805
16806    [propget, id(DISPID_IHTMLTABLE_WIDTH)]
16807    HRESULT width([retval, out] VARIANT *p);
16808
16809    [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
16810    HRESULT height([in] VARIANT v);
16811
16812    [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
16813    HRESULT height([retval, out] VARIANT *p);
16814
16815    [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16816    HRESULT dataPageSize([in] LONG v);
16817
16818    [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16819    HRESULT dataPageSize([retval, out] LONG *p);
16820
16821    [id(DISPID_IHTMLTABLE_NEXTPAGE)]
16822    HRESULT nextPage();
16823
16824    [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
16825    HRESULT previousPage();
16826
16827    [propget, id(DISPID_IHTMLTABLE_THEAD)]
16828    HRESULT tHead([retval, out] IHTMLTableSection **p);
16829
16830    [propget, id(DISPID_IHTMLTABLE_TFOOT)]
16831    HRESULT tFoot([retval, out] IHTMLTableSection **p);
16832
16833    [propget, id(DISPID_IHTMLTABLE_TBODIES)]
16834    HRESULT tBodies([retval, out] IHTMLElementCollection **p);
16835
16836    [propget, id(DISPID_IHTMLTABLE_CAPTION)]
16837    HRESULT caption([retval, out] IHTMLTableCaption **p);
16838
16839    [id(DISPID_IHTMLTABLE_CREATETHEAD)]
16840    HRESULT createTHead([retval, out] IDispatch **head);
16841
16842    [id(DISPID_IHTMLTABLE_DELETETHEAD)]
16843    HRESULT deleteTHead();
16844
16845    [id(DISPID_IHTMLTABLE_CREATETFOOT)]
16846    HRESULT createTFoot([retval, out] IDispatch **foot);
16847
16848    [id(DISPID_IHTMLTABLE_DELETETFOOT)]
16849    HRESULT deleteTFoot();
16850
16851    [id(DISPID_IHTMLTABLE_CREATECAPTION)]
16852    HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
16853
16854    [id(DISPID_IHTMLTABLE_DELETECAPTION)]
16855    HRESULT deleteCaption();
16856
16857    [id(DISPID_IHTMLTABLE_INSERTROW)]
16858    HRESULT insertRow(
16859            [defaultvalue(-1), in] LONG index,
16860            [retval, out] IDispatch **row);
16861
16862    [id(DISPID_IHTMLTABLE_DELETEROW)]
16863    HRESULT deleteRow([defaultvalue(-1), in] LONG index);
16864
16865    [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
16866    HRESULT readyState([retval, out] BSTR *p);
16867
16868    [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16869    HRESULT onreadystatechange([in] VARIANT v);
16870
16871    [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16872    HRESULT onreadystatechange([retval, out] VARIANT *p);
16873}
16874
16875[
16876    odl,
16877    oleautomation,
16878    dual,
16879    uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
16880]
16881interface IHTMLTable2 : IDispatch
16882{
16883    [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
16884    HRESULT firstPage();
16885
16886    [id(DISPID_IHTMLTABLE2_LASTPAGE)]
16887    HRESULT lastPage();
16888
16889    [propget, id(DISPID_IHTMLTABLE2_CELLS)]
16890    HRESULT cells([retval, out] IHTMLElementCollection* * p);
16891
16892    [id(DISPID_IHTMLTABLE2_MOVEROW)]
16893    HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
16894        [defaultvalue(-1), in] LONG indexTo,
16895        [retval, out] IDispatch** row);
16896}
16897
16898[
16899    odl,
16900    oleautomation,
16901    dual,
16902    uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
16903]
16904interface IHTMLTable3 : IDispatch
16905{
16906    [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16907    HRESULT summary([in] BSTR v);
16908
16909    [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
16910    HRESULT summary([retval, out] BSTR * p);
16911}
16912
16913[
16914    noncreatable,
16915    uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
16916]
16917coclass HTMLTable
16918{
16919    [default]           dispinterface DispHTMLTable;
16920    [source, default]   dispinterface HTMLTableEvents;
16921    [source]            dispinterface HTMLTableEvents2;
16922                        interface IHTMLElement;
16923                        interface IHTMLElement2;
16924                        interface IHTMLElement3;
16925                        interface IHTMLElement4;
16926                        interface IHTMLUniqueName;
16927                        interface IHTMLDOMNode;
16928                        interface IHTMLDOMNode2;
16929                        interface IHTMLDatabinding;
16930                        interface IHTMLControlElement;
16931                        interface IHTMLTable;
16932                        interface IHTMLTable2;
16933                        interface IHTMLTable3;
16934}
16935
16936[
16937    odl,
16938    oleautomation,
16939    dual,
16940    uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
16941]
16942interface IHTMLTableSection : IDispatch
16943{
16944    [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16945    HRESULT align([in] BSTR v);
16946
16947    [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16948    HRESULT align([retval, out] BSTR *p);
16949
16950    [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16951    HRESULT vAlign([in] BSTR v);
16952
16953    [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16954    HRESULT vAlign([retval, out] BSTR *p);
16955
16956    [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16957    HRESULT bgColor([in] VARIANT v);
16958
16959    [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16960    HRESULT bgColor([retval, out] VARIANT *p);
16961
16962    [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
16963    HRESULT rows([retval, out] IHTMLElementCollection **p);
16964
16965    [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
16966    HRESULT insertRow(
16967            [defaultvalue(-1), in] LONG index,
16968            [retval, out] IDispatch **row);
16969
16970    [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
16971    HRESULT deleteRow([defaultvalue(-1), in] LONG index);
16972}
16973
16974/*****************************************************************************
16975 *    IHTMLTableRow interface
16976 */
16977[
16978    odl,
16979    oleautomation,
16980    dual,
16981    uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
16982]
16983interface IHTMLTableRow : IDispatch
16984{
16985    [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
16986    HRESULT align([in] BSTR v);
16987
16988    [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
16989    HRESULT align([out, retval] BSTR *p);
16990
16991    [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
16992    HRESULT vAlign([in] BSTR v);
16993
16994    [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
16995    HRESULT vAlign([out, retval] BSTR *p);
16996
16997    [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16998    HRESULT bgColor([in] VARIANT v);
16999
17000    [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17001    HRESULT bgColor([out, retval] VARIANT *p);
17002
17003    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17004    HRESULT borderColor([in] VARIANT v);
17005
17006    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17007    HRESULT borderColor([out, retval] VARIANT *p);
17008
17009    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17010    HRESULT borderColorLight([in] VARIANT v);
17011
17012    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17013    HRESULT borderColorLight([out, retval] VARIANT *p);
17014
17015    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17016    HRESULT borderColorDark([in] VARIANT v);
17017
17018    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17019    HRESULT borderColorDark([out, retval] VARIANT *p);
17020
17021    [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
17022    HRESULT rowIndex([out, retval] LONG *p);
17023
17024    [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
17025    HRESULT sectionRowIndex([out, retval] LONG *p);
17026
17027    [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
17028    HRESULT cells([out, retval] IHTMLElementCollection **p);
17029
17030    [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
17031    HRESULT insertCell(
17032            [in, defaultvalue(-1)] LONG index,
17033            [out, retval] IDispatch **row);
17034
17035    [id(DISPID_IHTMLTABLEROW_DELETECELL)]
17036    HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
17037}
17038
17039/*****************************************************************************
17040 *    IHTMLTableCell interface
17041 */
17042[
17043    odl,
17044    oleautomation,
17045    dual,
17046    uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
17047]
17048interface IHTMLTableCell : IDispatch
17049{
17050    [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
17051    HRESULT rowSpan([in] long v);
17052
17053    [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
17054    HRESULT rowSpan([retval, out] long *p);
17055
17056    [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
17057    HRESULT colSpan([in] long v);
17058
17059    [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
17060    HRESULT colSpan([retval, out] long *p);
17061
17062    [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
17063    HRESULT align([in] BSTR v);
17064
17065    [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
17066    HRESULT align([retval, out] BSTR *p);
17067
17068    [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
17069    HRESULT vAlign([in] BSTR v);
17070
17071    [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
17072    HRESULT vAlign([retval, out] BSTR *p);
17073
17074    [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
17075    HRESULT bgColor([in] VARIANT v);
17076
17077    [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
17078    HRESULT bgColor([retval, out] VARIANT *p);
17079
17080    [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
17081    HRESULT noWrap([in] VARIANT_BOOL v);
17082
17083    [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
17084    HRESULT noWrap([retval, out] VARIANT_BOOL *p);
17085
17086    [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
17087    HRESULT background([in] BSTR v);
17088
17089    [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
17090    HRESULT background([retval, out] BSTR *p);
17091
17092    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
17093    HRESULT borderColor([in] VARIANT v);
17094
17095    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
17096    HRESULT borderColor([retval, out] VARIANT *p);
17097
17098    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
17099    HRESULT borderColorLight([in] VARIANT v);
17100
17101    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
17102    HRESULT borderColorLight([retval, out] VARIANT *p);
17103
17104    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
17105    HRESULT borderColorDark([in] VARIANT v);
17106
17107    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
17108    HRESULT borderColorDark([retval, out] VARIANT *p);
17109
17110    [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
17111    HRESULT width([in] VARIANT v);
17112
17113    [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
17114    HRESULT width([retval, out] VARIANT *p);
17115
17116    [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
17117    HRESULT height([in] VARIANT v);
17118
17119    [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
17120    HRESULT height([retval, out] VARIANT *p);
17121
17122    [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
17123    HRESULT cellIndex([retval, out] long *p);
17124}
17125
17126/*****************************************************************************
17127 *    DispHTMLTable dispinterface
17128 */
17129[
17130    hidden,
17131    uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
17132]
17133dispinterface DispHTMLTable
17134{
17135properties:
17136methods:
17137    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
17138
17139    [propput, id(DISPID_IHTMLTABLE_COLS)]
17140    void cols(LONG v);
17141
17142    [propget, id(DISPID_IHTMLTABLE_COLS)]
17143    LONG cols();
17144
17145    [propput, id(DISPID_IHTMLTABLE_BORDER)]
17146    void border(VARIANT v);
17147
17148    [propget, id(DISPID_IHTMLTABLE_BORDER)]
17149    VARIANT border();
17150
17151    [propput, id(DISPID_IHTMLTABLE_FRAME)]
17152    void frame(BSTR v);
17153
17154    [propget, id(DISPID_IHTMLTABLE_FRAME)]
17155    BSTR frame();
17156
17157    [propput, id(DISPID_IHTMLTABLE_RULES)]
17158    void rules(BSTR v);
17159
17160    [propget, id(DISPID_IHTMLTABLE_RULES)]
17161    BSTR rules();
17162
17163    [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17164    void cellSpacing(VARIANT v);
17165
17166    [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17167    VARIANT cellSpacing();
17168
17169    [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17170    void cellPadding(VARIANT v);
17171
17172    [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17173    VARIANT cellPadding();
17174
17175    [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17176    void background(BSTR v);
17177
17178    [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
17179    BSTR background();
17180
17181    [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
17182    void bgColor(VARIANT v);
17183
17184    [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
17185    VARIANT bgColor();
17186
17187    [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17188    void borderColor(VARIANT v);
17189
17190    [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17191    VARIANT borderColor();
17192
17193    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17194    void borderColorLight(VARIANT v);
17195
17196    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17197    VARIANT borderColorLight();
17198
17199    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17200    void borderColorDark(VARIANT v);
17201
17202    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17203    VARIANT borderColorDark();
17204
17205    [propput, id(DISPID_IHTMLTABLE_ALIGN)]
17206    void align(BSTR v);
17207
17208    [propget, id(DISPID_IHTMLTABLE_ALIGN)]
17209    BSTR align();
17210
17211    [id(DISPID_IHTMLTABLE_REFRESH)]
17212    void refresh();
17213
17214    [propget, id(DISPID_IHTMLTABLE_ROWS)]
17215    IHTMLElementCollection *rows();
17216
17217    [propput, id(DISPID_IHTMLTABLE_WIDTH)]
17218    void width(VARIANT v);
17219
17220    [propget, id(DISPID_IHTMLTABLE_WIDTH)]
17221    VARIANT width();
17222
17223    [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
17224    void height(VARIANT v);
17225
17226    [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
17227    VARIANT height();
17228
17229    [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17230    void dataPageSize(LONG v);
17231
17232    [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17233    LONG dataPageSize();
17234
17235    [id(DISPID_IHTMLTABLE_NEXTPAGE)]
17236    void nextPage();
17237
17238    [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
17239    void previousPage();
17240
17241    [propget, id(DISPID_IHTMLTABLE_THEAD)]
17242    IHTMLTableSection *tHead();
17243
17244    [propget, id(DISPID_IHTMLTABLE_TFOOT)]
17245    IHTMLTableSection *tFoot();
17246
17247    [propget, id(DISPID_IHTMLTABLE_TBODIES)]
17248    IHTMLElementCollection *tBodies();
17249
17250    [propget, id(DISPID_IHTMLTABLE_CAPTION)]
17251    IHTMLTableCaption *caption();
17252
17253    [id(DISPID_IHTMLTABLE_CREATETHEAD)]
17254    IDispatch *createTHead();
17255
17256    [id(DISPID_IHTMLTABLE_DELETETHEAD)]
17257    void deleteTHead();
17258
17259    [id(DISPID_IHTMLTABLE_CREATETFOOT)]
17260    IDispatch *createTFoot();
17261
17262    [id(DISPID_IHTMLTABLE_DELETETFOOT)]
17263    void deleteTFoot();
17264
17265    [id(DISPID_IHTMLTABLE_CREATECAPTION)]
17266    IHTMLTableCaption *createCaption();
17267
17268    [id(DISPID_IHTMLTABLE_DELETECAPTION)]
17269    void deleteCaption();
17270
17271    [id(DISPID_IHTMLTABLE_INSERTROW)]
17272    IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
17273
17274    [id(DISPID_IHTMLTABLE_DELETEROW)]
17275    void deleteRow([in, defaultvalue(-1)] LONG index);
17276
17277    [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
17278    void firstPage();
17279
17280    [id(DISPID_IHTMLTABLE2_LASTPAGE)]
17281    void lastPage();
17282
17283    [propget, id(DISPID_IHTMLTABLE2_CELLS)]
17284    IHTMLElementCollection *cells();
17285
17286    [id(DISPID_IHTMLTABLE2_MOVEROW)]
17287    IDispatch *moveRow(
17288            [in, defaultvalue(-1)] LONG indexFrom,
17289            [in, defaultvalue(-1)] LONG indexTo);
17290
17291    [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
17292    void summary(BSTR v);
17293
17294    [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
17295    BSTR summary();
17296}
17297
17298/*****************************************************************************
17299 *    DispHTMLTableRow dispinterface
17300 */
17301[
17302    hidden,
17303    uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
17304]
17305dispinterface DispHTMLTableRow
17306{
17307properties:
17308methods:
17309    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17310
17311    [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
17312    void align(BSTR v);
17313
17314    [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
17315    BSTR align();
17316
17317    [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
17318    void vAlign(BSTR v);
17319
17320    [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
17321    BSTR vAlign();
17322
17323    [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17324    void bgColor(VARIANT v);
17325
17326    [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17327    VARIANT bgColor();
17328
17329    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17330    void borderColor(VARIANT v);
17331
17332    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17333    VARIANT borderColor();
17334
17335    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17336    void borderColorLight(VARIANT v);
17337
17338    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17339    VARIANT borderColorLight();
17340
17341    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17342    void borderColorDark(VARIANT v);
17343
17344    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17345    VARIANT borderColorDark();
17346
17347    [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
17348    LONG rowIndex();
17349
17350    [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
17351    LONG sectionRowIndex();
17352
17353    [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
17354    IHTMLElementCollection *cells();
17355
17356    [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
17357    IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
17358
17359    [id(DISPID_IHTMLTABLEROW_DELETECELL)]
17360    void deleteCell([in, defaultvalue(-1)] LONG index);
17361
17362    [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
17363    void height(VARIANT v);
17364
17365    [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
17366    VARIANT height();
17367
17368    [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
17369    void ch(BSTR v);
17370
17371    [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
17372    BSTR ch();
17373
17374    [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
17375    void chOff(BSTR v);
17376
17377    [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
17378    BSTR chOff();
17379}
17380
17381/*****************************************************************************
17382 *    DispHTMLTableCell dispinterface
17383 */
17384[
17385    hidden,
17386    uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
17387]
17388dispinterface DispHTMLTableCell
17389{
17390properties:
17391methods:
17392    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17393
17394    [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
17395    void rowSpan(long v);
17396
17397    [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
17398    long rowSpan();
17399
17400    [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
17401    void colSpan(long v);
17402
17403    [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
17404    long colSpan();
17405
17406    [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
17407    void align(BSTR v);
17408
17409    [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
17410    BSTR align();
17411
17412    [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
17413    void vAlign(BSTR v);
17414
17415    [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
17416    BSTR vAlign();
17417
17418    [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
17419    void bgColor(VARIANT v);
17420
17421    [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
17422    VARIANT bgColor();
17423
17424    [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
17425    void noWrap(VARIANT_BOOL v);
17426
17427    [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
17428    VARIANT_BOOL noWrap();
17429
17430    [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
17431    void background(BSTR v);
17432
17433    [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
17434    BSTR background();
17435
17436    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
17437    void borderColor(VARIANT v);
17438
17439    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
17440    VARIANT borderColor();
17441
17442    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
17443    void borderColorLight(VARIANT v);
17444
17445    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
17446    VARIANT borderColorLight();
17447
17448    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
17449    void borderColorDark(VARIANT v);
17450
17451    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
17452    VARIANT borderColorDark();
17453
17454    [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
17455    void width(VARIANT v);
17456
17457    [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
17458    VARIANT width();
17459
17460    [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
17461    void height(VARIANT v);
17462
17463    [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
17464    VARIANT height();
17465
17466    [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
17467    long cellIndex();
17468
17469    [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
17470    void abbr(BSTR v);
17471
17472    [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
17473    BSTR abbr();
17474
17475    [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
17476    void axis(BSTR v);
17477
17478    [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
17479    BSTR axis();
17480
17481    [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
17482    void ch(BSTR v);
17483
17484    [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
17485    BSTR ch();
17486
17487    [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
17488    void chOff(BSTR v);
17489
17490    [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
17491    BSTR chOff();
17492
17493    [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
17494    void headers(BSTR v);
17495
17496    [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
17497    BSTR headers();
17498
17499    [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
17500    void scope(BSTR v);
17501
17502    [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
17503    BSTR scope();
17504
17505    [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
17506    void ie9_ch(BSTR v);
17507
17508    [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
17509    BSTR ie9_ch();
17510
17511    [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
17512    void ie9_chOff(BSTR v);
17513
17514    [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
17515    BSTR ie9_chOff();
17516}
17517
17518/*****************************************************************************
17519 *    IHTMLScriptElement interface
17520 */
17521[
17522    odl,
17523    oleautomation,
17524    dual,
17525    uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
17526]
17527interface IHTMLScriptElement : IDispatch
17528{
17529    [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
17530    HRESULT src([in] BSTR v);
17531
17532    [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
17533    HRESULT src([retval, out] BSTR *p);
17534
17535    [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
17536    HRESULT htmlFor([in] BSTR v);
17537
17538    [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
17539    HRESULT htmlFor([retval, out] BSTR *p);
17540
17541    [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
17542    HRESULT event([in] BSTR v);
17543
17544    [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
17545    HRESULT event([retval, out] BSTR *p);
17546
17547    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
17548    HRESULT text([in] BSTR v);
17549
17550    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
17551    HRESULT text([retval, out] BSTR *p);
17552
17553    [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
17554    HRESULT defer([in] VARIANT_BOOL v);
17555
17556    [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
17557    HRESULT defer([retval, out] VARIANT_BOOL *p);
17558
17559    [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
17560    HRESULT readyState([retval, out] BSTR *p);
17561
17562    [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
17563    HRESULT onerror([in] VARIANT v);
17564
17565    [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
17566    HRESULT onerror([retval, out] VARIANT *p);
17567
17568    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
17569    HRESULT type([in] BSTR v);
17570
17571    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
17572    HRESULT type([retval, out] BSTR *p);
17573}
17574
17575/*****************************************************************************
17576 *    IHTMLScriptElement2 interface
17577 */
17578[
17579    odl,
17580    oleautomation,
17581    dual,
17582    uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
17583]
17584interface IHTMLScriptElement2 : IDispatch
17585{
17586    [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
17587    HRESULT charset([in] BSTR v);
17588
17589    [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
17590    HRESULT charset([retval, out] BSTR *p);
17591}
17592
17593/*****************************************************************************
17594 *    DispHTMLScriptElement dispinterface
17595 */
17596[
17597    hidden,
17598    uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
17599]
17600dispinterface DispHTMLScriptElement
17601{
17602properties:
17603methods:
17604    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17605
17606    [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
17607    void src(BSTR v);
17608
17609    [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
17610    BSTR src();
17611
17612    [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
17613    void htmlFor(BSTR v);
17614
17615    [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
17616    BSTR htmlFor();
17617
17618    [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
17619    void event(BSTR v);
17620
17621    [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
17622    BSTR event();
17623
17624    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
17625    void text(BSTR v);
17626
17627    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
17628    BSTR text();
17629
17630    [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
17631    void defer(VARIANT_BOOL v);
17632
17633    [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
17634    VARIANT_BOOL defer();
17635
17636    [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
17637    void onerror(VARIANT v);
17638
17639    [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
17640    VARIANT onerror();
17641
17642    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
17643    void type(BSTR v);
17644
17645    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
17646    BSTR type();
17647
17648    [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
17649    void charset(BSTR v);
17650
17651    [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
17652    BSTR charset();
17653
17654    [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
17655    void ie8_src(BSTR v);
17656
17657    [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
17658    BSTR ie8_src();
17659}
17660
17661/*****************************************************************************
17662 *    IHTMLObjectElement interface
17663 */
17664[
17665    odl,
17666    oleautomation,
17667    dual,
17668    uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
17669]
17670interface IHTMLObjectElement : IDispatch
17671{
17672    [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
17673    HRESULT object([retval, out] IDispatch **p);
17674
17675    [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
17676    HRESULT classid([retval, out] BSTR *p);
17677
17678    [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
17679    HRESULT data([retval, out] BSTR *p);
17680
17681    [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
17682    HRESULT recordset([in] IDispatch *v);
17683
17684    [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
17685    HRESULT recordset([retval, out] IDispatch **p);
17686
17687    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
17688    HRESULT align([in] BSTR v);
17689
17690    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
17691    HRESULT align([retval, out] BSTR *p);
17692
17693    [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
17694    HRESULT name([in] BSTR v);
17695
17696    [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
17697    HRESULT name([retval, out] BSTR *p);
17698
17699    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
17700    HRESULT codeBase([in] BSTR v);
17701
17702    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
17703    HRESULT codeBase([retval, out] BSTR *p);
17704
17705    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
17706    HRESULT codeType([in] BSTR v);
17707
17708    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
17709    HRESULT codeType([retval, out] BSTR *p);
17710
17711    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
17712    HRESULT code([in] BSTR v);
17713
17714    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
17715    HRESULT code([retval, out] BSTR *p);
17716
17717    [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
17718    HRESULT BaseHref([retval, out] BSTR *p);
17719
17720    [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
17721    HRESULT type([in] BSTR v);
17722
17723    [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
17724    HRESULT type([retval, out] BSTR *p);
17725
17726    [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
17727    HRESULT form([retval, out] IHTMLFormElement **p);
17728
17729    [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
17730    HRESULT width([in] VARIANT v);
17731
17732    [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
17733    HRESULT width([retval, out] VARIANT *p);
17734
17735    [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
17736    HRESULT height([in] VARIANT v);
17737
17738    [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
17739    HRESULT height([retval, out] VARIANT *p);
17740
17741    [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
17742    HRESULT readyState([retval, out] long *p);
17743
17744    [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17745    HRESULT onreadystatechange([in] VARIANT v);
17746
17747    [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17748    HRESULT onreadystatechange([retval, out] VARIANT *p);
17749
17750    [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
17751    HRESULT onerror([in] VARIANT v);
17752
17753    [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
17754    HRESULT onerror([retval, out] VARIANT *p);
17755
17756    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
17757    HRESULT altHtml([in] BSTR v);
17758
17759    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
17760    HRESULT altHtml([retval, out] BSTR *p);
17761
17762    [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
17763    HRESULT vspace([in] long v);
17764
17765    [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
17766    HRESULT vspace([retval, out] long *p);
17767
17768    [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
17769    HRESULT hspace([in] long v);
17770
17771    [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
17772    HRESULT hspace([retval, out] long *p);
17773}
17774
17775/*****************************************************************************
17776 *    IHTMLObjectElement2 interface
17777 */
17778[
17779    odl,
17780    oleautomation,
17781    dual,
17782    uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
17783]
17784interface IHTMLObjectElement2 : IDispatch
17785{
17786    [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
17787    HRESULT namedRecordset(
17788            [in] BSTR dataMember,
17789            [in, optional] VARIANT *hierarchy,
17790            [out, retval] IDispatch **ppRecordset);
17791
17792    [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
17793    HRESULT classid([in] BSTR v);
17794
17795    [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
17796    HRESULT classid([out, retval] BSTR *p);
17797
17798    [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
17799    HRESULT data([in] BSTR v);
17800
17801    [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
17802    HRESULT data([out, retval] BSTR *p);
17803}
17804
17805/*****************************************************************************
17806 *    IHTMLParamElement interface
17807 */
17808[
17809    odl,
17810    oleautomation,
17811    dual,
17812    uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
17813]
17814interface IHTMLParamElement : IDispatch
17815{
17816    [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
17817    HRESULT name([in] BSTR v);
17818
17819    [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
17820    HRESULT name([retval, out] BSTR *p);
17821
17822    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
17823    HRESULT value([in] BSTR v);
17824
17825    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
17826    HRESULT value([retval, out] BSTR *p);
17827
17828    [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
17829    HRESULT type([in] BSTR v);
17830
17831    [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
17832    HRESULT type([retval, out] BSTR *p);
17833
17834    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
17835    HRESULT valueType([in] BSTR v);
17836
17837    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
17838    HRESULT valueType([retval, out] BSTR *p);
17839}
17840
17841/*****************************************************************************
17842 *    IHTMLParamElement2 interface
17843 */
17844[
17845    odl,
17846    oleautomation,
17847    dual,
17848    uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
17849]
17850interface IHTMLParamElement2 : IDispatch
17851{
17852    [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
17853    HRESULT name([in] BSTR v);
17854
17855    [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
17856    HRESULT name([retval, out] BSTR *p);
17857
17858    [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
17859    HRESULT type([in] BSTR v);
17860
17861    [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
17862    HRESULT type([retval, out] BSTR *p);
17863
17864    [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
17865    HRESULT value([in] BSTR v);
17866
17867    [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
17868    HRESULT value([retval, out] BSTR *p);
17869
17870    [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17871    HRESULT valueType([in] BSTR v);
17872
17873    [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
17874    HRESULT valueType([retval, out] BSTR *p);
17875}
17876
17877/*****************************************************************************
17878 *    DispHTMLObjectElement dispinterface
17879 */
17880[
17881    hidden,
17882    uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
17883]
17884dispinterface DispHTMLObjectElement
17885{
17886properties:
17887methods:
17888    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17889
17890    [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
17891    IDispatch *object();
17892
17893    [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
17894    void recordset(IDispatch *v);
17895
17896    [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
17897    IDispatch *recordset();
17898
17899    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
17900    void align(BSTR v);
17901
17902    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
17903    BSTR align();
17904
17905    [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
17906    void name(BSTR v);
17907
17908    [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
17909    BSTR name();
17910
17911    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
17912    void codeBase(BSTR v);
17913
17914    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
17915    BSTR codeBase();
17916
17917    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
17918    void codeType(BSTR v);
17919
17920    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
17921    BSTR codeType();
17922
17923    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
17924    void code(BSTR v);
17925
17926    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
17927    BSTR code();
17928
17929    [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
17930    BSTR BaseHref();
17931
17932    [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
17933    void type(BSTR v);
17934
17935    [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
17936    BSTR type();
17937
17938    [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
17939    IHTMLFormElement *form();
17940
17941    [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
17942    void width(VARIANT v);
17943
17944    [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
17945    VARIANT width();
17946
17947    [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
17948    void height(VARIANT v);
17949
17950    [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
17951    VARIANT height();
17952
17953    [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
17954    void onerror(VARIANT v);
17955
17956    [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
17957    VARIANT onerror();
17958
17959    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
17960    void altHtml(BSTR v);
17961
17962    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
17963    BSTR altHtml();
17964
17965    [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
17966    void vspace(long v);
17967
17968    [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
17969    long vspace();
17970
17971    [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
17972    void hspace(long v);
17973
17974    [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
17975    long hspace();
17976
17977    [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
17978    IDispatch *namedRecordset(
17979            [in] BSTR dataMember,
17980            [optional, in] VARIANT *hierarchy);
17981
17982    [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
17983    void classid(BSTR v);
17984
17985    [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
17986    BSTR classid();
17987
17988    [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
17989    void data(BSTR v);
17990
17991    [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
17992    BSTR data();
17993
17994    [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
17995    void archive(BSTR v);
17996
17997    [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
17998    BSTR archive();
17999
18000    [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
18001    void alt(BSTR v);
18002
18003    [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
18004    BSTR alt();
18005
18006    [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
18007    void declare(VARIANT_BOOL v);
18008
18009    [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
18010    VARIANT_BOOL declare();
18011
18012    [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
18013    void standby(BSTR v);
18014
18015    [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
18016    BSTR standby();
18017
18018    [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
18019    void border(VARIANT v);
18020
18021    [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
18022    VARIANT border();
18023
18024    [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
18025    void useMap(BSTR v);
18026
18027    [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
18028    BSTR useMap();
18029
18030    [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
18031    IDispatch *contentDocument();
18032
18033    [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
18034    void ie8_codeBase(BSTR v);
18035
18036    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
18037    BSTR ie8_codeBase();
18038
18039    [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
18040    void ie8_data(BSTR v);
18041
18042    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
18043    BSTR ie8_data();
18044}
18045
18046/*****************************************************************************
18047 *    DispHTMLParamElement dispinterface
18048 */
18049[
18050    hidden,
18051    uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
18052]
18053dispinterface DispHTMLParamElement
18054{
18055properties:
18056methods:
18057    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
18058
18059    [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
18060    void name(BSTR v);
18061
18062    [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
18063    BSTR name();
18064
18065    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
18066    void value(BSTR v);
18067
18068    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
18069    BSTR value();
18070
18071    [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
18072    void type(BSTR v);
18073
18074    [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
18075    BSTR type();
18076
18077    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
18078    void valueType(BSTR v);
18079
18080    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
18081    BSTR valueType();
18082
18083    [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
18084    void ie8_valueType(BSTR v);
18085
18086    [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
18087    BSTR ie8_valueType();
18088}
18089
18090/*****************************************************************************
18091 *    IHTMLFrameBase interface
18092 */
18093[
18094    odl,
18095    oleautomation,
18096    dual,
18097    uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
18098]
18099interface IHTMLFrameBase : IDispatch
18100{
18101    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
18102    HRESULT src([in] BSTR v);
18103
18104    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
18105    HRESULT src([out, retval] BSTR *p);
18106
18107    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
18108    HRESULT name([in] BSTR v);
18109
18110    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
18111    HRESULT name([out, retval] BSTR *p);
18112
18113    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
18114    HRESULT border([in] VARIANT v);
18115
18116    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
18117    HRESULT border([out, retval] VARIANT *p);
18118
18119    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
18120    HRESULT frameBorder([in] BSTR v);
18121
18122    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
18123    HRESULT frameBorder([out, retval] BSTR *p);
18124
18125    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
18126    HRESULT frameSpacing([in] VARIANT v);
18127
18128    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
18129    HRESULT frameSpacing([out, retval] VARIANT *p);
18130
18131    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
18132    HRESULT marginWidth([in] VARIANT v);
18133
18134    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
18135    HRESULT marginWidth([out, retval] VARIANT *p);
18136
18137    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
18138    HRESULT marginHeight([in] VARIANT v);
18139
18140    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
18141    HRESULT marginHeight([out, retval] VARIANT *p);
18142
18143    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
18144    HRESULT noResize([in] VARIANT_BOOL v);
18145
18146    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
18147    HRESULT noResize([out, retval] VARIANT_BOOL *p);
18148
18149    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
18150    HRESULT scrolling([in] BSTR v);
18151
18152    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
18153    HRESULT scrolling([out, retval] BSTR *p);
18154}
18155
18156#define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
18157    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
18158    void src(BSTR v);                                   \
18159                                                        \
18160    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
18161    BSTR src();                                         \
18162                                                        \
18163    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
18164    void name(BSTR v);                                  \
18165                                                        \
18166    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
18167    BSTR name();                                        \
18168                                                        \
18169    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
18170    void border(VARIANT v);                             \
18171                                                        \
18172    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
18173    VARIANT border();                                   \
18174                                                        \
18175    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
18176    void frameBorder(BSTR v);                           \
18177                                                        \
18178    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
18179    BSTR frameBorder();                                 \
18180                                                        \
18181    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
18182    void frameSpacing(VARIANT v);                       \
18183                                                        \
18184    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
18185    VARIANT frameSpacing();                             \
18186                                                        \
18187    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
18188    void marginWidth(VARIANT v);                        \
18189                                                        \
18190    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
18191    VARIANT marginWidth();                              \
18192                                                        \
18193    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
18194    void marginHeight(VARIANT v);                       \
18195                                                        \
18196    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
18197    VARIANT marginHeight();                             \
18198                                                        \
18199    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
18200    void noResize(VARIANT_BOOL v);                      \
18201                                                        \
18202    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
18203    VARIANT_BOOL noResize();                            \
18204                                                        \
18205    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
18206    void scrolling(BSTR v);                             \
18207                                                        \
18208    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
18209    BSTR scrolling()
18210
18211/*****************************************************************************
18212 *    IHTMLFrameBase2 interface
18213 */
18214[
18215    odl,
18216    oleautomation,
18217    dual,
18218    uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
18219]
18220interface IHTMLFrameBase2 : IDispatch
18221{
18222    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
18223    HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
18224
18225    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
18226    HRESULT onload([in] VARIANT v);
18227
18228    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
18229    HRESULT onload([retval, out] VARIANT *p);
18230
18231    [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
18232    HRESULT onreadystatechange([in] VARIANT v);
18233
18234    [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
18235    HRESULT onreadystatechange([retval, out] VARIANT *p);
18236
18237    [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
18238    HRESULT readyState([retval, out] BSTR *p);
18239
18240    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
18241    HRESULT allowTransparency([in] VARIANT_BOOL v);
18242
18243    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
18244    HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
18245}
18246
18247#define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
18248    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
18249    IHTMLWindow2 *contentWindow();                                      \
18250                                                                        \
18251    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
18252    void onload(VARIANT v);                                             \
18253                                                                        \
18254    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
18255    VARIANT onload();                                                   \
18256                                                                        \
18257    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
18258    void allowTransparency(VARIANT_BOOL v);                             \
18259                                                                        \
18260    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
18261    VARIANT_BOOL allowTransparency()
18262
18263#define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
18264    [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
18265    void longDesc(BSTR v);                                                \
18266                                                                          \
18267    [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
18268    BSTR longDesc()
18269
18270
18271#define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
18272    WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
18273    WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
18274    WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
18275    WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
18276
18277/*****************************************************************************
18278 *    IHTMLFrameElement3 interface
18279 */
18280[
18281    odl,
18282    oleautomation,
18283    dual,
18284    uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
18285]
18286interface IHTMLFrameElement3 : IDispatch
18287{
18288    [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
18289    HRESULT contentDocument([out, retval] IDispatch **p);
18290
18291    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
18292    HRESULT src([in] BSTR v);
18293
18294    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
18295    HRESULT src([out, retval] BSTR *p);
18296
18297    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
18298    HRESULT longDesc([in] BSTR v);
18299
18300    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
18301    HRESULT longDesc([out, retval] BSTR *p);
18302
18303    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
18304    HRESULT frameBorder([in] BSTR v);
18305
18306    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
18307    HRESULT frameBorder([out, retval] BSTR * p);
18308}
18309
18310/*****************************************************************************
18311 *    DispHTMLFrameElement dispinterface
18312 */
18313[
18314    hidden,
18315    uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
18316]
18317dispinterface DispHTMLFrameElement
18318{
18319properties:
18320methods:
18321    WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
18322
18323    [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
18324    void borderColor(VARIANT v);
18325
18326    [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
18327    VARIANT borderColor();
18328
18329    [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
18330    void height(VARIANT v);
18331
18332    [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
18333    VARIANT height();
18334
18335    [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
18336    void width(VARIANT v);
18337
18338    [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
18339    VARIANT width();
18340
18341    [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
18342    IDispatch *contentDocument();
18343
18344    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
18345    void ie8_src(BSTR v);
18346
18347    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
18348    BSTR ie8_src();
18349
18350    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
18351    void ie8_longDesc(BSTR v);
18352
18353    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
18354    BSTR ie8_longDesc();
18355
18356    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
18357    void ie8_frameBorder(BSTR v);
18358
18359    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
18360    BSTR ie8_frameBorder();
18361}
18362
18363/*****************************************************************************
18364 *    IHTMLIFrameElement interface
18365 */
18366[
18367    odl,
18368    oleautomation,
18369    dual,
18370    uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
18371]
18372interface IHTMLIFrameElement : IDispatch
18373{
18374    [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
18375    HRESULT vspace([in] LONG v);
18376
18377    [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
18378    HRESULT vspace([retval, out] LONG *p);
18379
18380    [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
18381    HRESULT hspace([in] LONG v);
18382
18383    [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
18384    HRESULT hspace([retval, out] LONG *p);
18385
18386    [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
18387    HRESULT align([in] BSTR v);
18388
18389    [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
18390    HRESULT align([retval, out] BSTR *p);
18391}
18392
18393/*****************************************************************************
18394 *    IHTMLIFrameElement2 interface
18395 */
18396[
18397    odl,
18398    oleautomation,
18399    dual,
18400    uuid(3050f4e6-98b5-11cf-bb82-00aa00bdce0b)
18401]
18402interface IHTMLIFrameElement2 : IDispatch
18403{
18404    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
18405    HRESULT height([in] VARIANT v);
18406
18407    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
18408    HRESULT height([out, retval] VARIANT *p);
18409
18410    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
18411    HRESULT width([in] VARIANT v);
18412
18413    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
18414    HRESULT width([out, retval] VARIANT *p);
18415}
18416
18417/*****************************************************************************
18418 *    IHTMLIFrameElement3 interface
18419 */
18420[
18421    odl,
18422    oleautomation,
18423    dual,
18424    uuid(30510433-98b5-11cf-bb82-00aa00bdce0b)
18425]
18426interface IHTMLIFrameElement3 : IDispatch
18427{
18428    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)]
18429    HRESULT contentDocument([out, retval] IDispatch **p);
18430
18431    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
18432    HRESULT src([in] BSTR v);
18433
18434    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
18435    HRESULT src([out, retval] BSTR *p);
18436
18437    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
18438    HRESULT longDesc([in] BSTR v);
18439
18440    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
18441    HRESULT longDesc([out, retval] BSTR *p);
18442
18443    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
18444    HRESULT frameBorder([in] BSTR v);
18445
18446    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
18447    HRESULT frameBorder([out, retval] BSTR *p);
18448}
18449
18450/*****************************************************************************
18451 *    DispHTMLIFrame dispinterface
18452 */
18453[
18454    hidden,
18455    uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
18456]
18457dispinterface DispHTMLIFrame
18458{
18459properties:
18460methods:
18461    WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
18462
18463    [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
18464    void vspace(LONG v);
18465
18466    [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
18467    LONG vspace();
18468
18469    [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
18470    void hspace(LONG v);
18471
18472    [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
18473    LONG hspace();
18474
18475    [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
18476    void align(BSTR v);
18477
18478    [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
18479    BSTR align();
18480
18481    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
18482    void height(VARIANT v);
18483
18484    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
18485    VARIANT height();
18486
18487    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
18488    void width(VARIANT v);
18489
18490    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
18491    VARIANT width();
18492
18493    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)]
18494    IDispatch *contentDocument();
18495
18496    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
18497    void ie8_src(BSTR v);
18498
18499    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)]
18500    BSTR ie8_src();
18501
18502    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
18503    void ie8_longDesc(BSTR v);
18504
18505    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)]
18506    BSTR ie8_longDesc();
18507
18508    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
18509    void ie8_frameBorder(BSTR v);
18510
18511    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)]
18512    BSTR ie8_frameBorder();
18513}
18514
18515/*****************************************************************************
18516 *    IHTMLStyleElement interface
18517 */
18518[
18519    odl,
18520    oleautomation,
18521    dual,
18522    uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
18523]
18524interface IHTMLStyleElement : IDispatch
18525{
18526    [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
18527    HRESULT type([in] BSTR v);
18528
18529    [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
18530    HRESULT type([retval, out] BSTR *p);
18531
18532    [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
18533    HRESULT readyState([retval, out] BSTR *p);
18534
18535    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
18536    HRESULT onreadystatechange([in] VARIANT v);
18537
18538    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
18539    HRESULT onreadystatechange([retval, out] VARIANT *p);
18540
18541    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
18542    HRESULT onload([in] VARIANT v);
18543
18544    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
18545    HRESULT onload([retval, out] VARIANT *p);
18546
18547    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
18548    HRESULT onerror([in] VARIANT v);
18549
18550    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
18551    HRESULT onerror([retval, out] VARIANT *p);
18552
18553    [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
18554    HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
18555
18556    [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
18557    HRESULT disabled([in] VARIANT_BOOL v);
18558
18559    [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
18560    HRESULT disabled([retval, out] VARIANT_BOOL *p);
18561
18562    [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
18563    HRESULT media([in] BSTR v);
18564
18565    [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
18566    HRESULT media([retval, out] BSTR *p);
18567}
18568
18569/*****************************************************************************
18570 *    DispHTMLStyleElement dispinterface
18571 */
18572[
18573    hidden,
18574    uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
18575]
18576dispinterface DispHTMLStyleElement
18577{
18578properties:
18579methods:
18580    WINE_HTMLELEMENT_DISPINTERFACE_DECL;
18581
18582    [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
18583    void type(BSTR v);
18584
18585    [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
18586    BSTR type();
18587
18588    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
18589    void onload(VARIANT v);
18590
18591    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
18592    VARIANT onload();
18593
18594    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
18595    void onerror(VARIANT v);
18596
18597    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
18598    VARIANT onerror();
18599
18600    [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
18601    IHTMLStyleSheet *styleSheet();
18602
18603    [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
18604    void media(BSTR v);
18605
18606    [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
18607    BSTR media();
18608}
18609
18610/*****************************************************************************
18611 *    IHTMLStorage interface
18612 */
18613[
18614    odl,
18615    oleautomation,
18616    dual,
18617    uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
18618]
18619interface IHTMLStorage : IDispatch
18620{
18621    [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
18622    HRESULT length([out, retval] long *p);
18623
18624    [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
18625    HRESULT remainingSpace([out, retval] long *p);
18626
18627    [id(DISPID_IHTMLSTORAGE_KEY)]
18628    HRESULT key(
18629            [in] long lIndex,
18630            [out, retval] BSTR *);
18631
18632    [id(DISPID_IHTMLSTORAGE_GETITEM)]
18633    HRESULT getItem(
18634            [in] BSTR bstrKey,
18635            [out, retval] VARIANT *);
18636
18637    [id(DISPID_IHTMLSTORAGE_SETITEM)]
18638    HRESULT setItem(
18639            [in] BSTR bstrKey,
18640            [in] BSTR bstrValue);
18641
18642    [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
18643    HRESULT removeItem([in] BSTR bstrKey);
18644
18645    [id(DISPID_IHTMLSTORAGE_CLEAR)]
18646    HRESULT clear();
18647}
18648
18649/*****************************************************************************
18650 *    IDOMEventTarget interface
18651 */
18652[
18653    odl,
18654    oleautomation,
18655    dual,
18656    uuid(305104b9-98b5-11cf-bb82-00aa00bdce0b)
18657]
18658interface IEventTarget : IDispatch
18659{
18660    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
18661    HRESULT addEventListener(
18662            [in] BSTR type,
18663            [in] IDispatch *listener,
18664            [in] VARIANT_BOOL useCapture);
18665
18666    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
18667    HRESULT removeEventListener(
18668            [in] BSTR type,
18669            [in] IDispatch *listener,
18670            [in] VARIANT_BOOL useCapture);
18671
18672    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
18673    HRESULT dispatchEvent(
18674            [in] IDOMEvent *evt,
18675            [out, retval] VARIANT_BOOL *pfResult);
18676}
18677
18678/*****************************************************************************
18679 *    IDOMEvent interface
18680 */
18681[
18682    odl,
18683    oleautomation,
18684    dual,
18685    uuid(305104ba-98b5-11cf-bb82-00aa00bdce0b)
18686]
18687interface IDOMEvent : IDispatch
18688{
18689    [propget, id(DISPID_IDOMEVENT_BUBBLES)]
18690    HRESULT bubbles([out, retval] VARIANT_BOOL *p);
18691
18692    [propget, id(DISPID_IDOMEVENT_CANCELABLE)]
18693    HRESULT cancelable([out, retval] VARIANT_BOOL *p);
18694
18695    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)]
18696    HRESULT currentTarget([out, retval] IEventTarget **p);
18697
18698    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)]
18699    HRESULT defaultPrevented([out, retval] VARIANT_BOOL *p);
18700
18701    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)]
18702    HRESULT eventPhase([out, retval] USHORT *p);
18703
18704    [propget, id(DISPID_IDOMEVENT_TARGET)]
18705    HRESULT target([out, retval] IEventTarget **p);
18706
18707    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)]
18708    HRESULT timeStamp([out, retval] ULONGLONG *p);
18709
18710    [propget, id(DISPID_IDOMEVENT_TYPE)]
18711    HRESULT type([out, retval] BSTR *p);
18712
18713    [id(DISPID_IDOMEVENT_INITEVENT)]
18714    HRESULT initEvent(
18715            [in] BSTR eventType,
18716            [in] VARIANT_BOOL canBubble,
18717            [in] VARIANT_BOOL cancelable);
18718
18719    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)]
18720    HRESULT preventDefault();
18721
18722    [id(DISPID_IDOMEVENT_STOPPROPAGATION)]
18723    HRESULT stopPropagation();
18724
18725    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)]
18726    HRESULT stopImmediatePropagation();
18727
18728    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)]
18729    HRESULT isTrusted([out, retval] VARIANT_BOOL *p);
18730
18731    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
18732    HRESULT cancelBubble([in] VARIANT_BOOL v);
18733
18734    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
18735    HRESULT cancelBubble([out, retval] VARIANT_BOOL *p);
18736
18737    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)]
18738    HRESULT srcElement([out, retval] IHTMLElement **p);
18739}
18740
18741/*****************************************************************************
18742 *    IMarkupContainer interface
18743 */
18744[
18745    object,
18746    pointer_default(unique),
18747    uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
18748]
18749interface IMarkupContainer : IUnknown
18750{
18751    HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
18752}
18753
18754/*****************************************************************************
18755 *    IMarkupPointer interface
18756 */
18757[
18758    object,
18759    pointer_default(unique),
18760    uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
18761]
18762interface IMarkupPointer : IUnknown
18763{
18764    HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
18765
18766    HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
18767
18768    HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
18769
18770    HRESULT Cling([out] BOOL *pfCling);
18771
18772    HRESULT SetCling([in] BOOL fCLing);
18773
18774    HRESULT UnPosition();
18775
18776    HRESULT IsPositioned([out] BOOL *pfPositioned);
18777
18778    HRESULT GetContainer([out] IMarkupContainer **ppContainer);
18779
18780    HRESULT MoveAdjacentToElement(
18781        [in] IHTMLElement *pElement,
18782        [in] ELEMENT_ADJACENCY eAdj);
18783
18784    HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
18785
18786    HRESULT MoveToContainer(
18787        [in] IMarkupContainer *pContainer,
18788        [in] BOOL fAtStart);
18789
18790    HRESULT Left(
18791        [in] BOOL fMove,
18792        [out] MARKUP_CONTEXT_TYPE *pContext,
18793        [out] IHTMLElement **ppElement,
18794        [in, out] LONG *pcch,
18795        [out, size_is(*pcch)] OLECHAR *pchText);
18796
18797    HRESULT Right(
18798        [in] BOOL fMove,
18799        [out] MARKUP_CONTEXT_TYPE *pContext,
18800        [out] IHTMLElement **ppElement,
18801        [in, out] LONG *pcch,
18802        [out, size_is(*pcch)] OLECHAR *pchText);
18803
18804    HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
18805
18806    HRESULT IsLeftOf(
18807        [in] IMarkupPointer *pPointerThat,
18808        [out] BOOL *pfResult);
18809
18810    HRESULT IsLeftOfOrEqualTo(
18811        [in] IMarkupPointer *pPointerThat,
18812        [out] BOOL *pfResult);
18813
18814    HRESULT IsRightOf(
18815        [in] IMarkupPointer *pPointerThat,
18816        [out] BOOL *pfResult);
18817
18818    HRESULT IsRightOfOrEqualTo(
18819        [in] IMarkupPointer *pPointerThat,
18820        [out] BOOL *pfResult);
18821
18822    HRESULT IsEqualTo(
18823        [in] IMarkupPointer *pPointerThat,
18824        [out] BOOL *pfAreEqual);
18825
18826    HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
18827
18828    HRESULT FindText(
18829        [in] OLECHAR *pchFindText,
18830        [in] DWORD dwFlags,
18831        [in] IMarkupPointer *pIEndMatch,
18832        [in] IMarkupPointer *pIEndSearch);
18833}
18834
18835/*****************************************************************************
18836 *    IHTMLDOMConstructorCollection interface
18837 */
18838[
18839    odl,
18840    oleautomation,
18841    dual,
18842    uuid(3051049c-98b5-11cf-bb82-00aa00bdce0b)
18843]
18844interface IHTMLDOMConstructorCollection : IDispatch
18845{
18846    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ATTR)]
18847    HRESULT Attr([out, retval] IDispatch **p);
18848
18849    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BEHAVIORURNSCOLLECTION)]
18850    HRESULT BehaviorUrnsCollection([out, retval] IDispatch **p);
18851
18852    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BOOKMARKCOLLECTION)]
18853    HRESULT BookmarkCollection([out, retval] IDispatch **p);
18854
18855    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFO)]
18856    HRESULT CompatibleInfo([out, retval] IDispatch **p);
18857
18858    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFOCOLLECTION)]
18859    HRESULT CompatibleInfoCollection([out, retval] IDispatch **p);
18860
18861    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CONTROLRANGECOLLECTION)]
18862    HRESULT ControlRangeCollection([out, retval] IDispatch **p);
18863
18864    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSCURRENTSTYLEDECLARATION)]
18865    HRESULT CSSCurrentStyleDeclaration([out, retval] IDispatch **p);
18866
18867    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULELIST)]
18868    HRESULT CSSRuleList([out, retval] IDispatch **p);
18869
18870    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULESTYLEDECLARATION)]
18871    HRESULT CSSRuleStyleDeclaration([out, retval] IDispatch **p);
18872
18873    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLEDECLARATION)]
18874    HRESULT CSSStyleDeclaration([out, retval] IDispatch **p);
18875
18876    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLERULE)]
18877    HRESULT CSSStyleRule([out, retval] IDispatch **p);
18878
18879    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLESHEET)]
18880    HRESULT CSSStyleSheet([out, retval] IDispatch **p);
18881
18882    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DATATRANSFER)]
18883    HRESULT DataTransfer([out, retval] IDispatch **p);
18884
18885    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DOMIMPLEMENTATION)]
18886    HRESULT DOMImplementation([out, retval] IDispatch **p);
18887
18888    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ELEMENT)]
18889    HRESULT Element([out, retval] IDispatch **p);
18890
18891    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_EVENT)]
18892    HRESULT Event([out, retval] IDispatch **p);
18893
18894    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HISTORY)]
18895    HRESULT History([out, retval] IDispatch **p);
18896
18897    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTCELEMENTBEHAVIORDEFAULTS)]
18898    HRESULT HTCElementBehaviorDefaults([out, retval] IDispatch **p);
18899
18900    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLANCHORELEMENT)]
18901    HRESULT HTMLAnchorElement([out, retval] IDispatch **p);
18902
18903    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREAELEMENT)]
18904    HRESULT HTMLAreaElement([out, retval] IDispatch **p);
18905
18906    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREASCOLLECTION)]
18907    HRESULT HTMLAreasCollection([out, retval] IDispatch **p);
18908
18909    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEELEMENT)]
18910    HRESULT HTMLBaseElement([out, retval] IDispatch **p);
18911
18912    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEFONTELEMENT)]
18913    HRESULT HTMLBaseFontElement([out, retval] IDispatch **p);
18914
18915    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBGSOUNDELEMENT)]
18916    HRESULT HTMLBGSoundElement([out, retval] IDispatch **p);
18917
18918    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBLOCKELEMENT)]
18919    HRESULT HTMLBlockElement([out, retval] IDispatch **p);
18920
18921    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBODYELEMENT)]
18922    HRESULT HTMLBodyElement([out, retval] IDispatch **p);
18923
18924    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBRELEMENT)]
18925    HRESULT HTMLBRElement([out, retval] IDispatch **p);
18926
18927    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBUTTONELEMENT)]
18928    HRESULT HTMLButtonElement([out, retval] IDispatch **p);
18929
18930    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOLLECTION)]
18931    HRESULT HTMLCollection([out, retval] IDispatch **p);
18932
18933    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOMMENTELEMENT)]
18934    HRESULT HTMLCommentElement([out, retval] IDispatch **p);
18935
18936    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDDELEMENT)]
18937    HRESULT HTMLDDElement([out, retval] IDispatch **p);
18938
18939    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDIVELEMENT)]
18940    HRESULT HTMLDivElement([out, retval] IDispatch **p);
18941
18942    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDOCUMENT)]
18943    HRESULT HTMLDocument([out, retval] IDispatch **p);
18944
18945    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDLISTELEMENT)]
18946    HRESULT HTMLDListElement([out, retval] IDispatch **p);
18947
18948    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDTELEMENT)]
18949    HRESULT HTMLDTElement([out, retval] IDispatch **p);
18950
18951    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLEMBEDELEMENT)]
18952    HRESULT HTMLEmbedElement([out, retval] IDispatch **p);
18953
18954    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFIELDSETELEMENT)]
18955    HRESULT HTMLFieldSetElement([out, retval] IDispatch **p);
18956
18957    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFONTELEMENT)]
18958    HRESULT HTMLFontElement([out, retval] IDispatch **p);
18959
18960    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFORMELEMENT)]
18961    HRESULT HTMLFormElement([out, retval] IDispatch **p);
18962
18963    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMEELEMENT)]
18964    HRESULT HTMLFrameElement([out, retval] IDispatch **p);
18965
18966    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMESETELEMENT)]
18967    HRESULT HTMLFrameSetElement([out, retval] IDispatch **p);
18968
18969    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLGENERICELEMENT)]
18970    HRESULT HTMLGenericElement([out, retval] IDispatch **p);
18971
18972    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADELEMENT)]
18973    HRESULT HTMLHeadElement([out, retval] IDispatch **p);
18974
18975    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADINGELEMENT)]
18976    HRESULT HTMLHeadingElement([out, retval] IDispatch **p);
18977
18978    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHRELEMENT)]
18979    HRESULT HTMLHRElement([out, retval] IDispatch **p);
18980
18981    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHTMLELEMENT)]
18982    HRESULT HTMLHtmlElement([out, retval] IDispatch **p);
18983
18984    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIFRAMEELEMENT)]
18985    HRESULT HTMLIFrameElement([out, retval] IDispatch **p);
18986
18987    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIMAGEELEMENT)]
18988    HRESULT HTMLImageElement([out, retval] IDispatch **p);
18989
18990    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLINPUTELEMENT)]
18991    HRESULT HTMLInputElement([out, retval] IDispatch **p);
18992
18993    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLISINDEXELEMENT)]
18994    HRESULT HTMLIsIndexElement([out, retval] IDispatch **p);
18995
18996    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLABELELEMENT)]
18997    HRESULT HTMLLabelElement([out, retval] IDispatch **p);
18998
18999    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLEGENDELEMENT)]
19000    HRESULT HTMLLegendElement([out, retval] IDispatch **p);
19001
19002    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLIELEMENT)]
19003    HRESULT HTMLLIElement([out, retval] IDispatch **p);
19004
19005    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLINKELEMENT)]
19006    HRESULT HTMLLinkElement([out, retval] IDispatch **p);
19007
19008    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMAPELEMENT)]
19009    HRESULT HTMLMapElement([out, retval] IDispatch **p);
19010
19011    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMARQUEEELEMENT)]
19012    HRESULT HTMLMarqueeElement([out, retval] IDispatch **p);
19013
19014    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMETAELEMENT)]
19015    HRESULT HTMLMetaElement([out, retval] IDispatch **p);
19016
19017    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMODELESSDIALOG)]
19018    HRESULT HTMLModelessDialog([out, retval] IDispatch **p);
19019
19020    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFO)]
19021    HRESULT HTMLNamespaceInfo([out, retval] IDispatch **p);
19022
19023    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFOCOLLECTION)]
19024    HRESULT HTMLNamespaceInfoCollection([out, retval] IDispatch **p);
19025
19026    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNEXTIDELEMENT)]
19027    HRESULT HTMLNextIdElement([out, retval] IDispatch **p);
19028
19029    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNOSHOWELEMENT)]
19030    HRESULT HTMLNoShowElement([out, retval] IDispatch **p);
19031
19032    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOBJECTELEMENT)]
19033    HRESULT HTMLObjectElement([out, retval] IDispatch **p);
19034
19035    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOLISTELEMENT)]
19036    HRESULT HTMLOListElement([out, retval] IDispatch **p);
19037
19038    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOPTIONELEMENT)]
19039    HRESULT HTMLOptionElement([out, retval] IDispatch **p);
19040
19041    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAGRAPHELEMENT)]
19042    HRESULT HTMLParagraphElement([out, retval] IDispatch **p);
19043
19044    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAMELEMENT)]
19045    HRESULT HTMLParamElement([out, retval] IDispatch **p);
19046
19047    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPHRASEELEMENT)]
19048    HRESULT HTMLPhraseElement([out, retval] IDispatch **p);
19049
19050    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPLUGINSCOLLECTION)]
19051    HRESULT HTMLPluginsCollection([out, retval] IDispatch **p);
19052
19053    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPOPUP)]
19054    HRESULT HTMLPopup([out, retval] IDispatch **p);
19055
19056    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSCRIPTELEMENT)]
19057    HRESULT HTMLScriptElement([out, retval] IDispatch **p);
19058
19059    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSELECTELEMENT)]
19060    HRESULT HTMLSelectElement([out, retval] IDispatch **p);
19061
19062    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSPANELEMENT)]
19063    HRESULT HTMLSpanElement([out, retval] IDispatch **p);
19064
19065    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSTYLEELEMENT)]
19066    HRESULT HTMLStyleElement([out, retval] IDispatch **p);
19067
19068    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECAPTIONELEMENT)]
19069    HRESULT HTMLTableCaptionElement([out, retval] IDispatch **p);
19070
19071    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECELLELEMENT)]
19072    HRESULT HTMLTableCellElement([out, retval] IDispatch **p);
19073
19074    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECOLELEMENT)]
19075    HRESULT HTMLTableColElement([out, retval] IDispatch **p);
19076
19077    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEELEMENT)]
19078    HRESULT HTMLTableElement([out, retval] IDispatch **p);
19079
19080    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEROWELEMENT)]
19081    HRESULT HTMLTableRowElement([out, retval] IDispatch **p);
19082
19083    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLESECTIONELEMENT)]
19084    HRESULT HTMLTableSectionElement([out, retval] IDispatch **p);
19085
19086    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTAREAELEMENT)]
19087    HRESULT HTMLTextAreaElement([out, retval] IDispatch **p);
19088
19089    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTELEMENT)]
19090    HRESULT HTMLTextElement([out, retval] IDispatch **p);
19091
19092    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTITLEELEMENT)]
19093    HRESULT HTMLTitleElement([out, retval] IDispatch **p);
19094
19095    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLULISTELEMENT)]
19096    HRESULT HTMLUListElement([out, retval] IDispatch **p);
19097
19098    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLUNKNOWNELEMENT)]
19099    HRESULT HTMLUnknownElement([out, retval] IDispatch **p);
19100
19101    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_IMAGE)]
19102    HRESULT Image([out, retval] IDispatch **p);
19103
19104    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_LOCATION)]
19105    HRESULT Location([out, retval] IDispatch **p);
19106
19107    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAMEDNODEMAP)]
19108    HRESULT NamedNodeMap([out, retval] IDispatch **p);
19109
19110    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAVIGATOR)]
19111    HRESULT Navigator([out, retval] IDispatch **p);
19112
19113    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NODELIST)]
19114    HRESULT NodeList([out, retval] IDispatch **p);
19115
19116    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_OPTION)]
19117    HRESULT Option([out, retval] IDispatch **p);
19118
19119    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SCREEN)]
19120    HRESULT Screen([out, retval] IDispatch **p);
19121
19122    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SELECTION)]
19123    HRESULT Selection([out, retval] IDispatch **p);
19124
19125    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STATICNODELIST)]
19126    HRESULT StaticNodeList([out, retval] IDispatch **p);
19127
19128    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STORAGE)]
19129    HRESULT Storage([out, retval] IDispatch **p);
19130
19131    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETLIST)]
19132    HRESULT StyleSheetList([out, retval] IDispatch **p);
19133
19134    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGE)]
19135    HRESULT StyleSheetPage([out, retval] IDispatch **p);
19136
19137    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGELIST)]
19138    HRESULT StyleSheetPageList([out, retval] IDispatch **p);
19139
19140    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXT)]
19141    HRESULT Text([out, retval] IDispatch **p);
19142
19143    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGE)]
19144    HRESULT TextRange([out, retval] IDispatch **p);
19145
19146    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGECOLLECTION)]
19147    HRESULT TextRangeCollection([out, retval] IDispatch **p);
19148
19149    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLE)]
19150    HRESULT TextRectangle([out, retval] IDispatch **p);
19151
19152    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLELIST)]
19153    HRESULT TextRectangleList([out, retval] IDispatch **p);
19154
19155    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_WINDOW)]
19156    HRESULT Window([out, retval] IDispatch **p);
19157
19158    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XDOMAINREQUEST)]
19159    HRESULT XDomainRequest([out, retval] IDispatch **p);
19160
19161    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XMLHTTPREQUEST)]
19162    HRESULT XMLHttpRequest([out, retval] IDispatch **p);
19163}
19164
19165/*****************************************************************************
19166 *    IXMLGenericParse interface
19167 */
19168[
19169    object,
19170    pointer_default(unique),
19171    uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
19172]
19173interface IXMLGenericParse : IUnknown
19174{
19175    HRESULT SetGenericParse(
19176        [in] VARIANT_BOOL fDoGeneric);
19177}
19178
19179/*****************************************************************************
19180 *    ISegment interface
19181 */
19182[
19183    object,
19184    pointer_default(unique),
19185    uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
19186]
19187interface ISegment : IUnknown
19188{
19189    HRESULT GetPointers(
19190        [in] IMarkupPointer *pIStart,
19191        [in] IMarkupPointer *pIEnd);
19192}
19193
19194/*****************************************************************************
19195 *    IElementSegment interface
19196 */
19197[
19198    object,
19199    pointer_default(unique),
19200    uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
19201]
19202interface IElementSegment : ISegment
19203{
19204    HRESULT GetElement([out] IHTMLElement **ppIElement);
19205
19206    HRESULT SetPrimary([in] BOOL fPrimary);
19207
19208    HRESULT IsPrimary([out] BOOL *pfPrimary);
19209}
19210
19211/*****************************************************************************
19212 *    ISelectionServicesListener interface
19213 */
19214[
19215    object,
19216    pointer_default(unique),
19217    uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
19218]
19219interface ISelectionServicesListener : IUnknown
19220{
19221    HRESULT BeginSelectionUndo();
19222
19223    HRESULT EndSelectionUndo();
19224
19225    HRESULT OnSelectedElementExit(
19226        [in] IMarkupPointer *pIElementStart,
19227        [in] IMarkupPointer *pIElementEnd,
19228        [in] IMarkupPointer *pIElementContentStart,
19229        [in] IMarkupPointer *pIElementContentEnd);
19230
19231    HRESULT OnChangeType(
19232        [in] SELECTION_TYPE eType,
19233        [in] ISelectionServicesListener *pIListener);
19234
19235    HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
19236}
19237
19238/*****************************************************************************
19239 *    ISelectionServices interface
19240 */
19241[
19242    object,
19243    pointer_default(unique),
19244    uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
19245]
19246interface ISelectionServices : IUnknown
19247{
19248    HRESULT SetSelectionType(
19249        [in] SELECTION_TYPE eType,
19250        [in] ISelectionServicesListener *pIListener);
19251
19252    HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
19253
19254    HRESULT AddSegment(
19255        [in] IMarkupPointer *pIStart,
19256        [in] IMarkupPointer *pIEnd,
19257        [out] ISegment **ppISegmentAdded);
19258
19259    HRESULT AddElementSegment(
19260        [in] IHTMLElement *pIElement,
19261        [out] IElementSegment **ppISegmentAdded);
19262
19263    HRESULT RemoveSegment([in] ISegment *pISegment);
19264
19265    HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
19266}
19267
19268/*****************************************************************************
19269 *    IHTMLEditDesigner interface
19270 */
19271[
19272    object,
19273    pointer_default(unique),
19274    uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
19275]
19276interface IHTMLEditDesigner : IUnknown
19277{
19278    HRESULT PreHandleEvent(
19279        [in] DISPID inEvtDispId,
19280        [in] IHTMLEventObj *pIEventObj);
19281
19282    HRESULT PostHandleEvent(
19283        [in] DISPID inEvtDispId,
19284        [in] IHTMLEventObj *pIEventObj);
19285
19286    HRESULT TranslateAccelerator(
19287        [in] DISPID inEvtDispId,
19288        [in] IHTMLEventObj *pIEventObj);
19289
19290    HRESULT PostEditorEventNotify(
19291        [in] DISPID inEvtDispId,
19292        [in] IHTMLEventObj *pIEventObj);
19293}
19294
19295/*****************************************************************************
19296 *    IHTMLEditServices interface
19297 */
19298[
19299    object,
19300    pointer_default(unique),
19301    uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
19302]
19303interface IHTMLEditServices : IUnknown
19304{
19305    HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
19306
19307    HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
19308
19309    HRESULT GetSelectionServices(
19310        [in] IMarkupContainer *pIContainer,
19311        [out] ISelectionServices **ppSelSvc);
19312
19313    HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
19314
19315    HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
19316
19317    HRESULT SelectRange(
19318        [in] IMarkupPointer* pStart,
19319        [in] IMarkupPointer* pEnd,
19320        [in] SELECTION_TYPE eType);
19321}
19322
19323/*****************************************************************************
19324 *    IElementBehaviorSite interface
19325 */
19326[
19327    odl,
19328    uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
19329]
19330interface IElementBehaviorSite : IUnknown {
19331    HRESULT GetElement([out, retval] IHTMLElement **ppElement);
19332    HRESULT RegisterNotification([in] long lEvent);
19333}
19334
19335/*****************************************************************************
19336 *    IElementBehavior interface
19337 */
19338[
19339    odl,
19340    uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
19341]
19342interface IElementBehavior : IUnknown {
19343    HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
19344    HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
19345    HRESULT Detach();
19346}
19347
19348/*****************************************************************************
19349 *    IElementBehaviorFactory interface
19350 */
19351[
19352    odl,
19353    uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
19354]
19355interface IElementBehaviorFactory : IUnknown
19356{
19357    HRESULT FindBehavior(
19358        [in] BSTR bstrBehavior,
19359        [in] BSTR bstrBehaviorUrl,
19360        [in] IElementBehaviorSite *pSite,
19361        [out] IElementBehavior **ppBehavior);
19362}
19363
19364} /* library MSHTML */
19365
19366interface IOleCommandTarget;
19367
19368/*****************************************************************************
19369 *    IHTMLPrivateWindow interface
19370 */
19371[
19372    object,
19373    uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
19374    local
19375]
19376interface IHTMLPrivateWindow : IUnknown
19377{
19378    HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
19379    HRESULT GetPendingUrl(BSTR *url);
19380    HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
19381    HRESULT PICSComplete(int arg);
19382    HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
19383    HRESULT GetAddressBarUrl(BSTR *url);
19384}
19385
19386/*****************************************************************************
19387 *    IWebBrowserPriv interface
19388 */
19389[
19390    object,
19391    uuid(3050f804-98b5-11cf-bb82-00aa00bdce0b),
19392    local
19393]
19394interface IWebBrowserPriv : IUnknown
19395{
19396    HRESULT NavigateWithBindCtx(VARIANT *uri, VARIANT *flags, VARIANT *target_frame, VARIANT *post_data,
19397            VARIANT *headers, IBindCtx *bind_ctx, LPOLESTR url_fragment);
19398    HRESULT OnClose();
19399}
19400
19401/*****************************************************************************
19402 *    IWebBrowserPriv2IE8 interface
19403 */
19404[
19405    object,
19406    uuid(3ed72303-6ffc-4214-ba90-faf1862dec8a),
19407    local
19408]
19409interface IWebBrowserPriv2IE8 : IUnknown
19410{
19411  HRESULT NavigateWithBindCtx2(IUri *uri, VARIANT *flags, VARIANT *target_frame, VARIANT *post_data,
19412          VARIANT *headers, IBindCtx *bind_ctx, LPOLESTR url_fragment);
19413  HRESULT SetBrowserFrameOptions(DWORD opt1, DWORD opt2);
19414  HRESULT DetachConnectionPoints();
19415  HRESULT GetProcessId(DWORD *pid);
19416  HRESULT CompatAttachEditEvents();
19417  HRESULT HandleOpenOptions(IUnknown *obj, BSTR bstr, int options);
19418  HRESULT SetSearchTerm(BSTR term);
19419  HRESULT GetSearchTerm(BSTR *term);
19420  HRESULT GetCurrentDocument(IDispatch** doc);
19421}
19422
19423/*****************************************************************************
19424 *    IWebBrowserPriv2IE9 interface
19425 */
19426[
19427    object,
19428    uuid(3ed72303-6ffc-4214-ba90-faf1862dec8a),
19429    local
19430]
19431interface IWebBrowserPriv2IE9 : IUnknown
19432{
19433    HRESULT NavigateWithBindCtx2(IUri *uri, VARIANT *flags, VARIANT *target_frame, VARIANT *post_data,
19434            VARIANT *headers, IBindCtx *bind_ctx, LPOLESTR url_fragment, DWORD unused);
19435    /* Probably more */
19436}
19437