webengine/osswebengine/WebKit/win/DOMEventsClasses.h
changeset 0 dd21522fd290
equal deleted inserted replaced
-1:000000000000 0:dd21522fd290
       
     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 DOMEventsClasses_H
       
    27 #define DOMEventsClasses_H
       
    28 
       
    29 #include "DOMEvents.h"
       
    30 #include "DOMCoreClasses.h"
       
    31 
       
    32 #include <wtf/PassRefPtr.h>
       
    33 #include <wtf/RefPtr.h>
       
    34 
       
    35 // {AC3D1BC3-4976-4431-8A19-4812C5EFE39C}
       
    36 DEFINE_GUID(IID_DOMEvent, 0xac3d1bc3, 0x4976, 0x4431, 0x8a, 0x19, 0x48, 0x12, 0xc5, 0xef, 0xe3, 0x9c);
       
    37 
       
    38 namespace WebCore {
       
    39     class Event;
       
    40 }
       
    41 
       
    42 class DOMUIEvent;
       
    43 
       
    44 class DOMEventListener : public DOMObject, public IDOMEventListener
       
    45 {
       
    46 public:
       
    47     // IUnknown
       
    48     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
    49     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
       
    50     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
       
    51 
       
    52     // IWebScriptObject
       
    53     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
    54         /* [in] */ BSTR exceptionMessage,
       
    55         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
    56     
       
    57     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
    58         /* [in] */ BSTR name,
       
    59         /* [size_is][in] */ const VARIANT args[  ],
       
    60         /* [in] */ int cArgs,
       
    61         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
    62     
       
    63     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
    64         /* [in] */ BSTR script,
       
    65         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
    66     
       
    67     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
    68         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
    69     
       
    70     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
    71         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
    72     
       
    73     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
    74         /* [in] */ unsigned int index,
       
    75         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
    76     
       
    77     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
    78         /* [in] */ unsigned int index,
       
    79         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
    80     
       
    81     virtual HRESULT STDMETHODCALLTYPE setException( 
       
    82         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
    83 
       
    84     // IDOMEventListener
       
    85     virtual HRESULT STDMETHODCALLTYPE handleEvent( 
       
    86         /* [in] */ IDOMEvent* evt);
       
    87 };
       
    88 
       
    89 class DOMEvent : public DOMObject, public IDOMEvent
       
    90 {
       
    91 public:
       
    92     static IDOMEvent* createInstance(PassRefPtr<WebCore::Event> e);
       
    93 protected:
       
    94     DOMEvent(PassRefPtr<WebCore::Event> e);
       
    95     ~DOMEvent();
       
    96 
       
    97 public:
       
    98     // IUnknown
       
    99     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
   100     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
       
   101     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
       
   102 
       
   103     // IWebScriptObject
       
   104     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
   105         /* [in] */ BSTR exceptionMessage,
       
   106         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
   107     
       
   108     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
   109         /* [in] */ BSTR name,
       
   110         /* [size_is][in] */ const VARIANT args[  ],
       
   111         /* [in] */ int cArgs,
       
   112         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
   113     
       
   114     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
   115         /* [in] */ BSTR script,
       
   116         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
   117     
       
   118     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
   119         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
   120     
       
   121     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
   122         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
   123     
       
   124     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
   125         /* [in] */ unsigned int index,
       
   126         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
   127     
       
   128     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
   129         /* [in] */ unsigned int index,
       
   130         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
   131     
       
   132     virtual HRESULT STDMETHODCALLTYPE setException( 
       
   133         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
   134 
       
   135     // IDOMEvent
       
   136     virtual HRESULT STDMETHODCALLTYPE type( 
       
   137         /* [retval][out] */ BSTR* result);
       
   138     
       
   139     virtual HRESULT STDMETHODCALLTYPE target( 
       
   140         /* [retval][out] */ IDOMEventTarget** result);
       
   141     
       
   142     virtual HRESULT STDMETHODCALLTYPE currentTarget( 
       
   143         /* [retval][out] */ IDOMEventTarget** result);
       
   144     
       
   145     virtual HRESULT STDMETHODCALLTYPE eventPhase( 
       
   146         /* [retval][out] */ unsigned short* result);
       
   147     
       
   148     virtual HRESULT STDMETHODCALLTYPE bubbles( 
       
   149         /* [retval][out] */ BOOL* result);
       
   150     
       
   151     virtual HRESULT STDMETHODCALLTYPE cancelable( 
       
   152         /* [retval][out] */ BOOL* result);
       
   153     
       
   154     virtual HRESULT STDMETHODCALLTYPE timeStamp( 
       
   155         /* [retval][out] */ DOMTimeStamp* result);
       
   156     
       
   157     virtual HRESULT STDMETHODCALLTYPE stopPropagation( void);
       
   158     
       
   159     virtual HRESULT STDMETHODCALLTYPE preventDefault( void);
       
   160     
       
   161     virtual HRESULT STDMETHODCALLTYPE initEvent( 
       
   162         /* [in] */ BSTR eventTypeArg,
       
   163         /* [in] */ BOOL canBubbleArg,
       
   164         /* [in] */ BOOL cancelableArg);
       
   165 
       
   166     // DOMEvent methods
       
   167     WebCore::Event* coreEvent() { return m_event.get(); }
       
   168 
       
   169 protected:
       
   170     RefPtr<WebCore::Event> m_event;
       
   171 };
       
   172 
       
   173 class DOMUIEvent : public DOMEvent, public IDOMUIEvent
       
   174 {
       
   175 public:
       
   176     DOMUIEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) {}
       
   177 
       
   178     // IUnknown
       
   179     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
   180     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
       
   181     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
       
   182 
       
   183     // IWebScriptObject
       
   184     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
   185         /* [in] */ BSTR exceptionMessage,
       
   186         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
   187     
       
   188     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
   189         /* [in] */ BSTR name,
       
   190         /* [size_is][in] */ const VARIANT args[  ],
       
   191         /* [in] */ int cArgs,
       
   192         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
   193     
       
   194     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
   195         /* [in] */ BSTR script,
       
   196         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
   197     
       
   198     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
   199         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
   200     
       
   201     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
   202         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
   203     
       
   204     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
   205         /* [in] */ unsigned int index,
       
   206         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
   207     
       
   208     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
   209         /* [in] */ unsigned int index,
       
   210         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
   211     
       
   212     virtual HRESULT STDMETHODCALLTYPE setException( 
       
   213         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
   214 
       
   215     // IDOMEvent
       
   216     virtual HRESULT STDMETHODCALLTYPE type( 
       
   217         /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
       
   218     
       
   219     virtual HRESULT STDMETHODCALLTYPE target( 
       
   220         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
       
   221     
       
   222     virtual HRESULT STDMETHODCALLTYPE currentTarget( 
       
   223         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
       
   224     
       
   225     virtual HRESULT STDMETHODCALLTYPE eventPhase( 
       
   226         /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
       
   227     
       
   228     virtual HRESULT STDMETHODCALLTYPE bubbles( 
       
   229         /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
       
   230     
       
   231     virtual HRESULT STDMETHODCALLTYPE cancelable( 
       
   232         /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
       
   233     
       
   234     virtual HRESULT STDMETHODCALLTYPE timeStamp( 
       
   235         /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
       
   236     
       
   237     virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
       
   238     
       
   239     virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
       
   240     
       
   241     virtual HRESULT STDMETHODCALLTYPE initEvent( 
       
   242         /* [in] */ BSTR eventTypeArg,
       
   243         /* [in] */ BOOL canBubbleArg,
       
   244         /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
       
   245 
       
   246     // IDOMUIEvent
       
   247     virtual HRESULT STDMETHODCALLTYPE view( 
       
   248         /* [retval][out] */ IDOMWindow** result);
       
   249     
       
   250     virtual HRESULT STDMETHODCALLTYPE detail( 
       
   251         /* [retval][out] */ long* result);
       
   252     
       
   253     virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
       
   254         /* [in] */ BSTR type,
       
   255         /* [in] */ BOOL canBubble,
       
   256         /* [in] */ BOOL cancelable,
       
   257         /* [in] */ IDOMWindow* view,
       
   258         /* [in] */ long detail);
       
   259     
       
   260     virtual HRESULT STDMETHODCALLTYPE keyCode( 
       
   261         /* [retval][out] */ long* result);
       
   262     
       
   263     virtual HRESULT STDMETHODCALLTYPE charCode( 
       
   264         /* [retval][out] */ long* result);
       
   265     
       
   266     virtual HRESULT STDMETHODCALLTYPE layerX( 
       
   267         /* [retval][out] */ long* result);
       
   268     
       
   269     virtual HRESULT STDMETHODCALLTYPE layerY( 
       
   270         /* [retval][out] */ long* result);
       
   271     
       
   272     virtual HRESULT STDMETHODCALLTYPE pageX( 
       
   273         /* [retval][out] */ long* result);
       
   274     
       
   275     virtual HRESULT STDMETHODCALLTYPE pageY( 
       
   276         /* [retval][out] */ long* result);
       
   277     
       
   278     virtual HRESULT STDMETHODCALLTYPE which( 
       
   279         /* [retval][out] */ long* result);
       
   280 };
       
   281 
       
   282 class DOMKeyboardEvent : public DOMUIEvent, public IDOMKeyboardEvent
       
   283 {
       
   284 public:
       
   285     DOMKeyboardEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
       
   286 
       
   287     // IUnknown
       
   288     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
   289     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
       
   290     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
       
   291 
       
   292     // IWebScriptObject
       
   293     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
   294         /* [in] */ BSTR exceptionMessage,
       
   295         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
   296     
       
   297     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
   298         /* [in] */ BSTR name,
       
   299         /* [size_is][in] */ const VARIANT args[  ],
       
   300         /* [in] */ int cArgs,
       
   301         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
   302     
       
   303     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
   304         /* [in] */ BSTR script,
       
   305         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
   306     
       
   307     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
   308         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
   309     
       
   310     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
   311         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
   312     
       
   313     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
   314         /* [in] */ unsigned int index,
       
   315         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
   316     
       
   317     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
   318         /* [in] */ unsigned int index,
       
   319         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
   320     
       
   321     virtual HRESULT STDMETHODCALLTYPE setException( 
       
   322         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
   323 
       
   324     // IDOMEvent
       
   325     virtual HRESULT STDMETHODCALLTYPE type( 
       
   326         /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
       
   327     
       
   328     virtual HRESULT STDMETHODCALLTYPE target( 
       
   329         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
       
   330     
       
   331     virtual HRESULT STDMETHODCALLTYPE currentTarget( 
       
   332         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
       
   333     
       
   334     virtual HRESULT STDMETHODCALLTYPE eventPhase( 
       
   335         /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
       
   336     
       
   337     virtual HRESULT STDMETHODCALLTYPE bubbles( 
       
   338         /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
       
   339     
       
   340     virtual HRESULT STDMETHODCALLTYPE cancelable( 
       
   341         /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
       
   342     
       
   343     virtual HRESULT STDMETHODCALLTYPE timeStamp( 
       
   344         /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
       
   345     
       
   346     virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
       
   347     
       
   348     virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
       
   349     
       
   350     virtual HRESULT STDMETHODCALLTYPE initEvent( 
       
   351         /* [in] */ BSTR eventTypeArg,
       
   352         /* [in] */ BOOL canBubbleArg,
       
   353         /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
       
   354 
       
   355     // IDOMUIEvent
       
   356     virtual HRESULT STDMETHODCALLTYPE view( 
       
   357         /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
       
   358     
       
   359     virtual HRESULT STDMETHODCALLTYPE detail( 
       
   360         /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
       
   361     
       
   362     virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
       
   363         /* [in] */ BSTR type,
       
   364         /* [in] */ BOOL canBubble,
       
   365         /* [in] */ BOOL cancelable,
       
   366         /* [in] */ IDOMWindow* view,
       
   367         /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
       
   368     
       
   369     virtual HRESULT STDMETHODCALLTYPE keyCode( 
       
   370         /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
       
   371     
       
   372     virtual HRESULT STDMETHODCALLTYPE charCode( 
       
   373         /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
       
   374     
       
   375     virtual HRESULT STDMETHODCALLTYPE layerX( 
       
   376         /* [retval][out] */ long* result) { return DOMUIEvent::layerX(result); }
       
   377     
       
   378     virtual HRESULT STDMETHODCALLTYPE layerY( 
       
   379         /* [retval][out] */ long* result) { return DOMUIEvent::layerY(result); }
       
   380     
       
   381     virtual HRESULT STDMETHODCALLTYPE pageX( 
       
   382         /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
       
   383     
       
   384     virtual HRESULT STDMETHODCALLTYPE pageY( 
       
   385         /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
       
   386     
       
   387     virtual HRESULT STDMETHODCALLTYPE which( 
       
   388         /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
       
   389 
       
   390     // IDOMKeyboardEvent
       
   391     virtual HRESULT STDMETHODCALLTYPE keyIdentifier( 
       
   392         /* [retval][out] */ BSTR* result);
       
   393     
       
   394     virtual HRESULT STDMETHODCALLTYPE keyLocation( 
       
   395         /* [retval][out] */ unsigned long* result);
       
   396     
       
   397     virtual HRESULT STDMETHODCALLTYPE ctrlKey( 
       
   398         /* [retval][out] */ BOOL* result);
       
   399     
       
   400     virtual HRESULT STDMETHODCALLTYPE shiftKey( 
       
   401         /* [retval][out] */ BOOL* result);
       
   402     
       
   403     virtual HRESULT STDMETHODCALLTYPE altKey( 
       
   404         /* [retval][out] */ BOOL* result);
       
   405     
       
   406     virtual HRESULT STDMETHODCALLTYPE metaKey( 
       
   407         /* [retval][out] */ BOOL* result);
       
   408     
       
   409     virtual HRESULT STDMETHODCALLTYPE altGraphKey( 
       
   410         /* [retval][out] */ BOOL* result);
       
   411     
       
   412     virtual HRESULT STDMETHODCALLTYPE getModifierState( 
       
   413         /* [in] */ BSTR keyIdentifierArg,
       
   414         /* [retval][out] */ BOOL* result);
       
   415     
       
   416     virtual HRESULT STDMETHODCALLTYPE initKeyboardEvent( 
       
   417         /* [in] */ BSTR type,
       
   418         /* [in] */ BOOL canBubble,
       
   419         /* [in] */ BOOL cancelable,
       
   420         /* [in] */ IDOMWindow* view,
       
   421         /* [in] */ BSTR keyIdentifier,
       
   422         /* [in] */ unsigned long keyLocation,
       
   423         /* [in] */ BOOL ctrlKey,
       
   424         /* [in] */ BOOL altKey,
       
   425         /* [in] */ BOOL shiftKey,
       
   426         /* [in] */ BOOL metaKey,
       
   427         /* [in] */ BOOL graphKey);
       
   428 };
       
   429 
       
   430 class DOMMouseEvent : public DOMUIEvent, public IDOMMouseEvent
       
   431 {
       
   432 public:
       
   433     DOMMouseEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
       
   434 
       
   435     // IUnknown
       
   436     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
   437     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
       
   438     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
       
   439 
       
   440     // IWebScriptObject
       
   441     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
   442         /* [in] */ BSTR exceptionMessage,
       
   443         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
   444     
       
   445     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
   446         /* [in] */ BSTR name,
       
   447         /* [size_is][in] */ const VARIANT args[  ],
       
   448         /* [in] */ int cArgs,
       
   449         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
   450     
       
   451     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
   452         /* [in] */ BSTR script,
       
   453         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
   454     
       
   455     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
   456         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
   457     
       
   458     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
   459         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
   460     
       
   461     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
   462         /* [in] */ unsigned int index,
       
   463         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
   464     
       
   465     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
   466         /* [in] */ unsigned int index,
       
   467         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
   468     
       
   469     virtual HRESULT STDMETHODCALLTYPE setException( 
       
   470         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
   471 
       
   472     // IDOMEvent
       
   473     virtual HRESULT STDMETHODCALLTYPE type( 
       
   474         /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
       
   475     
       
   476     virtual HRESULT STDMETHODCALLTYPE target( 
       
   477         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
       
   478     
       
   479     virtual HRESULT STDMETHODCALLTYPE currentTarget( 
       
   480         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
       
   481     
       
   482     virtual HRESULT STDMETHODCALLTYPE eventPhase( 
       
   483         /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
       
   484     
       
   485     virtual HRESULT STDMETHODCALLTYPE bubbles( 
       
   486         /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
       
   487     
       
   488     virtual HRESULT STDMETHODCALLTYPE cancelable( 
       
   489         /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
       
   490     
       
   491     virtual HRESULT STDMETHODCALLTYPE timeStamp( 
       
   492         /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
       
   493     
       
   494     virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
       
   495     
       
   496     virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
       
   497     
       
   498     virtual HRESULT STDMETHODCALLTYPE initEvent( 
       
   499         /* [in] */ BSTR eventTypeArg,
       
   500         /* [in] */ BOOL canBubbleArg,
       
   501         /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
       
   502 
       
   503     // IDOMUIEvent
       
   504     virtual HRESULT STDMETHODCALLTYPE view( 
       
   505         /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
       
   506     
       
   507     virtual HRESULT STDMETHODCALLTYPE detail( 
       
   508         /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
       
   509     
       
   510     virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
       
   511         /* [in] */ BSTR type,
       
   512         /* [in] */ BOOL canBubble,
       
   513         /* [in] */ BOOL cancelable,
       
   514         /* [in] */ IDOMWindow* view,
       
   515         /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
       
   516     
       
   517     virtual HRESULT STDMETHODCALLTYPE keyCode( 
       
   518         /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
       
   519     
       
   520     virtual HRESULT STDMETHODCALLTYPE charCode( 
       
   521         /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
       
   522     
       
   523     virtual HRESULT STDMETHODCALLTYPE layerX( 
       
   524         /* [retval][out] */ long* result) { return DOMUIEvent::layerX(result); }
       
   525     
       
   526     virtual HRESULT STDMETHODCALLTYPE layerY( 
       
   527         /* [retval][out] */ long* result) { return DOMUIEvent::layerY(result); }
       
   528     
       
   529     virtual HRESULT STDMETHODCALLTYPE pageX( 
       
   530         /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
       
   531     
       
   532     virtual HRESULT STDMETHODCALLTYPE pageY( 
       
   533         /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
       
   534     
       
   535     virtual HRESULT STDMETHODCALLTYPE which( 
       
   536         /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
       
   537 
       
   538     // IDOMMouseEvent
       
   539     virtual HRESULT STDMETHODCALLTYPE screenX( 
       
   540         /* [retval][out] */ long* result);
       
   541     
       
   542     virtual HRESULT STDMETHODCALLTYPE screenY( 
       
   543         /* [retval][out] */ long* result);
       
   544     
       
   545     virtual HRESULT STDMETHODCALLTYPE clientX( 
       
   546         /* [retval][out] */ long* result);
       
   547     
       
   548     virtual HRESULT STDMETHODCALLTYPE clientY( 
       
   549         /* [retval][out] */ long* result);
       
   550     
       
   551     virtual HRESULT STDMETHODCALLTYPE ctrlKey( 
       
   552         /* [retval][out] */ BOOL* result);
       
   553     
       
   554     virtual HRESULT STDMETHODCALLTYPE shiftKey( 
       
   555         /* [retval][out] */ BOOL* result);
       
   556     
       
   557     virtual HRESULT STDMETHODCALLTYPE altKey( 
       
   558         /* [retval][out] */ BOOL* result);
       
   559     
       
   560     virtual HRESULT STDMETHODCALLTYPE metaKey( 
       
   561         /* [retval][out] */ BOOL* result);
       
   562     
       
   563     virtual HRESULT STDMETHODCALLTYPE button( 
       
   564         /* [retval][out] */ unsigned short* result);
       
   565     
       
   566     virtual HRESULT STDMETHODCALLTYPE relatedTarget( 
       
   567         /* [retval][out] */ IDOMEventTarget** result);
       
   568     
       
   569     virtual HRESULT STDMETHODCALLTYPE initMouseEvent( 
       
   570         /* [in] */ BSTR type,
       
   571         /* [in] */ BOOL canBubble,
       
   572         /* [in] */ BOOL cancelable,
       
   573         /* [in] */ IDOMWindow* view,
       
   574         /* [in] */ long detail,
       
   575         /* [in] */ long screenX,
       
   576         /* [in] */ long screenY,
       
   577         /* [in] */ long clientX,
       
   578         /* [in] */ long clientY,
       
   579         /* [in] */ BOOL ctrlKey,
       
   580         /* [in] */ BOOL altKey,
       
   581         /* [in] */ BOOL shiftKey,
       
   582         /* [in] */ BOOL metaKey,
       
   583         /* [in] */ unsigned short button,
       
   584         /* [in] */ IDOMEventTarget* relatedTarget);
       
   585     
       
   586     virtual HRESULT STDMETHODCALLTYPE offsetX( 
       
   587         /* [retval][out] */ long* result);
       
   588     
       
   589     virtual HRESULT STDMETHODCALLTYPE offsetY( 
       
   590         /* [retval][out] */ long* result);
       
   591     
       
   592     virtual HRESULT STDMETHODCALLTYPE x( 
       
   593         /* [retval][out] */ long* result);
       
   594     
       
   595     virtual HRESULT STDMETHODCALLTYPE y( 
       
   596         /* [retval][out] */ long* result);
       
   597     
       
   598     virtual HRESULT STDMETHODCALLTYPE fromElement( 
       
   599         /* [retval][out] */ IDOMNode** result);
       
   600     
       
   601     virtual HRESULT STDMETHODCALLTYPE toElement( 
       
   602         /* [retval][out] */ IDOMNode** result);
       
   603 };
       
   604 
       
   605 class DOMMutationEvent : public DOMEvent, public IDOMMutationEvent
       
   606 {
       
   607 public:
       
   608     DOMMutationEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { }
       
   609 
       
   610     // IUnknown
       
   611     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
   612     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
       
   613     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
       
   614 
       
   615     // IWebScriptObject
       
   616     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
   617         /* [in] */ BSTR exceptionMessage,
       
   618         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
   619     
       
   620     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
   621         /* [in] */ BSTR name,
       
   622         /* [size_is][in] */ const VARIANT args[  ],
       
   623         /* [in] */ int cArgs,
       
   624         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
   625     
       
   626     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
   627         /* [in] */ BSTR script,
       
   628         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
   629     
       
   630     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
   631         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
   632     
       
   633     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
   634         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
   635     
       
   636     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
   637         /* [in] */ unsigned int index,
       
   638         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
   639     
       
   640     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
   641         /* [in] */ unsigned int index,
       
   642         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
   643     
       
   644     virtual HRESULT STDMETHODCALLTYPE setException( 
       
   645         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
   646 
       
   647     // IDOMEvent
       
   648     virtual HRESULT STDMETHODCALLTYPE type( 
       
   649         /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
       
   650     
       
   651     virtual HRESULT STDMETHODCALLTYPE target( 
       
   652         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
       
   653     
       
   654     virtual HRESULT STDMETHODCALLTYPE currentTarget( 
       
   655         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
       
   656     
       
   657     virtual HRESULT STDMETHODCALLTYPE eventPhase( 
       
   658         /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
       
   659     
       
   660     virtual HRESULT STDMETHODCALLTYPE bubbles( 
       
   661         /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
       
   662     
       
   663     virtual HRESULT STDMETHODCALLTYPE cancelable( 
       
   664         /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
       
   665     
       
   666     virtual HRESULT STDMETHODCALLTYPE timeStamp( 
       
   667         /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
       
   668     
       
   669     virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
       
   670     
       
   671     virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
       
   672     
       
   673     virtual HRESULT STDMETHODCALLTYPE initEvent( 
       
   674         /* [in] */ BSTR eventTypeArg,
       
   675         /* [in] */ BOOL canBubbleArg,
       
   676         /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
       
   677 
       
   678     // IDOMMutationEvent
       
   679     virtual HRESULT STDMETHODCALLTYPE relatedNode( 
       
   680         /* [retval][out] */ IDOMNode** result);
       
   681     
       
   682     virtual HRESULT STDMETHODCALLTYPE prevValue( 
       
   683         /* [retval][out] */ BSTR* result);
       
   684     
       
   685     virtual HRESULT STDMETHODCALLTYPE newValue( 
       
   686         /* [retval][out] */ BSTR* result);
       
   687     
       
   688     virtual HRESULT STDMETHODCALLTYPE attrName( 
       
   689         /* [retval][out] */ BSTR* result);
       
   690     
       
   691     virtual HRESULT STDMETHODCALLTYPE attrChange( 
       
   692         /* [retval][out] */ unsigned short* result);
       
   693     
       
   694     virtual HRESULT STDMETHODCALLTYPE initMutationEvent( 
       
   695         /* [in] */ BSTR type,
       
   696         /* [in] */ BOOL canBubble,
       
   697         /* [in] */ BOOL cancelable,
       
   698         /* [in] */ IDOMNode* relatedNode,
       
   699         /* [in] */ BSTR prevValue,
       
   700         /* [in] */ BSTR newValue,
       
   701         /* [in] */ BSTR attrName,
       
   702         /* [in] */ unsigned short attrChange);
       
   703 };
       
   704 
       
   705 class DOMOverflowEvent : public DOMEvent, public IDOMOverflowEvent
       
   706 {
       
   707 public:
       
   708     DOMOverflowEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { }
       
   709 
       
   710     // IUnknown
       
   711     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
   712     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
       
   713     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
       
   714 
       
   715     // IWebScriptObject
       
   716     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
   717         /* [in] */ BSTR exceptionMessage,
       
   718         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
   719     
       
   720     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
   721         /* [in] */ BSTR name,
       
   722         /* [size_is][in] */ const VARIANT args[  ],
       
   723         /* [in] */ int cArgs,
       
   724         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
   725     
       
   726     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
   727         /* [in] */ BSTR script,
       
   728         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
   729     
       
   730     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
   731         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
   732     
       
   733     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
   734         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
   735     
       
   736     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
   737         /* [in] */ unsigned int index,
       
   738         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
   739     
       
   740     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
   741         /* [in] */ unsigned int index,
       
   742         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
   743     
       
   744     virtual HRESULT STDMETHODCALLTYPE setException( 
       
   745         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
   746 
       
   747     // IDOMEvent
       
   748     virtual HRESULT STDMETHODCALLTYPE type( 
       
   749         /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
       
   750     
       
   751     virtual HRESULT STDMETHODCALLTYPE target( 
       
   752         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
       
   753     
       
   754     virtual HRESULT STDMETHODCALLTYPE currentTarget( 
       
   755         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
       
   756     
       
   757     virtual HRESULT STDMETHODCALLTYPE eventPhase( 
       
   758         /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
       
   759     
       
   760     virtual HRESULT STDMETHODCALLTYPE bubbles( 
       
   761         /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
       
   762     
       
   763     virtual HRESULT STDMETHODCALLTYPE cancelable( 
       
   764         /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
       
   765     
       
   766     virtual HRESULT STDMETHODCALLTYPE timeStamp( 
       
   767         /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
       
   768     
       
   769     virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
       
   770     
       
   771     virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
       
   772     
       
   773     virtual HRESULT STDMETHODCALLTYPE initEvent( 
       
   774         /* [in] */ BSTR eventTypeArg,
       
   775         /* [in] */ BOOL canBubbleArg,
       
   776         /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
       
   777 
       
   778     // IDOMOverflowEvent
       
   779     virtual HRESULT STDMETHODCALLTYPE orient( 
       
   780         /* [retval][out] */ unsigned short* result);
       
   781     
       
   782     virtual HRESULT STDMETHODCALLTYPE horizontalOverflow( 
       
   783         /* [retval][out] */ BOOL* result);
       
   784     
       
   785     virtual HRESULT STDMETHODCALLTYPE verticalOverflow( 
       
   786         /* [retval][out] */ BOOL* result);
       
   787 };
       
   788 
       
   789 class DOMWheelEvent : public DOMUIEvent, public IDOMWheelEvent
       
   790 {
       
   791 public:
       
   792     DOMWheelEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
       
   793 
       
   794     // IUnknown
       
   795     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
       
   796     virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
       
   797     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
       
   798 
       
   799     // IWebScriptObject
       
   800     virtual HRESULT STDMETHODCALLTYPE throwException( 
       
   801         /* [in] */ BSTR exceptionMessage,
       
   802         /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
       
   803     
       
   804     virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
       
   805         /* [in] */ BSTR name,
       
   806         /* [size_is][in] */ const VARIANT args[  ],
       
   807         /* [in] */ int cArgs,
       
   808         /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
       
   809     
       
   810     virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
       
   811         /* [in] */ BSTR script,
       
   812         /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
       
   813     
       
   814     virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
       
   815         /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
       
   816     
       
   817     virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
       
   818         /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
       
   819     
       
   820     virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
       
   821         /* [in] */ unsigned int index,
       
   822         /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
       
   823     
       
   824     virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
       
   825         /* [in] */ unsigned int index,
       
   826         /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
       
   827     
       
   828     virtual HRESULT STDMETHODCALLTYPE setException( 
       
   829         /* [in] */ BSTR description) { return DOMObject::setException(description); }
       
   830 
       
   831     // IDOMEvent
       
   832     virtual HRESULT STDMETHODCALLTYPE type( 
       
   833         /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
       
   834     
       
   835     virtual HRESULT STDMETHODCALLTYPE target( 
       
   836         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
       
   837     
       
   838     virtual HRESULT STDMETHODCALLTYPE currentTarget( 
       
   839         /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
       
   840     
       
   841     virtual HRESULT STDMETHODCALLTYPE eventPhase( 
       
   842         /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
       
   843     
       
   844     virtual HRESULT STDMETHODCALLTYPE bubbles( 
       
   845         /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
       
   846     
       
   847     virtual HRESULT STDMETHODCALLTYPE cancelable( 
       
   848         /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
       
   849     
       
   850     virtual HRESULT STDMETHODCALLTYPE timeStamp( 
       
   851         /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
       
   852     
       
   853     virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
       
   854     
       
   855     virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
       
   856     
       
   857     virtual HRESULT STDMETHODCALLTYPE initEvent( 
       
   858         /* [in] */ BSTR eventTypeArg,
       
   859         /* [in] */ BOOL canBubbleArg,
       
   860         /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
       
   861 
       
   862     // IDOMUIEvent
       
   863     virtual HRESULT STDMETHODCALLTYPE view( 
       
   864         /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
       
   865     
       
   866     virtual HRESULT STDMETHODCALLTYPE detail( 
       
   867         /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
       
   868     
       
   869     virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
       
   870         /* [in] */ BSTR type,
       
   871         /* [in] */ BOOL canBubble,
       
   872         /* [in] */ BOOL cancelable,
       
   873         /* [in] */ IDOMWindow* view,
       
   874         /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
       
   875     
       
   876     virtual HRESULT STDMETHODCALLTYPE keyCode( 
       
   877         /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
       
   878     
       
   879     virtual HRESULT STDMETHODCALLTYPE charCode( 
       
   880         /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
       
   881     
       
   882     virtual HRESULT STDMETHODCALLTYPE layerX( 
       
   883         /* [retval][out] */ long* result) { return DOMUIEvent::layerX(result); }
       
   884     
       
   885     virtual HRESULT STDMETHODCALLTYPE layerY( 
       
   886         /* [retval][out] */ long* result) { return DOMUIEvent::layerY(result); }
       
   887     
       
   888     virtual HRESULT STDMETHODCALLTYPE pageX( 
       
   889         /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
       
   890     
       
   891     virtual HRESULT STDMETHODCALLTYPE pageY( 
       
   892         /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
       
   893     
       
   894     virtual HRESULT STDMETHODCALLTYPE which( 
       
   895         /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
       
   896 
       
   897     // IDOMWheelEvent
       
   898     virtual HRESULT STDMETHODCALLTYPE screenX( 
       
   899         /* [retval][out] */ long* result);
       
   900     
       
   901     virtual HRESULT STDMETHODCALLTYPE screenY( 
       
   902         /* [retval][out] */ long* result);
       
   903     
       
   904     virtual HRESULT STDMETHODCALLTYPE clientX( 
       
   905         /* [retval][out] */ long* result);
       
   906     
       
   907     virtual HRESULT STDMETHODCALLTYPE clientY( 
       
   908         /* [retval][out] */ long* result);
       
   909     
       
   910     virtual HRESULT STDMETHODCALLTYPE ctrlKey( 
       
   911         /* [retval][out] */ BOOL* result);
       
   912     
       
   913     virtual HRESULT STDMETHODCALLTYPE shiftKey( 
       
   914         /* [retval][out] */ BOOL* result);
       
   915     
       
   916     virtual HRESULT STDMETHODCALLTYPE altKey( 
       
   917         /* [retval][out] */ BOOL* result);
       
   918     
       
   919     virtual HRESULT STDMETHODCALLTYPE metaKey( 
       
   920         /* [retval][out] */ BOOL* result);
       
   921     
       
   922     virtual HRESULT STDMETHODCALLTYPE wheelDelta( 
       
   923         /* [retval][out] */ long* result);
       
   924     
       
   925     virtual HRESULT STDMETHODCALLTYPE wheelDeltaX( 
       
   926         /* [retval][out] */ long* result);
       
   927     
       
   928     virtual HRESULT STDMETHODCALLTYPE wheelDeltaY( 
       
   929         /* [retval][out] */ long* result);
       
   930     
       
   931     virtual HRESULT STDMETHODCALLTYPE offsetX( 
       
   932         /* [retval][out] */ long* result);
       
   933     
       
   934     virtual HRESULT STDMETHODCALLTYPE offsetY( 
       
   935         /* [retval][out] */ long* result);
       
   936     
       
   937     virtual HRESULT STDMETHODCALLTYPE x( 
       
   938         /* [retval][out] */ long* result);
       
   939     
       
   940     virtual HRESULT STDMETHODCALLTYPE y( 
       
   941         /* [retval][out] */ long* result);
       
   942     
       
   943     virtual HRESULT STDMETHODCALLTYPE isHorizontal( 
       
   944         /* [retval][out] */ BOOL* result);
       
   945     
       
   946     virtual HRESULT STDMETHODCALLTYPE initWheelEvent( 
       
   947         /* [in] */ long wheelDeltaX,
       
   948         /* [in] */ long wheelDeltaY,
       
   949         /* [in] */ IDOMWindow* view,
       
   950         /* [in] */ long screenX,
       
   951         /* [in] */ long screenY,
       
   952         /* [in] */ long clientX,
       
   953         /* [in] */ long clientY,
       
   954         /* [in] */ BOOL ctrlKey,
       
   955         /* [in] */ BOOL altKey,
       
   956         /* [in] */ BOOL shiftKey,
       
   957         /* [in] */ BOOL metaKey);
       
   958 };
       
   959 
       
   960 #endif