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