diff -r 000000000000 -r 4f2f89ce4247 WebKit/win/Interfaces/DOMEvents.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebKit/win/Interfaces/DOMEvents.idl Fri Sep 17 09:02:29 2010 +0300 @@ -0,0 +1,478 @@ +/* + * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef DO_NO_IMPORTS +import "oaidl.idl"; +import "ocidl.idl"; +import "DOMCore.idl"; +import "DOMWindow.idl"; +#endif + +interface IDOMEvent; +interface IDOMEventException; +interface IDOMEventTarget; +interface IDOMKeyboardEvent; +interface IDOMMouseEvent; +interface IDOMMutationEvent; +interface IDOMNode; +interface IDOMOverflowEvent; +interface IDOMUIEvent; +interface IDOMWheelEvent; +interface IDOMWindow; + +typedef long long DOMTimeStamp; + +[ + object, + oleautomation, + uuid(7f8a0a96-f864-44fb-87fb-c5f03666e8e6), + pointer_default(unique) +] +interface IDOMEventListener : IDOMObject +{ + //void handleEvent(in Event evt); + HRESULT handleEvent([in] IDOMEvent* evt); +} + +[ + object, + oleautomation, + uuid(62343a9e-a779-4e91-818a-14fc178cf4c2), + pointer_default(unique) +] +interface IDOMEvent : IDOMObject +{ + // DOM PhaseType + const unsigned short DOMEVENT_CAPTURING_PHASE = 1; + const unsigned short DOMEVENT_AT_TARGET = 2; + const unsigned short DOMEVENT_BUBBLING_PHASE = 3; + + // Reverse-engineered from Netscape + const unsigned short DOMEVENT_MOUSEDOWN = 1; + const unsigned short DOMEVENT_MOUSEUP = 2; + const unsigned short DOMEVENT_MOUSEOVER = 4; + const unsigned short DOMEVENT_MOUSEOUT = 8; + const unsigned short DOMEVENT_MOUSEMOVE = 16; + const unsigned short DOMEVENT_MOUSEDRAG = 32; + const unsigned short DOMEVENT_CLICK = 64; + const unsigned short DOMEVENT_DBLCLICK = 128; + const unsigned short DOMEVENT_KEYDOWN = 256; + const unsigned short DOMEVENT_KEYUP = 512; + const unsigned short DOMEVENT_KEYPRESS = 1024; + const unsigned short DOMEVENT_DRAGDROP = 2048; + const unsigned short DOMEVENT_FOCUS = 4096; + const unsigned short DOMEVENT_BLUR = 8192; + const unsigned short DOMEVENT_SELECT = 16384; + const unsigned short DOMEVENT_CHANGE = 32768; + + //readonly attribute DOMString type; + HRESULT type([out, retval] BSTR* result); + + //readonly attribute EventTarget target; + HRESULT target([out, retval] IDOMEventTarget** result); + + //readonly attribute EventTarget currentTarget; + HRESULT currentTarget([out, retval] IDOMEventTarget** result); + + //readonly attribute unsigned short eventPhase; + HRESULT eventPhase([out, retval] unsigned short* result); + + //readonly attribute boolean bubbles; + HRESULT bubbles([out, retval] BOOL* result); + + //readonly attribute boolean cancelable; + HRESULT cancelable([out, retval] BOOL* result); + + //readonly attribute DOMTimeStamp timeStamp; + HRESULT timeStamp([out, retval] DOMTimeStamp* result); + + //void stopPropagation(); + HRESULT stopPropagation(); + + //void preventDefault(); + HRESULT preventDefault(); + + //[OldStyleObjC] void initEvent(in DOMString eventTypeArg, + // in boolean canBubbleArg, + // in boolean cancelableArg); + HRESULT initEvent([in] BSTR eventTypeArg, [in] BOOL canBubbleArg, [in] BOOL cancelableArg); +} + +[ + object, + oleautomation, + uuid(c7cf7d84-d755-40bc-b664-84bc79eff709), + pointer_default(unique) +] +interface IDOMEventTarget : IUnknown +{ + //void addEventListener(in DOMString type, + // in EventListener listener, + // in boolean useCapture); + HRESULT addEventListener([in] BSTR type, [in] IDOMEventListener* listener, [in] BOOL useCapture); + + //void removeEventListener(in DOMString type, + // in EventListener listener, + // in boolean useCapture); + HRESULT removeEventListener([in] BSTR type, [in] IDOMEventListener* listener, [in] BOOL useCapture); + + //boolean dispatchEvent(in Event event) + HRESULT dispatchEvent([in] IDOMEvent* event, [out, retval] BOOL* result); +} + +[ + object, + oleautomation, + uuid(55AAF192-68CD-409f-A551-89710DC7240A), + pointer_default(unique) +] +interface IDOMDocumentEvent : IUnknown +{ + //Event createEvent(in DOMString eventType) + // raises(DOMException); + HRESULT createEvent([in] BSTR eventType, [out, retval] IDOMEvent** result); +} + +[ + object, + oleautomation, + uuid(76bc4e46-67df-40d3-89b0-a94dcc2ed507), + pointer_default(unique) +] +interface IDOMKeyboardEvent : IDOMUIEvent +{ + // KeyLocationCode + const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_STANDARD = 0x00; + const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_LEFT = 0x01; + const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_RIGHT = 0x02; + const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_NUMPAD = 0x03; + + //readonly attribute DOMString keyIdentifier; + HRESULT keyIdentifier([out, retval] BSTR* result); + + //readonly attribute unsigned long keyLocation; + HRESULT keyLocation([out, retval] unsigned long* result); + + //readonly attribute boolean ctrlKey; + HRESULT ctrlKey([out, retval] BOOL* result); + + //readonly attribute boolean shiftKey; + HRESULT shiftKey([out, retval] BOOL* result); + + //readonly attribute boolean altKey; + HRESULT altKey([out, retval] BOOL* result); + + //readonly attribute boolean metaKey; + HRESULT metaKey([out, retval] BOOL* result); + + //readonly attribute boolean altGraphKey; + HRESULT altGraphKey([out, retval] BOOL* result); + + //boolean getModifierState(in DOMString keyIdentifierArg); + HRESULT getModifierState([in] BSTR keyIdentifierArg, [out, retval] BOOL* result); + + // FIXME: this does not match the version in the DOM spec. + //void initKeyboardEvent(in AtomicString type, + // in boolean canBubble, + // in boolean cancelable, + // in DOMWindow view, + // in DOMString keyIdentifier, + // in unsigned long keyLocation, + // in boolean ctrlKey, + // in boolean altKey, + // in boolean shiftKey, + // in boolean metaKey, + // in boolean altGraphKey); + HRESULT initKeyboardEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMWindow* view, [in] BSTR keyIdentifier, [in] unsigned long keyLocation, [in] BOOL ctrlKey, [in] BOOL altKey, [in] BOOL shiftKey, [in] BOOL metaKey, [in] BOOL graphKey); + + // WebKit Extensions + //readonly attribute long keyCode; + //HRESULT keyCode([out, retval] long* result); + + //readonly attribute long charCode; + //HRESULT charCode([out, retval] long* result); + + //void initKeyboardEvent(in AtomicString type, + // in boolean canBubble, + // in boolean cancelable, + // in DOMWindow view, + // in DOMString keyIdentifier, + // in unsigned long keyLocation, + // in boolean ctrlKey, + // in boolean altKey, + // in boolean shiftKey, + // in boolean metaKey); +} + +[ + object, + oleautomation, + uuid(bdd97151-5f6a-4ba4-a902-9b008392eb54), + pointer_default(unique) +] +interface IDOMMouseEvent : IDOMUIEvent +{ + //readonly attribute long screenX; + HRESULT screenX([out, retval] long* result); + + //readonly attribute long screenY; + HRESULT screenY([out, retval] long* result); + + //readonly attribute long clientX; + HRESULT clientX([out, retval] long* result); + + //readonly attribute long clientY; + HRESULT clientY([out, retval] long* result); + + //readonly attribute boolean ctrlKey; + HRESULT ctrlKey([out, retval] BOOL* result); + + //readonly attribute boolean shiftKey; + HRESULT shiftKey([out, retval] BOOL* result); + + //readonly attribute boolean altKey; + HRESULT altKey([out, retval] BOOL* result); + + //readonly attribute boolean metaKey; + HRESULT metaKey([out, retval] BOOL* result); + + //readonly attribute unsigned short button; + HRESULT button([out, retval] unsigned short* result); + + //readonly attribute EventTarget relatedTarget; + HRESULT relatedTarget([out, retval] IDOMEventTarget** result); + + //[OldStyleObjC] void initMouseEvent(in AtomicString type, + // in boolean canBubble, + // in boolean cancelable, + // in DOMWindow view, + // in long detail, + // in long screenX, + // in long screenY, + // in long clientX, + // in long clientY, + // in boolean ctrlKey, + // in boolean altKey, + // in boolean shiftKey, + // in boolean metaKey, + // in unsigned short button, + // in EventTarget relatedTarget); + HRESULT initMouseEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMWindow* view, [in] long detail, [in] long screenX, [in] long screenY, [in] long clientX, [in] long clientY, [in] BOOL ctrlKey, [in] BOOL altKey, [in] BOOL shiftKey, [in] BOOL metaKey, [in] unsigned short button, [in] IDOMEventTarget* relatedTarget); + + // extensions + //readonly attribute long offsetX; + HRESULT offsetX([out, retval] long* result); + + //readonly attribute long offsetY; + HRESULT offsetY([out, retval] long* result); + + //readonly attribute long x; + HRESULT x([out, retval] long* result); + + //readonly attribute long y; + HRESULT y([out, retval] long* result); + + //readonly attribute Node fromElement; + HRESULT fromElement([out, retval] IDOMNode** result); + + //readonly attribute Node toElement; + HRESULT toElement([out, retval] IDOMNode** result); +} + +[ + object, + oleautomation, + uuid(6345d228-ea67-48ee-93c8-ff6e9c6356e9), + pointer_default(unique) +] +interface IDOMMutationEvent : IDOMEvent +{ + // attrChangeType + const unsigned short DOMMUTATIONEVENT_MODIFICATION = 1; + const unsigned short DOMMUTATIONEVENT_ADDITION = 2; + const unsigned short DOMMUTATIONEVENT_REMOVAL = 3; + + //readonly attribute Node relatedNode; + HRESULT relatedNode([out, retval] IDOMNode** result); + + //readonly attribute DOMString prevValue; + HRESULT prevValue([out, retval] BSTR* result); + + //readonly attribute DOMString newValue; + HRESULT newValue([out, retval] BSTR* result); + + //readonly attribute DOMString attrName; + HRESULT attrName([out, retval] BSTR* result); + + //readonly attribute unsigned short attrChange; + HRESULT attrChange([out, retval] unsigned short* result); + + //[OldStyleObjC] void initMutationEvent(in AtomicString type, + // in boolean canBubble, + // in boolean cancelable, + // in Node relatedNode, + // in DOMString prevValue, + // in DOMString newValue, + // in DOMString attrName, + // in unsigned short attrChange); + HRESULT initMutationEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMNode* relatedNode, [in] BSTR prevValue, [in] BSTR newValue, [in] BSTR attrName, [in] unsigned short attrChange); +} + +[ + object, + oleautomation, + uuid(6048369e-e444-401b-950d-c9daef9384d2), + pointer_default(unique) +] +interface IDOMOverflowEvent : IDOMEvent +{ + const unsigned short DOMOVERFLOWEVENT_HORIZONTAL = 0; + const unsigned short DOMOVERFLOWEVENT_VERTICAL = 1; + const unsigned short DOMOVERFLOWEVENT_BOTH = 2; + + //readonly attribute unsigned short orient; + HRESULT orient([out, retval] unsigned short* result); + + //readonly attribute boolean horizontalOverflow; + HRESULT horizontalOverflow([out, retval] BOOL* result); + + //readonly attribute boolean verticalOverflow; + HRESULT verticalOverflow([out, retval] BOOL* result); +} + +[ + object, + oleautomation, + uuid(b928261d-7c9e-4156-af71-6f698bd97788), + pointer_default(unique) +] +interface IDOMUIEvent : IDOMEvent +{ + //readonly attribute DOMWindow view; + HRESULT view([out, retval] IDOMWindow** result); + + //readonly attribute long detail; + HRESULT detail([out, retval] long* result); + + //[OldStyleObjC] void initUIEvent(in AtomicString type, + // in boolean canBubble, + // in boolean cancelable, + // in DOMWindow view, + // in long detail); + HRESULT initUIEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMWindow* view, [in] long detail); + + // extentsions + //readonly attribute long keyCode; + HRESULT keyCode([out, retval] long* result); + + //readonly attribute long charCode; + HRESULT charCode([out, retval] long* result); + + //readonly attribute long layerX; + HRESULT layerX([out, retval] long* result); + + //readonly attribute long layerY; + HRESULT layerY([out, retval] long* result); + + //readonly attribute long pageX; + HRESULT pageX([out, retval] long* result); + + //readonly attribute long pageY; + HRESULT pageY([out, retval] long* result); + + //readonly attribute long which; + HRESULT which([out, retval] long* result); +} + +[ + object, + oleautomation, + uuid(5404e6d9-a2bb-4c74-8070-ce9d2599bd00), + pointer_default(unique) +] +interface IDOMWheelEvent : IDOMUIEvent +{ + //readonly attribute long screenX; + HRESULT screenX([out, retval] long* result); + + //readonly attribute long screenY; + HRESULT screenY([out, retval] long* result); + + //readonly attribute long clientX; + HRESULT clientX([out, retval] long* result); + + //readonly attribute long clientY; + HRESULT clientY([out, retval] long* result); + + //readonly attribute boolean ctrlKey; + HRESULT ctrlKey([out, retval] BOOL* result); + + //readonly attribute boolean shiftKey; + HRESULT shiftKey([out, retval] BOOL* result); + + //readonly attribute boolean altKey; + HRESULT altKey([out, retval] BOOL* result); + + //readonly attribute boolean metaKey; + HRESULT metaKey([out, retval] BOOL* result); + + //readonly attribute long wheelDelta; + HRESULT wheelDelta([out, retval] long* result); + + //readonly attribute long wheelDeltaX; + HRESULT wheelDeltaX([out, retval] long* result); + + //readonly attribute long wheelDeltaY; + HRESULT wheelDeltaY([out, retval] long* result); + + // WebKit Extensions + //readonly attribute long offsetX; + HRESULT offsetX([out, retval] long* result); + + //readonly attribute long offsetY; + HRESULT offsetY([out, retval] long* result); + + //readonly attribute long x; + HRESULT x([out, retval] long* result); + + //readonly attribute long y; + HRESULT y([out, retval] long* result); + + //readonly attribute boolean isHorizontal; + HRESULT isHorizontal([out, retval] BOOL* result); + + //void initWheelEvent(in long wheelDeltaX, + // in long wheelDeltaY, + // in DOMWindow view, + // in long screenX, + // in long screenY, + // in long clientX, + // in long clientY, + // in boolean ctrlKey, + // in boolean altKey, + // in boolean shiftKey, + // in boolean metaKey); + HRESULT initWheelEvent([in] long wheelDeltaX, [in] long wheelDeltaY, [in] IDOMWindow* view, [in] long screenX, [in] long screenY, [in] long clientX, [in] long clientY, [in] BOOL ctrlKey, [in] BOOL altKey, [in] BOOL shiftKey, [in] BOOL metaKey); +}