• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 
26 #ifndef DOMHTMLClasses_H
27 #define DOMHTMLClasses_H
28 
29 #include "WebKit.h"
30 #include "DOMCoreClasses.h"
31 #include <wtf/RefPtr.h>
32 
33 namespace WebCore {
34     class HTMLCollection;
35     class HTMLOptionsCollection;
36 }
37 
38 class DOMHTMLCollection : public DOMObject, public IDOMHTMLCollection
39 {
40 protected:
41     DOMHTMLCollection(WebCore::HTMLCollection* c);
42 
43 public:
44     static IDOMHTMLCollection* createInstance(WebCore::HTMLCollection*);
45 
46     // IUnknown
47     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)48     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
Release(void)49     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
50 
51     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)52     virtual HRESULT STDMETHODCALLTYPE throwException(
53         /* [in] */ BSTR exceptionMessage,
54         /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
55 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)56     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
57         /* [in] */ BSTR name,
58         /* [size_is][in] */ const VARIANT args[  ],
59         /* [in] */ int cArgs,
60         /* [retval][out] */ VARIANT *result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
61 
evaluateWebScript(BSTR script,VARIANT * result)62     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
63         /* [in] */ BSTR script,
64         /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
65 
removeWebScriptKey(BSTR name)66     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
67         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
68 
stringRepresentation(BSTR * stringRepresentation)69     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
70         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
71 
webScriptValueAtIndex(unsigned int index,VARIANT * result)72     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
73         /* [in] */ unsigned int index,
74         /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
75 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)76     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
77         /* [in] */ unsigned int index,
78         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
79 
setException(BSTR description)80     virtual HRESULT STDMETHODCALLTYPE setException(
81         /* [in] */ BSTR description) { return DOMObject::setException(description); }
82 
83     // IDOMHTMLCollection
84     virtual HRESULT STDMETHODCALLTYPE length(
85         /* [retval][out] */ UINT *result);
86 
87     virtual HRESULT STDMETHODCALLTYPE item(
88         /* [in] */ UINT index,
89         /* [retval][out] */ IDOMNode **node);
90 
91     virtual HRESULT STDMETHODCALLTYPE namedItem(
92         /* [in] */ BSTR name,
93         /* [retval][out] */ IDOMNode **node);
94 
95 protected:
96     RefPtr<WebCore::HTMLCollection> m_collection;
97 };
98 
99 class DOMHTMLOptionsCollection : public DOMObject, public IDOMHTMLOptionsCollection
100 {
101 public:
102     static IDOMHTMLOptionsCollection* createInstance(WebCore::HTMLOptionsCollection*);
103 
104     // IUnknown
105     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)106     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
Release(void)107     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
108 
109     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)110     virtual HRESULT STDMETHODCALLTYPE throwException(
111         /* [in] */ BSTR exceptionMessage,
112         /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
113 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)114     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
115         /* [in] */ BSTR name,
116         /* [size_is][in] */ const VARIANT args[  ],
117         /* [in] */ int cArgs,
118         /* [retval][out] */ VARIANT *result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
119 
evaluateWebScript(BSTR script,VARIANT * result)120     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
121         /* [in] */ BSTR script,
122         /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
123 
removeWebScriptKey(BSTR name)124     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
125         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
126 
stringRepresentation(BSTR * stringRepresentation)127     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
128         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
129 
webScriptValueAtIndex(unsigned int index,VARIANT * result)130     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
131         /* [in] */ unsigned int index,
132         /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
133 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)134     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
135         /* [in] */ unsigned int index,
136         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
137 
setException(BSTR description)138     virtual HRESULT STDMETHODCALLTYPE setException(
139         /* [in] */ BSTR description) { return DOMObject::setException(description); }
140 
141     // IDOMHTMLOptionsCollection
142     virtual HRESULT STDMETHODCALLTYPE length(
143         /* [retval][out] */ unsigned int *result);
144 
145     virtual HRESULT STDMETHODCALLTYPE setLength(
146         /* [in] */ unsigned int length);
147 
148     virtual HRESULT STDMETHODCALLTYPE item(
149         /* [in] */ unsigned int index,
150         /* [retval][out] */ IDOMNode **result);
151 
152     virtual HRESULT STDMETHODCALLTYPE namedItem(
153         /* [in] */ BSTR name,
154         /* [retval][out] */ IDOMNode **result);
155 
156 private:
157     DOMHTMLOptionsCollection(WebCore::HTMLOptionsCollection*);
158 
159     RefPtr<WebCore::HTMLOptionsCollection> m_collection;
160 };
161 
162 class DOMHTMLDocument : public DOMDocument, public IDOMHTMLDocument
163 {
164 protected:
165     DOMHTMLDocument();
166 public:
DOMHTMLDocument(WebCore::Document * d)167     DOMHTMLDocument(WebCore::Document* d) : DOMDocument(d) {}
168 
169     // IUnknown
170     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)171     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMDocument::AddRef(); }
Release(void)172     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMDocument::Release(); }
173 
174     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)175     virtual HRESULT STDMETHODCALLTYPE throwException(
176         /* [in] */ BSTR exceptionMessage,
177         /* [retval][out] */ BOOL *result) { return DOMDocument::throwException(exceptionMessage, result); }
178 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)179     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
180         /* [in] */ BSTR name,
181         /* [size_is][in] */ const VARIANT args[  ],
182         /* [in] */ int cArgs,
183         /* [retval][out] */ VARIANT *result) { return DOMDocument::callWebScriptMethod(name, args, cArgs, result); }
184 
evaluateWebScript(BSTR script,VARIANT * result)185     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
186         /* [in] */ BSTR script,
187         /* [retval][out] */ VARIANT *result) { return DOMDocument::evaluateWebScript(script, result); }
188 
removeWebScriptKey(BSTR name)189     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
190         /* [in] */ BSTR name) { return DOMDocument::removeWebScriptKey(name); }
191 
stringRepresentation(BSTR * stringRepresentation)192     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
193         /* [retval][out] */ BSTR* stringRepresentation) { return DOMDocument::stringRepresentation(stringRepresentation); }
194 
webScriptValueAtIndex(unsigned int index,VARIANT * result)195     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
196         /* [in] */ unsigned int index,
197         /* [retval][out] */ VARIANT *result) { return DOMDocument::webScriptValueAtIndex(index, result); }
198 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)199     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
200         /* [in] */ unsigned int index,
201         /* [in] */ VARIANT val) { return DOMDocument::setWebScriptValueAtIndex(index, val); }
202 
setException(BSTR description)203     virtual HRESULT STDMETHODCALLTYPE setException(
204         /* [in] */ BSTR description) { return DOMDocument::setException(description); }
205 
206     // IDOMNode
nodeName(BSTR * result)207     virtual HRESULT STDMETHODCALLTYPE nodeName(
208         /* [retval][out] */ BSTR *result) { return DOMDocument::nodeName(result); }
209 
nodeValue(BSTR * result)210     virtual HRESULT STDMETHODCALLTYPE nodeValue(
211         /* [retval][out] */ BSTR *result) { return DOMDocument::nodeValue(result); }
212 
setNodeValue(BSTR value)213     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
214         /* [in] */ BSTR value) { return setNodeValue(value); }
215 
nodeType(unsigned short * result)216     virtual HRESULT STDMETHODCALLTYPE nodeType(
217         /* [retval][out] */ unsigned short *result) { return DOMDocument::nodeType(result); }
218 
parentNode(IDOMNode ** result)219     virtual HRESULT STDMETHODCALLTYPE parentNode(
220         /* [retval][out] */ IDOMNode **result) { return DOMDocument::parentNode(result); }
221 
childNodes(IDOMNodeList ** result)222     virtual HRESULT STDMETHODCALLTYPE childNodes(
223         /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::childNodes(result); }
224 
firstChild(IDOMNode ** result)225     virtual HRESULT STDMETHODCALLTYPE firstChild(
226         /* [retval][out] */ IDOMNode **result) { return DOMDocument::firstChild(result); }
227 
lastChild(IDOMNode ** result)228     virtual HRESULT STDMETHODCALLTYPE lastChild(
229         /* [retval][out] */ IDOMNode **result) { return DOMDocument::lastChild(result); }
230 
previousSibling(IDOMNode ** result)231     virtual HRESULT STDMETHODCALLTYPE previousSibling(
232         /* [retval][out] */ IDOMNode **result) { return DOMDocument::previousSibling(result); }
233 
nextSibling(IDOMNode ** result)234     virtual HRESULT STDMETHODCALLTYPE nextSibling(
235         /* [retval][out] */ IDOMNode **result) { return DOMDocument::nextSibling(result); }
236 
attributes(IDOMNamedNodeMap ** result)237     virtual HRESULT STDMETHODCALLTYPE attributes(
238         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMDocument::attributes(result); }
239 
ownerDocument(IDOMDocument ** result)240     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
241         /* [retval][out] */ IDOMDocument **result) { return DOMDocument::ownerDocument(result); }
242 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)243     virtual HRESULT STDMETHODCALLTYPE insertBefore(
244         /* [in] */ IDOMNode *newChild,
245         /* [in] */ IDOMNode *refChild,
246         /* [retval][out] */ IDOMNode **result) { return DOMDocument::insertBefore(newChild, refChild, result); }
247 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)248     virtual HRESULT STDMETHODCALLTYPE replaceChild(
249         /* [in] */ IDOMNode *newChild,
250         /* [in] */ IDOMNode *oldChild,
251         /* [retval][out] */ IDOMNode **result) { return DOMDocument::replaceChild(newChild, oldChild, result); }
252 
removeChild(IDOMNode * oldChild,IDOMNode ** result)253     virtual HRESULT STDMETHODCALLTYPE removeChild(
254         /* [in] */ IDOMNode *oldChild,
255         /* [retval][out] */ IDOMNode **result) { return DOMDocument::removeChild(oldChild, result); }
256 
appendChild(IDOMNode * oldChild,IDOMNode ** result)257     virtual HRESULT STDMETHODCALLTYPE appendChild(
258         /* [in] */ IDOMNode *oldChild,
259         /* [retval][out] */ IDOMNode **result) { return DOMDocument::appendChild(oldChild, result); }
260 
hasChildNodes(BOOL * result)261     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
262         /* [retval][out] */ BOOL *result) { return DOMDocument::hasChildNodes(result); }
263 
cloneNode(BOOL deep,IDOMNode ** result)264     virtual HRESULT STDMETHODCALLTYPE cloneNode(
265         /* [in] */ BOOL deep,
266         /* [retval][out] */ IDOMNode **result) { return DOMDocument::cloneNode(deep, result); }
267 
normalize(void)268     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMDocument::normalize(); }
269 
isSupported(BSTR feature,BSTR version,BOOL * result)270     virtual HRESULT STDMETHODCALLTYPE isSupported(
271         /* [in] */ BSTR feature,
272         /* [in] */ BSTR version,
273         /* [retval][out] */ BOOL *result) { return DOMDocument::isSupported(feature, version, result); }
274 
namespaceURI(BSTR * result)275     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
276         /* [retval][out] */ BSTR *result) { return DOMDocument::namespaceURI(result); }
277 
prefix(BSTR * result)278     virtual HRESULT STDMETHODCALLTYPE prefix(
279         /* [retval][out] */ BSTR *result) { return DOMDocument::prefix(result); }
280 
setPrefix(BSTR prefix)281     virtual HRESULT STDMETHODCALLTYPE setPrefix(
282         /* [in] */ BSTR prefix) { return DOMDocument::setPrefix(prefix); }
283 
localName(BSTR * result)284     virtual HRESULT STDMETHODCALLTYPE localName(
285         /* [retval][out] */ BSTR *result) { return DOMDocument::localName(result); }
286 
hasAttributes(BOOL * result)287     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
288         /* [retval][out] */ BOOL *result) { return DOMDocument::hasAttributes(result); }
289 
isSameNode(IDOMNode * other,BOOL * result)290     virtual HRESULT STDMETHODCALLTYPE isSameNode(
291         /* [in] */ IDOMNode* other,
292         /* [retval][out] */ BOOL* result) { return DOMDocument::isSameNode(other, result); }
293 
isEqualNode(IDOMNode * other,BOOL * result)294     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
295         /* [in] */ IDOMNode* other,
296         /* [retval][out] */ BOOL* result) { return DOMDocument::isEqualNode(other, result); }
297 
textContent(BSTR * result)298     virtual HRESULT STDMETHODCALLTYPE textContent(
299         /* [retval][out] */ BSTR* result) { return DOMDocument::textContent(result); }
300 
setTextContent(BSTR text)301     virtual HRESULT STDMETHODCALLTYPE setTextContent(
302         /* [in] */ BSTR text) { return DOMDocument::setTextContent(text); }
303 
304     // IDOMDocument
doctype(IDOMDocumentType ** result)305     virtual HRESULT STDMETHODCALLTYPE doctype(
306         /* [retval][out] */ IDOMDocumentType **result) { return DOMDocument::doctype(result); }
307 
implementation(IDOMImplementation ** result)308     virtual HRESULT STDMETHODCALLTYPE implementation(
309         /* [retval][out] */ IDOMImplementation **result) { return DOMDocument::implementation(result); }
310 
documentElement(IDOMElement ** result)311     virtual HRESULT STDMETHODCALLTYPE documentElement(
312         /* [retval][out] */ IDOMElement **result) { return DOMDocument::documentElement(result); }
313 
createElement(BSTR tagName,IDOMElement ** result)314     virtual HRESULT STDMETHODCALLTYPE createElement(
315         /* [in] */ BSTR tagName,
316         /* [retval][out] */ IDOMElement **result) { return DOMDocument::createElement(tagName, result); }
317 
createDocumentFragment(IDOMDocumentFragment ** result)318     virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(
319         /* [retval][out] */ IDOMDocumentFragment **result) { return DOMDocument::createDocumentFragment(result); }
320 
createTextNode(BSTR data,IDOMText ** result)321     virtual HRESULT STDMETHODCALLTYPE createTextNode(
322         /* [in] */ BSTR data,
323         /* [retval][out] */ IDOMText **result) { return DOMDocument::createTextNode(data, result); }
324 
createComment(BSTR data,IDOMComment ** result)325     virtual HRESULT STDMETHODCALLTYPE createComment(
326         /* [in] */ BSTR data,
327         /* [retval][out] */ IDOMComment **result) { return DOMDocument::createComment(data, result); }
328 
createCDATASection(BSTR data,IDOMCDATASection ** result)329     virtual HRESULT STDMETHODCALLTYPE createCDATASection(
330         /* [in] */ BSTR data,
331         /* [retval][out] */ IDOMCDATASection **result) { return DOMDocument::createCDATASection(data, result); }
332 
createProcessingInstruction(BSTR target,BSTR data,IDOMProcessingInstruction ** result)333     virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(
334         /* [in] */ BSTR target,
335         /* [in] */ BSTR data,
336         /* [retval][out] */ IDOMProcessingInstruction **result) { return DOMDocument::createProcessingInstruction(target, data, result); }
337 
createAttribute(BSTR name,IDOMAttr ** result)338     virtual HRESULT STDMETHODCALLTYPE createAttribute(
339         /* [in] */ BSTR name,
340         /* [retval][out] */ IDOMAttr **result) { return DOMDocument::createAttribute(name, result); }
341 
createEntityReference(BSTR name,IDOMEntityReference ** result)342     virtual HRESULT STDMETHODCALLTYPE createEntityReference(
343         /* [in] */ BSTR name,
344         /* [retval][out] */ IDOMEntityReference **result) { return DOMDocument::createEntityReference(name, result); }
345 
getElementsByTagName(BSTR tagName,IDOMNodeList ** result)346     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
347         /* [in] */ BSTR tagName,
348         /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::getElementsByTagName(tagName, result); }
349 
importNode(IDOMNode * importedNode,BOOL deep,IDOMNode ** result)350     virtual HRESULT STDMETHODCALLTYPE importNode(
351         /* [in] */ IDOMNode *importedNode,
352         /* [in] */ BOOL deep,
353         /* [retval][out] */ IDOMNode **result) { return DOMDocument::importNode(importedNode, deep, result); }
354 
createElementNS(BSTR namespaceURI,BSTR qualifiedName,IDOMElement ** result)355     virtual HRESULT STDMETHODCALLTYPE createElementNS(
356         /* [in] */ BSTR namespaceURI,
357         /* [in] */ BSTR qualifiedName,
358         /* [retval][out] */ IDOMElement **result) { return DOMDocument::createElementNS(namespaceURI, qualifiedName, result); }
359 
createAttributeNS(BSTR namespaceURI,BSTR qualifiedName,IDOMAttr ** result)360     virtual HRESULT STDMETHODCALLTYPE createAttributeNS(
361         /* [in] */ BSTR namespaceURI,
362         /* [in] */ BSTR qualifiedName,
363         /* [retval][out] */ IDOMAttr **result) { return DOMDocument::createAttributeNS(namespaceURI, qualifiedName, result); }
364 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)365     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
366         /* [in] */ BSTR namespaceURI,
367         /* [in] */ BSTR localName,
368         /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::getElementsByTagNameNS(namespaceURI, localName, result); }
369 
getElementById(BSTR elementId,IDOMElement ** result)370     virtual HRESULT STDMETHODCALLTYPE getElementById(
371         /* [in] */ BSTR elementId,
372         /* [retval][out] */ IDOMElement **result) { return DOMDocument::getElementById(elementId, result); }
373 
374     // IDOMHTMLDocument
375     virtual HRESULT STDMETHODCALLTYPE title(
376         /* [retval][out] */ BSTR *result);
377 
378     virtual HRESULT STDMETHODCALLTYPE setTitle(
379         /* [in] */ BSTR title);
380 
381     virtual HRESULT STDMETHODCALLTYPE referrer(
382         /* [retval][out] */ BSTR *result);
383 
384     virtual HRESULT STDMETHODCALLTYPE domain(
385         /* [retval][out] */ BSTR *result);
386 
387     virtual HRESULT STDMETHODCALLTYPE URL(
388         /* [retval][out] */ BSTR *result);
389 
390     virtual HRESULT STDMETHODCALLTYPE body(
391         /* [retval][out] */ IDOMHTMLElement **bodyElement);
392 
393     virtual HRESULT STDMETHODCALLTYPE setBody(
394         /* [in] */ IDOMHTMLElement *body);
395 
396     virtual HRESULT STDMETHODCALLTYPE images(
397         /* [retval][out] */ IDOMHTMLCollection **collection);
398 
399     virtual HRESULT STDMETHODCALLTYPE applets(
400         /* [retval][out] */ IDOMHTMLCollection **collection);
401 
402     virtual HRESULT STDMETHODCALLTYPE links(
403         /* [retval][out] */ IDOMHTMLCollection **collection);
404 
405     virtual HRESULT STDMETHODCALLTYPE forms(
406         /* [retval][out] */ IDOMHTMLCollection **collection);
407 
408     virtual HRESULT STDMETHODCALLTYPE anchors(
409         /* [retval][out] */ IDOMHTMLCollection **collection);
410 
411     virtual HRESULT STDMETHODCALLTYPE cookie(
412         /* [retval][out] */ BSTR *result);
413 
414     virtual HRESULT STDMETHODCALLTYPE setCookie(
415         /* [in] */ BSTR cookie);
416 
417     virtual HRESULT STDMETHODCALLTYPE open( void);
418 
419     virtual HRESULT STDMETHODCALLTYPE close( void);
420 
421     virtual HRESULT STDMETHODCALLTYPE write(
422         /* [in] */ BSTR text);
423 
424     virtual HRESULT STDMETHODCALLTYPE writeln(
425         /* [in] */ BSTR text);
426 
427     virtual HRESULT STDMETHODCALLTYPE getElementById_(
428         /* [in] */ BSTR elementId,
429         /* [retval][out] */ IDOMElement **element);
430 
431     virtual HRESULT STDMETHODCALLTYPE getElementsByName(
432         /* [in] */ BSTR elementName,
433         /* [retval][out] */ IDOMNodeList **nodeList);
434 };
435 
436 class DOMHTMLElement : public DOMElement, public IDOMHTMLElement
437 {
438 protected:
439     DOMHTMLElement();
440 public:
DOMHTMLElement(WebCore::Element * e)441     DOMHTMLElement(WebCore::Element* e) : DOMElement(e) {}
442 
443     // IUnknown
444     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)445     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMElement::AddRef(); }
Release(void)446     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMElement::Release(); }
447 
448     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)449     virtual HRESULT STDMETHODCALLTYPE throwException(
450         /* [in] */ BSTR exceptionMessage,
451         /* [retval][out] */ BOOL *result) { return DOMElement::throwException(exceptionMessage, result); }
452 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)453     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
454         /* [in] */ BSTR name,
455         /* [size_is][in] */ const VARIANT args[  ],
456         /* [in] */ int cArgs,
457         /* [retval][out] */ VARIANT *result) { return DOMElement::callWebScriptMethod(name, args, cArgs, result); }
458 
evaluateWebScript(BSTR script,VARIANT * result)459     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
460         /* [in] */ BSTR script,
461         /* [retval][out] */ VARIANT *result) { return DOMElement::evaluateWebScript(script, result); }
462 
removeWebScriptKey(BSTR name)463     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
464         /* [in] */ BSTR name) { return DOMElement::removeWebScriptKey(name); }
465 
stringRepresentation(BSTR * stringRepresentation)466     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
467         /* [retval][out] */ BSTR* stringRepresentation) { return DOMElement::stringRepresentation(stringRepresentation); }
468 
webScriptValueAtIndex(unsigned int index,VARIANT * result)469     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
470         /* [in] */ unsigned int index,
471         /* [retval][out] */ VARIANT *result) { return DOMElement::webScriptValueAtIndex(index, result); }
472 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)473     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
474         /* [in] */ unsigned int index,
475         /* [in] */ VARIANT val) { return DOMElement::setWebScriptValueAtIndex(index, val); }
476 
setException(BSTR description)477     virtual HRESULT STDMETHODCALLTYPE setException(
478         /* [in] */ BSTR description) { return DOMElement::setException(description); }
479 
480     // IDOMNode
nodeName(BSTR * result)481     virtual HRESULT STDMETHODCALLTYPE nodeName(
482         /* [retval][out] */ BSTR *result) { return DOMElement::nodeName(result); }
483 
nodeValue(BSTR * result)484     virtual HRESULT STDMETHODCALLTYPE nodeValue(
485         /* [retval][out] */ BSTR *result) { return DOMElement::nodeValue(result); }
486 
setNodeValue(BSTR value)487     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
488         /* [in] */ BSTR value) { return DOMElement::setNodeValue(value); }
489 
nodeType(unsigned short * result)490     virtual HRESULT STDMETHODCALLTYPE nodeType(
491         /* [retval][out] */ unsigned short *result) { return DOMElement::nodeType(result); }
492 
parentNode(IDOMNode ** result)493     virtual HRESULT STDMETHODCALLTYPE parentNode(
494         /* [retval][out] */ IDOMNode **result) { return DOMElement::parentNode(result); }
495 
childNodes(IDOMNodeList ** result)496     virtual HRESULT STDMETHODCALLTYPE childNodes(
497         /* [retval][out] */ IDOMNodeList **result) { return DOMElement::childNodes(result); }
498 
firstChild(IDOMNode ** result)499     virtual HRESULT STDMETHODCALLTYPE firstChild(
500         /* [retval][out] */ IDOMNode **result) { return DOMElement::firstChild(result); }
501 
lastChild(IDOMNode ** result)502     virtual HRESULT STDMETHODCALLTYPE lastChild(
503         /* [retval][out] */ IDOMNode **result) { return DOMElement::lastChild(result); }
504 
previousSibling(IDOMNode ** result)505     virtual HRESULT STDMETHODCALLTYPE previousSibling(
506         /* [retval][out] */ IDOMNode **result) { return DOMElement::previousSibling(result); }
507 
nextSibling(IDOMNode ** result)508     virtual HRESULT STDMETHODCALLTYPE nextSibling(
509         /* [retval][out] */ IDOMNode **result) { return DOMElement::nextSibling(result); }
510 
attributes(IDOMNamedNodeMap ** result)511     virtual HRESULT STDMETHODCALLTYPE attributes(
512         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMElement::attributes(result); }
513 
ownerDocument(IDOMDocument ** result)514     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
515         /* [retval][out] */ IDOMDocument **result) { return DOMElement::ownerDocument(result); }
516 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)517     virtual HRESULT STDMETHODCALLTYPE insertBefore(
518         /* [in] */ IDOMNode *newChild,
519         /* [in] */ IDOMNode *refChild,
520         /* [retval][out] */ IDOMNode **result) { return DOMElement::insertBefore(newChild, refChild, result); }
521 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)522     virtual HRESULT STDMETHODCALLTYPE replaceChild(
523         /* [in] */ IDOMNode *newChild,
524         /* [in] */ IDOMNode *oldChild,
525         /* [retval][out] */ IDOMNode **result) { return DOMElement::replaceChild(newChild, oldChild, result); }
526 
removeChild(IDOMNode * oldChild,IDOMNode ** result)527     virtual HRESULT STDMETHODCALLTYPE removeChild(
528         /* [in] */ IDOMNode *oldChild,
529         /* [retval][out] */ IDOMNode **result) { return DOMElement::removeChild(oldChild, result); }
530 
appendChild(IDOMNode * oldChild,IDOMNode ** result)531     virtual HRESULT STDMETHODCALLTYPE appendChild(
532         /* [in] */ IDOMNode *oldChild,
533         /* [retval][out] */ IDOMNode **result) { return DOMElement::appendChild(oldChild, result); }
534 
hasChildNodes(BOOL * result)535     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
536         /* [retval][out] */ BOOL *result) { return DOMElement::hasChildNodes(result); }
537 
cloneNode(BOOL deep,IDOMNode ** result)538     virtual HRESULT STDMETHODCALLTYPE cloneNode(
539         /* [in] */ BOOL deep,
540         /* [retval][out] */ IDOMNode **result) { return DOMElement::cloneNode(deep, result); }
541 
normalize(void)542     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMElement::normalize(); }
543 
isSupported(BSTR feature,BSTR version,BOOL * result)544     virtual HRESULT STDMETHODCALLTYPE isSupported(
545         /* [in] */ BSTR feature,
546         /* [in] */ BSTR version,
547         /* [retval][out] */ BOOL *result) { return DOMElement::isSupported(feature, version, result); }
548 
namespaceURI(BSTR * result)549     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
550         /* [retval][out] */ BSTR *result) { return DOMElement::namespaceURI(result); }
551 
prefix(BSTR * result)552     virtual HRESULT STDMETHODCALLTYPE prefix(
553         /* [retval][out] */ BSTR *result) { return DOMElement::prefix(result); }
554 
setPrefix(BSTR prefix)555     virtual HRESULT STDMETHODCALLTYPE setPrefix(
556         /* [in] */ BSTR prefix) { return DOMElement::setPrefix(prefix); }
557 
localName(BSTR * result)558     virtual HRESULT STDMETHODCALLTYPE localName(
559         /* [retval][out] */ BSTR *result) { return DOMElement::localName(result); }
560 
hasAttributes(BOOL * result)561     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
562         /* [retval][out] */ BOOL *result) { return DOMElement::hasAttributes(result); }
563 
isSameNode(IDOMNode * other,BOOL * result)564     virtual HRESULT STDMETHODCALLTYPE isSameNode(
565         /* [in] */ IDOMNode* other,
566         /* [retval][out] */ BOOL* result) { return DOMElement::isSameNode(other, result); }
567 
isEqualNode(IDOMNode * other,BOOL * result)568     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
569         /* [in] */ IDOMNode* other,
570         /* [retval][out] */ BOOL* result) { return DOMElement::isEqualNode(other, result); }
571 
textContent(BSTR * result)572     virtual HRESULT STDMETHODCALLTYPE textContent(
573         /* [retval][out] */ BSTR* result) { return DOMElement::textContent(result); }
574 
setTextContent(BSTR text)575     virtual HRESULT STDMETHODCALLTYPE setTextContent(
576         /* [in] */ BSTR text) { return DOMElement::setTextContent(text); }
577 
578     // IDOMElement
tagName(BSTR * result)579     virtual HRESULT STDMETHODCALLTYPE tagName(
580         /* [retval][out] */ BSTR *result) { return DOMElement::tagName(result); }
581 
getAttribute(BSTR name,BSTR * result)582     virtual HRESULT STDMETHODCALLTYPE getAttribute(
583         /* [in] */ BSTR name,
584         /* [retval][out] */ BSTR *result) { return DOMElement::getAttribute(name, result); }
585 
setAttribute(BSTR name,BSTR value)586     virtual HRESULT STDMETHODCALLTYPE setAttribute(
587         /* [in] */ BSTR name,
588         /* [in] */ BSTR value) { return DOMElement::setAttribute(name, value); }
589 
removeAttribute(BSTR name)590     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
591         /* [in] */ BSTR name) { return DOMElement::removeAttribute(name); }
592 
getAttributeNode(BSTR name,IDOMAttr ** result)593     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
594         /* [in] */ BSTR name,
595         /* [retval][out] */ IDOMAttr **result) { return DOMElement::getAttributeNode(name, result); }
596 
setAttributeNode(IDOMAttr * newAttr,IDOMAttr ** result)597     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
598         /* [in] */ IDOMAttr *newAttr,
599         /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNode(newAttr, result); }
600 
removeAttributeNode(IDOMAttr * oldAttr,IDOMAttr ** result)601     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
602         /* [in] */ IDOMAttr *oldAttr,
603         /* [retval][out] */ IDOMAttr **result) { return DOMElement::removeAttributeNode(oldAttr, result); }
604 
getElementsByTagName(BSTR name,IDOMNodeList ** result)605     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
606         /* [in] */ BSTR name,
607         /* [retval][out] */ IDOMNodeList **result) { return DOMElement::getElementsByTagName(name, result); }
608 
getAttributeNS(BSTR namespaceURI,BSTR localName,BSTR * result)609     virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
610         /* [in] */ BSTR namespaceURI,
611         /* [in] */ BSTR localName,
612         /* [retval][out] */ BSTR *result) { return DOMElement::getAttributeNS(namespaceURI, localName, result); }
613 
setAttributeNS(BSTR namespaceURI,BSTR qualifiedName,BSTR value)614     virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
615         /* [in] */ BSTR namespaceURI,
616         /* [in] */ BSTR qualifiedName,
617         /* [in] */ BSTR value) { return DOMElement::setAttributeNS(namespaceURI, qualifiedName, value); }
618 
removeAttributeNS(BSTR namespaceURI,BSTR localName)619     virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
620         /* [in] */ BSTR namespaceURI,
621         /* [in] */ BSTR localName) { return DOMElement::removeAttributeNS(namespaceURI, localName); }
622 
getAttributeNodeNS(BSTR namespaceURI,BSTR localName,IDOMAttr ** result)623     virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
624         /* [in] */ BSTR namespaceURI,
625         /* [in] */ BSTR localName,
626         /* [retval][out] */ IDOMAttr **result) { return DOMElement::getAttributeNodeNS(namespaceURI, localName, result); }
627 
setAttributeNodeNS(IDOMAttr * newAttr,IDOMAttr ** result)628     virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
629         /* [in] */ IDOMAttr *newAttr,
630         /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNodeNS(newAttr, result); }
631 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)632     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
633         /* [in] */ BSTR namespaceURI,
634         /* [in] */ BSTR localName,
635         /* [retval][out] */ IDOMNodeList **result) { return DOMElement::getElementsByTagNameNS(namespaceURI, localName, result); }
636 
hasAttribute(BSTR name,BOOL * result)637     virtual HRESULT STDMETHODCALLTYPE hasAttribute(
638         /* [in] */ BSTR name,
639         /* [retval][out] */ BOOL *result) { return DOMElement::hasAttribute(name, result); }
640 
hasAttributeNS(BSTR namespaceURI,BSTR localName,BOOL * result)641     virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
642         /* [in] */ BSTR namespaceURI,
643         /* [in] */ BSTR localName,
644         /* [retval][out] */ BOOL *result) { return DOMElement::hasAttributeNS(namespaceURI, localName, result); }
645 
focus(void)646     virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMElement::focus(); }
647 
blur(void)648     virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMElement::blur(); }
649 
650     // IDOMHTMLElement
651     virtual HRESULT STDMETHODCALLTYPE idName(
652         /* [retval][out] */ BSTR *result);
653 
654     virtual HRESULT STDMETHODCALLTYPE setIdName(
655         /* [in] */ BSTR idName);
656 
657     virtual HRESULT STDMETHODCALLTYPE title(
658         /* [retval][out] */ BSTR *result);
659 
660     virtual HRESULT STDMETHODCALLTYPE setTitle(
661         /* [in] */ BSTR title);
662 
663     virtual HRESULT STDMETHODCALLTYPE lang(
664         /* [retval][out] */ BSTR *result);
665 
666     virtual HRESULT STDMETHODCALLTYPE setLang(
667         /* [in] */ BSTR lang);
668 
669     virtual HRESULT STDMETHODCALLTYPE dir(
670         /* [retval][out] */ BSTR *result);
671 
672     virtual HRESULT STDMETHODCALLTYPE setDir(
673         /* [in] */ BSTR dir);
674 
675     virtual HRESULT STDMETHODCALLTYPE className(
676         /* [retval][out] */ BSTR *result);
677 
678     virtual HRESULT STDMETHODCALLTYPE setClassName(
679         /* [in] */ BSTR className);
680 
681     virtual HRESULT STDMETHODCALLTYPE innerHTML(
682         /* [retval][out] */ BSTR *result);
683 
684     virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
685         /* [in] */ BSTR html);
686 
687     virtual HRESULT STDMETHODCALLTYPE innerText(
688         /* [retval][out] */ BSTR *result);
689 
690     virtual HRESULT STDMETHODCALLTYPE setInnerText(
691         /* [in] */ BSTR text);
692 
693 };
694 
695 class DOMHTMLFormElement : public DOMHTMLElement, public IDOMHTMLFormElement
696 {
697 protected:
698     DOMHTMLFormElement();
699 public:
DOMHTMLFormElement(WebCore::Element * e)700     DOMHTMLFormElement(WebCore::Element* e) : DOMHTMLElement(e) {}
701 
702     // IUnknown
703     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)704     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
Release(void)705     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
706 
707     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)708     virtual HRESULT STDMETHODCALLTYPE throwException(
709         /* [in] */ BSTR exceptionMessage,
710         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
711 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)712     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
713         /* [in] */ BSTR name,
714         /* [size_is][in] */ const VARIANT args[  ],
715         /* [in] */ int cArgs,
716         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
717 
evaluateWebScript(BSTR script,VARIANT * result)718     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
719         /* [in] */ BSTR script,
720         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
721 
removeWebScriptKey(BSTR name)722     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
723         /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
724 
stringRepresentation(BSTR * stringRepresentation)725     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
726         /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
727 
webScriptValueAtIndex(unsigned int index,VARIANT * result)728     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
729         /* [in] */ unsigned int index,
730         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
731 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)732     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
733         /* [in] */ unsigned int index,
734         /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
735 
setException(BSTR description)736     virtual HRESULT STDMETHODCALLTYPE setException(
737         /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
738 
739     // IDOMNode
nodeName(BSTR * result)740     virtual HRESULT STDMETHODCALLTYPE nodeName(
741         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
742 
nodeValue(BSTR * result)743     virtual HRESULT STDMETHODCALLTYPE nodeValue(
744         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
745 
setNodeValue(BSTR value)746     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
747         /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
748 
nodeType(unsigned short * result)749     virtual HRESULT STDMETHODCALLTYPE nodeType(
750         /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
751 
parentNode(IDOMNode ** result)752     virtual HRESULT STDMETHODCALLTYPE parentNode(
753         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
754 
childNodes(IDOMNodeList ** result)755     virtual HRESULT STDMETHODCALLTYPE childNodes(
756         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
757 
firstChild(IDOMNode ** result)758     virtual HRESULT STDMETHODCALLTYPE firstChild(
759         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
760 
lastChild(IDOMNode ** result)761     virtual HRESULT STDMETHODCALLTYPE lastChild(
762         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
763 
previousSibling(IDOMNode ** result)764     virtual HRESULT STDMETHODCALLTYPE previousSibling(
765         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
766 
nextSibling(IDOMNode ** result)767     virtual HRESULT STDMETHODCALLTYPE nextSibling(
768         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
769 
attributes(IDOMNamedNodeMap ** result)770     virtual HRESULT STDMETHODCALLTYPE attributes(
771         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
772 
ownerDocument(IDOMDocument ** result)773     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
774         /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
775 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)776     virtual HRESULT STDMETHODCALLTYPE insertBefore(
777         /* [in] */ IDOMNode *newChild,
778         /* [in] */ IDOMNode *refChild,
779         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
780 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)781     virtual HRESULT STDMETHODCALLTYPE replaceChild(
782         /* [in] */ IDOMNode *newChild,
783         /* [in] */ IDOMNode *oldChild,
784         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
785 
removeChild(IDOMNode * oldChild,IDOMNode ** result)786     virtual HRESULT STDMETHODCALLTYPE removeChild(
787         /* [in] */ IDOMNode *oldChild,
788         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
789 
appendChild(IDOMNode * oldChild,IDOMNode ** result)790     virtual HRESULT STDMETHODCALLTYPE appendChild(
791         /* [in] */ IDOMNode *oldChild,
792         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
793 
hasChildNodes(BOOL * result)794     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
795         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
796 
cloneNode(BOOL deep,IDOMNode ** result)797     virtual HRESULT STDMETHODCALLTYPE cloneNode(
798         /* [in] */ BOOL deep,
799         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
800 
normalize(void)801     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
802 
isSupported(BSTR feature,BSTR version,BOOL * result)803     virtual HRESULT STDMETHODCALLTYPE isSupported(
804         /* [in] */ BSTR feature,
805         /* [in] */ BSTR version,
806         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
807 
namespaceURI(BSTR * result)808     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
809         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
810 
prefix(BSTR * result)811     virtual HRESULT STDMETHODCALLTYPE prefix(
812         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
813 
setPrefix(BSTR prefix)814     virtual HRESULT STDMETHODCALLTYPE setPrefix(
815         /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
816 
localName(BSTR * result)817     virtual HRESULT STDMETHODCALLTYPE localName(
818         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
819 
hasAttributes(BOOL * result)820     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
821         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
822 
isSameNode(IDOMNode * other,BOOL * result)823     virtual HRESULT STDMETHODCALLTYPE isSameNode(
824         /* [in] */ IDOMNode* other,
825         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
826 
isEqualNode(IDOMNode * other,BOOL * result)827     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
828         /* [in] */ IDOMNode* other,
829         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
830 
textContent(BSTR * result)831     virtual HRESULT STDMETHODCALLTYPE textContent(
832         /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
833 
setTextContent(BSTR text)834     virtual HRESULT STDMETHODCALLTYPE setTextContent(
835         /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
836 
837     // IDOMElement
tagName(BSTR * result)838     virtual HRESULT STDMETHODCALLTYPE tagName(
839         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
840 
getAttribute(BSTR name,BSTR * result)841     virtual HRESULT STDMETHODCALLTYPE getAttribute(
842         /* [in] */ BSTR name,
843         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
844 
setAttribute(BSTR name,BSTR value)845     virtual HRESULT STDMETHODCALLTYPE setAttribute(
846         /* [in] */ BSTR name,
847         /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
848 
removeAttribute(BSTR name)849     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
850         /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
851 
getAttributeNode(BSTR name,IDOMAttr ** result)852     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
853         /* [in] */ BSTR name,
854         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
855 
setAttributeNode(IDOMAttr * newAttr,IDOMAttr ** result)856     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
857         /* [in] */ IDOMAttr *newAttr,
858         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
859 
removeAttributeNode(IDOMAttr * oldAttr,IDOMAttr ** result)860     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
861         /* [in] */ IDOMAttr *oldAttr,
862         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
863 
getElementsByTagName(BSTR name,IDOMNodeList ** result)864     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
865         /* [in] */ BSTR name,
866         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
867 
getAttributeNS(BSTR namespaceURI,BSTR localName,BSTR * result)868     virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
869         /* [in] */ BSTR namespaceURI,
870         /* [in] */ BSTR localName,
871         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
872 
setAttributeNS(BSTR namespaceURI,BSTR qualifiedName,BSTR value)873     virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
874         /* [in] */ BSTR namespaceURI,
875         /* [in] */ BSTR qualifiedName,
876         /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
877 
removeAttributeNS(BSTR namespaceURI,BSTR localName)878     virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
879         /* [in] */ BSTR namespaceURI,
880         /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
881 
getAttributeNodeNS(BSTR namespaceURI,BSTR localName,IDOMAttr ** result)882     virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
883         /* [in] */ BSTR namespaceURI,
884         /* [in] */ BSTR localName,
885         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
886 
setAttributeNodeNS(IDOMAttr * newAttr,IDOMAttr ** result)887     virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
888         /* [in] */ IDOMAttr *newAttr,
889         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
890 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)891     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
892         /* [in] */ BSTR namespaceURI,
893         /* [in] */ BSTR localName,
894         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
895 
hasAttribute(BSTR name,BOOL * result)896     virtual HRESULT STDMETHODCALLTYPE hasAttribute(
897         /* [in] */ BSTR name,
898         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
899 
hasAttributeNS(BSTR namespaceURI,BSTR localName,BOOL * result)900     virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
901         /* [in] */ BSTR namespaceURI,
902         /* [in] */ BSTR localName,
903         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
904 
focus(void)905     virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
906 
blur(void)907     virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
908 
909     // IDOMHTMLElement
idName(BSTR * result)910     virtual HRESULT STDMETHODCALLTYPE idName(
911         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
912 
setIdName(BSTR idName)913     virtual HRESULT STDMETHODCALLTYPE setIdName(
914         /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
915 
title(BSTR * result)916     virtual HRESULT STDMETHODCALLTYPE title(
917         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
918 
setTitle(BSTR title)919     virtual HRESULT STDMETHODCALLTYPE setTitle(
920         /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
921 
lang(BSTR * result)922     virtual HRESULT STDMETHODCALLTYPE lang(
923         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
924 
setLang(BSTR lang)925     virtual HRESULT STDMETHODCALLTYPE setLang(
926         /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
927 
dir(BSTR * result)928     virtual HRESULT STDMETHODCALLTYPE dir(
929         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
930 
setDir(BSTR dir)931     virtual HRESULT STDMETHODCALLTYPE setDir(
932         /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
933 
className(BSTR * result)934     virtual HRESULT STDMETHODCALLTYPE className(
935         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
936 
setClassName(BSTR className)937     virtual HRESULT STDMETHODCALLTYPE setClassName(
938         /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
939 
innerHTML(BSTR * result)940     virtual HRESULT STDMETHODCALLTYPE innerHTML(
941         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
942 
setInnerHTML(BSTR html)943     virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
944         /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
945 
innerText(BSTR * result)946     virtual HRESULT STDMETHODCALLTYPE innerText(
947         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
948 
setInnerText(BSTR text)949     virtual HRESULT STDMETHODCALLTYPE setInnerText(
950         /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
951 
952     // IDOMHTMLFormElement
953     virtual HRESULT STDMETHODCALLTYPE elements(
954         /* [retval][out] */ IDOMHTMLCollection **result);
955 
956     virtual HRESULT STDMETHODCALLTYPE length(
957         /* [retval][out] */ int *result);
958 
959     virtual HRESULT STDMETHODCALLTYPE name(
960         /* [retval][out] */ BSTR *result);
961 
962     virtual HRESULT STDMETHODCALLTYPE setName(
963         /* [in] */ BSTR name);
964 
965     virtual HRESULT STDMETHODCALLTYPE acceptCharset(
966         /* [retval][out] */ BSTR *result);
967 
968     virtual HRESULT STDMETHODCALLTYPE setAcceptCharset(
969         /* [in] */ BSTR acceptCharset);
970 
971     virtual HRESULT STDMETHODCALLTYPE action(
972         /* [retval][out] */ BSTR *result);
973 
974     virtual HRESULT STDMETHODCALLTYPE setAction(
975         /* [in] */ BSTR action);
976 
977     virtual HRESULT STDMETHODCALLTYPE encType(
978         /* [retval][out] */ BSTR *result);
979 
980     virtual HRESULT STDMETHODCALLTYPE setEnctype(
981         /* [retval][out] */ BSTR *encType);
982 
983     virtual HRESULT STDMETHODCALLTYPE method(
984         /* [retval][out] */ BSTR *method);
985 
986     virtual HRESULT STDMETHODCALLTYPE setMethod(
987         /* [in] */ BSTR method);
988 
989     virtual HRESULT STDMETHODCALLTYPE target(
990         /* [retval][out] */ BSTR *result);
991 
992     virtual HRESULT STDMETHODCALLTYPE setTarget(
993         /* [in] */ BSTR target);
994 
995     virtual HRESULT STDMETHODCALLTYPE submit( void);
996 
997     virtual HRESULT STDMETHODCALLTYPE reset( void);
998 };
999 
1000 class DOMHTMLSelectElement : public DOMHTMLElement, public IDOMHTMLSelectElement, public IFormsAutoFillTransitionSelect
1001 {
1002 protected:
1003     DOMHTMLSelectElement();
1004 public:
DOMHTMLSelectElement(WebCore::Element * e)1005     DOMHTMLSelectElement(WebCore::Element* e) : DOMHTMLElement(e) {}
1006 
1007     // IUnknown
1008     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)1009     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
Release(void)1010     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
1011 
1012     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)1013     virtual HRESULT STDMETHODCALLTYPE throwException(
1014         /* [in] */ BSTR exceptionMessage,
1015         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
1016 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)1017     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
1018         /* [in] */ BSTR name,
1019         /* [size_is][in] */ const VARIANT args[  ],
1020         /* [in] */ int cArgs,
1021         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
1022 
evaluateWebScript(BSTR script,VARIANT * result)1023     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
1024         /* [in] */ BSTR script,
1025         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
1026 
removeWebScriptKey(BSTR name)1027     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
1028         /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
1029 
stringRepresentation(BSTR * stringRepresentation)1030     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
1031         /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
1032 
webScriptValueAtIndex(unsigned int index,VARIANT * result)1033     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
1034         /* [in] */ unsigned int index,
1035         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
1036 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)1037     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
1038         /* [in] */ unsigned int index,
1039         /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
1040 
setException(BSTR description)1041     virtual HRESULT STDMETHODCALLTYPE setException(
1042         /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
1043 
1044     // IDOMNode
nodeName(BSTR * result)1045     virtual HRESULT STDMETHODCALLTYPE nodeName(
1046         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
1047 
nodeValue(BSTR * result)1048     virtual HRESULT STDMETHODCALLTYPE nodeValue(
1049         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
1050 
setNodeValue(BSTR value)1051     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
1052         /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
1053 
nodeType(unsigned short * result)1054     virtual HRESULT STDMETHODCALLTYPE nodeType(
1055         /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
1056 
parentNode(IDOMNode ** result)1057     virtual HRESULT STDMETHODCALLTYPE parentNode(
1058         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
1059 
childNodes(IDOMNodeList ** result)1060     virtual HRESULT STDMETHODCALLTYPE childNodes(
1061         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
1062 
firstChild(IDOMNode ** result)1063     virtual HRESULT STDMETHODCALLTYPE firstChild(
1064         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
1065 
lastChild(IDOMNode ** result)1066     virtual HRESULT STDMETHODCALLTYPE lastChild(
1067         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
1068 
previousSibling(IDOMNode ** result)1069     virtual HRESULT STDMETHODCALLTYPE previousSibling(
1070         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
1071 
nextSibling(IDOMNode ** result)1072     virtual HRESULT STDMETHODCALLTYPE nextSibling(
1073         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
1074 
attributes(IDOMNamedNodeMap ** result)1075     virtual HRESULT STDMETHODCALLTYPE attributes(
1076         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
1077 
ownerDocument(IDOMDocument ** result)1078     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
1079         /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
1080 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)1081     virtual HRESULT STDMETHODCALLTYPE insertBefore(
1082         /* [in] */ IDOMNode *newChild,
1083         /* [in] */ IDOMNode *refChild,
1084         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
1085 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)1086     virtual HRESULT STDMETHODCALLTYPE replaceChild(
1087         /* [in] */ IDOMNode *newChild,
1088         /* [in] */ IDOMNode *oldChild,
1089         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
1090 
removeChild(IDOMNode * oldChild,IDOMNode ** result)1091     virtual HRESULT STDMETHODCALLTYPE removeChild(
1092         /* [in] */ IDOMNode *oldChild,
1093         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
1094 
appendChild(IDOMNode * oldChild,IDOMNode ** result)1095     virtual HRESULT STDMETHODCALLTYPE appendChild(
1096         /* [in] */ IDOMNode *oldChild,
1097         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
1098 
hasChildNodes(BOOL * result)1099     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
1100         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
1101 
cloneNode(BOOL deep,IDOMNode ** result)1102     virtual HRESULT STDMETHODCALLTYPE cloneNode(
1103         /* [in] */ BOOL deep,
1104         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
1105 
normalize(void)1106     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
1107 
isSupported(BSTR feature,BSTR version,BOOL * result)1108     virtual HRESULT STDMETHODCALLTYPE isSupported(
1109         /* [in] */ BSTR feature,
1110         /* [in] */ BSTR version,
1111         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
1112 
namespaceURI(BSTR * result)1113     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
1114         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
1115 
prefix(BSTR * result)1116     virtual HRESULT STDMETHODCALLTYPE prefix(
1117         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
1118 
setPrefix(BSTR prefix)1119     virtual HRESULT STDMETHODCALLTYPE setPrefix(
1120         /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
1121 
localName(BSTR * result)1122     virtual HRESULT STDMETHODCALLTYPE localName(
1123         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
1124 
hasAttributes(BOOL * result)1125     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
1126         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
1127 
isSameNode(IDOMNode * other,BOOL * result)1128     virtual HRESULT STDMETHODCALLTYPE isSameNode(
1129         /* [in] */ IDOMNode* other,
1130         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
1131 
isEqualNode(IDOMNode * other,BOOL * result)1132     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
1133         /* [in] */ IDOMNode* other,
1134         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
1135 
textContent(BSTR * result)1136     virtual HRESULT STDMETHODCALLTYPE textContent(
1137         /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
1138 
setTextContent(BSTR text)1139     virtual HRESULT STDMETHODCALLTYPE setTextContent(
1140         /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
1141 
1142     // IDOMElement
tagName(BSTR * result)1143     virtual HRESULT STDMETHODCALLTYPE tagName(
1144         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
1145 
getAttribute(BSTR name,BSTR * result)1146     virtual HRESULT STDMETHODCALLTYPE getAttribute(
1147         /* [in] */ BSTR name,
1148         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
1149 
setAttribute(BSTR name,BSTR value)1150     virtual HRESULT STDMETHODCALLTYPE setAttribute(
1151         /* [in] */ BSTR name,
1152         /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
1153 
removeAttribute(BSTR name)1154     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
1155         /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
1156 
getAttributeNode(BSTR name,IDOMAttr ** result)1157     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
1158         /* [in] */ BSTR name,
1159         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
1160 
setAttributeNode(IDOMAttr * newAttr,IDOMAttr ** result)1161     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
1162         /* [in] */ IDOMAttr *newAttr,
1163         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
1164 
removeAttributeNode(IDOMAttr * oldAttr,IDOMAttr ** result)1165     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
1166         /* [in] */ IDOMAttr *oldAttr,
1167         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
1168 
getElementsByTagName(BSTR name,IDOMNodeList ** result)1169     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
1170         /* [in] */ BSTR name,
1171         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
1172 
getAttributeNS(BSTR namespaceURI,BSTR localName,BSTR * result)1173     virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
1174         /* [in] */ BSTR namespaceURI,
1175         /* [in] */ BSTR localName,
1176         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
1177 
setAttributeNS(BSTR namespaceURI,BSTR qualifiedName,BSTR value)1178     virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
1179         /* [in] */ BSTR namespaceURI,
1180         /* [in] */ BSTR qualifiedName,
1181         /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
1182 
removeAttributeNS(BSTR namespaceURI,BSTR localName)1183     virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
1184         /* [in] */ BSTR namespaceURI,
1185         /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
1186 
getAttributeNodeNS(BSTR namespaceURI,BSTR localName,IDOMAttr ** result)1187     virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
1188         /* [in] */ BSTR namespaceURI,
1189         /* [in] */ BSTR localName,
1190         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
1191 
setAttributeNodeNS(IDOMAttr * newAttr,IDOMAttr ** result)1192     virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
1193         /* [in] */ IDOMAttr *newAttr,
1194         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
1195 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)1196     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
1197         /* [in] */ BSTR namespaceURI,
1198         /* [in] */ BSTR localName,
1199         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
1200 
hasAttribute(BSTR name,BOOL * result)1201     virtual HRESULT STDMETHODCALLTYPE hasAttribute(
1202         /* [in] */ BSTR name,
1203         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
1204 
hasAttributeNS(BSTR namespaceURI,BSTR localName,BOOL * result)1205     virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
1206         /* [in] */ BSTR namespaceURI,
1207         /* [in] */ BSTR localName,
1208         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
1209 
focus(void)1210     virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
1211 
blur(void)1212     virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
1213 
1214     // IDOMHTMLElement
idName(BSTR * result)1215     virtual HRESULT STDMETHODCALLTYPE idName(
1216         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
1217 
setIdName(BSTR idName)1218     virtual HRESULT STDMETHODCALLTYPE setIdName(
1219         /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
1220 
title(BSTR * result)1221     virtual HRESULT STDMETHODCALLTYPE title(
1222         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
1223 
setTitle(BSTR title)1224     virtual HRESULT STDMETHODCALLTYPE setTitle(
1225         /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
1226 
lang(BSTR * result)1227     virtual HRESULT STDMETHODCALLTYPE lang(
1228         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
1229 
setLang(BSTR lang)1230     virtual HRESULT STDMETHODCALLTYPE setLang(
1231         /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
1232 
dir(BSTR * result)1233     virtual HRESULT STDMETHODCALLTYPE dir(
1234         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
1235 
setDir(BSTR dir)1236     virtual HRESULT STDMETHODCALLTYPE setDir(
1237         /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
1238 
className(BSTR * result)1239     virtual HRESULT STDMETHODCALLTYPE className(
1240         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
1241 
setClassName(BSTR className)1242     virtual HRESULT STDMETHODCALLTYPE setClassName(
1243         /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
1244 
innerHTML(BSTR * result)1245     virtual HRESULT STDMETHODCALLTYPE innerHTML(
1246         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
1247 
setInnerHTML(BSTR html)1248     virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
1249         /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
1250 
innerText(BSTR * result)1251     virtual HRESULT STDMETHODCALLTYPE innerText(
1252         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
1253 
setInnerText(BSTR text)1254     virtual HRESULT STDMETHODCALLTYPE setInnerText(
1255         /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
1256 
1257     // IDOMHTMLSelectElement
1258     virtual HRESULT STDMETHODCALLTYPE type(
1259         /* [retval][out] */ BSTR *result);
1260 
1261     virtual HRESULT STDMETHODCALLTYPE selectedIndex(
1262         /* [retval][out] */ int *result);
1263 
1264     virtual HRESULT STDMETHODCALLTYPE setSelectedIndx(
1265         /* [in] */ int selectedIndex);
1266 
1267     virtual HRESULT STDMETHODCALLTYPE value(
1268         /* [retval][out] */ BSTR *result);
1269 
1270     virtual HRESULT STDMETHODCALLTYPE setValue(
1271         /* [in] */ BSTR value);
1272 
1273     virtual HRESULT STDMETHODCALLTYPE length(
1274         /* [retval][out] */ int *result);
1275 
1276     virtual HRESULT STDMETHODCALLTYPE form(
1277         /* [retval][out] */ IDOMHTMLFormElement **result);
1278 
1279     virtual HRESULT STDMETHODCALLTYPE options(
1280         /* [retval][out] */ IDOMHTMLOptionsCollection **result);
1281 
1282     virtual HRESULT STDMETHODCALLTYPE disabled(
1283         /* [retval][out] */ BOOL *result);
1284 
1285     virtual HRESULT STDMETHODCALLTYPE setDisabled(
1286         /* [in] */ BOOL disabled);
1287 
1288     virtual HRESULT STDMETHODCALLTYPE multiple(
1289         /* [retval][out] */ BOOL *result);
1290 
1291     virtual HRESULT STDMETHODCALLTYPE setMultiple(
1292         /* [in] */ BOOL multiple);
1293 
1294     virtual HRESULT STDMETHODCALLTYPE name(
1295         /* [retval][out] */ BSTR *result);
1296 
1297     virtual HRESULT STDMETHODCALLTYPE setName(
1298         /* [in] */ BSTR name);
1299 
1300     virtual HRESULT STDMETHODCALLTYPE size(
1301         /* [retval][out] */ int *size);
1302 
1303     virtual HRESULT STDMETHODCALLTYPE setSize(
1304         /* [in] */ int size);
1305 
1306     virtual HRESULT STDMETHODCALLTYPE tabIndex(
1307         /* [retval][out] */ int *result);
1308 
1309     virtual HRESULT STDMETHODCALLTYPE setTabIndex(
1310         /* [in] */ int tabIndex);
1311 
1312     virtual HRESULT STDMETHODCALLTYPE add(
1313         /* [in] */ IDOMHTMLElement *element,
1314         /* [in] */ IDOMHTMLElement *before);
1315 
1316     virtual HRESULT STDMETHODCALLTYPE remove(
1317         /* [in] */ int index);
1318 
1319     // IFormsAutoFillTransitionSelect
1320     virtual HRESULT STDMETHODCALLTYPE activateItemAtIndex(
1321         /* [in] */ int index);
1322 };
1323 
1324 class DOMHTMLOptionElement : public DOMHTMLElement, public IDOMHTMLOptionElement
1325 {
1326 protected:
1327     DOMHTMLOptionElement();
1328 public:
DOMHTMLOptionElement(WebCore::Element * e)1329     DOMHTMLOptionElement(WebCore::Element* e) : DOMHTMLElement(e) {}
1330 
1331     // IUnknown
1332     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)1333     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
Release(void)1334     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
1335 
1336     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)1337     virtual HRESULT STDMETHODCALLTYPE throwException(
1338         /* [in] */ BSTR exceptionMessage,
1339         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
1340 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)1341     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
1342         /* [in] */ BSTR name,
1343         /* [size_is][in] */ const VARIANT args[  ],
1344         /* [in] */ int cArgs,
1345         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
1346 
evaluateWebScript(BSTR script,VARIANT * result)1347     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
1348         /* [in] */ BSTR script,
1349         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
1350 
removeWebScriptKey(BSTR name)1351     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
1352         /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
1353 
stringRepresentation(BSTR * stringRepresentation)1354     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
1355         /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
1356 
webScriptValueAtIndex(unsigned int index,VARIANT * result)1357     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
1358         /* [in] */ unsigned int index,
1359         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
1360 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)1361     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
1362         /* [in] */ unsigned int index,
1363         /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
1364 
setException(BSTR description)1365     virtual HRESULT STDMETHODCALLTYPE setException(
1366         /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
1367 
1368     // IDOMNode
nodeName(BSTR * result)1369     virtual HRESULT STDMETHODCALLTYPE nodeName(
1370         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
1371 
nodeValue(BSTR * result)1372     virtual HRESULT STDMETHODCALLTYPE nodeValue(
1373         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
1374 
setNodeValue(BSTR value)1375     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
1376         /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
1377 
nodeType(unsigned short * result)1378     virtual HRESULT STDMETHODCALLTYPE nodeType(
1379         /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
1380 
parentNode(IDOMNode ** result)1381     virtual HRESULT STDMETHODCALLTYPE parentNode(
1382         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
1383 
childNodes(IDOMNodeList ** result)1384     virtual HRESULT STDMETHODCALLTYPE childNodes(
1385         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
1386 
firstChild(IDOMNode ** result)1387     virtual HRESULT STDMETHODCALLTYPE firstChild(
1388         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
1389 
lastChild(IDOMNode ** result)1390     virtual HRESULT STDMETHODCALLTYPE lastChild(
1391         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
1392 
previousSibling(IDOMNode ** result)1393     virtual HRESULT STDMETHODCALLTYPE previousSibling(
1394         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
1395 
nextSibling(IDOMNode ** result)1396     virtual HRESULT STDMETHODCALLTYPE nextSibling(
1397         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
1398 
attributes(IDOMNamedNodeMap ** result)1399     virtual HRESULT STDMETHODCALLTYPE attributes(
1400         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
1401 
ownerDocument(IDOMDocument ** result)1402     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
1403         /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
1404 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)1405     virtual HRESULT STDMETHODCALLTYPE insertBefore(
1406         /* [in] */ IDOMNode *newChild,
1407         /* [in] */ IDOMNode *refChild,
1408         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
1409 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)1410     virtual HRESULT STDMETHODCALLTYPE replaceChild(
1411         /* [in] */ IDOMNode *newChild,
1412         /* [in] */ IDOMNode *oldChild,
1413         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
1414 
removeChild(IDOMNode * oldChild,IDOMNode ** result)1415     virtual HRESULT STDMETHODCALLTYPE removeChild(
1416         /* [in] */ IDOMNode *oldChild,
1417         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
1418 
appendChild(IDOMNode * oldChild,IDOMNode ** result)1419     virtual HRESULT STDMETHODCALLTYPE appendChild(
1420         /* [in] */ IDOMNode *oldChild,
1421         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
1422 
hasChildNodes(BOOL * result)1423     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
1424         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
1425 
cloneNode(BOOL deep,IDOMNode ** result)1426     virtual HRESULT STDMETHODCALLTYPE cloneNode(
1427         /* [in] */ BOOL deep,
1428         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
1429 
normalize(void)1430     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
1431 
isSupported(BSTR feature,BSTR version,BOOL * result)1432     virtual HRESULT STDMETHODCALLTYPE isSupported(
1433         /* [in] */ BSTR feature,
1434         /* [in] */ BSTR version,
1435         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
1436 
namespaceURI(BSTR * result)1437     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
1438         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
1439 
prefix(BSTR * result)1440     virtual HRESULT STDMETHODCALLTYPE prefix(
1441         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
1442 
setPrefix(BSTR prefix)1443     virtual HRESULT STDMETHODCALLTYPE setPrefix(
1444         /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
1445 
localName(BSTR * result)1446     virtual HRESULT STDMETHODCALLTYPE localName(
1447         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
1448 
hasAttributes(BOOL * result)1449     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
1450         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
1451 
isSameNode(IDOMNode * other,BOOL * result)1452     virtual HRESULT STDMETHODCALLTYPE isSameNode(
1453         /* [in] */ IDOMNode* other,
1454         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
1455 
isEqualNode(IDOMNode * other,BOOL * result)1456     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
1457         /* [in] */ IDOMNode* other,
1458         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
1459 
textContent(BSTR * result)1460     virtual HRESULT STDMETHODCALLTYPE textContent(
1461         /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
1462 
setTextContent(BSTR text)1463     virtual HRESULT STDMETHODCALLTYPE setTextContent(
1464         /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
1465 
1466     // IDOMElement
tagName(BSTR * result)1467     virtual HRESULT STDMETHODCALLTYPE tagName(
1468         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
1469 
getAttribute(BSTR name,BSTR * result)1470     virtual HRESULT STDMETHODCALLTYPE getAttribute(
1471         /* [in] */ BSTR name,
1472         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
1473 
setAttribute(BSTR name,BSTR value)1474     virtual HRESULT STDMETHODCALLTYPE setAttribute(
1475         /* [in] */ BSTR name,
1476         /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
1477 
removeAttribute(BSTR name)1478     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
1479         /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
1480 
getAttributeNode(BSTR name,IDOMAttr ** result)1481     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
1482         /* [in] */ BSTR name,
1483         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
1484 
setAttributeNode(IDOMAttr * newAttr,IDOMAttr ** result)1485     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
1486         /* [in] */ IDOMAttr *newAttr,
1487         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
1488 
removeAttributeNode(IDOMAttr * oldAttr,IDOMAttr ** result)1489     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
1490         /* [in] */ IDOMAttr *oldAttr,
1491         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
1492 
getElementsByTagName(BSTR name,IDOMNodeList ** result)1493     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
1494         /* [in] */ BSTR name,
1495         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
1496 
getAttributeNS(BSTR namespaceURI,BSTR localName,BSTR * result)1497     virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
1498         /* [in] */ BSTR namespaceURI,
1499         /* [in] */ BSTR localName,
1500         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
1501 
setAttributeNS(BSTR namespaceURI,BSTR qualifiedName,BSTR value)1502     virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
1503         /* [in] */ BSTR namespaceURI,
1504         /* [in] */ BSTR qualifiedName,
1505         /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
1506 
removeAttributeNS(BSTR namespaceURI,BSTR localName)1507     virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
1508         /* [in] */ BSTR namespaceURI,
1509         /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
1510 
getAttributeNodeNS(BSTR namespaceURI,BSTR localName,IDOMAttr ** result)1511     virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
1512         /* [in] */ BSTR namespaceURI,
1513         /* [in] */ BSTR localName,
1514         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
1515 
setAttributeNodeNS(IDOMAttr * newAttr,IDOMAttr ** result)1516     virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
1517         /* [in] */ IDOMAttr *newAttr,
1518         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
1519 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)1520     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
1521         /* [in] */ BSTR namespaceURI,
1522         /* [in] */ BSTR localName,
1523         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
1524 
hasAttribute(BSTR name,BOOL * result)1525     virtual HRESULT STDMETHODCALLTYPE hasAttribute(
1526         /* [in] */ BSTR name,
1527         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
1528 
hasAttributeNS(BSTR namespaceURI,BSTR localName,BOOL * result)1529     virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
1530         /* [in] */ BSTR namespaceURI,
1531         /* [in] */ BSTR localName,
1532         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
1533 
focus(void)1534     virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
1535 
blur(void)1536     virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
1537 
1538     // IDOMHTMLElement
idName(BSTR * result)1539     virtual HRESULT STDMETHODCALLTYPE idName(
1540         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
1541 
setIdName(BSTR idName)1542     virtual HRESULT STDMETHODCALLTYPE setIdName(
1543         /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
1544 
title(BSTR * result)1545     virtual HRESULT STDMETHODCALLTYPE title(
1546         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
1547 
setTitle(BSTR title)1548     virtual HRESULT STDMETHODCALLTYPE setTitle(
1549         /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
1550 
lang(BSTR * result)1551     virtual HRESULT STDMETHODCALLTYPE lang(
1552         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
1553 
setLang(BSTR lang)1554     virtual HRESULT STDMETHODCALLTYPE setLang(
1555         /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
1556 
dir(BSTR * result)1557     virtual HRESULT STDMETHODCALLTYPE dir(
1558         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
1559 
setDir(BSTR dir)1560     virtual HRESULT STDMETHODCALLTYPE setDir(
1561         /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
1562 
className(BSTR * result)1563     virtual HRESULT STDMETHODCALLTYPE className(
1564         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
1565 
setClassName(BSTR className)1566     virtual HRESULT STDMETHODCALLTYPE setClassName(
1567         /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
1568 
innerHTML(BSTR * result)1569     virtual HRESULT STDMETHODCALLTYPE innerHTML(
1570         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
1571 
setInnerHTML(BSTR html)1572     virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
1573         /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
1574 
innerText(BSTR * result)1575     virtual HRESULT STDMETHODCALLTYPE innerText(
1576         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
1577 
setInnerText(BSTR text)1578     virtual HRESULT STDMETHODCALLTYPE setInnerText(
1579         /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
1580 
1581     // IDOMHTMLOptionElement
1582     virtual HRESULT STDMETHODCALLTYPE form(
1583         /* [retval][out] */ IDOMHTMLFormElement **result);
1584 
1585     virtual HRESULT STDMETHODCALLTYPE defaultSelected(
1586         /* [retval][out] */ BOOL *result);
1587 
1588     virtual HRESULT STDMETHODCALLTYPE setDefaultSelected(
1589         /* [in] */ BOOL defaultSelected);
1590 
1591     virtual HRESULT STDMETHODCALLTYPE text(
1592         /* [retval][out] */ BSTR *result);
1593 
1594     virtual HRESULT STDMETHODCALLTYPE index(
1595         /* [retval][out] */ int *result);
1596 
1597     virtual HRESULT STDMETHODCALLTYPE disabled(
1598         /* [retval][out] */ BOOL *result);
1599 
1600     virtual HRESULT STDMETHODCALLTYPE setDisabled(
1601         /* [in] */ BOOL disabled);
1602 
1603     virtual HRESULT STDMETHODCALLTYPE label(
1604         /* [retval][out] */ BSTR *result);
1605 
1606     virtual HRESULT STDMETHODCALLTYPE setLabel(
1607         /* [in] */ BSTR label);
1608 
1609     virtual HRESULT STDMETHODCALLTYPE selected(
1610         /* [retval][out] */ BOOL *result);
1611 
1612     virtual HRESULT STDMETHODCALLTYPE setSelected(
1613         /* [in] */ BOOL selected);
1614 
1615     virtual HRESULT STDMETHODCALLTYPE value(
1616         /* [retval][out] */ BSTR *result);
1617 
1618     virtual HRESULT STDMETHODCALLTYPE setValue(
1619         /* [in] */ BSTR value);
1620 };
1621 
1622 class DOMHTMLInputElement : public DOMHTMLElement, public IDOMHTMLInputElement, public IFormsAutoFillTransition, public IFormPromptAdditions
1623 {
1624 protected:
1625     DOMHTMLInputElement();
1626 public:
DOMHTMLInputElement(WebCore::Element * e)1627     DOMHTMLInputElement(WebCore::Element* e) : DOMHTMLElement(e) {}
1628 
1629     // IUnknown
1630     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)1631     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
Release(void)1632     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
1633 
1634     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)1635     virtual HRESULT STDMETHODCALLTYPE throwException(
1636         /* [in] */ BSTR exceptionMessage,
1637         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
1638 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)1639     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
1640         /* [in] */ BSTR name,
1641         /* [size_is][in] */ const VARIANT args[  ],
1642         /* [in] */ int cArgs,
1643         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
1644 
evaluateWebScript(BSTR script,VARIANT * result)1645     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
1646         /* [in] */ BSTR script,
1647         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
1648 
removeWebScriptKey(BSTR name)1649     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
1650         /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
1651 
stringRepresentation(BSTR * stringRepresentation)1652     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
1653         /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
1654 
webScriptValueAtIndex(unsigned int index,VARIANT * result)1655     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
1656         /* [in] */ unsigned int index,
1657         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
1658 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)1659     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
1660         /* [in] */ unsigned int index,
1661         /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
1662 
setException(BSTR description)1663     virtual HRESULT STDMETHODCALLTYPE setException(
1664         /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
1665 
1666     // IDOMNode
nodeName(BSTR * result)1667     virtual HRESULT STDMETHODCALLTYPE nodeName(
1668         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
1669 
nodeValue(BSTR * result)1670     virtual HRESULT STDMETHODCALLTYPE nodeValue(
1671         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
1672 
setNodeValue(BSTR value)1673     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
1674         /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
1675 
nodeType(unsigned short * result)1676     virtual HRESULT STDMETHODCALLTYPE nodeType(
1677         /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
1678 
parentNode(IDOMNode ** result)1679     virtual HRESULT STDMETHODCALLTYPE parentNode(
1680         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
1681 
childNodes(IDOMNodeList ** result)1682     virtual HRESULT STDMETHODCALLTYPE childNodes(
1683         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
1684 
firstChild(IDOMNode ** result)1685     virtual HRESULT STDMETHODCALLTYPE firstChild(
1686         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
1687 
lastChild(IDOMNode ** result)1688     virtual HRESULT STDMETHODCALLTYPE lastChild(
1689         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
1690 
previousSibling(IDOMNode ** result)1691     virtual HRESULT STDMETHODCALLTYPE previousSibling(
1692         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
1693 
nextSibling(IDOMNode ** result)1694     virtual HRESULT STDMETHODCALLTYPE nextSibling(
1695         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
1696 
attributes(IDOMNamedNodeMap ** result)1697     virtual HRESULT STDMETHODCALLTYPE attributes(
1698         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
1699 
ownerDocument(IDOMDocument ** result)1700     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
1701         /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
1702 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)1703     virtual HRESULT STDMETHODCALLTYPE insertBefore(
1704         /* [in] */ IDOMNode *newChild,
1705         /* [in] */ IDOMNode *refChild,
1706         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
1707 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)1708     virtual HRESULT STDMETHODCALLTYPE replaceChild(
1709         /* [in] */ IDOMNode *newChild,
1710         /* [in] */ IDOMNode *oldChild,
1711         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
1712 
removeChild(IDOMNode * oldChild,IDOMNode ** result)1713     virtual HRESULT STDMETHODCALLTYPE removeChild(
1714         /* [in] */ IDOMNode *oldChild,
1715         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
1716 
appendChild(IDOMNode * oldChild,IDOMNode ** result)1717     virtual HRESULT STDMETHODCALLTYPE appendChild(
1718         /* [in] */ IDOMNode *oldChild,
1719         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
1720 
hasChildNodes(BOOL * result)1721     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
1722         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
1723 
cloneNode(BOOL deep,IDOMNode ** result)1724     virtual HRESULT STDMETHODCALLTYPE cloneNode(
1725         /* [in] */ BOOL deep,
1726         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
1727 
normalize(void)1728     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
1729 
isSupported(BSTR feature,BSTR version,BOOL * result)1730     virtual HRESULT STDMETHODCALLTYPE isSupported(
1731         /* [in] */ BSTR feature,
1732         /* [in] */ BSTR version,
1733         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
1734 
namespaceURI(BSTR * result)1735     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
1736         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
1737 
prefix(BSTR * result)1738     virtual HRESULT STDMETHODCALLTYPE prefix(
1739         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
1740 
setPrefix(BSTR prefix)1741     virtual HRESULT STDMETHODCALLTYPE setPrefix(
1742         /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
1743 
localName(BSTR * result)1744     virtual HRESULT STDMETHODCALLTYPE localName(
1745         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
1746 
hasAttributes(BOOL * result)1747     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
1748         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
1749 
isSameNode(IDOMNode * other,BOOL * result)1750     virtual HRESULT STDMETHODCALLTYPE isSameNode(
1751         /* [in] */ IDOMNode* other,
1752         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
1753 
isEqualNode(IDOMNode * other,BOOL * result)1754     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
1755         /* [in] */ IDOMNode* other,
1756         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
1757 
textContent(BSTR * result)1758     virtual HRESULT STDMETHODCALLTYPE textContent(
1759         /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
1760 
setTextContent(BSTR text)1761     virtual HRESULT STDMETHODCALLTYPE setTextContent(
1762         /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
1763 
1764     // IDOMElement
tagName(BSTR * result)1765     virtual HRESULT STDMETHODCALLTYPE tagName(
1766         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
1767 
getAttribute(BSTR name,BSTR * result)1768     virtual HRESULT STDMETHODCALLTYPE getAttribute(
1769         /* [in] */ BSTR name,
1770         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
1771 
setAttribute(BSTR name,BSTR value)1772     virtual HRESULT STDMETHODCALLTYPE setAttribute(
1773         /* [in] */ BSTR name,
1774         /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
1775 
removeAttribute(BSTR name)1776     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
1777         /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
1778 
getAttributeNode(BSTR name,IDOMAttr ** result)1779     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
1780         /* [in] */ BSTR name,
1781         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
1782 
setAttributeNode(IDOMAttr * newAttr,IDOMAttr ** result)1783     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
1784         /* [in] */ IDOMAttr *newAttr,
1785         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
1786 
removeAttributeNode(IDOMAttr * oldAttr,IDOMAttr ** result)1787     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
1788         /* [in] */ IDOMAttr *oldAttr,
1789         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
1790 
getElementsByTagName(BSTR name,IDOMNodeList ** result)1791     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
1792         /* [in] */ BSTR name,
1793         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
1794 
getAttributeNS(BSTR namespaceURI,BSTR localName,BSTR * result)1795     virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
1796         /* [in] */ BSTR namespaceURI,
1797         /* [in] */ BSTR localName,
1798         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
1799 
setAttributeNS(BSTR namespaceURI,BSTR qualifiedName,BSTR value)1800     virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
1801         /* [in] */ BSTR namespaceURI,
1802         /* [in] */ BSTR qualifiedName,
1803         /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
1804 
removeAttributeNS(BSTR namespaceURI,BSTR localName)1805     virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
1806         /* [in] */ BSTR namespaceURI,
1807         /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
1808 
getAttributeNodeNS(BSTR namespaceURI,BSTR localName,IDOMAttr ** result)1809     virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
1810         /* [in] */ BSTR namespaceURI,
1811         /* [in] */ BSTR localName,
1812         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
1813 
setAttributeNodeNS(IDOMAttr * newAttr,IDOMAttr ** result)1814     virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
1815         /* [in] */ IDOMAttr *newAttr,
1816         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
1817 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)1818     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
1819         /* [in] */ BSTR namespaceURI,
1820         /* [in] */ BSTR localName,
1821         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
1822 
hasAttribute(BSTR name,BOOL * result)1823     virtual HRESULT STDMETHODCALLTYPE hasAttribute(
1824         /* [in] */ BSTR name,
1825         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
1826 
hasAttributeNS(BSTR namespaceURI,BSTR localName,BOOL * result)1827     virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
1828         /* [in] */ BSTR namespaceURI,
1829         /* [in] */ BSTR localName,
1830         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
1831 
focus(void)1832     virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
1833 
blur(void)1834     virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
1835 
1836     // IDOMHTMLElement
idName(BSTR * result)1837     virtual HRESULT STDMETHODCALLTYPE idName(
1838         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
1839 
setIdName(BSTR idName)1840     virtual HRESULT STDMETHODCALLTYPE setIdName(
1841         /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
1842 
title(BSTR * result)1843     virtual HRESULT STDMETHODCALLTYPE title(
1844         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
1845 
setTitle(BSTR title)1846     virtual HRESULT STDMETHODCALLTYPE setTitle(
1847         /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
1848 
lang(BSTR * result)1849     virtual HRESULT STDMETHODCALLTYPE lang(
1850         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
1851 
setLang(BSTR lang)1852     virtual HRESULT STDMETHODCALLTYPE setLang(
1853         /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
1854 
dir(BSTR * result)1855     virtual HRESULT STDMETHODCALLTYPE dir(
1856         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
1857 
setDir(BSTR dir)1858     virtual HRESULT STDMETHODCALLTYPE setDir(
1859         /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
1860 
className(BSTR * result)1861     virtual HRESULT STDMETHODCALLTYPE className(
1862         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
1863 
setClassName(BSTR className)1864     virtual HRESULT STDMETHODCALLTYPE setClassName(
1865         /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
1866 
innerHTML(BSTR * result)1867     virtual HRESULT STDMETHODCALLTYPE innerHTML(
1868         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
1869 
setInnerHTML(BSTR html)1870     virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
1871         /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
1872 
innerText(BSTR * result)1873     virtual HRESULT STDMETHODCALLTYPE innerText(
1874         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
1875 
setInnerText(BSTR text)1876     virtual HRESULT STDMETHODCALLTYPE setInnerText(
1877         /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
1878 
1879     // IDOMHTMLInputElement
1880     virtual HRESULT STDMETHODCALLTYPE defaultValue(
1881         /* [retval][out] */ BSTR *result);
1882 
1883     virtual HRESULT STDMETHODCALLTYPE setDefaultValue(
1884         /* [in] */ BSTR val);
1885 
1886     virtual HRESULT STDMETHODCALLTYPE defaultChecked(
1887         /* [retval][out] */ BOOL *result);
1888 
1889     virtual HRESULT STDMETHODCALLTYPE setDefaultChecked(
1890         /* [in] */ BSTR checked);
1891 
1892     virtual HRESULT STDMETHODCALLTYPE form(
1893         /* [retval][out] */ IDOMHTMLElement **result);
1894 
1895     virtual HRESULT STDMETHODCALLTYPE accept(
1896         /* [retval][out] */ BSTR *result);
1897 
1898     virtual HRESULT STDMETHODCALLTYPE setAccept(
1899         /* [in] */ BSTR accept);
1900 
1901     virtual HRESULT STDMETHODCALLTYPE accessKey(
1902         /* [retval][out] */ BSTR *result);
1903 
1904     virtual HRESULT STDMETHODCALLTYPE setAccessKey(
1905         /* [in] */ BSTR key);
1906 
1907     virtual HRESULT STDMETHODCALLTYPE align(
1908         /* [retval][out] */ BSTR *result);
1909 
1910     virtual HRESULT STDMETHODCALLTYPE setAlign(
1911         /* [in] */ BSTR align);
1912 
1913     virtual HRESULT STDMETHODCALLTYPE alt(
1914         /* [retval][out] */ BSTR *result);
1915 
1916     virtual HRESULT STDMETHODCALLTYPE setAlt(
1917         /* [in] */ BSTR alt);
1918 
1919     virtual HRESULT STDMETHODCALLTYPE checked(
1920         /* [retval][out] */ BOOL *result);
1921 
1922     virtual HRESULT STDMETHODCALLTYPE setChecked(
1923         /* [in] */ BOOL checked);
1924 
1925     virtual HRESULT STDMETHODCALLTYPE disabled(
1926         /* [retval][out] */ BOOL *result);
1927 
1928     virtual HRESULT STDMETHODCALLTYPE setDisabled(
1929         /* [in] */ BOOL disabled);
1930 
1931     virtual HRESULT STDMETHODCALLTYPE maxLength(
1932         /* [retval][out] */ int *result);
1933 
1934     virtual HRESULT STDMETHODCALLTYPE setMaxLength(
1935         /* [in] */ int maxLength);
1936 
1937     virtual HRESULT STDMETHODCALLTYPE name(
1938         /* [retval][out] */ BSTR *name);
1939 
1940     virtual HRESULT STDMETHODCALLTYPE setName(
1941         /* [in] */ BSTR name);
1942 
1943     virtual HRESULT STDMETHODCALLTYPE readOnly(
1944         /* [retval][out] */ BOOL *result);
1945 
1946     virtual HRESULT STDMETHODCALLTYPE setReadOnly(
1947         /* [in] */ BOOL readOnly);
1948 
1949     virtual HRESULT STDMETHODCALLTYPE size(
1950         /* [retval][out] */ unsigned int *result);
1951 
1952     virtual HRESULT STDMETHODCALLTYPE setSize(
1953         /* [in] */ unsigned int size);
1954 
1955     virtual HRESULT STDMETHODCALLTYPE src(
1956         /* [retval][out] */ BSTR *result);
1957 
1958     virtual HRESULT STDMETHODCALLTYPE setSrc(
1959         /* [in] */ BSTR src);
1960 
1961     virtual HRESULT STDMETHODCALLTYPE tabIndex(
1962         /* [retval][out] */ int *result);
1963 
1964     virtual HRESULT STDMETHODCALLTYPE setTabIndex(
1965         /* [in] */ int tabIndex);
1966 
1967     virtual HRESULT STDMETHODCALLTYPE type(
1968         /* [retval][out] */ BSTR *result);
1969 
1970     virtual HRESULT STDMETHODCALLTYPE setType(
1971         /* [in] */ BSTR type);
1972 
1973     virtual HRESULT STDMETHODCALLTYPE useMap(
1974         /* [retval][out] */ BSTR *result);
1975 
1976     virtual HRESULT STDMETHODCALLTYPE setUseMap(
1977         /* [in] */ BSTR useMap);
1978 
1979     virtual HRESULT STDMETHODCALLTYPE value(
1980         /* [retval][out] */ BSTR *result);
1981 
1982     virtual HRESULT STDMETHODCALLTYPE setValue(
1983         /* [in] */ BSTR value);
1984 
1985     virtual HRESULT STDMETHODCALLTYPE select( void);
1986 
1987     virtual HRESULT STDMETHODCALLTYPE click( void);
1988 
1989     virtual HRESULT STDMETHODCALLTYPE setSelectionStart(
1990         /* [in] */ long start);
1991 
1992     virtual HRESULT STDMETHODCALLTYPE selectionStart(
1993         /* [retval][out] */ long *start);
1994 
1995     virtual HRESULT STDMETHODCALLTYPE setSelectionEnd(
1996         /* [in] */ long end);
1997 
1998     virtual HRESULT STDMETHODCALLTYPE selectionEnd(
1999         /* [retval][out] */ long *end);
2000 
2001     // IFormsAutoFillTransition
2002     virtual HRESULT STDMETHODCALLTYPE isTextField(
2003         /* [retval][out] */ BOOL *result);
2004 
2005     virtual HRESULT STDMETHODCALLTYPE rectOnScreen(
2006         /* [retval][out] */ LPRECT rect);
2007 
2008     virtual HRESULT STDMETHODCALLTYPE replaceCharactersInRange(
2009         /* [in] */ int startTarget,
2010         /* [in] */ int endTarget,
2011         /* [in] */ BSTR replacementString,
2012         /* [in] */ int index);
2013 
2014     virtual HRESULT STDMETHODCALLTYPE selectedRange(
2015         /* [out] */ int *start,
2016         /* [out] */ int *end);
2017 
2018     virtual HRESULT STDMETHODCALLTYPE setAutofilled(
2019         /* [in] */ BOOL filled);
2020 
2021     virtual HRESULT STDMETHODCALLTYPE isAutofilled(
2022         /* [retval][out] */ BOOL *result);
2023 
2024     // IFormPromptAdditions
2025     virtual HRESULT STDMETHODCALLTYPE isUserEdited(
2026         /* [retval][out] */ BOOL *result);
2027 
2028     virtual HRESULT STDMETHODCALLTYPE setValueForUser(
2029         /* [in] */ BSTR value);
2030 };
2031 
2032 class DOMHTMLTextAreaElement : public DOMHTMLElement, public IDOMHTMLTextAreaElement, public IFormPromptAdditions
2033 {
2034 protected:
2035     DOMHTMLTextAreaElement();
2036 public:
DOMHTMLTextAreaElement(WebCore::Element * e)2037     DOMHTMLTextAreaElement(WebCore::Element* e) : DOMHTMLElement(e) {}
2038 
2039     // IUnknown
2040     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)2041     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
Release(void)2042     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
2043 
2044     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)2045     virtual HRESULT STDMETHODCALLTYPE throwException(
2046         /* [in] */ BSTR exceptionMessage,
2047         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
2048 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)2049     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
2050         /* [in] */ BSTR name,
2051         /* [size_is][in] */ const VARIANT args[  ],
2052         /* [in] */ int cArgs,
2053         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
2054 
evaluateWebScript(BSTR script,VARIANT * result)2055     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
2056         /* [in] */ BSTR script,
2057         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
2058 
removeWebScriptKey(BSTR name)2059     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
2060         /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
2061 
stringRepresentation(BSTR * stringRepresentation)2062     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
2063         /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
2064 
webScriptValueAtIndex(unsigned int index,VARIANT * result)2065     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
2066         /* [in] */ unsigned int index,
2067         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
2068 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)2069     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
2070         /* [in] */ unsigned int index,
2071         /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
2072 
setException(BSTR description)2073     virtual HRESULT STDMETHODCALLTYPE setException(
2074         /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
2075 
2076     // IDOMNode
nodeName(BSTR * result)2077     virtual HRESULT STDMETHODCALLTYPE nodeName(
2078         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
2079 
nodeValue(BSTR * result)2080     virtual HRESULT STDMETHODCALLTYPE nodeValue(
2081         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
2082 
setNodeValue(BSTR value)2083     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
2084         /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
2085 
nodeType(unsigned short * result)2086     virtual HRESULT STDMETHODCALLTYPE nodeType(
2087         /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
2088 
parentNode(IDOMNode ** result)2089     virtual HRESULT STDMETHODCALLTYPE parentNode(
2090         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
2091 
childNodes(IDOMNodeList ** result)2092     virtual HRESULT STDMETHODCALLTYPE childNodes(
2093         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
2094 
firstChild(IDOMNode ** result)2095     virtual HRESULT STDMETHODCALLTYPE firstChild(
2096         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
2097 
lastChild(IDOMNode ** result)2098     virtual HRESULT STDMETHODCALLTYPE lastChild(
2099         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
2100 
previousSibling(IDOMNode ** result)2101     virtual HRESULT STDMETHODCALLTYPE previousSibling(
2102         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
2103 
nextSibling(IDOMNode ** result)2104     virtual HRESULT STDMETHODCALLTYPE nextSibling(
2105         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
2106 
attributes(IDOMNamedNodeMap ** result)2107     virtual HRESULT STDMETHODCALLTYPE attributes(
2108         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
2109 
ownerDocument(IDOMDocument ** result)2110     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
2111         /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
2112 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)2113     virtual HRESULT STDMETHODCALLTYPE insertBefore(
2114         /* [in] */ IDOMNode *newChild,
2115         /* [in] */ IDOMNode *refChild,
2116         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
2117 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)2118     virtual HRESULT STDMETHODCALLTYPE replaceChild(
2119         /* [in] */ IDOMNode *newChild,
2120         /* [in] */ IDOMNode *oldChild,
2121         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
2122 
removeChild(IDOMNode * oldChild,IDOMNode ** result)2123     virtual HRESULT STDMETHODCALLTYPE removeChild(
2124         /* [in] */ IDOMNode *oldChild,
2125         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
2126 
appendChild(IDOMNode * oldChild,IDOMNode ** result)2127     virtual HRESULT STDMETHODCALLTYPE appendChild(
2128         /* [in] */ IDOMNode *oldChild,
2129         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
2130 
hasChildNodes(BOOL * result)2131     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
2132         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
2133 
cloneNode(BOOL deep,IDOMNode ** result)2134     virtual HRESULT STDMETHODCALLTYPE cloneNode(
2135         /* [in] */ BOOL deep,
2136         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
2137 
normalize(void)2138     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
2139 
isSupported(BSTR feature,BSTR version,BOOL * result)2140     virtual HRESULT STDMETHODCALLTYPE isSupported(
2141         /* [in] */ BSTR feature,
2142         /* [in] */ BSTR version,
2143         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
2144 
namespaceURI(BSTR * result)2145     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
2146         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
2147 
prefix(BSTR * result)2148     virtual HRESULT STDMETHODCALLTYPE prefix(
2149         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
2150 
setPrefix(BSTR prefix)2151     virtual HRESULT STDMETHODCALLTYPE setPrefix(
2152         /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
2153 
localName(BSTR * result)2154     virtual HRESULT STDMETHODCALLTYPE localName(
2155         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
2156 
hasAttributes(BOOL * result)2157     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
2158         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
2159 
isSameNode(IDOMNode * other,BOOL * result)2160     virtual HRESULT STDMETHODCALLTYPE isSameNode(
2161         /* [in] */ IDOMNode* other,
2162         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
2163 
isEqualNode(IDOMNode * other,BOOL * result)2164     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
2165         /* [in] */ IDOMNode* other,
2166         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
2167 
textContent(BSTR * result)2168     virtual HRESULT STDMETHODCALLTYPE textContent(
2169         /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
2170 
setTextContent(BSTR text)2171     virtual HRESULT STDMETHODCALLTYPE setTextContent(
2172         /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
2173 
2174     // IDOMElement
tagName(BSTR * result)2175     virtual HRESULT STDMETHODCALLTYPE tagName(
2176         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
2177 
getAttribute(BSTR name,BSTR * result)2178     virtual HRESULT STDMETHODCALLTYPE getAttribute(
2179         /* [in] */ BSTR name,
2180         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
2181 
setAttribute(BSTR name,BSTR value)2182     virtual HRESULT STDMETHODCALLTYPE setAttribute(
2183         /* [in] */ BSTR name,
2184         /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
2185 
removeAttribute(BSTR name)2186     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
2187         /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
2188 
getAttributeNode(BSTR name,IDOMAttr ** result)2189     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
2190         /* [in] */ BSTR name,
2191         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
2192 
setAttributeNode(IDOMAttr * newAttr,IDOMAttr ** result)2193     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
2194         /* [in] */ IDOMAttr *newAttr,
2195         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
2196 
removeAttributeNode(IDOMAttr * oldAttr,IDOMAttr ** result)2197     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
2198         /* [in] */ IDOMAttr *oldAttr,
2199         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
2200 
getElementsByTagName(BSTR name,IDOMNodeList ** result)2201     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
2202         /* [in] */ BSTR name,
2203         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
2204 
getAttributeNS(BSTR namespaceURI,BSTR localName,BSTR * result)2205     virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
2206         /* [in] */ BSTR namespaceURI,
2207         /* [in] */ BSTR localName,
2208         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
2209 
setAttributeNS(BSTR namespaceURI,BSTR qualifiedName,BSTR value)2210     virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
2211         /* [in] */ BSTR namespaceURI,
2212         /* [in] */ BSTR qualifiedName,
2213         /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
2214 
removeAttributeNS(BSTR namespaceURI,BSTR localName)2215     virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
2216         /* [in] */ BSTR namespaceURI,
2217         /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
2218 
getAttributeNodeNS(BSTR namespaceURI,BSTR localName,IDOMAttr ** result)2219     virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
2220         /* [in] */ BSTR namespaceURI,
2221         /* [in] */ BSTR localName,
2222         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
2223 
setAttributeNodeNS(IDOMAttr * newAttr,IDOMAttr ** result)2224     virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
2225         /* [in] */ IDOMAttr *newAttr,
2226         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
2227 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)2228     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
2229         /* [in] */ BSTR namespaceURI,
2230         /* [in] */ BSTR localName,
2231         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
2232 
hasAttribute(BSTR name,BOOL * result)2233     virtual HRESULT STDMETHODCALLTYPE hasAttribute(
2234         /* [in] */ BSTR name,
2235         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
2236 
hasAttributeNS(BSTR namespaceURI,BSTR localName,BOOL * result)2237     virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
2238         /* [in] */ BSTR namespaceURI,
2239         /* [in] */ BSTR localName,
2240         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
2241 
focus(void)2242     virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
2243 
blur(void)2244     virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
2245 
2246     // IDOMHTMLElement
idName(BSTR * result)2247     virtual HRESULT STDMETHODCALLTYPE idName(
2248         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
2249 
setIdName(BSTR idName)2250     virtual HRESULT STDMETHODCALLTYPE setIdName(
2251         /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
2252 
title(BSTR * result)2253     virtual HRESULT STDMETHODCALLTYPE title(
2254         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
2255 
setTitle(BSTR title)2256     virtual HRESULT STDMETHODCALLTYPE setTitle(
2257         /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
2258 
lang(BSTR * result)2259     virtual HRESULT STDMETHODCALLTYPE lang(
2260         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
2261 
setLang(BSTR lang)2262     virtual HRESULT STDMETHODCALLTYPE setLang(
2263         /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
2264 
dir(BSTR * result)2265     virtual HRESULT STDMETHODCALLTYPE dir(
2266         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
2267 
setDir(BSTR dir)2268     virtual HRESULT STDMETHODCALLTYPE setDir(
2269         /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
2270 
className(BSTR * result)2271     virtual HRESULT STDMETHODCALLTYPE className(
2272         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
2273 
setClassName(BSTR className)2274     virtual HRESULT STDMETHODCALLTYPE setClassName(
2275         /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
2276 
innerHTML(BSTR * result)2277     virtual HRESULT STDMETHODCALLTYPE innerHTML(
2278         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
2279 
setInnerHTML(BSTR html)2280     virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
2281         /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
2282 
innerText(BSTR * result)2283     virtual HRESULT STDMETHODCALLTYPE innerText(
2284         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
2285 
setInnerText(BSTR text)2286     virtual HRESULT STDMETHODCALLTYPE setInnerText(
2287         /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
2288 
2289     // IDOMHTMLTextArea
2290     virtual HRESULT STDMETHODCALLTYPE defaultValue(
2291         /* [retval][out] */ BSTR *result);
2292 
2293     virtual HRESULT STDMETHODCALLTYPE setDefaultValue(
2294         /* [in] */ BSTR val);
2295 
2296     virtual HRESULT STDMETHODCALLTYPE form(
2297         /* [retval][out] */ IDOMHTMLElement **result);
2298 
2299     virtual HRESULT STDMETHODCALLTYPE accessKey(
2300         /* [retval][out] */ BSTR *result);
2301 
2302     virtual HRESULT STDMETHODCALLTYPE setAccessKey(
2303         /* [in] */ BSTR key);
2304 
2305     virtual HRESULT STDMETHODCALLTYPE cols(
2306         /* [retval][out] */ int *result);
2307 
2308     virtual HRESULT STDMETHODCALLTYPE setCols(
2309         /* [in] */ int cols);
2310 
2311     virtual HRESULT STDMETHODCALLTYPE disabled(
2312         /* [retval][out] */ BOOL *result);
2313 
2314     virtual HRESULT STDMETHODCALLTYPE setDisabled(
2315         /* [in] */ BOOL disabled);
2316 
2317     virtual HRESULT STDMETHODCALLTYPE name(
2318         /* [retval][out] */ BSTR *name);
2319 
2320     virtual HRESULT STDMETHODCALLTYPE setName(
2321         /* [in] */ BSTR name);
2322 
2323     virtual HRESULT STDMETHODCALLTYPE readOnly(
2324         /* [retval][out] */ BOOL *result);
2325 
2326     virtual HRESULT STDMETHODCALLTYPE setReadOnly(
2327         /* [in] */ BOOL readOnly);
2328 
2329     virtual HRESULT STDMETHODCALLTYPE rows(
2330         /* [retval][out] */ int *result);
2331 
2332     virtual HRESULT STDMETHODCALLTYPE setRows(
2333         /* [in] */ int rows);
2334 
2335     virtual HRESULT STDMETHODCALLTYPE tabIndex(
2336         /* [retval][out] */ int *result);
2337 
2338     virtual HRESULT STDMETHODCALLTYPE setTabIndex(
2339         /* [in] */ int tabIndex);
2340 
2341     virtual HRESULT STDMETHODCALLTYPE type(
2342         /* [retval][out] */ BSTR *result);
2343 
2344     virtual HRESULT STDMETHODCALLTYPE value(
2345         /* [retval][out] */ BSTR *result);
2346 
2347     virtual HRESULT STDMETHODCALLTYPE setValue(
2348         /* [in] */ BSTR value);
2349 
2350     virtual HRESULT STDMETHODCALLTYPE select( void);
2351 
2352     // IFormPromptAdditions
2353     virtual HRESULT STDMETHODCALLTYPE isUserEdited(
2354         /* [retval][out] */ BOOL *result);
2355 };
2356 
2357 class DOMHTMLIFrameElement : public DOMHTMLElement, public IDOMHTMLIFrameElement
2358 {
2359 protected:
2360     DOMHTMLIFrameElement();
2361 public:
DOMHTMLIFrameElement(WebCore::Element * e)2362     DOMHTMLIFrameElement(WebCore::Element* e) : DOMHTMLElement(e) {}
2363 
2364     // IUnknown
2365     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
AddRef(void)2366     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
Release(void)2367     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
2368 
2369     // IWebScriptObject
throwException(BSTR exceptionMessage,BOOL * result)2370     virtual HRESULT STDMETHODCALLTYPE throwException(
2371         /* [in] */ BSTR exceptionMessage,
2372         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
2373 
callWebScriptMethod(BSTR name,const VARIANT args[],int cArgs,VARIANT * result)2374     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
2375         /* [in] */ BSTR name,
2376         /* [size_is][in] */ const VARIANT args[  ],
2377         /* [in] */ int cArgs,
2378         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
2379 
evaluateWebScript(BSTR script,VARIANT * result)2380     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
2381         /* [in] */ BSTR script,
2382         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
2383 
removeWebScriptKey(BSTR name)2384     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
2385         /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
2386 
stringRepresentation(BSTR * stringRepresentation)2387     virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
2388         /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
2389 
webScriptValueAtIndex(unsigned int index,VARIANT * result)2390     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
2391         /* [in] */ unsigned int index,
2392         /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
2393 
setWebScriptValueAtIndex(unsigned int index,VARIANT val)2394     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
2395         /* [in] */ unsigned int index,
2396         /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
2397 
setException(BSTR description)2398     virtual HRESULT STDMETHODCALLTYPE setException(
2399         /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
2400 
2401     // IDOMNode
nodeName(BSTR * result)2402     virtual HRESULT STDMETHODCALLTYPE nodeName(
2403         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
2404 
nodeValue(BSTR * result)2405     virtual HRESULT STDMETHODCALLTYPE nodeValue(
2406         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
2407 
setNodeValue(BSTR value)2408     virtual HRESULT STDMETHODCALLTYPE setNodeValue(
2409         /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
2410 
nodeType(unsigned short * result)2411     virtual HRESULT STDMETHODCALLTYPE nodeType(
2412         /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
2413 
parentNode(IDOMNode ** result)2414     virtual HRESULT STDMETHODCALLTYPE parentNode(
2415         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
2416 
childNodes(IDOMNodeList ** result)2417     virtual HRESULT STDMETHODCALLTYPE childNodes(
2418         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
2419 
firstChild(IDOMNode ** result)2420     virtual HRESULT STDMETHODCALLTYPE firstChild(
2421         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
2422 
lastChild(IDOMNode ** result)2423     virtual HRESULT STDMETHODCALLTYPE lastChild(
2424         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
2425 
previousSibling(IDOMNode ** result)2426     virtual HRESULT STDMETHODCALLTYPE previousSibling(
2427         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
2428 
nextSibling(IDOMNode ** result)2429     virtual HRESULT STDMETHODCALLTYPE nextSibling(
2430         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
2431 
attributes(IDOMNamedNodeMap ** result)2432     virtual HRESULT STDMETHODCALLTYPE attributes(
2433         /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
2434 
ownerDocument(IDOMDocument ** result)2435     virtual HRESULT STDMETHODCALLTYPE ownerDocument(
2436         /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
2437 
insertBefore(IDOMNode * newChild,IDOMNode * refChild,IDOMNode ** result)2438     virtual HRESULT STDMETHODCALLTYPE insertBefore(
2439         /* [in] */ IDOMNode *newChild,
2440         /* [in] */ IDOMNode *refChild,
2441         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
2442 
replaceChild(IDOMNode * newChild,IDOMNode * oldChild,IDOMNode ** result)2443     virtual HRESULT STDMETHODCALLTYPE replaceChild(
2444         /* [in] */ IDOMNode *newChild,
2445         /* [in] */ IDOMNode *oldChild,
2446         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
2447 
removeChild(IDOMNode * oldChild,IDOMNode ** result)2448     virtual HRESULT STDMETHODCALLTYPE removeChild(
2449         /* [in] */ IDOMNode *oldChild,
2450         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
2451 
appendChild(IDOMNode * oldChild,IDOMNode ** result)2452     virtual HRESULT STDMETHODCALLTYPE appendChild(
2453         /* [in] */ IDOMNode *oldChild,
2454         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
2455 
hasChildNodes(BOOL * result)2456     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
2457         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
2458 
cloneNode(BOOL deep,IDOMNode ** result)2459     virtual HRESULT STDMETHODCALLTYPE cloneNode(
2460         /* [in] */ BOOL deep,
2461         /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
2462 
normalize(void)2463     virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
2464 
isSupported(BSTR feature,BSTR version,BOOL * result)2465     virtual HRESULT STDMETHODCALLTYPE isSupported(
2466         /* [in] */ BSTR feature,
2467         /* [in] */ BSTR version,
2468         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
2469 
namespaceURI(BSTR * result)2470     virtual HRESULT STDMETHODCALLTYPE namespaceURI(
2471         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
2472 
prefix(BSTR * result)2473     virtual HRESULT STDMETHODCALLTYPE prefix(
2474         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
2475 
setPrefix(BSTR prefix)2476     virtual HRESULT STDMETHODCALLTYPE setPrefix(
2477         /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
2478 
localName(BSTR * result)2479     virtual HRESULT STDMETHODCALLTYPE localName(
2480         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
2481 
hasAttributes(BOOL * result)2482     virtual HRESULT STDMETHODCALLTYPE hasAttributes(
2483         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
2484 
isSameNode(IDOMNode * other,BOOL * result)2485     virtual HRESULT STDMETHODCALLTYPE isSameNode(
2486         /* [in] */ IDOMNode* other,
2487         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
2488 
isEqualNode(IDOMNode * other,BOOL * result)2489     virtual HRESULT STDMETHODCALLTYPE isEqualNode(
2490         /* [in] */ IDOMNode* other,
2491         /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
2492 
textContent(BSTR * result)2493     virtual HRESULT STDMETHODCALLTYPE textContent(
2494         /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
2495 
setTextContent(BSTR text)2496     virtual HRESULT STDMETHODCALLTYPE setTextContent(
2497         /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
2498 
2499     // IDOMElement
tagName(BSTR * result)2500     virtual HRESULT STDMETHODCALLTYPE tagName(
2501         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
2502 
getAttribute(BSTR name,BSTR * result)2503     virtual HRESULT STDMETHODCALLTYPE getAttribute(
2504         /* [in] */ BSTR name,
2505         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
2506 
setAttribute(BSTR name,BSTR value)2507     virtual HRESULT STDMETHODCALLTYPE setAttribute(
2508         /* [in] */ BSTR name,
2509         /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
2510 
removeAttribute(BSTR name)2511     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
2512         /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
2513 
getAttributeNode(BSTR name,IDOMAttr ** result)2514     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
2515         /* [in] */ BSTR name,
2516         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
2517 
setAttributeNode(IDOMAttr * newAttr,IDOMAttr ** result)2518     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
2519         /* [in] */ IDOMAttr *newAttr,
2520         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
2521 
removeAttributeNode(IDOMAttr * oldAttr,IDOMAttr ** result)2522     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
2523         /* [in] */ IDOMAttr *oldAttr,
2524         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
2525 
getElementsByTagName(BSTR name,IDOMNodeList ** result)2526     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
2527         /* [in] */ BSTR name,
2528         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
2529 
getAttributeNS(BSTR namespaceURI,BSTR localName,BSTR * result)2530     virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
2531         /* [in] */ BSTR namespaceURI,
2532         /* [in] */ BSTR localName,
2533         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
2534 
setAttributeNS(BSTR namespaceURI,BSTR qualifiedName,BSTR value)2535     virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
2536         /* [in] */ BSTR namespaceURI,
2537         /* [in] */ BSTR qualifiedName,
2538         /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
2539 
removeAttributeNS(BSTR namespaceURI,BSTR localName)2540     virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
2541         /* [in] */ BSTR namespaceURI,
2542         /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
2543 
getAttributeNodeNS(BSTR namespaceURI,BSTR localName,IDOMAttr ** result)2544     virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
2545         /* [in] */ BSTR namespaceURI,
2546         /* [in] */ BSTR localName,
2547         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
2548 
setAttributeNodeNS(IDOMAttr * newAttr,IDOMAttr ** result)2549     virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
2550         /* [in] */ IDOMAttr *newAttr,
2551         /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
2552 
getElementsByTagNameNS(BSTR namespaceURI,BSTR localName,IDOMNodeList ** result)2553     virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
2554         /* [in] */ BSTR namespaceURI,
2555         /* [in] */ BSTR localName,
2556         /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
2557 
hasAttribute(BSTR name,BOOL * result)2558     virtual HRESULT STDMETHODCALLTYPE hasAttribute(
2559         /* [in] */ BSTR name,
2560         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
2561 
hasAttributeNS(BSTR namespaceURI,BSTR localName,BOOL * result)2562     virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
2563         /* [in] */ BSTR namespaceURI,
2564         /* [in] */ BSTR localName,
2565         /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
2566 
focus(void)2567     virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
2568 
blur(void)2569     virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
2570 
2571     // IDOMHTMLElement
idName(BSTR * result)2572     virtual HRESULT STDMETHODCALLTYPE idName(
2573         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
2574 
setIdName(BSTR idName)2575     virtual HRESULT STDMETHODCALLTYPE setIdName(
2576         /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
2577 
title(BSTR * result)2578     virtual HRESULT STDMETHODCALLTYPE title(
2579         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
2580 
setTitle(BSTR title)2581     virtual HRESULT STDMETHODCALLTYPE setTitle(
2582         /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
2583 
lang(BSTR * result)2584     virtual HRESULT STDMETHODCALLTYPE lang(
2585         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
2586 
setLang(BSTR lang)2587     virtual HRESULT STDMETHODCALLTYPE setLang(
2588         /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
2589 
dir(BSTR * result)2590     virtual HRESULT STDMETHODCALLTYPE dir(
2591         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
2592 
setDir(BSTR dir)2593     virtual HRESULT STDMETHODCALLTYPE setDir(
2594         /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
2595 
className(BSTR * result)2596     virtual HRESULT STDMETHODCALLTYPE className(
2597         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
2598 
setClassName(BSTR className)2599     virtual HRESULT STDMETHODCALLTYPE setClassName(
2600         /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
2601 
innerHTML(BSTR * result)2602     virtual HRESULT STDMETHODCALLTYPE innerHTML(
2603         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
2604 
setInnerHTML(BSTR html)2605     virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
2606         /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
2607 
innerText(BSTR * result)2608     virtual HRESULT STDMETHODCALLTYPE innerText(
2609         /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
2610 
setInnerText(BSTR text)2611     virtual HRESULT STDMETHODCALLTYPE setInnerText(
2612         /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
2613 
2614     // IDOMHTMLIFrameElement
2615     virtual HRESULT STDMETHODCALLTYPE contentFrame(
2616         /* [retval][out] */ IWebFrame **result);
2617 };
2618 
2619 #endif
2620