|  | /* | 
|  | * Copyright (C) 2006, 2007, 2009, 2011 Apple Inc. All rights reserved. | 
|  | * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> | 
|  | * | 
|  | * This library is free software; you can redistribute it and/or | 
|  | * modify it under the terms of the GNU Library General Public | 
|  | * License as published by the Free Software Foundation; either | 
|  | * version 2 of the License, or (at your option) any later version. | 
|  | * | 
|  | * This library is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | * Library General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU Library General Public License | 
|  | * along with this library; see the file COPYING.LIB.  If not, write to | 
|  | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 
|  | * Boston, MA 02110-1301, USA. | 
|  | */ | 
|  |  | 
|  | module events { | 
|  |  | 
|  | // Introduced in DOM Level 2: | 
|  | interface [ | 
|  | CustomToJSObject, | 
|  | ConstructorTemplate=Event, | 
|  | JSNoStaticTables, | 
|  | ObjCPolymorphic | 
|  | ] Event { | 
|  |  | 
|  | // DOM PhaseType | 
|  | const unsigned short NONE                = 0; | 
|  | const unsigned short CAPTURING_PHASE     = 1; | 
|  | const unsigned short AT_TARGET           = 2; | 
|  | const unsigned short BUBBLING_PHASE      = 3; | 
|  |  | 
|  | #if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C | 
|  | // Reverse-engineered from Netscape | 
|  | const unsigned short MOUSEDOWN           = 1; | 
|  | const unsigned short MOUSEUP             = 2; | 
|  | const unsigned short MOUSEOVER           = 4; | 
|  | const unsigned short MOUSEOUT            = 8; | 
|  | const unsigned short MOUSEMOVE           = 16; | 
|  | const unsigned short MOUSEDRAG           = 32; | 
|  | const unsigned short CLICK               = 64; | 
|  | const unsigned short DBLCLICK            = 128; | 
|  | const unsigned short KEYDOWN             = 256; | 
|  | const unsigned short KEYUP               = 512; | 
|  | const unsigned short KEYPRESS            = 1024; | 
|  | const unsigned short DRAGDROP            = 2048; | 
|  | const unsigned short FOCUS               = 4096; | 
|  | const unsigned short BLUR                = 8192; | 
|  | const unsigned short SELECT              = 16384; | 
|  | const unsigned short CHANGE              = 32768; | 
|  | #endif | 
|  |  | 
|  | readonly attribute DOMString        type; | 
|  | readonly attribute EventTarget      target; | 
|  | readonly attribute EventTarget      currentTarget; | 
|  | readonly attribute unsigned short   eventPhase; | 
|  | readonly attribute [InitializedByEventConstructor] boolean bubbles; | 
|  | readonly attribute [InitializedByEventConstructor] boolean cancelable; | 
|  | readonly attribute DOMTimeStamp     timeStamp; | 
|  |  | 
|  | void               stopPropagation(); | 
|  | void               preventDefault(); | 
|  | [ObjCLegacyUnnamedParameters] void initEvent(in [Optional=DefaultIsUndefined] DOMString eventTypeArg, | 
|  | in [Optional=DefaultIsUndefined] boolean canBubbleArg, | 
|  | in [Optional=DefaultIsUndefined] boolean cancelableArg); | 
|  |  | 
|  | // DOM Level 3 Additions. | 
|  | readonly attribute boolean defaultPrevented; | 
|  | void stopImmediatePropagation(); | 
|  |  | 
|  | // IE Extensions | 
|  | readonly attribute EventTarget      srcElement; | 
|  | attribute boolean          returnValue; | 
|  | attribute boolean          cancelBubble; | 
|  |  | 
|  | #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT | 
|  | readonly attribute [Custom] Clipboard        clipboardData; | 
|  | #endif | 
|  |  | 
|  | #if defined(LANGUAGE_CPP) && LANGUAGE_CPP | 
|  | // Extra WebCore methods exposed to allow compile-time casting in C++ | 
|  | boolean isMouseEvent(); | 
|  | boolean isUIEvent(); | 
|  | #endif | 
|  |  | 
|  | }; | 
|  |  | 
|  | } |