~ubuntu-branches/ubuntu/maverick/webkit/maverick

« back to all changes in this revision

Viewing changes to WebKit/win/DOMHTMLClasses.h

  • Committer: Bazaar Package Importer
  • Author(s): Mike Hommey
  • Date: 2007-08-19 15:54:12 UTC
  • Revision ID: james.westby@ubuntu.com-20070819155412-uxxg1h9plpghmtbi
Tags: upstream-0~svn25144
ImportĀ upstreamĀ versionĀ 0~svn25144

Show diffs side-by-side

added added

removed removed

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