2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
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.
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.
26 #ifndef DOMEventsClasses_H
27 #define DOMEventsClasses_H
30 #include "DOMCoreClasses.h"
31 #include <WebCore/EventListener.h>
33 #include <wtf/PassRefPtr.h>
34 #include <wtf/RefPtr.h>
36 // {AC3D1BC3-4976-4431-8A19-4812C5EFE39C}
37 DEFINE_GUID(IID_DOMEvent, 0xac3d1bc3, 0x4976, 0x4431, 0x8a, 0x19, 0x48, 0x12, 0xc5, 0xef, 0xe3, 0x9c);
45 class WebEventListener : public WebCore::EventListener {
47 WebEventListener(IDOMEventListener*);
49 virtual bool operator==(const EventListener&);
50 virtual void handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*);
51 static PassRefPtr<WebEventListener> create(IDOMEventListener*);
53 IDOMEventListener* m_iDOMEventListener;
56 class DOMEventListener : public DOMObject, public IDOMEventListener
60 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
61 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
62 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
65 virtual HRESULT STDMETHODCALLTYPE throwException(
66 /* [in] */ BSTR exceptionMessage,
67 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
69 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
71 /* [size_is][in] */ const VARIANT args[ ],
73 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
75 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
76 /* [in] */ BSTR script,
77 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
79 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
80 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
82 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
83 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
85 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
86 /* [in] */ unsigned int index,
87 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
89 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
90 /* [in] */ unsigned int index,
91 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
93 virtual HRESULT STDMETHODCALLTYPE setException(
94 /* [in] */ BSTR description) { return DOMObject::setException(description); }
97 virtual HRESULT STDMETHODCALLTYPE handleEvent(
98 /* [in] */ IDOMEvent* evt);
101 class DOMEvent : public DOMObject, public IDOMEvent
104 static IDOMEvent* createInstance(PassRefPtr<WebCore::Event> e);
106 DOMEvent(PassRefPtr<WebCore::Event> e);
111 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
112 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
113 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
116 virtual HRESULT STDMETHODCALLTYPE throwException(
117 /* [in] */ BSTR exceptionMessage,
118 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
120 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
121 /* [in] */ BSTR name,
122 /* [size_is][in] */ const VARIANT args[ ],
123 /* [in] */ int cArgs,
124 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
126 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
127 /* [in] */ BSTR script,
128 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
130 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
131 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
133 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
134 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
136 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
137 /* [in] */ unsigned int index,
138 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
140 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
141 /* [in] */ unsigned int index,
142 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
144 virtual HRESULT STDMETHODCALLTYPE setException(
145 /* [in] */ BSTR description) { return DOMObject::setException(description); }
148 virtual HRESULT STDMETHODCALLTYPE type(
149 /* [retval][out] */ BSTR* result);
151 virtual HRESULT STDMETHODCALLTYPE target(
152 /* [retval][out] */ IDOMEventTarget** result);
154 virtual HRESULT STDMETHODCALLTYPE currentTarget(
155 /* [retval][out] */ IDOMEventTarget** result);
157 virtual HRESULT STDMETHODCALLTYPE eventPhase(
158 /* [retval][out] */ unsigned short* result);
160 virtual HRESULT STDMETHODCALLTYPE bubbles(
161 /* [retval][out] */ BOOL* result);
163 virtual HRESULT STDMETHODCALLTYPE cancelable(
164 /* [retval][out] */ BOOL* result);
166 virtual HRESULT STDMETHODCALLTYPE timeStamp(
167 /* [retval][out] */ DOMTimeStamp* result);
169 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void);
171 virtual HRESULT STDMETHODCALLTYPE preventDefault( void);
173 virtual HRESULT STDMETHODCALLTYPE initEvent(
174 /* [in] */ BSTR eventTypeArg,
175 /* [in] */ BOOL canBubbleArg,
176 /* [in] */ BOOL cancelableArg);
179 WebCore::Event* coreEvent() { return m_event.get(); }
182 RefPtr<WebCore::Event> m_event;
185 class DOMUIEvent : public DOMEvent, public IDOMUIEvent
188 DOMUIEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) {}
191 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
192 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
193 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
196 virtual HRESULT STDMETHODCALLTYPE throwException(
197 /* [in] */ BSTR exceptionMessage,
198 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
200 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
201 /* [in] */ BSTR name,
202 /* [size_is][in] */ const VARIANT args[ ],
203 /* [in] */ int cArgs,
204 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
206 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
207 /* [in] */ BSTR script,
208 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
210 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
211 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
213 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
214 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
216 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
217 /* [in] */ unsigned int index,
218 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
220 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
221 /* [in] */ unsigned int index,
222 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
224 virtual HRESULT STDMETHODCALLTYPE setException(
225 /* [in] */ BSTR description) { return DOMObject::setException(description); }
228 virtual HRESULT STDMETHODCALLTYPE type(
229 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
231 virtual HRESULT STDMETHODCALLTYPE target(
232 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
234 virtual HRESULT STDMETHODCALLTYPE currentTarget(
235 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
237 virtual HRESULT STDMETHODCALLTYPE eventPhase(
238 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
240 virtual HRESULT STDMETHODCALLTYPE bubbles(
241 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
243 virtual HRESULT STDMETHODCALLTYPE cancelable(
244 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
246 virtual HRESULT STDMETHODCALLTYPE timeStamp(
247 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
249 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
251 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
253 virtual HRESULT STDMETHODCALLTYPE initEvent(
254 /* [in] */ BSTR eventTypeArg,
255 /* [in] */ BOOL canBubbleArg,
256 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
259 virtual HRESULT STDMETHODCALLTYPE view(
260 /* [retval][out] */ IDOMWindow** result);
262 virtual HRESULT STDMETHODCALLTYPE detail(
263 /* [retval][out] */ long* result);
265 virtual HRESULT STDMETHODCALLTYPE initUIEvent(
266 /* [in] */ BSTR type,
267 /* [in] */ BOOL canBubble,
268 /* [in] */ BOOL cancelable,
269 /* [in] */ IDOMWindow* view,
270 /* [in] */ long detail);
272 virtual HRESULT STDMETHODCALLTYPE keyCode(
273 /* [retval][out] */ long* result);
275 virtual HRESULT STDMETHODCALLTYPE charCode(
276 /* [retval][out] */ long* result);
278 virtual HRESULT STDMETHODCALLTYPE layerX(
279 /* [retval][out] */ long* result);
281 virtual HRESULT STDMETHODCALLTYPE layerY(
282 /* [retval][out] */ long* result);
284 virtual HRESULT STDMETHODCALLTYPE pageX(
285 /* [retval][out] */ long* result);
287 virtual HRESULT STDMETHODCALLTYPE pageY(
288 /* [retval][out] */ long* result);
290 virtual HRESULT STDMETHODCALLTYPE which(
291 /* [retval][out] */ long* result);
294 class DOMKeyboardEvent : public DOMUIEvent, public IDOMKeyboardEvent
297 DOMKeyboardEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
300 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
301 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
302 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
305 virtual HRESULT STDMETHODCALLTYPE throwException(
306 /* [in] */ BSTR exceptionMessage,
307 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
309 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
310 /* [in] */ BSTR name,
311 /* [size_is][in] */ const VARIANT args[ ],
312 /* [in] */ int cArgs,
313 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
315 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
316 /* [in] */ BSTR script,
317 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
319 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
320 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
322 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
323 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
325 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
326 /* [in] */ unsigned int index,
327 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
329 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
330 /* [in] */ unsigned int index,
331 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
333 virtual HRESULT STDMETHODCALLTYPE setException(
334 /* [in] */ BSTR description) { return DOMObject::setException(description); }
337 virtual HRESULT STDMETHODCALLTYPE type(
338 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
340 virtual HRESULT STDMETHODCALLTYPE target(
341 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
343 virtual HRESULT STDMETHODCALLTYPE currentTarget(
344 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
346 virtual HRESULT STDMETHODCALLTYPE eventPhase(
347 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
349 virtual HRESULT STDMETHODCALLTYPE bubbles(
350 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
352 virtual HRESULT STDMETHODCALLTYPE cancelable(
353 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
355 virtual HRESULT STDMETHODCALLTYPE timeStamp(
356 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
358 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
360 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
362 virtual HRESULT STDMETHODCALLTYPE initEvent(
363 /* [in] */ BSTR eventTypeArg,
364 /* [in] */ BOOL canBubbleArg,
365 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
368 virtual HRESULT STDMETHODCALLTYPE view(
369 /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
371 virtual HRESULT STDMETHODCALLTYPE detail(
372 /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
374 virtual HRESULT STDMETHODCALLTYPE initUIEvent(
375 /* [in] */ BSTR type,
376 /* [in] */ BOOL canBubble,
377 /* [in] */ BOOL cancelable,
378 /* [in] */ IDOMWindow* view,
379 /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
381 virtual HRESULT STDMETHODCALLTYPE keyCode(
382 /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
384 virtual HRESULT STDMETHODCALLTYPE charCode(
385 /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
387 virtual HRESULT STDMETHODCALLTYPE layerX(
388 /* [retval][out] */ long* result) { return DOMUIEvent::layerX(result); }
390 virtual HRESULT STDMETHODCALLTYPE layerY(
391 /* [retval][out] */ long* result) { return DOMUIEvent::layerY(result); }
393 virtual HRESULT STDMETHODCALLTYPE pageX(
394 /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
396 virtual HRESULT STDMETHODCALLTYPE pageY(
397 /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
399 virtual HRESULT STDMETHODCALLTYPE which(
400 /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
403 virtual HRESULT STDMETHODCALLTYPE keyIdentifier(
404 /* [retval][out] */ BSTR* result);
406 virtual HRESULT STDMETHODCALLTYPE keyLocation(
407 /* [retval][out] */ unsigned long* result);
409 virtual HRESULT STDMETHODCALLTYPE ctrlKey(
410 /* [retval][out] */ BOOL* result);
412 virtual HRESULT STDMETHODCALLTYPE shiftKey(
413 /* [retval][out] */ BOOL* result);
415 virtual HRESULT STDMETHODCALLTYPE altKey(
416 /* [retval][out] */ BOOL* result);
418 virtual HRESULT STDMETHODCALLTYPE metaKey(
419 /* [retval][out] */ BOOL* result);
421 virtual HRESULT STDMETHODCALLTYPE altGraphKey(
422 /* [retval][out] */ BOOL* result);
424 virtual HRESULT STDMETHODCALLTYPE getModifierState(
425 /* [in] */ BSTR keyIdentifierArg,
426 /* [retval][out] */ BOOL* result);
428 virtual HRESULT STDMETHODCALLTYPE initKeyboardEvent(
429 /* [in] */ BSTR type,
430 /* [in] */ BOOL canBubble,
431 /* [in] */ BOOL cancelable,
432 /* [in] */ IDOMWindow* view,
433 /* [in] */ BSTR keyIdentifier,
434 /* [in] */ unsigned long keyLocation,
435 /* [in] */ BOOL ctrlKey,
436 /* [in] */ BOOL altKey,
437 /* [in] */ BOOL shiftKey,
438 /* [in] */ BOOL metaKey,
439 /* [in] */ BOOL graphKey);
442 class DOMMouseEvent : public DOMUIEvent, public IDOMMouseEvent
445 DOMMouseEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
448 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
449 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
450 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
453 virtual HRESULT STDMETHODCALLTYPE throwException(
454 /* [in] */ BSTR exceptionMessage,
455 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
457 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
458 /* [in] */ BSTR name,
459 /* [size_is][in] */ const VARIANT args[ ],
460 /* [in] */ int cArgs,
461 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
463 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
464 /* [in] */ BSTR script,
465 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
467 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
468 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
470 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
471 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
473 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
474 /* [in] */ unsigned int index,
475 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
477 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
478 /* [in] */ unsigned int index,
479 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
481 virtual HRESULT STDMETHODCALLTYPE setException(
482 /* [in] */ BSTR description) { return DOMObject::setException(description); }
485 virtual HRESULT STDMETHODCALLTYPE type(
486 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
488 virtual HRESULT STDMETHODCALLTYPE target(
489 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
491 virtual HRESULT STDMETHODCALLTYPE currentTarget(
492 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
494 virtual HRESULT STDMETHODCALLTYPE eventPhase(
495 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
497 virtual HRESULT STDMETHODCALLTYPE bubbles(
498 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
500 virtual HRESULT STDMETHODCALLTYPE cancelable(
501 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
503 virtual HRESULT STDMETHODCALLTYPE timeStamp(
504 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
506 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
508 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
510 virtual HRESULT STDMETHODCALLTYPE initEvent(
511 /* [in] */ BSTR eventTypeArg,
512 /* [in] */ BOOL canBubbleArg,
513 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
516 virtual HRESULT STDMETHODCALLTYPE view(
517 /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
519 virtual HRESULT STDMETHODCALLTYPE detail(
520 /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
522 virtual HRESULT STDMETHODCALLTYPE initUIEvent(
523 /* [in] */ BSTR type,
524 /* [in] */ BOOL canBubble,
525 /* [in] */ BOOL cancelable,
526 /* [in] */ IDOMWindow* view,
527 /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
529 virtual HRESULT STDMETHODCALLTYPE keyCode(
530 /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
532 virtual HRESULT STDMETHODCALLTYPE charCode(
533 /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
535 virtual HRESULT STDMETHODCALLTYPE layerX(
536 /* [retval][out] */ long* result) { return DOMUIEvent::layerX(result); }
538 virtual HRESULT STDMETHODCALLTYPE layerY(
539 /* [retval][out] */ long* result) { return DOMUIEvent::layerY(result); }
541 virtual HRESULT STDMETHODCALLTYPE pageX(
542 /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
544 virtual HRESULT STDMETHODCALLTYPE pageY(
545 /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
547 virtual HRESULT STDMETHODCALLTYPE which(
548 /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
551 virtual HRESULT STDMETHODCALLTYPE screenX(
552 /* [retval][out] */ long* result);
554 virtual HRESULT STDMETHODCALLTYPE screenY(
555 /* [retval][out] */ long* result);
557 virtual HRESULT STDMETHODCALLTYPE clientX(
558 /* [retval][out] */ long* result);
560 virtual HRESULT STDMETHODCALLTYPE clientY(
561 /* [retval][out] */ long* result);
563 virtual HRESULT STDMETHODCALLTYPE ctrlKey(
564 /* [retval][out] */ BOOL* result);
566 virtual HRESULT STDMETHODCALLTYPE shiftKey(
567 /* [retval][out] */ BOOL* result);
569 virtual HRESULT STDMETHODCALLTYPE altKey(
570 /* [retval][out] */ BOOL* result);
572 virtual HRESULT STDMETHODCALLTYPE metaKey(
573 /* [retval][out] */ BOOL* result);
575 virtual HRESULT STDMETHODCALLTYPE button(
576 /* [retval][out] */ unsigned short* result);
578 virtual HRESULT STDMETHODCALLTYPE relatedTarget(
579 /* [retval][out] */ IDOMEventTarget** result);
581 virtual HRESULT STDMETHODCALLTYPE initMouseEvent(
582 /* [in] */ BSTR type,
583 /* [in] */ BOOL canBubble,
584 /* [in] */ BOOL cancelable,
585 /* [in] */ IDOMWindow* view,
586 /* [in] */ long detail,
587 /* [in] */ long screenX,
588 /* [in] */ long screenY,
589 /* [in] */ long clientX,
590 /* [in] */ long clientY,
591 /* [in] */ BOOL ctrlKey,
592 /* [in] */ BOOL altKey,
593 /* [in] */ BOOL shiftKey,
594 /* [in] */ BOOL metaKey,
595 /* [in] */ unsigned short button,
596 /* [in] */ IDOMEventTarget* relatedTarget);
598 virtual HRESULT STDMETHODCALLTYPE offsetX(
599 /* [retval][out] */ long* result);
601 virtual HRESULT STDMETHODCALLTYPE offsetY(
602 /* [retval][out] */ long* result);
604 virtual HRESULT STDMETHODCALLTYPE x(
605 /* [retval][out] */ long* result);
607 virtual HRESULT STDMETHODCALLTYPE y(
608 /* [retval][out] */ long* result);
610 virtual HRESULT STDMETHODCALLTYPE fromElement(
611 /* [retval][out] */ IDOMNode** result);
613 virtual HRESULT STDMETHODCALLTYPE toElement(
614 /* [retval][out] */ IDOMNode** result);
617 class DOMMutationEvent : public DOMEvent, public IDOMMutationEvent
620 DOMMutationEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { }
623 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
624 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
625 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
628 virtual HRESULT STDMETHODCALLTYPE throwException(
629 /* [in] */ BSTR exceptionMessage,
630 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
632 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
633 /* [in] */ BSTR name,
634 /* [size_is][in] */ const VARIANT args[ ],
635 /* [in] */ int cArgs,
636 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
638 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
639 /* [in] */ BSTR script,
640 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
642 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
643 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
645 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
646 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
648 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
649 /* [in] */ unsigned int index,
650 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
652 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
653 /* [in] */ unsigned int index,
654 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
656 virtual HRESULT STDMETHODCALLTYPE setException(
657 /* [in] */ BSTR description) { return DOMObject::setException(description); }
660 virtual HRESULT STDMETHODCALLTYPE type(
661 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
663 virtual HRESULT STDMETHODCALLTYPE target(
664 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
666 virtual HRESULT STDMETHODCALLTYPE currentTarget(
667 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
669 virtual HRESULT STDMETHODCALLTYPE eventPhase(
670 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
672 virtual HRESULT STDMETHODCALLTYPE bubbles(
673 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
675 virtual HRESULT STDMETHODCALLTYPE cancelable(
676 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
678 virtual HRESULT STDMETHODCALLTYPE timeStamp(
679 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
681 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
683 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
685 virtual HRESULT STDMETHODCALLTYPE initEvent(
686 /* [in] */ BSTR eventTypeArg,
687 /* [in] */ BOOL canBubbleArg,
688 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
691 virtual HRESULT STDMETHODCALLTYPE relatedNode(
692 /* [retval][out] */ IDOMNode** result);
694 virtual HRESULT STDMETHODCALLTYPE prevValue(
695 /* [retval][out] */ BSTR* result);
697 virtual HRESULT STDMETHODCALLTYPE newValue(
698 /* [retval][out] */ BSTR* result);
700 virtual HRESULT STDMETHODCALLTYPE attrName(
701 /* [retval][out] */ BSTR* result);
703 virtual HRESULT STDMETHODCALLTYPE attrChange(
704 /* [retval][out] */ unsigned short* result);
706 virtual HRESULT STDMETHODCALLTYPE initMutationEvent(
707 /* [in] */ BSTR type,
708 /* [in] */ BOOL canBubble,
709 /* [in] */ BOOL cancelable,
710 /* [in] */ IDOMNode* relatedNode,
711 /* [in] */ BSTR prevValue,
712 /* [in] */ BSTR newValue,
713 /* [in] */ BSTR attrName,
714 /* [in] */ unsigned short attrChange);
717 class DOMOverflowEvent : public DOMEvent, public IDOMOverflowEvent
720 DOMOverflowEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { }
723 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
724 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
725 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
728 virtual HRESULT STDMETHODCALLTYPE throwException(
729 /* [in] */ BSTR exceptionMessage,
730 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
732 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
733 /* [in] */ BSTR name,
734 /* [size_is][in] */ const VARIANT args[ ],
735 /* [in] */ int cArgs,
736 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
738 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
739 /* [in] */ BSTR script,
740 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
742 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
743 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
745 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
746 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
748 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
749 /* [in] */ unsigned int index,
750 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
752 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
753 /* [in] */ unsigned int index,
754 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
756 virtual HRESULT STDMETHODCALLTYPE setException(
757 /* [in] */ BSTR description) { return DOMObject::setException(description); }
760 virtual HRESULT STDMETHODCALLTYPE type(
761 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
763 virtual HRESULT STDMETHODCALLTYPE target(
764 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
766 virtual HRESULT STDMETHODCALLTYPE currentTarget(
767 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
769 virtual HRESULT STDMETHODCALLTYPE eventPhase(
770 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
772 virtual HRESULT STDMETHODCALLTYPE bubbles(
773 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
775 virtual HRESULT STDMETHODCALLTYPE cancelable(
776 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
778 virtual HRESULT STDMETHODCALLTYPE timeStamp(
779 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
781 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
783 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
785 virtual HRESULT STDMETHODCALLTYPE initEvent(
786 /* [in] */ BSTR eventTypeArg,
787 /* [in] */ BOOL canBubbleArg,
788 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
791 virtual HRESULT STDMETHODCALLTYPE orient(
792 /* [retval][out] */ unsigned short* result);
794 virtual HRESULT STDMETHODCALLTYPE horizontalOverflow(
795 /* [retval][out] */ BOOL* result);
797 virtual HRESULT STDMETHODCALLTYPE verticalOverflow(
798 /* [retval][out] */ BOOL* result);
801 class DOMWheelEvent : public DOMUIEvent, public IDOMWheelEvent
804 DOMWheelEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
807 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
808 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
809 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
812 virtual HRESULT STDMETHODCALLTYPE throwException(
813 /* [in] */ BSTR exceptionMessage,
814 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
816 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
817 /* [in] */ BSTR name,
818 /* [size_is][in] */ const VARIANT args[ ],
819 /* [in] */ int cArgs,
820 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
822 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
823 /* [in] */ BSTR script,
824 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
826 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
827 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
829 virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
830 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
832 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
833 /* [in] */ unsigned int index,
834 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
836 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
837 /* [in] */ unsigned int index,
838 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
840 virtual HRESULT STDMETHODCALLTYPE setException(
841 /* [in] */ BSTR description) { return DOMObject::setException(description); }
844 virtual HRESULT STDMETHODCALLTYPE type(
845 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
847 virtual HRESULT STDMETHODCALLTYPE target(
848 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
850 virtual HRESULT STDMETHODCALLTYPE currentTarget(
851 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
853 virtual HRESULT STDMETHODCALLTYPE eventPhase(
854 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
856 virtual HRESULT STDMETHODCALLTYPE bubbles(
857 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
859 virtual HRESULT STDMETHODCALLTYPE cancelable(
860 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
862 virtual HRESULT STDMETHODCALLTYPE timeStamp(
863 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
865 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
867 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
869 virtual HRESULT STDMETHODCALLTYPE initEvent(
870 /* [in] */ BSTR eventTypeArg,
871 /* [in] */ BOOL canBubbleArg,
872 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
875 virtual HRESULT STDMETHODCALLTYPE view(
876 /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
878 virtual HRESULT STDMETHODCALLTYPE detail(
879 /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
881 virtual HRESULT STDMETHODCALLTYPE initUIEvent(
882 /* [in] */ BSTR type,
883 /* [in] */ BOOL canBubble,
884 /* [in] */ BOOL cancelable,
885 /* [in] */ IDOMWindow* view,
886 /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
888 virtual HRESULT STDMETHODCALLTYPE keyCode(
889 /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
891 virtual HRESULT STDMETHODCALLTYPE charCode(
892 /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
894 virtual HRESULT STDMETHODCALLTYPE layerX(
895 /* [retval][out] */ long* result) { return DOMUIEvent::layerX(result); }
897 virtual HRESULT STDMETHODCALLTYPE layerY(
898 /* [retval][out] */ long* result) { return DOMUIEvent::layerY(result); }
900 virtual HRESULT STDMETHODCALLTYPE pageX(
901 /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
903 virtual HRESULT STDMETHODCALLTYPE pageY(
904 /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
906 virtual HRESULT STDMETHODCALLTYPE which(
907 /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
910 virtual HRESULT STDMETHODCALLTYPE screenX(
911 /* [retval][out] */ long* result);
913 virtual HRESULT STDMETHODCALLTYPE screenY(
914 /* [retval][out] */ long* result);
916 virtual HRESULT STDMETHODCALLTYPE clientX(
917 /* [retval][out] */ long* result);
919 virtual HRESULT STDMETHODCALLTYPE clientY(
920 /* [retval][out] */ long* result);
922 virtual HRESULT STDMETHODCALLTYPE ctrlKey(
923 /* [retval][out] */ BOOL* result);
925 virtual HRESULT STDMETHODCALLTYPE shiftKey(
926 /* [retval][out] */ BOOL* result);
928 virtual HRESULT STDMETHODCALLTYPE altKey(
929 /* [retval][out] */ BOOL* result);
931 virtual HRESULT STDMETHODCALLTYPE metaKey(
932 /* [retval][out] */ BOOL* result);
934 virtual HRESULT STDMETHODCALLTYPE wheelDelta(
935 /* [retval][out] */ long* result);
937 virtual HRESULT STDMETHODCALLTYPE wheelDeltaX(
938 /* [retval][out] */ long* result);
940 virtual HRESULT STDMETHODCALLTYPE wheelDeltaY(
941 /* [retval][out] */ long* result);
943 virtual HRESULT STDMETHODCALLTYPE offsetX(
944 /* [retval][out] */ long* result);
946 virtual HRESULT STDMETHODCALLTYPE offsetY(
947 /* [retval][out] */ long* result);
949 virtual HRESULT STDMETHODCALLTYPE x(
950 /* [retval][out] */ long* result);
952 virtual HRESULT STDMETHODCALLTYPE y(
953 /* [retval][out] */ long* result);
955 virtual HRESULT STDMETHODCALLTYPE isHorizontal(
956 /* [retval][out] */ BOOL* result);
958 virtual HRESULT STDMETHODCALLTYPE initWheelEvent(
959 /* [in] */ long wheelDeltaX,
960 /* [in] */ long wheelDeltaY,
961 /* [in] */ IDOMWindow* view,
962 /* [in] */ long screenX,
963 /* [in] */ long screenY,
964 /* [in] */ long clientX,
965 /* [in] */ long clientY,
966 /* [in] */ BOOL ctrlKey,
967 /* [in] */ BOOL altKey,
968 /* [in] */ BOOL shiftKey,
969 /* [in] */ BOOL metaKey);