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