• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "config.h"
27 #include "WebKitDLL.h"
28 #include <initguid.h>
29 #include "DOMEventsClasses.h"
30 
31 #include <WebCore/DOMWindow.h>
32 #include <WebCore/Event.h>
33 #include <WebCore/KeyboardEvent.h>
34 #include <WebCore/MouseEvent.h>
35 
36 // DOMEventListener -----------------------------------------------------------
37 
QueryInterface(const IID & riid,void ** ppvObject)38 HRESULT STDMETHODCALLTYPE DOMEventListener::QueryInterface(const IID &riid, void** ppvObject)
39 {
40     *ppvObject = 0;
41     if (IsEqualGUID(riid, IID_IDOMEventListener))
42         *ppvObject = static_cast<IDOMEventListener*>(this);
43     else
44         return DOMObject::QueryInterface(riid, ppvObject);
45 
46     AddRef();
47     return S_OK;
48 }
49 
handleEvent(IDOMEvent *)50 HRESULT STDMETHODCALLTYPE DOMEventListener::handleEvent(
51     /* [in] */ IDOMEvent* /*evt*/)
52 {
53     return E_NOTIMPL;
54 }
55 
56 // DOMEvent -------------------------------------------------------------------
57 
DOMEvent(PassRefPtr<WebCore::Event> e)58 DOMEvent::DOMEvent(PassRefPtr<WebCore::Event> e)
59 : m_event(0)
60 {
61     m_event = e;
62 }
63 
~DOMEvent()64 DOMEvent::~DOMEvent()
65 {
66 }
67 
createInstance(PassRefPtr<WebCore::Event> e)68 IDOMEvent* DOMEvent::createInstance(PassRefPtr<WebCore::Event> e)
69 {
70     if (!e)
71         return 0;
72 
73     HRESULT hr;
74     IDOMEvent* domEvent = 0;
75 
76     if (e->isKeyboardEvent()) {
77         DOMKeyboardEvent* newEvent = new DOMKeyboardEvent(e);
78         hr = newEvent->QueryInterface(IID_IDOMKeyboardEvent, (void**)&domEvent);
79     } else if (e->isMouseEvent()) {
80         DOMMouseEvent* newEvent = new DOMMouseEvent(e);
81         hr = newEvent->QueryInterface(IID_IDOMMouseEvent, (void**)&domEvent);
82     } else if (e->isMutationEvent()) {
83         DOMMutationEvent* newEvent = new DOMMutationEvent(e);
84         hr = newEvent->QueryInterface(IID_IDOMMutationEvent, (void**)&domEvent);
85     } else if (e->isOverflowEvent()) {
86         DOMOverflowEvent* newEvent = new DOMOverflowEvent(e);
87         hr = newEvent->QueryInterface(IID_IDOMOverflowEvent, (void**)&domEvent);
88     } else if (e->isWheelEvent()) {
89         DOMWheelEvent* newEvent = new DOMWheelEvent(e);
90         hr = newEvent->QueryInterface(IID_IDOMWheelEvent, (void**)&domEvent);
91     } else if (e->isUIEvent()) {
92         DOMUIEvent* newEvent = new DOMUIEvent(e);
93         hr = newEvent->QueryInterface(IID_IDOMUIEvent, (void**)&domEvent);
94     } else {
95         DOMEvent* newEvent = new DOMEvent(e);
96         hr = newEvent->QueryInterface(IID_IDOMEvent, (void**)&domEvent);
97     }
98 
99     if (FAILED(hr))
100         return 0;
101 
102     return domEvent;
103 }
104 
QueryInterface(const IID & riid,void ** ppvObject)105 HRESULT STDMETHODCALLTYPE DOMEvent::QueryInterface(const IID &riid, void** ppvObject)
106 {
107     *ppvObject = 0;
108     if (IsEqualGUID(riid, IID_DOMEvent))
109         *ppvObject = this;
110     else if (IsEqualGUID(riid, IID_IDOMEvent))
111         *ppvObject = static_cast<IDOMEvent*>(this);
112     else
113         return DOMObject::QueryInterface(riid, ppvObject);
114 
115     AddRef();
116     return S_OK;
117 }
118 
type(BSTR *)119 HRESULT STDMETHODCALLTYPE DOMEvent::type(
120     /* [retval][out] */ BSTR* /*result*/)
121 {
122     return E_NOTIMPL;
123 }
124 
target(IDOMEventTarget **)125 HRESULT STDMETHODCALLTYPE DOMEvent::target(
126     /* [retval][out] */ IDOMEventTarget** /*result*/)
127 {
128     return E_NOTIMPL;
129 }
130 
currentTarget(IDOMEventTarget **)131 HRESULT STDMETHODCALLTYPE DOMEvent::currentTarget(
132     /* [retval][out] */ IDOMEventTarget** /*result*/)
133 {
134     return E_NOTIMPL;
135 }
136 
eventPhase(unsigned short *)137 HRESULT STDMETHODCALLTYPE DOMEvent::eventPhase(
138     /* [retval][out] */ unsigned short* /*result*/)
139 {
140     return E_NOTIMPL;
141 }
142 
bubbles(BOOL *)143 HRESULT STDMETHODCALLTYPE DOMEvent::bubbles(
144     /* [retval][out] */ BOOL* /*result*/)
145 {
146     return E_NOTIMPL;
147 }
148 
cancelable(BOOL *)149 HRESULT STDMETHODCALLTYPE DOMEvent::cancelable(
150     /* [retval][out] */ BOOL* /*result*/)
151 {
152     return E_NOTIMPL;
153 }
154 
timeStamp(DOMTimeStamp *)155 HRESULT STDMETHODCALLTYPE DOMEvent::timeStamp(
156     /* [retval][out] */ DOMTimeStamp* /*result*/)
157 {
158     return E_NOTIMPL;
159 }
160 
stopPropagation(void)161 HRESULT STDMETHODCALLTYPE DOMEvent::stopPropagation( void)
162 {
163     return E_NOTIMPL;
164 }
165 
preventDefault(void)166 HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault( void)
167 {
168     return E_NOTIMPL;
169 }
170 
initEvent(BSTR,BOOL,BOOL)171 HRESULT STDMETHODCALLTYPE DOMEvent::initEvent(
172     /* [in] */ BSTR /*eventTypeArg*/,
173     /* [in] */ BOOL /*canBubbleArg*/,
174     /* [in] */ BOOL /*cancelableArg*/)
175 {
176     return E_NOTIMPL;
177 }
178 
179 // DOMUIEvent -----------------------------------------------------------------
180 
QueryInterface(REFIID riid,void ** ppvObject)181 HRESULT STDMETHODCALLTYPE DOMUIEvent::QueryInterface(REFIID riid, void** ppvObject)
182 {
183     *ppvObject = 0;
184     if (IsEqualGUID(riid, IID_IDOMUIEvent))
185         *ppvObject = static_cast<IDOMUIEvent*>(this);
186     else
187         return DOMEvent::QueryInterface(riid, ppvObject);
188 
189     AddRef();
190     return S_OK;
191 }
192 
view(IDOMWindow **)193 HRESULT STDMETHODCALLTYPE DOMUIEvent::view(
194     /* [retval][out] */ IDOMWindow** /*result*/)
195 {
196     return E_NOTIMPL;
197 }
198 
detail(long *)199 HRESULT STDMETHODCALLTYPE DOMUIEvent::detail(
200     /* [retval][out] */ long* /*result*/)
201 {
202     return E_NOTIMPL;
203 }
204 
initUIEvent(BSTR,BOOL,BOOL,IDOMWindow *,long)205 HRESULT STDMETHODCALLTYPE DOMUIEvent::initUIEvent(
206     /* [in] */ BSTR /*type*/,
207     /* [in] */ BOOL /*canBubble*/,
208     /* [in] */ BOOL /*cancelable*/,
209     /* [in] */ IDOMWindow* /*view*/,
210     /* [in] */ long /*detail*/)
211 {
212     return E_NOTIMPL;
213 }
214 
keyCode(long *)215 HRESULT STDMETHODCALLTYPE DOMUIEvent::keyCode(
216     /* [retval][out] */ long* /*result*/)
217 {
218     return E_NOTIMPL;
219 }
220 
charCode(long *)221 HRESULT STDMETHODCALLTYPE DOMUIEvent::charCode(
222     /* [retval][out] */ long* /*result*/)
223 {
224     return E_NOTIMPL;
225 }
226 
layerX(long *)227 HRESULT STDMETHODCALLTYPE DOMUIEvent::layerX(
228     /* [retval][out] */ long* /*result*/)
229 {
230     return E_NOTIMPL;
231 }
232 
layerY(long *)233 HRESULT STDMETHODCALLTYPE DOMUIEvent::layerY(
234     /* [retval][out] */ long* /*result*/)
235 {
236     return E_NOTIMPL;
237 }
238 
pageX(long *)239 HRESULT STDMETHODCALLTYPE DOMUIEvent::pageX(
240     /* [retval][out] */ long* /*result*/)
241 {
242     return E_NOTIMPL;
243 }
244 
pageY(long *)245 HRESULT STDMETHODCALLTYPE DOMUIEvent::pageY(
246     /* [retval][out] */ long* /*result*/)
247 {
248     return E_NOTIMPL;
249 }
250 
which(long *)251 HRESULT STDMETHODCALLTYPE DOMUIEvent::which(
252     /* [retval][out] */ long* /*result*/)
253 {
254     return E_NOTIMPL;
255 }
256 
257 // DOMKeyboardEvent -----------------------------------------------------------
258 
QueryInterface(REFIID riid,void ** ppvObject)259 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::QueryInterface(REFIID riid, void** ppvObject)
260 {
261     *ppvObject = 0;
262     if (IsEqualGUID(riid, IID_IDOMKeyboardEvent))
263         *ppvObject = static_cast<IDOMKeyboardEvent*>(this);
264     else
265         return DOMUIEvent::QueryInterface(riid, ppvObject);
266 
267     AddRef();
268     return S_OK;
269 }
270 
keyIdentifier(BSTR *)271 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyIdentifier(
272     /* [retval][out] */ BSTR* /*result*/)
273 {
274     return E_NOTIMPL;
275 }
276 
keyLocation(unsigned long *)277 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyLocation(
278     /* [retval][out] */ unsigned long* /*result*/)
279 {
280     return E_NOTIMPL;
281 }
282 
ctrlKey(BOOL * result)283 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::ctrlKey(
284     /* [retval][out] */ BOOL* result)
285 {
286     *result = FALSE;
287     if (!m_event || !m_event->isKeyboardEvent())
288         return E_FAIL;
289     WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
290 
291     *result = keyEvent->ctrlKey() ? TRUE : FALSE;
292     return S_OK;
293 }
294 
shiftKey(BOOL * result)295 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::shiftKey(
296     /* [retval][out] */ BOOL* result)
297 {
298     *result = FALSE;
299     if (!m_event || !m_event->isKeyboardEvent())
300         return E_FAIL;
301     WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
302 
303     *result = keyEvent->shiftKey() ? TRUE : FALSE;
304     return S_OK;
305 }
306 
altKey(BOOL * result)307 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altKey(
308     /* [retval][out] */ BOOL* result)
309 {
310     *result = FALSE;
311     if (!m_event || !m_event->isKeyboardEvent())
312         return E_FAIL;
313     WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
314 
315     *result = keyEvent->altKey() ? TRUE : FALSE;
316     return S_OK;
317 }
318 
metaKey(BOOL * result)319 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::metaKey(
320     /* [retval][out] */ BOOL* result)
321 {
322     *result = FALSE;
323     if (!m_event || !m_event->isKeyboardEvent())
324         return E_FAIL;
325     WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
326 
327     *result = keyEvent->metaKey() ? TRUE : FALSE;
328     return S_OK;
329 }
330 
altGraphKey(BOOL * result)331 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altGraphKey(
332     /* [retval][out] */ BOOL* result)
333 {
334     *result = FALSE;
335     if (!m_event || !m_event->isKeyboardEvent())
336         return E_FAIL;
337     WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
338 
339     *result = keyEvent->altGraphKey() ? TRUE : FALSE;
340     return S_OK;
341 }
342 
getModifierState(BSTR,BOOL *)343 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::getModifierState(
344     /* [in] */ BSTR /*keyIdentifierArg*/,
345     /* [retval][out] */ BOOL* /*result*/)
346 {
347     return E_NOTIMPL;
348 }
349 
initKeyboardEvent(BSTR,BOOL,BOOL,IDOMWindow *,BSTR,unsigned long,BOOL,BOOL,BOOL,BOOL,BOOL)350 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::initKeyboardEvent(
351     /* [in] */ BSTR /*type*/,
352     /* [in] */ BOOL /*canBubble*/,
353     /* [in] */ BOOL /*cancelable*/,
354     /* [in] */ IDOMWindow* /*view*/,
355     /* [in] */ BSTR /*keyIdentifier*/,
356     /* [in] */ unsigned long /*keyLocation*/,
357     /* [in] */ BOOL /*ctrlKey*/,
358     /* [in] */ BOOL /*altKey*/,
359     /* [in] */ BOOL /*shiftKey*/,
360     /* [in] */ BOOL /*metaKey*/,
361     /* [in] */ BOOL /*graphKey*/)
362 {
363     return E_NOTIMPL;
364 }
365 
366 // DOMMouseEvent --------------------------------------------------------------
367 
QueryInterface(REFIID riid,void ** ppvObject)368 HRESULT STDMETHODCALLTYPE DOMMouseEvent::QueryInterface(REFIID riid, void** ppvObject)
369 {
370     *ppvObject = 0;
371     if (IsEqualGUID(riid, IID_IDOMMouseEvent))
372         *ppvObject = static_cast<IDOMMouseEvent*>(this);
373     else
374         return DOMUIEvent::QueryInterface(riid, ppvObject);
375 
376     AddRef();
377     return S_OK;
378 }
379 
screenX(long *)380 HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenX(
381     /* [retval][out] */ long* /*result*/)
382 {
383     return E_NOTIMPL;
384 }
385 
screenY(long *)386 HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenY(
387     /* [retval][out] */ long* /*result*/)
388 {
389     return E_NOTIMPL;
390 }
391 
clientX(long *)392 HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientX(
393     /* [retval][out] */ long* /*result*/)
394 {
395     return E_NOTIMPL;
396 }
397 
clientY(long *)398 HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientY(
399     /* [retval][out] */ long* /*result*/)
400 {
401     return E_NOTIMPL;
402 }
403 
ctrlKey(BOOL * result)404 HRESULT STDMETHODCALLTYPE DOMMouseEvent::ctrlKey(
405     /* [retval][out] */ BOOL* result)
406 {
407     *result = FALSE;
408     if (!m_event || !m_event->isMouseEvent())
409         return E_FAIL;
410     WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
411 
412     *result = mouseEvent->ctrlKey() ? TRUE : FALSE;
413     return S_OK;
414 }
415 
shiftKey(BOOL * result)416 HRESULT STDMETHODCALLTYPE DOMMouseEvent::shiftKey(
417     /* [retval][out] */ BOOL* result)
418 {
419     *result = FALSE;
420     if (!m_event || !m_event->isMouseEvent())
421         return E_FAIL;
422     WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
423 
424     *result = mouseEvent->shiftKey() ? TRUE : FALSE;
425     return S_OK;
426 }
427 
altKey(BOOL * result)428 HRESULT STDMETHODCALLTYPE DOMMouseEvent::altKey(
429     /* [retval][out] */ BOOL* result)
430 {
431     *result = FALSE;
432     if (!m_event || !m_event->isMouseEvent())
433         return E_FAIL;
434     WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
435 
436     *result = mouseEvent->altKey() ? TRUE : FALSE;
437     return S_OK;
438 }
439 
metaKey(BOOL * result)440 HRESULT STDMETHODCALLTYPE DOMMouseEvent::metaKey(
441     /* [retval][out] */ BOOL* result)
442 {
443     *result = FALSE;
444     if (!m_event || !m_event->isMouseEvent())
445         return E_FAIL;
446     WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
447 
448     *result = mouseEvent->metaKey() ? TRUE : FALSE;
449     return S_OK;
450 }
451 
button(unsigned short *)452 HRESULT STDMETHODCALLTYPE DOMMouseEvent::button(
453     /* [retval][out] */ unsigned short* /*result*/)
454 {
455     return E_NOTIMPL;
456 }
457 
relatedTarget(IDOMEventTarget **)458 HRESULT STDMETHODCALLTYPE DOMMouseEvent::relatedTarget(
459     /* [retval][out] */ IDOMEventTarget** /*result*/)
460 {
461     return E_NOTIMPL;
462 }
463 
initMouseEvent(BSTR,BOOL,BOOL,IDOMWindow *,long,long,long,long,long,BOOL,BOOL,BOOL,BOOL,unsigned short,IDOMEventTarget *)464 HRESULT STDMETHODCALLTYPE DOMMouseEvent::initMouseEvent(
465     /* [in] */ BSTR /*type*/,
466     /* [in] */ BOOL /*canBubble*/,
467     /* [in] */ BOOL /*cancelable*/,
468     /* [in] */ IDOMWindow* /*view*/,
469     /* [in] */ long /*detail*/,
470     /* [in] */ long /*screenX*/,
471     /* [in] */ long /*screenY*/,
472     /* [in] */ long /*clientX*/,
473     /* [in] */ long /*clientY*/,
474     /* [in] */ BOOL /*ctrlKey*/,
475     /* [in] */ BOOL /*altKey*/,
476     /* [in] */ BOOL /*shiftKey*/,
477     /* [in] */ BOOL /*metaKey*/,
478     /* [in] */ unsigned short /*button*/,
479     /* [in] */ IDOMEventTarget* /*relatedTarget*/)
480 {
481     return E_NOTIMPL;
482 }
483 
offsetX(long *)484 HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetX(
485     /* [retval][out] */ long* /*result*/)
486 {
487     return E_NOTIMPL;
488 }
489 
offsetY(long *)490 HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetY(
491     /* [retval][out] */ long* /*result*/)
492 {
493     return E_NOTIMPL;
494 }
495 
x(long *)496 HRESULT STDMETHODCALLTYPE DOMMouseEvent::x(
497     /* [retval][out] */ long* /*result*/)
498 {
499     return E_NOTIMPL;
500 }
501 
y(long *)502 HRESULT STDMETHODCALLTYPE DOMMouseEvent::y(
503     /* [retval][out] */ long* /*result*/)
504 {
505     return E_NOTIMPL;
506 }
507 
fromElement(IDOMNode **)508 HRESULT STDMETHODCALLTYPE DOMMouseEvent::fromElement(
509     /* [retval][out] */ IDOMNode** /*result*/)
510 {
511     return E_NOTIMPL;
512 }
513 
toElement(IDOMNode **)514 HRESULT STDMETHODCALLTYPE DOMMouseEvent::toElement(
515     /* [retval][out] */ IDOMNode** /*result*/)
516 {
517     return E_NOTIMPL;
518 }
519 
520 // DOMMutationEvent -----------------------------------------------------------
521 
QueryInterface(REFIID riid,void ** ppvObject)522 HRESULT STDMETHODCALLTYPE DOMMutationEvent::QueryInterface(REFIID riid, void** ppvObject)
523 {
524     *ppvObject = 0;
525     if (IsEqualGUID(riid, IID_IDOMMutationEvent))
526         *ppvObject = static_cast<IDOMMutationEvent*>(this);
527     else
528         return DOMEvent::QueryInterface(riid, ppvObject);
529 
530     AddRef();
531     return S_OK;
532 }
533 
relatedNode(IDOMNode **)534 HRESULT STDMETHODCALLTYPE DOMMutationEvent::relatedNode(
535     /* [retval][out] */ IDOMNode** /*result*/)
536 {
537     return E_NOTIMPL;
538 }
539 
prevValue(BSTR *)540 HRESULT STDMETHODCALLTYPE DOMMutationEvent::prevValue(
541     /* [retval][out] */ BSTR* /*result*/)
542 {
543     return E_NOTIMPL;
544 }
545 
newValue(BSTR *)546 HRESULT STDMETHODCALLTYPE DOMMutationEvent::newValue(
547     /* [retval][out] */ BSTR* /*result*/)
548 {
549     return E_NOTIMPL;
550 }
551 
attrName(BSTR *)552 HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrName(
553     /* [retval][out] */ BSTR* /*result*/)
554 {
555     return E_NOTIMPL;
556 }
557 
attrChange(unsigned short *)558 HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrChange(
559     /* [retval][out] */ unsigned short* /*result*/)
560 {
561     return E_NOTIMPL;
562 }
563 
initMutationEvent(BSTR,BOOL,BOOL,IDOMNode *,BSTR,BSTR,BSTR,unsigned short)564 HRESULT STDMETHODCALLTYPE DOMMutationEvent::initMutationEvent(
565     /* [in] */ BSTR /*type*/,
566     /* [in] */ BOOL /*canBubble*/,
567     /* [in] */ BOOL /*cancelable*/,
568     /* [in] */ IDOMNode* /*relatedNode*/,
569     /* [in] */ BSTR /*prevValue*/,
570     /* [in] */ BSTR /*newValue*/,
571     /* [in] */ BSTR /*attrName*/,
572     /* [in] */ unsigned short /*attrChange*/)
573 {
574     return E_NOTIMPL;
575 }
576 
577 // DOMOverflowEvent -----------------------------------------------------------
578 
QueryInterface(REFIID riid,void ** ppvObject)579 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::QueryInterface(REFIID riid, void** ppvObject)
580 {
581     *ppvObject = 0;
582     if (IsEqualGUID(riid, IID_IDOMOverflowEvent))
583         *ppvObject = static_cast<IDOMOverflowEvent*>(this);
584     else
585         return DOMEvent::QueryInterface(riid, ppvObject);
586 
587     AddRef();
588     return S_OK;
589 }
590 
orient(unsigned short *)591 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::orient(
592     /* [retval][out] */ unsigned short* /*result*/)
593 {
594     return E_NOTIMPL;
595 }
596 
horizontalOverflow(BOOL *)597 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::horizontalOverflow(
598     /* [retval][out] */ BOOL* /*result*/)
599 {
600     return E_NOTIMPL;
601 }
602 
verticalOverflow(BOOL *)603 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::verticalOverflow(
604     /* [retval][out] */ BOOL* /*result*/)
605 {
606     return E_NOTIMPL;
607 }
608 
609 // DOMWheelEvent --------------------------------------------------------------
610 
QueryInterface(REFIID riid,void ** ppvObject)611 HRESULT STDMETHODCALLTYPE DOMWheelEvent::QueryInterface(REFIID riid, void** ppvObject)
612 {
613     *ppvObject = 0;
614     if (IsEqualGUID(riid, IID_IDOMWheelEvent))
615         *ppvObject = static_cast<IDOMWheelEvent*>(this);
616     else
617         return DOMUIEvent::QueryInterface(riid, ppvObject);
618 
619     AddRef();
620     return S_OK;
621 }
622 
screenX(long *)623 HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenX(
624     /* [retval][out] */ long* /*result*/)
625 {
626     return E_NOTIMPL;
627 }
628 
screenY(long *)629 HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenY(
630     /* [retval][out] */ long* /*result*/)
631 {
632     return E_NOTIMPL;
633 }
634 
clientX(long *)635 HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientX(
636     /* [retval][out] */ long* /*result*/)
637 {
638     return E_NOTIMPL;
639 }
640 
clientY(long *)641 HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientY(
642     /* [retval][out] */ long* /*result*/)
643 {
644     return E_NOTIMPL;
645 }
646 
ctrlKey(BOOL *)647 HRESULT STDMETHODCALLTYPE DOMWheelEvent::ctrlKey(
648     /* [retval][out] */ BOOL* /*result*/)
649 {
650     return E_NOTIMPL;
651 }
652 
shiftKey(BOOL *)653 HRESULT STDMETHODCALLTYPE DOMWheelEvent::shiftKey(
654     /* [retval][out] */ BOOL* /*result*/)
655 {
656     return E_NOTIMPL;
657 }
658 
altKey(BOOL *)659 HRESULT STDMETHODCALLTYPE DOMWheelEvent::altKey(
660     /* [retval][out] */ BOOL* /*result*/)
661 {
662     return E_NOTIMPL;
663 }
664 
metaKey(BOOL *)665 HRESULT STDMETHODCALLTYPE DOMWheelEvent::metaKey(
666     /* [retval][out] */ BOOL* /*result*/)
667 {
668     return E_NOTIMPL;
669 }
670 
wheelDelta(long *)671 HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDelta(
672     /* [retval][out] */ long* /*result*/)
673 {
674     return E_NOTIMPL;
675 }
676 
wheelDeltaX(long *)677 HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaX(
678     /* [retval][out] */ long* /*result*/)
679 {
680     return E_NOTIMPL;
681 }
682 
wheelDeltaY(long *)683 HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaY(
684     /* [retval][out] */ long* /*result*/)
685 {
686     return E_NOTIMPL;
687 }
688 
offsetX(long *)689 HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetX(
690     /* [retval][out] */ long* /*result*/)
691 {
692     return E_NOTIMPL;
693 }
694 
offsetY(long *)695 HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetY(
696     /* [retval][out] */ long* /*result*/)
697 {
698     return E_NOTIMPL;
699 }
700 
x(long *)701 HRESULT STDMETHODCALLTYPE DOMWheelEvent::x(
702     /* [retval][out] */ long* /*result*/)
703 {
704     return E_NOTIMPL;
705 }
706 
y(long *)707 HRESULT STDMETHODCALLTYPE DOMWheelEvent::y(
708     /* [retval][out] */ long* /*result*/)
709 {
710     return E_NOTIMPL;
711 }
712 
isHorizontal(BOOL *)713 HRESULT STDMETHODCALLTYPE DOMWheelEvent::isHorizontal(
714     /* [retval][out] */ BOOL* /*result*/)
715 {
716     return E_NOTIMPL;
717 }
718 
initWheelEvent(long,long,IDOMWindow *,long,long,long,long,BOOL,BOOL,BOOL,BOOL)719 HRESULT STDMETHODCALLTYPE DOMWheelEvent::initWheelEvent(
720     /* [in] */ long /*wheelDeltaX*/,
721     /* [in] */ long /*wheelDeltaY*/,
722     /* [in] */ IDOMWindow* /*view*/,
723     /* [in] */ long /*screenX*/,
724     /* [in] */ long /*screenY*/,
725     /* [in] */ long /*clientX*/,
726     /* [in] */ long /*clientY*/,
727     /* [in] */ BOOL /*ctrlKey*/,
728     /* [in] */ BOOL /*altKey*/,
729     /* [in] */ BOOL /*shiftKey*/,
730     /* [in] */ BOOL /*metaKey*/)
731 {
732     return E_NOTIMPL;
733 }
734