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); 48 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); } 49 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); } 50 51 // IWebScriptObject 52 virtual HRESULT STDMETHODCALLTYPE throwException( 53 /* [in] */ BSTR exceptionMessage, 54 /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); } 55 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 62 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 63 /* [in] */ BSTR script, 64 /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); } 65 66 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 67 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 68 69 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 70 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 71 72 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 73 /* [in] */ unsigned int index, 74 /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); } 75 76 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 77 /* [in] */ unsigned int index, 78 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 79 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); 106 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); } 107 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); } 108 109 // IWebScriptObject 110 virtual HRESULT STDMETHODCALLTYPE throwException( 111 /* [in] */ BSTR exceptionMessage, 112 /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); } 113 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 120 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 121 /* [in] */ BSTR script, 122 /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); } 123 124 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 125 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 126 127 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 128 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 129 130 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 131 /* [in] */ unsigned int index, 132 /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); } 133 134 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 135 /* [in] */ unsigned int index, 136 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 137 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: 167 DOMHTMLDocument(WebCore::Document* d) : DOMDocument(d) {} 168 169 // IUnknown 170 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 171 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMDocument::AddRef(); } 172 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMDocument::Release(); } 173 174 // IWebScriptObject 175 virtual HRESULT STDMETHODCALLTYPE throwException( 176 /* [in] */ BSTR exceptionMessage, 177 /* [retval][out] */ BOOL *result) { return DOMDocument::throwException(exceptionMessage, result); } 178 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 185 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 186 /* [in] */ BSTR script, 187 /* [retval][out] */ VARIANT *result) { return DOMDocument::evaluateWebScript(script, result); } 188 189 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 190 /* [in] */ BSTR name) { return DOMDocument::removeWebScriptKey(name); } 191 192 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 193 /* [retval][out] */ BSTR* stringRepresentation) { return DOMDocument::stringRepresentation(stringRepresentation); } 194 195 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 196 /* [in] */ unsigned int index, 197 /* [retval][out] */ VARIANT *result) { return DOMDocument::webScriptValueAtIndex(index, result); } 198 199 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 200 /* [in] */ unsigned int index, 201 /* [in] */ VARIANT val) { return DOMDocument::setWebScriptValueAtIndex(index, val); } 202 203 virtual HRESULT STDMETHODCALLTYPE setException( 204 /* [in] */ BSTR description) { return DOMDocument::setException(description); } 205 206 // IDOMNode 207 virtual HRESULT STDMETHODCALLTYPE nodeName( 208 /* [retval][out] */ BSTR *result) { return DOMDocument::nodeName(result); } 209 210 virtual HRESULT STDMETHODCALLTYPE nodeValue( 211 /* [retval][out] */ BSTR *result) { return DOMDocument::nodeValue(result); } 212 213 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 214 /* [in] */ BSTR value) { return setNodeValue(value); } 215 216 virtual HRESULT STDMETHODCALLTYPE nodeType( 217 /* [retval][out] */ unsigned short *result) { return DOMDocument::nodeType(result); } 218 219 virtual HRESULT STDMETHODCALLTYPE parentNode( 220 /* [retval][out] */ IDOMNode **result) { return DOMDocument::parentNode(result); } 221 222 virtual HRESULT STDMETHODCALLTYPE childNodes( 223 /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::childNodes(result); } 224 225 virtual HRESULT STDMETHODCALLTYPE firstChild( 226 /* [retval][out] */ IDOMNode **result) { return DOMDocument::firstChild(result); } 227 228 virtual HRESULT STDMETHODCALLTYPE lastChild( 229 /* [retval][out] */ IDOMNode **result) { return DOMDocument::lastChild(result); } 230 231 virtual HRESULT STDMETHODCALLTYPE previousSibling( 232 /* [retval][out] */ IDOMNode **result) { return DOMDocument::previousSibling(result); } 233 234 virtual HRESULT STDMETHODCALLTYPE nextSibling( 235 /* [retval][out] */ IDOMNode **result) { return DOMDocument::nextSibling(result); } 236 237 virtual HRESULT STDMETHODCALLTYPE attributes( 238 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMDocument::attributes(result); } 239 240 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 241 /* [retval][out] */ IDOMDocument **result) { return DOMDocument::ownerDocument(result); } 242 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 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 253 virtual HRESULT STDMETHODCALLTYPE removeChild( 254 /* [in] */ IDOMNode *oldChild, 255 /* [retval][out] */ IDOMNode **result) { return DOMDocument::removeChild(oldChild, result); } 256 257 virtual HRESULT STDMETHODCALLTYPE appendChild( 258 /* [in] */ IDOMNode *oldChild, 259 /* [retval][out] */ IDOMNode **result) { return DOMDocument::appendChild(oldChild, result); } 260 261 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 262 /* [retval][out] */ BOOL *result) { return DOMDocument::hasChildNodes(result); } 263 264 virtual HRESULT STDMETHODCALLTYPE cloneNode( 265 /* [in] */ BOOL deep, 266 /* [retval][out] */ IDOMNode **result) { return DOMDocument::cloneNode(deep, result); } 267 268 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMDocument::normalize(); } 269 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 275 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 276 /* [retval][out] */ BSTR *result) { return DOMDocument::namespaceURI(result); } 277 278 virtual HRESULT STDMETHODCALLTYPE prefix( 279 /* [retval][out] */ BSTR *result) { return DOMDocument::prefix(result); } 280 281 virtual HRESULT STDMETHODCALLTYPE setPrefix( 282 /* [in] */ BSTR prefix) { return DOMDocument::setPrefix(prefix); } 283 284 virtual HRESULT STDMETHODCALLTYPE localName( 285 /* [retval][out] */ BSTR *result) { return DOMDocument::localName(result); } 286 287 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 288 /* [retval][out] */ BOOL *result) { return DOMDocument::hasAttributes(result); } 289 290 virtual HRESULT STDMETHODCALLTYPE isSameNode( 291 /* [in] */ IDOMNode* other, 292 /* [retval][out] */ BOOL* result) { return DOMDocument::isSameNode(other, result); } 293 294 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 295 /* [in] */ IDOMNode* other, 296 /* [retval][out] */ BOOL* result) { return DOMDocument::isEqualNode(other, result); } 297 298 virtual HRESULT STDMETHODCALLTYPE textContent( 299 /* [retval][out] */ BSTR* result) { return DOMDocument::textContent(result); } 300 301 virtual HRESULT STDMETHODCALLTYPE setTextContent( 302 /* [in] */ BSTR text) { return DOMDocument::setTextContent(text); } 303 304 // IDOMDocument 305 virtual HRESULT STDMETHODCALLTYPE doctype( 306 /* [retval][out] */ IDOMDocumentType **result) { return DOMDocument::doctype(result); } 307 308 virtual HRESULT STDMETHODCALLTYPE implementation( 309 /* [retval][out] */ IDOMImplementation **result) { return DOMDocument::implementation(result); } 310 311 virtual HRESULT STDMETHODCALLTYPE documentElement( 312 /* [retval][out] */ IDOMElement **result) { return DOMDocument::documentElement(result); } 313 314 virtual HRESULT STDMETHODCALLTYPE createElement( 315 /* [in] */ BSTR tagName, 316 /* [retval][out] */ IDOMElement **result) { return DOMDocument::createElement(tagName, result); } 317 318 virtual HRESULT STDMETHODCALLTYPE createDocumentFragment( 319 /* [retval][out] */ IDOMDocumentFragment **result) { return DOMDocument::createDocumentFragment(result); } 320 321 virtual HRESULT STDMETHODCALLTYPE createTextNode( 322 /* [in] */ BSTR data, 323 /* [retval][out] */ IDOMText **result) { return DOMDocument::createTextNode(data, result); } 324 325 virtual HRESULT STDMETHODCALLTYPE createComment( 326 /* [in] */ BSTR data, 327 /* [retval][out] */ IDOMComment **result) { return DOMDocument::createComment(data, result); } 328 329 virtual HRESULT STDMETHODCALLTYPE createCDATASection( 330 /* [in] */ BSTR data, 331 /* [retval][out] */ IDOMCDATASection **result) { return DOMDocument::createCDATASection(data, result); } 332 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 338 virtual HRESULT STDMETHODCALLTYPE createAttribute( 339 /* [in] */ BSTR name, 340 /* [retval][out] */ IDOMAttr **result) { return DOMDocument::createAttribute(name, result); } 341 342 virtual HRESULT STDMETHODCALLTYPE createEntityReference( 343 /* [in] */ BSTR name, 344 /* [retval][out] */ IDOMEntityReference **result) { return DOMDocument::createEntityReference(name, result); } 345 346 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 347 /* [in] */ BSTR tagName, 348 /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::getElementsByTagName(tagName, result); } 349 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 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 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 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 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: 441 DOMHTMLElement(WebCore::Element* e) : DOMElement(e) {} 442 443 // IUnknown 444 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 445 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMElement::AddRef(); } 446 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMElement::Release(); } 447 448 // IWebScriptObject 449 virtual HRESULT STDMETHODCALLTYPE throwException( 450 /* [in] */ BSTR exceptionMessage, 451 /* [retval][out] */ BOOL *result) { return DOMElement::throwException(exceptionMessage, result); } 452 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 459 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 460 /* [in] */ BSTR script, 461 /* [retval][out] */ VARIANT *result) { return DOMElement::evaluateWebScript(script, result); } 462 463 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 464 /* [in] */ BSTR name) { return DOMElement::removeWebScriptKey(name); } 465 466 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 467 /* [retval][out] */ BSTR* stringRepresentation) { return DOMElement::stringRepresentation(stringRepresentation); } 468 469 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 470 /* [in] */ unsigned int index, 471 /* [retval][out] */ VARIANT *result) { return DOMElement::webScriptValueAtIndex(index, result); } 472 473 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 474 /* [in] */ unsigned int index, 475 /* [in] */ VARIANT val) { return DOMElement::setWebScriptValueAtIndex(index, val); } 476 477 virtual HRESULT STDMETHODCALLTYPE setException( 478 /* [in] */ BSTR description) { return DOMElement::setException(description); } 479 480 // IDOMNode 481 virtual HRESULT STDMETHODCALLTYPE nodeName( 482 /* [retval][out] */ BSTR *result) { return DOMElement::nodeName(result); } 483 484 virtual HRESULT STDMETHODCALLTYPE nodeValue( 485 /* [retval][out] */ BSTR *result) { return DOMElement::nodeValue(result); } 486 487 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 488 /* [in] */ BSTR value) { return DOMElement::setNodeValue(value); } 489 490 virtual HRESULT STDMETHODCALLTYPE nodeType( 491 /* [retval][out] */ unsigned short *result) { return DOMElement::nodeType(result); } 492 493 virtual HRESULT STDMETHODCALLTYPE parentNode( 494 /* [retval][out] */ IDOMNode **result) { return DOMElement::parentNode(result); } 495 496 virtual HRESULT STDMETHODCALLTYPE childNodes( 497 /* [retval][out] */ IDOMNodeList **result) { return DOMElement::childNodes(result); } 498 499 virtual HRESULT STDMETHODCALLTYPE firstChild( 500 /* [retval][out] */ IDOMNode **result) { return DOMElement::firstChild(result); } 501 502 virtual HRESULT STDMETHODCALLTYPE lastChild( 503 /* [retval][out] */ IDOMNode **result) { return DOMElement::lastChild(result); } 504 505 virtual HRESULT STDMETHODCALLTYPE previousSibling( 506 /* [retval][out] */ IDOMNode **result) { return DOMElement::previousSibling(result); } 507 508 virtual HRESULT STDMETHODCALLTYPE nextSibling( 509 /* [retval][out] */ IDOMNode **result) { return DOMElement::nextSibling(result); } 510 511 virtual HRESULT STDMETHODCALLTYPE attributes( 512 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMElement::attributes(result); } 513 514 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 515 /* [retval][out] */ IDOMDocument **result) { return DOMElement::ownerDocument(result); } 516 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 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 527 virtual HRESULT STDMETHODCALLTYPE removeChild( 528 /* [in] */ IDOMNode *oldChild, 529 /* [retval][out] */ IDOMNode **result) { return DOMElement::removeChild(oldChild, result); } 530 531 virtual HRESULT STDMETHODCALLTYPE appendChild( 532 /* [in] */ IDOMNode *oldChild, 533 /* [retval][out] */ IDOMNode **result) { return DOMElement::appendChild(oldChild, result); } 534 535 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 536 /* [retval][out] */ BOOL *result) { return DOMElement::hasChildNodes(result); } 537 538 virtual HRESULT STDMETHODCALLTYPE cloneNode( 539 /* [in] */ BOOL deep, 540 /* [retval][out] */ IDOMNode **result) { return DOMElement::cloneNode(deep, result); } 541 542 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMElement::normalize(); } 543 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 549 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 550 /* [retval][out] */ BSTR *result) { return DOMElement::namespaceURI(result); } 551 552 virtual HRESULT STDMETHODCALLTYPE prefix( 553 /* [retval][out] */ BSTR *result) { return DOMElement::prefix(result); } 554 555 virtual HRESULT STDMETHODCALLTYPE setPrefix( 556 /* [in] */ BSTR prefix) { return DOMElement::setPrefix(prefix); } 557 558 virtual HRESULT STDMETHODCALLTYPE localName( 559 /* [retval][out] */ BSTR *result) { return DOMElement::localName(result); } 560 561 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 562 /* [retval][out] */ BOOL *result) { return DOMElement::hasAttributes(result); } 563 564 virtual HRESULT STDMETHODCALLTYPE isSameNode( 565 /* [in] */ IDOMNode* other, 566 /* [retval][out] */ BOOL* result) { return DOMElement::isSameNode(other, result); } 567 568 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 569 /* [in] */ IDOMNode* other, 570 /* [retval][out] */ BOOL* result) { return DOMElement::isEqualNode(other, result); } 571 572 virtual HRESULT STDMETHODCALLTYPE textContent( 573 /* [retval][out] */ BSTR* result) { return DOMElement::textContent(result); } 574 575 virtual HRESULT STDMETHODCALLTYPE setTextContent( 576 /* [in] */ BSTR text) { return DOMElement::setTextContent(text); } 577 578 // IDOMElement 579 virtual HRESULT STDMETHODCALLTYPE tagName( 580 /* [retval][out] */ BSTR *result) { return DOMElement::tagName(result); } 581 582 virtual HRESULT STDMETHODCALLTYPE getAttribute( 583 /* [in] */ BSTR name, 584 /* [retval][out] */ BSTR *result) { return DOMElement::getAttribute(name, result); } 585 586 virtual HRESULT STDMETHODCALLTYPE setAttribute( 587 /* [in] */ BSTR name, 588 /* [in] */ BSTR value) { return DOMElement::setAttribute(name, value); } 589 590 virtual HRESULT STDMETHODCALLTYPE removeAttribute( 591 /* [in] */ BSTR name) { return DOMElement::removeAttribute(name); } 592 593 virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 594 /* [in] */ BSTR name, 595 /* [retval][out] */ IDOMAttr **result) { return DOMElement::getAttributeNode(name, result); } 596 597 virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 598 /* [in] */ IDOMAttr *newAttr, 599 /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNode(newAttr, result); } 600 601 virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 602 /* [in] */ IDOMAttr *oldAttr, 603 /* [retval][out] */ IDOMAttr **result) { return DOMElement::removeAttributeNode(oldAttr, result); } 604 605 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 606 /* [in] */ BSTR name, 607 /* [retval][out] */ IDOMNodeList **result) { return DOMElement::getElementsByTagName(name, result); } 608 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 614 virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 615 /* [in] */ BSTR namespaceURI, 616 /* [in] */ BSTR qualifiedName, 617 /* [in] */ BSTR value) { return DOMElement::setAttributeNS(namespaceURI, qualifiedName, value); } 618 619 virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 620 /* [in] */ BSTR namespaceURI, 621 /* [in] */ BSTR localName) { return DOMElement::removeAttributeNS(namespaceURI, localName); } 622 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 628 virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 629 /* [in] */ IDOMAttr *newAttr, 630 /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNodeNS(newAttr, result); } 631 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 637 virtual HRESULT STDMETHODCALLTYPE hasAttribute( 638 /* [in] */ BSTR name, 639 /* [retval][out] */ BOOL *result) { return DOMElement::hasAttribute(name, result); } 640 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 646 virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMElement::focus(); } 647 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: 700 DOMHTMLFormElement(WebCore::Element* e) : DOMHTMLElement(e) {} 701 702 // IUnknown 703 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 704 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); } 705 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); } 706 707 // IWebScriptObject 708 virtual HRESULT STDMETHODCALLTYPE throwException( 709 /* [in] */ BSTR exceptionMessage, 710 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); } 711 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 718 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 719 /* [in] */ BSTR script, 720 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); } 721 722 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 723 /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); } 724 725 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 726 /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); } 727 728 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 729 /* [in] */ unsigned int index, 730 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); } 731 732 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 733 /* [in] */ unsigned int index, 734 /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); } 735 736 virtual HRESULT STDMETHODCALLTYPE setException( 737 /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); } 738 739 // IDOMNode 740 virtual HRESULT STDMETHODCALLTYPE nodeName( 741 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); } 742 743 virtual HRESULT STDMETHODCALLTYPE nodeValue( 744 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); } 745 746 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 747 /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); } 748 749 virtual HRESULT STDMETHODCALLTYPE nodeType( 750 /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); } 751 752 virtual HRESULT STDMETHODCALLTYPE parentNode( 753 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); } 754 755 virtual HRESULT STDMETHODCALLTYPE childNodes( 756 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); } 757 758 virtual HRESULT STDMETHODCALLTYPE firstChild( 759 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); } 760 761 virtual HRESULT STDMETHODCALLTYPE lastChild( 762 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); } 763 764 virtual HRESULT STDMETHODCALLTYPE previousSibling( 765 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); } 766 767 virtual HRESULT STDMETHODCALLTYPE nextSibling( 768 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); } 769 770 virtual HRESULT STDMETHODCALLTYPE attributes( 771 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); } 772 773 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 774 /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); } 775 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 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 786 virtual HRESULT STDMETHODCALLTYPE removeChild( 787 /* [in] */ IDOMNode *oldChild, 788 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); } 789 790 virtual HRESULT STDMETHODCALLTYPE appendChild( 791 /* [in] */ IDOMNode *oldChild, 792 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); } 793 794 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 795 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); } 796 797 virtual HRESULT STDMETHODCALLTYPE cloneNode( 798 /* [in] */ BOOL deep, 799 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); } 800 801 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); } 802 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 808 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 809 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); } 810 811 virtual HRESULT STDMETHODCALLTYPE prefix( 812 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); } 813 814 virtual HRESULT STDMETHODCALLTYPE setPrefix( 815 /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); } 816 817 virtual HRESULT STDMETHODCALLTYPE localName( 818 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); } 819 820 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 821 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); } 822 823 virtual HRESULT STDMETHODCALLTYPE isSameNode( 824 /* [in] */ IDOMNode* other, 825 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); } 826 827 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 828 /* [in] */ IDOMNode* other, 829 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); } 830 831 virtual HRESULT STDMETHODCALLTYPE textContent( 832 /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); } 833 834 virtual HRESULT STDMETHODCALLTYPE setTextContent( 835 /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); } 836 837 // IDOMElement 838 virtual HRESULT STDMETHODCALLTYPE tagName( 839 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); } 840 841 virtual HRESULT STDMETHODCALLTYPE getAttribute( 842 /* [in] */ BSTR name, 843 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); } 844 845 virtual HRESULT STDMETHODCALLTYPE setAttribute( 846 /* [in] */ BSTR name, 847 /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); } 848 849 virtual HRESULT STDMETHODCALLTYPE removeAttribute( 850 /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); } 851 852 virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 853 /* [in] */ BSTR name, 854 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); } 855 856 virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 857 /* [in] */ IDOMAttr *newAttr, 858 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); } 859 860 virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 861 /* [in] */ IDOMAttr *oldAttr, 862 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); } 863 864 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 865 /* [in] */ BSTR name, 866 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); } 867 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 873 virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 874 /* [in] */ BSTR namespaceURI, 875 /* [in] */ BSTR qualifiedName, 876 /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); } 877 878 virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 879 /* [in] */ BSTR namespaceURI, 880 /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); } 881 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 887 virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 888 /* [in] */ IDOMAttr *newAttr, 889 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); } 890 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 896 virtual HRESULT STDMETHODCALLTYPE hasAttribute( 897 /* [in] */ BSTR name, 898 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); } 899 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 905 virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); } 906 907 virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); } 908 909 // IDOMHTMLElement 910 virtual HRESULT STDMETHODCALLTYPE idName( 911 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); } 912 913 virtual HRESULT STDMETHODCALLTYPE setIdName( 914 /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); } 915 916 virtual HRESULT STDMETHODCALLTYPE title( 917 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); } 918 919 virtual HRESULT STDMETHODCALLTYPE setTitle( 920 /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); } 921 922 virtual HRESULT STDMETHODCALLTYPE lang( 923 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); } 924 925 virtual HRESULT STDMETHODCALLTYPE setLang( 926 /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); } 927 928 virtual HRESULT STDMETHODCALLTYPE dir( 929 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); } 930 931 virtual HRESULT STDMETHODCALLTYPE setDir( 932 /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); } 933 934 virtual HRESULT STDMETHODCALLTYPE className( 935 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); } 936 937 virtual HRESULT STDMETHODCALLTYPE setClassName( 938 /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); } 939 940 virtual HRESULT STDMETHODCALLTYPE innerHTML( 941 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); } 942 943 virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 944 /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); } 945 946 virtual HRESULT STDMETHODCALLTYPE innerText( 947 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); } 948 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: 1005 DOMHTMLSelectElement(WebCore::Element* e) : DOMHTMLElement(e) {} 1006 1007 // IUnknown 1008 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 1009 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); } 1010 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); } 1011 1012 // IWebScriptObject 1013 virtual HRESULT STDMETHODCALLTYPE throwException( 1014 /* [in] */ BSTR exceptionMessage, 1015 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); } 1016 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 1023 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 1024 /* [in] */ BSTR script, 1025 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); } 1026 1027 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 1028 /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); } 1029 1030 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 1031 /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); } 1032 1033 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 1034 /* [in] */ unsigned int index, 1035 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); } 1036 1037 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 1038 /* [in] */ unsigned int index, 1039 /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); } 1040 1041 virtual HRESULT STDMETHODCALLTYPE setException( 1042 /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); } 1043 1044 // IDOMNode 1045 virtual HRESULT STDMETHODCALLTYPE nodeName( 1046 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); } 1047 1048 virtual HRESULT STDMETHODCALLTYPE nodeValue( 1049 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); } 1050 1051 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 1052 /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); } 1053 1054 virtual HRESULT STDMETHODCALLTYPE nodeType( 1055 /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); } 1056 1057 virtual HRESULT STDMETHODCALLTYPE parentNode( 1058 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); } 1059 1060 virtual HRESULT STDMETHODCALLTYPE childNodes( 1061 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); } 1062 1063 virtual HRESULT STDMETHODCALLTYPE firstChild( 1064 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); } 1065 1066 virtual HRESULT STDMETHODCALLTYPE lastChild( 1067 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); } 1068 1069 virtual HRESULT STDMETHODCALLTYPE previousSibling( 1070 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); } 1071 1072 virtual HRESULT STDMETHODCALLTYPE nextSibling( 1073 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); } 1074 1075 virtual HRESULT STDMETHODCALLTYPE attributes( 1076 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); } 1077 1078 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 1079 /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); } 1080 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 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 1091 virtual HRESULT STDMETHODCALLTYPE removeChild( 1092 /* [in] */ IDOMNode *oldChild, 1093 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); } 1094 1095 virtual HRESULT STDMETHODCALLTYPE appendChild( 1096 /* [in] */ IDOMNode *oldChild, 1097 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); } 1098 1099 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 1100 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); } 1101 1102 virtual HRESULT STDMETHODCALLTYPE cloneNode( 1103 /* [in] */ BOOL deep, 1104 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); } 1105 1106 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); } 1107 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 1113 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 1114 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); } 1115 1116 virtual HRESULT STDMETHODCALLTYPE prefix( 1117 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); } 1118 1119 virtual HRESULT STDMETHODCALLTYPE setPrefix( 1120 /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); } 1121 1122 virtual HRESULT STDMETHODCALLTYPE localName( 1123 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); } 1124 1125 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 1126 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); } 1127 1128 virtual HRESULT STDMETHODCALLTYPE isSameNode( 1129 /* [in] */ IDOMNode* other, 1130 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); } 1131 1132 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 1133 /* [in] */ IDOMNode* other, 1134 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); } 1135 1136 virtual HRESULT STDMETHODCALLTYPE textContent( 1137 /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); } 1138 1139 virtual HRESULT STDMETHODCALLTYPE setTextContent( 1140 /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); } 1141 1142 // IDOMElement 1143 virtual HRESULT STDMETHODCALLTYPE tagName( 1144 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); } 1145 1146 virtual HRESULT STDMETHODCALLTYPE getAttribute( 1147 /* [in] */ BSTR name, 1148 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); } 1149 1150 virtual HRESULT STDMETHODCALLTYPE setAttribute( 1151 /* [in] */ BSTR name, 1152 /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); } 1153 1154 virtual HRESULT STDMETHODCALLTYPE removeAttribute( 1155 /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); } 1156 1157 virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 1158 /* [in] */ BSTR name, 1159 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); } 1160 1161 virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 1162 /* [in] */ IDOMAttr *newAttr, 1163 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); } 1164 1165 virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 1166 /* [in] */ IDOMAttr *oldAttr, 1167 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); } 1168 1169 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 1170 /* [in] */ BSTR name, 1171 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); } 1172 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 1178 virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 1179 /* [in] */ BSTR namespaceURI, 1180 /* [in] */ BSTR qualifiedName, 1181 /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); } 1182 1183 virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 1184 /* [in] */ BSTR namespaceURI, 1185 /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); } 1186 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 1192 virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 1193 /* [in] */ IDOMAttr *newAttr, 1194 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); } 1195 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 1201 virtual HRESULT STDMETHODCALLTYPE hasAttribute( 1202 /* [in] */ BSTR name, 1203 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); } 1204 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 1210 virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); } 1211 1212 virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); } 1213 1214 // IDOMHTMLElement 1215 virtual HRESULT STDMETHODCALLTYPE idName( 1216 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); } 1217 1218 virtual HRESULT STDMETHODCALLTYPE setIdName( 1219 /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); } 1220 1221 virtual HRESULT STDMETHODCALLTYPE title( 1222 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); } 1223 1224 virtual HRESULT STDMETHODCALLTYPE setTitle( 1225 /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); } 1226 1227 virtual HRESULT STDMETHODCALLTYPE lang( 1228 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); } 1229 1230 virtual HRESULT STDMETHODCALLTYPE setLang( 1231 /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); } 1232 1233 virtual HRESULT STDMETHODCALLTYPE dir( 1234 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); } 1235 1236 virtual HRESULT STDMETHODCALLTYPE setDir( 1237 /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); } 1238 1239 virtual HRESULT STDMETHODCALLTYPE className( 1240 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); } 1241 1242 virtual HRESULT STDMETHODCALLTYPE setClassName( 1243 /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); } 1244 1245 virtual HRESULT STDMETHODCALLTYPE innerHTML( 1246 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); } 1247 1248 virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 1249 /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); } 1250 1251 virtual HRESULT STDMETHODCALLTYPE innerText( 1252 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); } 1253 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: 1329 DOMHTMLOptionElement(WebCore::Element* e) : DOMHTMLElement(e) {} 1330 1331 // IUnknown 1332 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 1333 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); } 1334 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); } 1335 1336 // IWebScriptObject 1337 virtual HRESULT STDMETHODCALLTYPE throwException( 1338 /* [in] */ BSTR exceptionMessage, 1339 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); } 1340 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 1347 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 1348 /* [in] */ BSTR script, 1349 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); } 1350 1351 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 1352 /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); } 1353 1354 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 1355 /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); } 1356 1357 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 1358 /* [in] */ unsigned int index, 1359 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); } 1360 1361 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 1362 /* [in] */ unsigned int index, 1363 /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); } 1364 1365 virtual HRESULT STDMETHODCALLTYPE setException( 1366 /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); } 1367 1368 // IDOMNode 1369 virtual HRESULT STDMETHODCALLTYPE nodeName( 1370 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); } 1371 1372 virtual HRESULT STDMETHODCALLTYPE nodeValue( 1373 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); } 1374 1375 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 1376 /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); } 1377 1378 virtual HRESULT STDMETHODCALLTYPE nodeType( 1379 /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); } 1380 1381 virtual HRESULT STDMETHODCALLTYPE parentNode( 1382 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); } 1383 1384 virtual HRESULT STDMETHODCALLTYPE childNodes( 1385 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); } 1386 1387 virtual HRESULT STDMETHODCALLTYPE firstChild( 1388 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); } 1389 1390 virtual HRESULT STDMETHODCALLTYPE lastChild( 1391 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); } 1392 1393 virtual HRESULT STDMETHODCALLTYPE previousSibling( 1394 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); } 1395 1396 virtual HRESULT STDMETHODCALLTYPE nextSibling( 1397 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); } 1398 1399 virtual HRESULT STDMETHODCALLTYPE attributes( 1400 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); } 1401 1402 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 1403 /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); } 1404 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 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 1415 virtual HRESULT STDMETHODCALLTYPE removeChild( 1416 /* [in] */ IDOMNode *oldChild, 1417 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); } 1418 1419 virtual HRESULT STDMETHODCALLTYPE appendChild( 1420 /* [in] */ IDOMNode *oldChild, 1421 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); } 1422 1423 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 1424 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); } 1425 1426 virtual HRESULT STDMETHODCALLTYPE cloneNode( 1427 /* [in] */ BOOL deep, 1428 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); } 1429 1430 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); } 1431 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 1437 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 1438 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); } 1439 1440 virtual HRESULT STDMETHODCALLTYPE prefix( 1441 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); } 1442 1443 virtual HRESULT STDMETHODCALLTYPE setPrefix( 1444 /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); } 1445 1446 virtual HRESULT STDMETHODCALLTYPE localName( 1447 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); } 1448 1449 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 1450 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); } 1451 1452 virtual HRESULT STDMETHODCALLTYPE isSameNode( 1453 /* [in] */ IDOMNode* other, 1454 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); } 1455 1456 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 1457 /* [in] */ IDOMNode* other, 1458 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); } 1459 1460 virtual HRESULT STDMETHODCALLTYPE textContent( 1461 /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); } 1462 1463 virtual HRESULT STDMETHODCALLTYPE setTextContent( 1464 /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); } 1465 1466 // IDOMElement 1467 virtual HRESULT STDMETHODCALLTYPE tagName( 1468 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); } 1469 1470 virtual HRESULT STDMETHODCALLTYPE getAttribute( 1471 /* [in] */ BSTR name, 1472 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); } 1473 1474 virtual HRESULT STDMETHODCALLTYPE setAttribute( 1475 /* [in] */ BSTR name, 1476 /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); } 1477 1478 virtual HRESULT STDMETHODCALLTYPE removeAttribute( 1479 /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); } 1480 1481 virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 1482 /* [in] */ BSTR name, 1483 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); } 1484 1485 virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 1486 /* [in] */ IDOMAttr *newAttr, 1487 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); } 1488 1489 virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 1490 /* [in] */ IDOMAttr *oldAttr, 1491 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); } 1492 1493 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 1494 /* [in] */ BSTR name, 1495 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); } 1496 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 1502 virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 1503 /* [in] */ BSTR namespaceURI, 1504 /* [in] */ BSTR qualifiedName, 1505 /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); } 1506 1507 virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 1508 /* [in] */ BSTR namespaceURI, 1509 /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); } 1510 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 1516 virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 1517 /* [in] */ IDOMAttr *newAttr, 1518 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); } 1519 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 1525 virtual HRESULT STDMETHODCALLTYPE hasAttribute( 1526 /* [in] */ BSTR name, 1527 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); } 1528 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 1534 virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); } 1535 1536 virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); } 1537 1538 // IDOMHTMLElement 1539 virtual HRESULT STDMETHODCALLTYPE idName( 1540 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); } 1541 1542 virtual HRESULT STDMETHODCALLTYPE setIdName( 1543 /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); } 1544 1545 virtual HRESULT STDMETHODCALLTYPE title( 1546 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); } 1547 1548 virtual HRESULT STDMETHODCALLTYPE setTitle( 1549 /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); } 1550 1551 virtual HRESULT STDMETHODCALLTYPE lang( 1552 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); } 1553 1554 virtual HRESULT STDMETHODCALLTYPE setLang( 1555 /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); } 1556 1557 virtual HRESULT STDMETHODCALLTYPE dir( 1558 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); } 1559 1560 virtual HRESULT STDMETHODCALLTYPE setDir( 1561 /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); } 1562 1563 virtual HRESULT STDMETHODCALLTYPE className( 1564 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); } 1565 1566 virtual HRESULT STDMETHODCALLTYPE setClassName( 1567 /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); } 1568 1569 virtual HRESULT STDMETHODCALLTYPE innerHTML( 1570 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); } 1571 1572 virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 1573 /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); } 1574 1575 virtual HRESULT STDMETHODCALLTYPE innerText( 1576 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); } 1577 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: 1627 DOMHTMLInputElement(WebCore::Element* e) : DOMHTMLElement(e) {} 1628 1629 // IUnknown 1630 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 1631 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); } 1632 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); } 1633 1634 // IWebScriptObject 1635 virtual HRESULT STDMETHODCALLTYPE throwException( 1636 /* [in] */ BSTR exceptionMessage, 1637 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); } 1638 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 1645 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 1646 /* [in] */ BSTR script, 1647 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); } 1648 1649 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 1650 /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); } 1651 1652 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 1653 /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); } 1654 1655 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 1656 /* [in] */ unsigned int index, 1657 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); } 1658 1659 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 1660 /* [in] */ unsigned int index, 1661 /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); } 1662 1663 virtual HRESULT STDMETHODCALLTYPE setException( 1664 /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); } 1665 1666 // IDOMNode 1667 virtual HRESULT STDMETHODCALLTYPE nodeName( 1668 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); } 1669 1670 virtual HRESULT STDMETHODCALLTYPE nodeValue( 1671 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); } 1672 1673 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 1674 /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); } 1675 1676 virtual HRESULT STDMETHODCALLTYPE nodeType( 1677 /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); } 1678 1679 virtual HRESULT STDMETHODCALLTYPE parentNode( 1680 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); } 1681 1682 virtual HRESULT STDMETHODCALLTYPE childNodes( 1683 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); } 1684 1685 virtual HRESULT STDMETHODCALLTYPE firstChild( 1686 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); } 1687 1688 virtual HRESULT STDMETHODCALLTYPE lastChild( 1689 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); } 1690 1691 virtual HRESULT STDMETHODCALLTYPE previousSibling( 1692 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); } 1693 1694 virtual HRESULT STDMETHODCALLTYPE nextSibling( 1695 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); } 1696 1697 virtual HRESULT STDMETHODCALLTYPE attributes( 1698 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); } 1699 1700 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 1701 /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); } 1702 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 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 1713 virtual HRESULT STDMETHODCALLTYPE removeChild( 1714 /* [in] */ IDOMNode *oldChild, 1715 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); } 1716 1717 virtual HRESULT STDMETHODCALLTYPE appendChild( 1718 /* [in] */ IDOMNode *oldChild, 1719 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); } 1720 1721 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 1722 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); } 1723 1724 virtual HRESULT STDMETHODCALLTYPE cloneNode( 1725 /* [in] */ BOOL deep, 1726 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); } 1727 1728 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); } 1729 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 1735 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 1736 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); } 1737 1738 virtual HRESULT STDMETHODCALLTYPE prefix( 1739 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); } 1740 1741 virtual HRESULT STDMETHODCALLTYPE setPrefix( 1742 /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); } 1743 1744 virtual HRESULT STDMETHODCALLTYPE localName( 1745 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); } 1746 1747 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 1748 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); } 1749 1750 virtual HRESULT STDMETHODCALLTYPE isSameNode( 1751 /* [in] */ IDOMNode* other, 1752 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); } 1753 1754 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 1755 /* [in] */ IDOMNode* other, 1756 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); } 1757 1758 virtual HRESULT STDMETHODCALLTYPE textContent( 1759 /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); } 1760 1761 virtual HRESULT STDMETHODCALLTYPE setTextContent( 1762 /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); } 1763 1764 // IDOMElement 1765 virtual HRESULT STDMETHODCALLTYPE tagName( 1766 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); } 1767 1768 virtual HRESULT STDMETHODCALLTYPE getAttribute( 1769 /* [in] */ BSTR name, 1770 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); } 1771 1772 virtual HRESULT STDMETHODCALLTYPE setAttribute( 1773 /* [in] */ BSTR name, 1774 /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); } 1775 1776 virtual HRESULT STDMETHODCALLTYPE removeAttribute( 1777 /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); } 1778 1779 virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 1780 /* [in] */ BSTR name, 1781 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); } 1782 1783 virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 1784 /* [in] */ IDOMAttr *newAttr, 1785 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); } 1786 1787 virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 1788 /* [in] */ IDOMAttr *oldAttr, 1789 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); } 1790 1791 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 1792 /* [in] */ BSTR name, 1793 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); } 1794 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 1800 virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 1801 /* [in] */ BSTR namespaceURI, 1802 /* [in] */ BSTR qualifiedName, 1803 /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); } 1804 1805 virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 1806 /* [in] */ BSTR namespaceURI, 1807 /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); } 1808 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 1814 virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 1815 /* [in] */ IDOMAttr *newAttr, 1816 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); } 1817 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 1823 virtual HRESULT STDMETHODCALLTYPE hasAttribute( 1824 /* [in] */ BSTR name, 1825 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); } 1826 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 1832 virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); } 1833 1834 virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); } 1835 1836 // IDOMHTMLElement 1837 virtual HRESULT STDMETHODCALLTYPE idName( 1838 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); } 1839 1840 virtual HRESULT STDMETHODCALLTYPE setIdName( 1841 /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); } 1842 1843 virtual HRESULT STDMETHODCALLTYPE title( 1844 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); } 1845 1846 virtual HRESULT STDMETHODCALLTYPE setTitle( 1847 /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); } 1848 1849 virtual HRESULT STDMETHODCALLTYPE lang( 1850 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); } 1851 1852 virtual HRESULT STDMETHODCALLTYPE setLang( 1853 /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); } 1854 1855 virtual HRESULT STDMETHODCALLTYPE dir( 1856 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); } 1857 1858 virtual HRESULT STDMETHODCALLTYPE setDir( 1859 /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); } 1860 1861 virtual HRESULT STDMETHODCALLTYPE className( 1862 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); } 1863 1864 virtual HRESULT STDMETHODCALLTYPE setClassName( 1865 /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); } 1866 1867 virtual HRESULT STDMETHODCALLTYPE innerHTML( 1868 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); } 1869 1870 virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 1871 /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); } 1872 1873 virtual HRESULT STDMETHODCALLTYPE innerText( 1874 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); } 1875 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: 2037 DOMHTMLTextAreaElement(WebCore::Element* e) : DOMHTMLElement(e) {} 2038 2039 // IUnknown 2040 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 2041 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); } 2042 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); } 2043 2044 // IWebScriptObject 2045 virtual HRESULT STDMETHODCALLTYPE throwException( 2046 /* [in] */ BSTR exceptionMessage, 2047 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); } 2048 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 2055 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 2056 /* [in] */ BSTR script, 2057 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); } 2058 2059 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 2060 /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); } 2061 2062 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 2063 /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); } 2064 2065 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 2066 /* [in] */ unsigned int index, 2067 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); } 2068 2069 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 2070 /* [in] */ unsigned int index, 2071 /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); } 2072 2073 virtual HRESULT STDMETHODCALLTYPE setException( 2074 /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); } 2075 2076 // IDOMNode 2077 virtual HRESULT STDMETHODCALLTYPE nodeName( 2078 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); } 2079 2080 virtual HRESULT STDMETHODCALLTYPE nodeValue( 2081 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); } 2082 2083 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 2084 /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); } 2085 2086 virtual HRESULT STDMETHODCALLTYPE nodeType( 2087 /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); } 2088 2089 virtual HRESULT STDMETHODCALLTYPE parentNode( 2090 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); } 2091 2092 virtual HRESULT STDMETHODCALLTYPE childNodes( 2093 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); } 2094 2095 virtual HRESULT STDMETHODCALLTYPE firstChild( 2096 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); } 2097 2098 virtual HRESULT STDMETHODCALLTYPE lastChild( 2099 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); } 2100 2101 virtual HRESULT STDMETHODCALLTYPE previousSibling( 2102 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); } 2103 2104 virtual HRESULT STDMETHODCALLTYPE nextSibling( 2105 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); } 2106 2107 virtual HRESULT STDMETHODCALLTYPE attributes( 2108 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); } 2109 2110 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 2111 /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); } 2112 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 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 2123 virtual HRESULT STDMETHODCALLTYPE removeChild( 2124 /* [in] */ IDOMNode *oldChild, 2125 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); } 2126 2127 virtual HRESULT STDMETHODCALLTYPE appendChild( 2128 /* [in] */ IDOMNode *oldChild, 2129 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); } 2130 2131 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 2132 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); } 2133 2134 virtual HRESULT STDMETHODCALLTYPE cloneNode( 2135 /* [in] */ BOOL deep, 2136 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); } 2137 2138 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); } 2139 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 2145 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 2146 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); } 2147 2148 virtual HRESULT STDMETHODCALLTYPE prefix( 2149 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); } 2150 2151 virtual HRESULT STDMETHODCALLTYPE setPrefix( 2152 /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); } 2153 2154 virtual HRESULT STDMETHODCALLTYPE localName( 2155 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); } 2156 2157 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 2158 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); } 2159 2160 virtual HRESULT STDMETHODCALLTYPE isSameNode( 2161 /* [in] */ IDOMNode* other, 2162 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); } 2163 2164 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 2165 /* [in] */ IDOMNode* other, 2166 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); } 2167 2168 virtual HRESULT STDMETHODCALLTYPE textContent( 2169 /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); } 2170 2171 virtual HRESULT STDMETHODCALLTYPE setTextContent( 2172 /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); } 2173 2174 // IDOMElement 2175 virtual HRESULT STDMETHODCALLTYPE tagName( 2176 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); } 2177 2178 virtual HRESULT STDMETHODCALLTYPE getAttribute( 2179 /* [in] */ BSTR name, 2180 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); } 2181 2182 virtual HRESULT STDMETHODCALLTYPE setAttribute( 2183 /* [in] */ BSTR name, 2184 /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); } 2185 2186 virtual HRESULT STDMETHODCALLTYPE removeAttribute( 2187 /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); } 2188 2189 virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 2190 /* [in] */ BSTR name, 2191 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); } 2192 2193 virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 2194 /* [in] */ IDOMAttr *newAttr, 2195 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); } 2196 2197 virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 2198 /* [in] */ IDOMAttr *oldAttr, 2199 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); } 2200 2201 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 2202 /* [in] */ BSTR name, 2203 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); } 2204 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 2210 virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 2211 /* [in] */ BSTR namespaceURI, 2212 /* [in] */ BSTR qualifiedName, 2213 /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); } 2214 2215 virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 2216 /* [in] */ BSTR namespaceURI, 2217 /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); } 2218 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 2224 virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 2225 /* [in] */ IDOMAttr *newAttr, 2226 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); } 2227 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 2233 virtual HRESULT STDMETHODCALLTYPE hasAttribute( 2234 /* [in] */ BSTR name, 2235 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); } 2236 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 2242 virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); } 2243 2244 virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); } 2245 2246 // IDOMHTMLElement 2247 virtual HRESULT STDMETHODCALLTYPE idName( 2248 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); } 2249 2250 virtual HRESULT STDMETHODCALLTYPE setIdName( 2251 /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); } 2252 2253 virtual HRESULT STDMETHODCALLTYPE title( 2254 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); } 2255 2256 virtual HRESULT STDMETHODCALLTYPE setTitle( 2257 /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); } 2258 2259 virtual HRESULT STDMETHODCALLTYPE lang( 2260 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); } 2261 2262 virtual HRESULT STDMETHODCALLTYPE setLang( 2263 /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); } 2264 2265 virtual HRESULT STDMETHODCALLTYPE dir( 2266 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); } 2267 2268 virtual HRESULT STDMETHODCALLTYPE setDir( 2269 /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); } 2270 2271 virtual HRESULT STDMETHODCALLTYPE className( 2272 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); } 2273 2274 virtual HRESULT STDMETHODCALLTYPE setClassName( 2275 /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); } 2276 2277 virtual HRESULT STDMETHODCALLTYPE innerHTML( 2278 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); } 2279 2280 virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 2281 /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); } 2282 2283 virtual HRESULT STDMETHODCALLTYPE innerText( 2284 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); } 2285 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: 2362 DOMHTMLIFrameElement(WebCore::Element* e) : DOMHTMLElement(e) {} 2363 2364 // IUnknown 2365 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 2366 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); } 2367 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); } 2368 2369 // IWebScriptObject 2370 virtual HRESULT STDMETHODCALLTYPE throwException( 2371 /* [in] */ BSTR exceptionMessage, 2372 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); } 2373 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 2380 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 2381 /* [in] */ BSTR script, 2382 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); } 2383 2384 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 2385 /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); } 2386 2387 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 2388 /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); } 2389 2390 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 2391 /* [in] */ unsigned int index, 2392 /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); } 2393 2394 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 2395 /* [in] */ unsigned int index, 2396 /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); } 2397 2398 virtual HRESULT STDMETHODCALLTYPE setException( 2399 /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); } 2400 2401 // IDOMNode 2402 virtual HRESULT STDMETHODCALLTYPE nodeName( 2403 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); } 2404 2405 virtual HRESULT STDMETHODCALLTYPE nodeValue( 2406 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); } 2407 2408 virtual HRESULT STDMETHODCALLTYPE setNodeValue( 2409 /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); } 2410 2411 virtual HRESULT STDMETHODCALLTYPE nodeType( 2412 /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); } 2413 2414 virtual HRESULT STDMETHODCALLTYPE parentNode( 2415 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); } 2416 2417 virtual HRESULT STDMETHODCALLTYPE childNodes( 2418 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); } 2419 2420 virtual HRESULT STDMETHODCALLTYPE firstChild( 2421 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); } 2422 2423 virtual HRESULT STDMETHODCALLTYPE lastChild( 2424 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); } 2425 2426 virtual HRESULT STDMETHODCALLTYPE previousSibling( 2427 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); } 2428 2429 virtual HRESULT STDMETHODCALLTYPE nextSibling( 2430 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); } 2431 2432 virtual HRESULT STDMETHODCALLTYPE attributes( 2433 /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); } 2434 2435 virtual HRESULT STDMETHODCALLTYPE ownerDocument( 2436 /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); } 2437 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 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 2448 virtual HRESULT STDMETHODCALLTYPE removeChild( 2449 /* [in] */ IDOMNode *oldChild, 2450 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); } 2451 2452 virtual HRESULT STDMETHODCALLTYPE appendChild( 2453 /* [in] */ IDOMNode *oldChild, 2454 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); } 2455 2456 virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 2457 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); } 2458 2459 virtual HRESULT STDMETHODCALLTYPE cloneNode( 2460 /* [in] */ BOOL deep, 2461 /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); } 2462 2463 virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); } 2464 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 2470 virtual HRESULT STDMETHODCALLTYPE namespaceURI( 2471 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); } 2472 2473 virtual HRESULT STDMETHODCALLTYPE prefix( 2474 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); } 2475 2476 virtual HRESULT STDMETHODCALLTYPE setPrefix( 2477 /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); } 2478 2479 virtual HRESULT STDMETHODCALLTYPE localName( 2480 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); } 2481 2482 virtual HRESULT STDMETHODCALLTYPE hasAttributes( 2483 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); } 2484 2485 virtual HRESULT STDMETHODCALLTYPE isSameNode( 2486 /* [in] */ IDOMNode* other, 2487 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); } 2488 2489 virtual HRESULT STDMETHODCALLTYPE isEqualNode( 2490 /* [in] */ IDOMNode* other, 2491 /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); } 2492 2493 virtual HRESULT STDMETHODCALLTYPE textContent( 2494 /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); } 2495 2496 virtual HRESULT STDMETHODCALLTYPE setTextContent( 2497 /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); } 2498 2499 // IDOMElement 2500 virtual HRESULT STDMETHODCALLTYPE tagName( 2501 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); } 2502 2503 virtual HRESULT STDMETHODCALLTYPE getAttribute( 2504 /* [in] */ BSTR name, 2505 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); } 2506 2507 virtual HRESULT STDMETHODCALLTYPE setAttribute( 2508 /* [in] */ BSTR name, 2509 /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); } 2510 2511 virtual HRESULT STDMETHODCALLTYPE removeAttribute( 2512 /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); } 2513 2514 virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 2515 /* [in] */ BSTR name, 2516 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); } 2517 2518 virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 2519 /* [in] */ IDOMAttr *newAttr, 2520 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); } 2521 2522 virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 2523 /* [in] */ IDOMAttr *oldAttr, 2524 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); } 2525 2526 virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 2527 /* [in] */ BSTR name, 2528 /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); } 2529 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 2535 virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 2536 /* [in] */ BSTR namespaceURI, 2537 /* [in] */ BSTR qualifiedName, 2538 /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); } 2539 2540 virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 2541 /* [in] */ BSTR namespaceURI, 2542 /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); } 2543 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 2549 virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 2550 /* [in] */ IDOMAttr *newAttr, 2551 /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); } 2552 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 2558 virtual HRESULT STDMETHODCALLTYPE hasAttribute( 2559 /* [in] */ BSTR name, 2560 /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); } 2561 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 2567 virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); } 2568 2569 virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); } 2570 2571 // IDOMHTMLElement 2572 virtual HRESULT STDMETHODCALLTYPE idName( 2573 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); } 2574 2575 virtual HRESULT STDMETHODCALLTYPE setIdName( 2576 /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); } 2577 2578 virtual HRESULT STDMETHODCALLTYPE title( 2579 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); } 2580 2581 virtual HRESULT STDMETHODCALLTYPE setTitle( 2582 /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); } 2583 2584 virtual HRESULT STDMETHODCALLTYPE lang( 2585 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); } 2586 2587 virtual HRESULT STDMETHODCALLTYPE setLang( 2588 /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); } 2589 2590 virtual HRESULT STDMETHODCALLTYPE dir( 2591 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); } 2592 2593 virtual HRESULT STDMETHODCALLTYPE setDir( 2594 /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); } 2595 2596 virtual HRESULT STDMETHODCALLTYPE className( 2597 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); } 2598 2599 virtual HRESULT STDMETHODCALLTYPE setClassName( 2600 /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); } 2601 2602 virtual HRESULT STDMETHODCALLTYPE innerHTML( 2603 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); } 2604 2605 virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 2606 /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); } 2607 2608 virtual HRESULT STDMETHODCALLTYPE innerText( 2609 /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); } 2610 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