diff options
Diffstat (limited to '')
-rw-r--r-- | dom/events/EventNameList.h | 592 |
1 files changed, 592 insertions, 0 deletions
diff --git a/dom/events/EventNameList.h b/dom/events/EventNameList.h new file mode 100644 index 0000000000..1ece6f2683 --- /dev/null +++ b/dom/events/EventNameList.h @@ -0,0 +1,592 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * This file contains the list of event names that are exposed via IDL + * on various objects. It is designed to be used as inline input to + * various consumers through the magic of C preprocessing. + * + * Each entry consists of 4 pieces of information: + * 1) The name of the event + * 2) The event message + * 3) The event type (see the EventNameType enum in nsContentUtils.h) + * 4) The event struct type for this event. + * Items 2-4 might be empty strings for events for which they don't make sense. + * + * Event names that are exposed as content attributes on HTML elements + * and as IDL attributes on Elements, Documents and Windows and have + * no forwarding behavior should be enclosed in the EVENT macro. + * + * Event names that are exposed as content attributes on HTML elements + * and as IDL attributes on Elements, Documents and Windows and are + * forwarded from <body> and <frameset> to the Window should be + * enclosed in the FORWARDED_EVENT macro. If this macro is not + * defined, it will be defined to be equivalent to EVENT. + * + * Event names that are exposed as IDL attributes on Windows only + * should be enclosed in the WINDOW_ONLY_EVENT macro. If this macro + * is not defined, it will be defined to the empty string. + * + * Event names that are exposed as content and IDL attributes on + * <body> and <frameset>, which forward them to the Window, and are + * exposed as IDL attributes on the Window should be enclosed in the + * WINDOW_EVENT macro. If this macro is not defined, it will be + * defined to be equivalent to WINDOW_ONLY_EVENT. + * + * Touch-specific event names should be enclosed in TOUCH_EVENT. They + * are otherwise equivalent to those enclosed in EVENT. If + * TOUCH_EVENT is not defined, it will be defined to the empty string. + * + * Event names that are only exposed as IDL attributes on Documents + * should be enclosed in the DOCUMENT_ONLY_EVENT macro. If this macro is + * not defined, it will be defined to the empty string. + * + * Event names that are not exposed as IDL attributes at all should be + * enclosed in NON_IDL_EVENT. If NON_IDL_EVENT is not defined, it + * will be defined to the empty string. + * + * If you change which macros event names are enclosed in, please + * update the tests for bug 689564 and bug 659350 as needed. + */ + +#ifdef MESSAGE_TO_EVENT +# ifdef EVENT +# error "Don't define EVENT" +# endif /* EVENT */ +# ifdef WINDOW_ONLY_EVENT +# error "Don't define WINDOW_ONLY_EVENT" +# endif /* WINDOW_ONLY_EVENT */ +# ifdef TOUCH_EVENT +# error "Don't define TOUCH_EVENT" +# endif /* TOUCH_EVENT */ +# ifdef DOCUMENT_ONLY_EVENT +# error "Don't define DOCUMENT_ONLY_EVENT" +# endif /* DOCUMENT_ONLY_EVENT */ +# ifdef NON_IDL_EVENT +# error "Don't define NON_IDL_EVENT" +# endif /* NON_IDL_EVENT */ + +# define EVENT MESSAGE_TO_EVENT +# define WINDOW_ONLY_EVENT MESSAGE_TO_EVENT +# define TOUCH_EVENT MESSAGE_TO_EVENT +# define DOCUMENT_ONLY_EVENT MESSAGE_TO_EVENT +# define NON_IDL_EVENT MESSAGE_TO_EVENT +#endif /* MESSAGE_TO_EVENT */ + +#ifdef DEFINED_FORWARDED_EVENT +# error "Don't define DEFINED_FORWARDED_EVENT" +#endif /* DEFINED_FORWARDED_EVENT */ + +#ifndef FORWARDED_EVENT +# define FORWARDED_EVENT EVENT +# define DEFINED_FORWARDED_EVENT +#endif /* FORWARDED_EVENT */ + +#ifdef DEFINED_WINDOW_ONLY_EVENT +# error "Don't define DEFINED_WINDOW_ONLY_EVENT" +#endif /* DEFINED_WINDOW_ONLY_EVENT */ + +#ifndef WINDOW_ONLY_EVENT +# define WINDOW_ONLY_EVENT(_name, _message, _type, _struct) +# define DEFINED_WINDOW_ONLY_EVENT +#endif /* WINDOW_ONLY_EVENT */ + +#ifdef DEFINED_WINDOW_EVENT +# error "Don't define DEFINED_WINDOW_EVENT" +#endif /* DEFINED_WINDOW_EVENT */ + +#ifndef WINDOW_EVENT +# define WINDOW_EVENT WINDOW_ONLY_EVENT +# define DEFINED_WINDOW_EVENT +#endif /* WINDOW_EVENT */ + +#ifdef DEFINED_TOUCH_EVENT +# error "Don't define DEFINED_TOUCH_EVENT" +#endif /* DEFINED_TOUCH_EVENT */ + +#ifndef TOUCH_EVENT +# define TOUCH_EVENT(_name, _message, _type, _struct) +# define DEFINED_TOUCH_EVENT +#endif /* TOUCH_EVENT */ + +#ifdef DEFINED_DOCUMENT_ONLY_EVENT +# error "Don't define DEFINED_DOCUMENT_ONLY_EVENT" +#endif /* DEFINED_DOCUMENT_ONLY_EVENT */ + +#ifndef DOCUMENT_ONLY_EVENT +# define DOCUMENT_ONLY_EVENT(_name, _message, _type, _struct) +# define DEFINED_DOCUMENT_ONLY_EVENT +#endif /* DOCUMENT_ONLY_EVENT */ + +#ifdef DEFINED_NON_IDL_EVENT +# error "Don't define DEFINED_NON_IDL_EVENT" +#endif /* DEFINED_NON_IDL_EVENT */ + +#ifndef NON_IDL_EVENT +# define NON_IDL_EVENT(_name, _message, _type, _struct) +# define DEFINED_NON_IDL_EVENT +#endif /* NON_IDL_EVENT */ + +#ifdef DEFINED_ERROR_EVENT +# error "Don't define DEFINED_ERROR_EVENT" +#endif /* DEFINED_ERROR_EVENT */ + +#ifndef ERROR_EVENT +# define ERROR_EVENT FORWARDED_EVENT +# define DEFINED_ERROR_EVENT +#endif /* ERROR_EVENT */ + +#ifdef DEFINED_BEFOREUNLOAD_EVENT +# error "Don't define DEFINED_BEFOREUNLOAD_EVENT" +#endif /* DEFINED_BEFOREUNLOAD_EVENT */ + +#ifndef BEFOREUNLOAD_EVENT +# define BEFOREUNLOAD_EVENT WINDOW_EVENT +# define DEFINED_BEFOREUNLOAD_EVENT +#endif /* BEFOREUNLOAD_EVENT */ + +EVENT(abort, eImageAbort, EventNameType_All, eBasicEventClass) +EVENT(bounce, eMarqueeBounce, EventNameType_HTMLMarqueeOnly, eBasicEventClass) +EVENT(canplay, eCanPlay, EventNameType_HTML, eBasicEventClass) +EVENT(canplaythrough, eCanPlayThrough, EventNameType_HTML, eBasicEventClass) +EVENT(change, eFormChange, EventNameType_HTMLXUL, eBasicEventClass) +EVENT(CheckboxStateChange, eFormCheckboxStateChange, EventNameType_None, + eBasicEventClass) +EVENT(RadioStateChange, eFormRadioStateChange, EventNameType_None, + eBasicEventClass) +EVENT(auxclick, eMouseAuxClick, EventNameType_All, eMouseEventClass) +EVENT(click, eMouseClick, EventNameType_All, eMouseEventClass) +EVENT(close, eClose, EventNameType_HTMLXUL, eBasicEventClass) +EVENT(contextmenu, eContextMenu, EventNameType_HTMLXUL, eMouseEventClass) +NON_IDL_EVENT(mouselongtap, eMouseLongTap, EventNameType_HTMLXUL, + eMouseEventClass) +EVENT(cuechange, eCueChange, EventNameType_All, eBasicEventClass) +EVENT(dblclick, eMouseDoubleClick, EventNameType_HTMLXUL, eMouseEventClass) +EVENT(drag, eDrag, EventNameType_HTMLXUL, eDragEventClass) +EVENT(dragend, eDragEnd, EventNameType_HTMLXUL, eDragEventClass) +EVENT(dragenter, eDragEnter, EventNameType_HTMLXUL, eDragEventClass) +EVENT(dragexit, eDragExit, EventNameType_HTMLXUL, eDragEventClass) +EVENT(dragleave, eDragLeave, EventNameType_HTMLXUL, eDragEventClass) +EVENT(dragover, eDragOver, EventNameType_HTMLXUL, eDragEventClass) +EVENT(dragstart, eDragStart, EventNameType_HTMLXUL, eDragEventClass) +EVENT(drop, eDrop, EventNameType_HTMLXUL, eDragEventClass) +EVENT(durationchange, eDurationChange, EventNameType_HTML, eBasicEventClass) +EVENT(emptied, eEmptied, EventNameType_HTML, eBasicEventClass) +EVENT(ended, eEnded, EventNameType_HTML, eBasicEventClass) +EVENT(finish, eMarqueeFinish, EventNameType_HTMLMarqueeOnly, eBasicEventClass) +EVENT(formdata, eFormData, EventNameType_HTML, eBasicEventClass) +EVENT(fullscreenchange, eFullscreenChange, EventNameType_HTML, eBasicEventClass) +EVENT(fullscreenerror, eFullscreenError, EventNameType_HTML, eBasicEventClass) +EVENT(beforeinput, eEditorBeforeInput, EventNameType_HTMLXUL, + eEditorInputEventClass) +EVENT(input, eEditorInput, EventNameType_HTMLXUL, eEditorInputEventClass) +EVENT(invalid, eFormInvalid, EventNameType_HTMLXUL, eBasicEventClass) +EVENT(keydown, eKeyDown, EventNameType_HTMLXUL, eKeyboardEventClass) +EVENT(keypress, eKeyPress, EventNameType_HTMLXUL, eKeyboardEventClass) +EVENT(keyup, eKeyUp, EventNameType_HTMLXUL, eKeyboardEventClass) +NON_IDL_EVENT(mozaccesskeynotfound, eAccessKeyNotFound, EventNameType_None, + eKeyboardEventClass) +EVENT(loadeddata, eLoadedData, EventNameType_HTML, eBasicEventClass) +EVENT(loadedmetadata, eLoadedMetaData, EventNameType_HTML, eBasicEventClass) +EVENT(loadend, eLoadEnd, EventNameType_HTML, eBasicEventClass) +EVENT(loadstart, eLoadStart, EventNameType_HTML, eBasicEventClass) +EVENT(mousedown, eMouseDown, EventNameType_All, eMouseEventClass) +EVENT(mouseenter, eMouseEnter, EventNameType_All, eMouseEventClass) +EVENT(mouseleave, eMouseLeave, EventNameType_All, eMouseEventClass) +EVENT(mousemove, eMouseMove, EventNameType_All, eMouseEventClass) +EVENT(mouseout, eMouseOut, EventNameType_All, eMouseEventClass) +EVENT(mouseover, eMouseOver, EventNameType_All, eMouseEventClass) +EVENT(mouseup, eMouseUp, EventNameType_All, eMouseEventClass) +EVENT(mozfullscreenchange, eMozFullscreenChange, EventNameType_HTML, + eBasicEventClass) +EVENT(mozfullscreenerror, eMozFullscreenError, EventNameType_HTML, + eBasicEventClass) +EVENT(mozpointerlockchange, eMozPointerLockChange, EventNameType_HTML, + eBasicEventClass) +EVENT(mozpointerlockerror, eMozPointerLockError, EventNameType_HTML, + eBasicEventClass) +EVENT(pointerlockchange, ePointerLockChange, EventNameType_HTML, + eBasicEventClass) +EVENT(pointerlockerror, ePointerLockError, EventNameType_HTML, eBasicEventClass) +EVENT(pointerdown, ePointerDown, EventNameType_All, ePointerEventClass) +EVENT(pointermove, ePointerMove, EventNameType_All, ePointerEventClass) +EVENT(pointerup, ePointerUp, EventNameType_All, ePointerEventClass) +EVENT(pointercancel, ePointerCancel, EventNameType_All, ePointerEventClass) +EVENT(pointerover, ePointerOver, EventNameType_All, ePointerEventClass) +EVENT(pointerout, ePointerOut, EventNameType_All, ePointerEventClass) +EVENT(pointerenter, ePointerEnter, EventNameType_All, ePointerEventClass) +EVENT(pointerleave, ePointerLeave, EventNameType_All, ePointerEventClass) +EVENT(gotpointercapture, ePointerGotCapture, EventNameType_All, + ePointerEventClass) +EVENT(lostpointercapture, ePointerLostCapture, EventNameType_All, + ePointerEventClass) +EVENT(selectstart, eSelectStart, EventNameType_HTMLXUL, eBasicEventClass) + +// Not supported yet; probably never because "wheel" is a better idea. +// EVENT(mousewheel) +EVENT(pause, ePause, EventNameType_HTML, eBasicEventClass) +EVENT(play, ePlay, EventNameType_HTML, eBasicEventClass) +EVENT(playing, ePlaying, EventNameType_HTML, eBasicEventClass) +EVENT(progress, eProgress, EventNameType_HTML, eBasicEventClass) +EVENT(ratechange, eRateChange, EventNameType_HTML, eBasicEventClass) +EVENT(reset, eFormReset, EventNameType_HTMLXUL, eBasicEventClass) +EVENT(securitypolicyviolation, eSecurityPolicyViolation, EventNameType_All, + eBasicEventClass) +EVENT(seeked, eSeeked, EventNameType_HTML, eBasicEventClass) +EVENT(seeking, eSeeking, EventNameType_HTML, eBasicEventClass) +EVENT(select, eFormSelect, EventNameType_HTMLXUL, eBasicEventClass) +EVENT(slotchange, eSlotChange, EventNameType_All, eBasicEventClass) +EVENT(stalled, eStalled, EventNameType_HTML, eBasicEventClass) +EVENT(start, eMarqueeStart, EventNameType_HTMLMarqueeOnly, eBasicEventClass) +EVENT(submit, eFormSubmit, EventNameType_HTMLXUL, eBasicEventClass) +EVENT(suspend, eSuspend, EventNameType_HTML, eBasicEventClass) +EVENT(timeupdate, eTimeUpdate, EventNameType_HTML, eBasicEventClass) +EVENT(toggle, eToggle, EventNameType_HTML, eBasicEventClass) +EVENT(volumechange, eVolumeChange, EventNameType_HTML, eBasicEventClass) +EVENT(waiting, eWaiting, EventNameType_HTML, eBasicEventClass) +EVENT(wheel, eWheel, EventNameType_All, eWheelEventClass) +EVENT(copy, eCopy, EventNameType_HTMLXUL | EventNameType_SVGGraphic, + eClipboardEventClass) +EVENT(cut, eCut, EventNameType_HTMLXUL | EventNameType_SVGGraphic, + eClipboardEventClass) +EVENT(paste, ePaste, EventNameType_HTMLXUL | EventNameType_SVGGraphic, + eClipboardEventClass) +// Gecko-specific extensions that apply to elements +EVENT(beforescriptexecute, eBeforeScriptExecute, EventNameType_HTMLXUL, + eBasicEventClass) +EVENT(afterscriptexecute, eAfterScriptExecute, EventNameType_HTMLXUL, + eBasicEventClass) + +FORWARDED_EVENT(blur, eBlur, EventNameType_HTMLXUL, eFocusEventClass) +ERROR_EVENT(error, eLoadError, EventNameType_All, eBasicEventClass) +FORWARDED_EVENT(focus, eFocus, EventNameType_HTMLXUL, eFocusEventClass) +FORWARDED_EVENT(focusin, eFocusIn, EventNameType_HTMLXUL, eFocusEventClass) +FORWARDED_EVENT(focusout, eFocusOut, EventNameType_HTMLXUL, eFocusEventClass) +FORWARDED_EVENT(load, eLoad, EventNameType_All, eBasicEventClass) +FORWARDED_EVENT(resize, eResize, EventNameType_All, eBasicEventClass) +FORWARDED_EVENT(scroll, eScroll, (EventNameType_HTMLXUL | EventNameType_SVGSVG), + eBasicEventClass) +NON_IDL_EVENT(mozvisualresize, eMozVisualResize, EventNameType_None, + eBasicEventClass) +NON_IDL_EVENT(mozvisualscroll, eMozVisualScroll, EventNameType_None, + eBasicEventClass) + +WINDOW_EVENT(afterprint, eAfterPrint, + EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(beforeprint, eBeforePrint, + EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +BEFOREUNLOAD_EVENT(beforeunload, eBeforeUnload, + EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(hashchange, eHashChange, + EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(languagechange, eLanguageChange, + EventNameType_HTMLBodyOrFramesetOnly, eBasicEventClass) +// XXXbz Should the onmessage attribute on <body> really not work? If so, do we +// need a different macro to flag things like that (IDL, but not content +// attributes on body/frameset), or is just using EventNameType_None enough? +WINDOW_EVENT(message, eMessage, EventNameType_None, eBasicEventClass) +WINDOW_EVENT(messageerror, eMessageError, EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(offline, eOffline, + EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(online, eOnline, + EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +#if defined(MOZ_WIDGET_ANDROID) +WINDOW_EVENT(orientationchange, eOrientationChange, + EventNameType_HTMLBodyOrFramesetOnly, eBasicEventClass) +#endif +WINDOW_EVENT(pagehide, ePageHide, EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(pageshow, ePageShow, EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(popstate, ePopState, + EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(rejectionhandled, eRejectionHandled, + EventNameType_HTMLBodyOrFramesetOnly, eBasicEventClass) +WINDOW_EVENT(storage, eStorage, EventNameType_HTMLBodyOrFramesetOnly, + eBasicEventClass) +WINDOW_EVENT(unhandledrejection, eUnhandledRejection, + EventNameType_HTMLBodyOrFramesetOnly, eBasicEventClass) +WINDOW_EVENT(unload, eUnload, + (EventNameType_XUL | EventNameType_SVGSVG | + EventNameType_HTMLBodyOrFramesetOnly), + eBasicEventClass) + +WINDOW_ONLY_EVENT(devicemotion, eDeviceMotion, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(deviceorientation, eDeviceOrientation, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(deviceorientationabsolute, eDeviceOrientationAbsolute, + EventNameType_None, eBasicEventClass) +WINDOW_ONLY_EVENT(userproximity, eUserProximity, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(devicelight, eDeviceLight, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(vrdisplayactivate, eVRDisplayActivate, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(vrdisplaydeactivate, eVRDisplayDeactivate, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(vrdisplayconnect, eVRDisplayConnect, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(vrdisplaydisconnect, eVRDisplayDisconnect, EventNameType_None, + eBasicEventClass) +WINDOW_ONLY_EVENT(vrdisplaypresentchange, eVRDisplayPresentChange, + EventNameType_None, eBasicEventClass) + +TOUCH_EVENT(touchstart, eTouchStart, EventNameType_All, eTouchEventClass) +TOUCH_EVENT(touchend, eTouchEnd, EventNameType_All, eTouchEventClass) +TOUCH_EVENT(touchmove, eTouchMove, EventNameType_All, eTouchEventClass) +TOUCH_EVENT(touchcancel, eTouchCancel, EventNameType_All, eTouchEventClass) + +DOCUMENT_ONLY_EVENT(readystatechange, eReadyStateChange, EventNameType_HTMLXUL, + eBasicEventClass) +EVENT(selectionchange, eSelectionChange, EventNameType_HTMLXUL, + eBasicEventClass) +DOCUMENT_ONLY_EVENT(visibilitychange, eVisibilityChange, EventNameType_HTMLXUL, + eBasicEventClass) + +NON_IDL_EVENT(MozMouseHittest, eMouseHitTest, EventNameType_None, + eMouseEventClass) + +NON_IDL_EVENT(MozMouseExploreByTouch, eMouseExploreByTouch, EventNameType_None, + eMouseEventClass) + +NON_IDL_EVENT(DOMAttrModified, eLegacyAttrModified, EventNameType_HTMLXUL, + eMutationEventClass) +NON_IDL_EVENT(DOMCharacterDataModified, eLegacyCharacterDataModified, + EventNameType_HTMLXUL, eMutationEventClass) +NON_IDL_EVENT(DOMNodeInserted, eLegacyNodeInserted, EventNameType_HTMLXUL, + eMutationEventClass) +NON_IDL_EVENT(DOMNodeRemoved, eLegacyNodeRemoved, EventNameType_HTMLXUL, + eMutationEventClass) +NON_IDL_EVENT(DOMNodeInsertedIntoDocument, eLegacyNodeInsertedIntoDocument, + EventNameType_HTMLXUL, eMutationEventClass) +NON_IDL_EVENT(DOMNodeRemovedFromDocument, eLegacyNodeRemovedFromDocument, + EventNameType_HTMLXUL, eMutationEventClass) +NON_IDL_EVENT(DOMSubtreeModified, eLegacySubtreeModified, EventNameType_HTMLXUL, + eMutationEventClass) + +NON_IDL_EVENT(DOMActivate, eLegacyDOMActivate, EventNameType_HTMLXUL, + eUIEventClass) +NON_IDL_EVENT(DOMFocusIn, eLegacyDOMFocusIn, EventNameType_HTMLXUL, + eUIEventClass) +NON_IDL_EVENT(DOMFocusOut, eLegacyDOMFocusOut, EventNameType_HTMLXUL, + eUIEventClass) + +NON_IDL_EVENT(DOMMouseScroll, eLegacyMouseLineOrPageScroll, + EventNameType_HTMLXUL, eMouseScrollEventClass) +NON_IDL_EVENT(MozMousePixelScroll, eLegacyMousePixelScroll, + EventNameType_HTMLXUL, eMouseScrollEventClass) + +NON_IDL_EVENT(open, eOpen, EventNameType_None, eBasicEventClass) + +NON_IDL_EVENT(dataavailable, eMediaRecorderDataAvailable, EventNameType_None, + eBasicEventClass) + +NON_IDL_EVENT(stop, eMediaRecorderStop, EventNameType_None, eBasicEventClass) + +NON_IDL_EVENT(warning, eMediaRecorderWarning, EventNameType_None, + eBasicEventClass) + +// Events that only have on* attributes on XUL elements + +// "text" event is legacy event for modifying composition string in EditorBase. +// This shouldn't be used by web/xul apps. "compositionupdate" should be +// used instead. +NON_IDL_EVENT(text, eCompositionChange, EventNameType_XUL, + eCompositionEventClass) +NON_IDL_EVENT(compositionstart, eCompositionStart, EventNameType_XUL, + eCompositionEventClass) +NON_IDL_EVENT(compositionupdate, eCompositionUpdate, EventNameType_XUL, + eCompositionEventClass) +NON_IDL_EVENT(compositionend, eCompositionEnd, EventNameType_XUL, + eCompositionEventClass) +NON_IDL_EVENT(command, eXULCommand, EventNameType_XUL, eInputEventClass) +NON_IDL_EVENT(popupshowing, eXULPopupShowing, EventNameType_XUL, + eBasicEventClass) +NON_IDL_EVENT(popupshown, eXULPopupShown, EventNameType_XUL, eBasicEventClass) +NON_IDL_EVENT(popuphiding, eXULPopupHiding, EventNameType_XUL, eBasicEventClass) +NON_IDL_EVENT(popuphidden, eXULPopupHidden, EventNameType_XUL, eBasicEventClass) +NON_IDL_EVENT(broadcast, eXULBroadcast, EventNameType_XUL, eBasicEventClass) +NON_IDL_EVENT(commandupdate, eXULCommandUpdate, EventNameType_XUL, + eBasicEventClass) +NON_IDL_EVENT(overflow, eScrollPortOverflow, EventNameType_XUL, + eBasicEventClass) +NON_IDL_EVENT(underflow, eScrollPortUnderflow, EventNameType_XUL, + eBasicEventClass) +NON_IDL_EVENT(systemstatusbarclick, eXULSystemStatusBarClick, EventNameType_XUL, + eBasicEventClass) + +// Various SVG events +NON_IDL_EVENT(SVGLoad, eSVGLoad, EventNameType_None, eBasicEventClass) +NON_IDL_EVENT(SVGScroll, eSVGScroll, EventNameType_None, eBasicEventClass) + +// Only map the ID to the real event name when MESSAGE_TO_EVENT is defined. +#ifndef MESSAGE_TO_EVENT +EVENT(begin, eSMILBeginEvent, EventNameType_SMIL, eBasicEventClass) +#endif +NON_IDL_EVENT(beginEvent, eSMILBeginEvent, EventNameType_None, + eSMILTimeEventClass) +// Only map the ID to the real event name when MESSAGE_TO_EVENT is defined. +#ifndef MESSAGE_TO_EVENT +EVENT(end, eSMILEndEvent, EventNameType_SMIL, eBasicEventClass) +#endif +NON_IDL_EVENT(endEvent, eSMILEndEvent, EventNameType_None, eSMILTimeEventClass) +// Only map the ID to the real event name when MESSAGE_TO_EVENT is defined. +#ifndef MESSAGE_TO_EVENT +EVENT(repeat, eSMILRepeatEvent, EventNameType_SMIL, eBasicEventClass) +#endif +NON_IDL_EVENT(repeatEvent, eSMILRepeatEvent, EventNameType_None, + eSMILTimeEventClass) + +NON_IDL_EVENT(MozAfterPaint, eAfterPaint, EventNameType_None, eBasicEventClass) + +NON_IDL_EVENT(MozScrolledAreaChanged, eScrolledAreaChanged, EventNameType_None, + eScrollAreaEventClass) + +NON_IDL_EVENT(gamepadbuttondown, eGamepadButtonDown, EventNameType_None, + eBasicEventClass) +NON_IDL_EVENT(gamepadbuttonup, eGamepadButtonUp, EventNameType_None, + eBasicEventClass) +NON_IDL_EVENT(gamepadaxismove, eGamepadAxisMove, EventNameType_None, + eBasicEventClass) +WINDOW_EVENT(gamepadconnected, eGamepadConnected, EventNameType_None, + eBasicEventClass) +WINDOW_EVENT(gamepaddisconnected, eGamepadDisconnected, EventNameType_None, + eBasicEventClass) + +// Simple gesture events +NON_IDL_EVENT(MozSwipeGestureMayStart, eSwipeGestureMayStart, + EventNameType_None, eSimpleGestureEventClass) +NON_IDL_EVENT(MozSwipeGestureStart, eSwipeGestureStart, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozSwipeGestureUpdate, eSwipeGestureUpdate, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozSwipeGestureEnd, eSwipeGestureEnd, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozSwipeGesture, eSwipeGesture, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozMagnifyGestureStart, eMagnifyGestureStart, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozMagnifyGestureUpdate, eMagnifyGestureUpdate, + EventNameType_None, eSimpleGestureEventClass) +NON_IDL_EVENT(MozMagnifyGesture, eMagnifyGesture, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozRotateGestureStart, eRotateGestureStart, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozRotateGestureUpdate, eRotateGestureUpdate, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozRotateGesture, eRotateGesture, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozTapGesture, eTapGesture, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozPressTapGesture, ePressTapGesture, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozEdgeUIStarted, eEdgeUIStarted, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozEdgeUICanceled, eEdgeUICanceled, EventNameType_None, + eSimpleGestureEventClass) +NON_IDL_EVENT(MozEdgeUICompleted, eEdgeUICompleted, EventNameType_None, + eSimpleGestureEventClass) + +// CSS Transition & Animation events: +EVENT(transitionstart, eTransitionStart, EventNameType_All, + eTransitionEventClass) +EVENT(transitionrun, eTransitionRun, EventNameType_All, eTransitionEventClass) +EVENT(transitionend, eTransitionEnd, EventNameType_All, eTransitionEventClass) +EVENT(transitioncancel, eTransitionCancel, EventNameType_All, + eTransitionEventClass) +EVENT(animationstart, eAnimationStart, EventNameType_All, eAnimationEventClass) +EVENT(animationend, eAnimationEnd, EventNameType_All, eAnimationEventClass) +EVENT(animationiteration, eAnimationIteration, EventNameType_All, + eAnimationEventClass) +EVENT(animationcancel, eAnimationCancel, EventNameType_All, + eAnimationEventClass) + +// Webkit-prefixed versions of Transition & Animation events, for web compat: +EVENT(webkitAnimationEnd, eWebkitAnimationEnd, EventNameType_All, + eAnimationEventClass) +EVENT(webkitAnimationIteration, eWebkitAnimationIteration, EventNameType_All, + eAnimationEventClass) +EVENT(webkitAnimationStart, eWebkitAnimationStart, EventNameType_All, + eAnimationEventClass) +EVENT(webkitTransitionEnd, eWebkitTransitionEnd, EventNameType_All, + eTransitionEventClass) +#ifndef MESSAGE_TO_EVENT +// These are only here so that IsEventAttributeName() will return the right +// thing for these events. We could probably remove them if we used +// Element::GetEventNameForAttr on the input to IsEventAttributeName before +// looking it up in the hashtable... +EVENT(webkitanimationend, eUnidentifiedEvent, EventNameType_All, + eAnimationEventClass) +EVENT(webkitanimationiteration, eUnidentifiedEvent, EventNameType_All, + eAnimationEventClass) +EVENT(webkitanimationstart, eUnidentifiedEvent, EventNameType_All, + eAnimationEventClass) +EVENT(webkittransitionend, eUnidentifiedEvent, EventNameType_All, + eTransitionEventClass) +#endif + +NON_IDL_EVENT(audioprocess, eAudioProcess, EventNameType_None, eBasicEventClass) + +NON_IDL_EVENT(complete, eAudioComplete, EventNameType_None, eBasicEventClass) + +EVENT(scrollend, eScrollend, EventNameType_All, eBasicEventClass) + +#ifdef DEFINED_FORWARDED_EVENT +# undef DEFINED_FORWARDED_EVENT +# undef FORWARDED_EVENT +#endif /* DEFINED_FORWARDED_EVENT */ + +#ifdef DEFINED_WINDOW_EVENT +# undef DEFINED_WINDOW_EVENT +# undef WINDOW_EVENT +#endif /* DEFINED_WINDOW_EVENT */ + +#ifdef DEFINED_WINDOW_ONLY_EVENT +# undef DEFINED_WINDOW_ONLY_EVENT +# undef WINDOW_ONLY_EVENT +#endif /* DEFINED_WINDOW_ONLY_EVENT */ + +#ifdef DEFINED_TOUCH_EVENT +# undef DEFINED_TOUCH_EVENT +# undef TOUCH_EVENT +#endif /* DEFINED_TOUCH_EVENT */ + +#ifdef DEFINED_DOCUMENT_ONLY_EVENT +# undef DEFINED_DOCUMENT_ONLY_EVENT +# undef DOCUMENT_ONLY_EVENT +#endif /* DEFINED_DOCUMENT_ONLY_EVENT */ + +#ifdef DEFINED_NON_IDL_EVENT +# undef DEFINED_NON_IDL_EVENT +# undef NON_IDL_EVENT +#endif /* DEFINED_NON_IDL_EVENT */ + +#ifdef DEFINED_ERROR_EVENT +# undef DEFINED_ERROR_EVENT +# undef ERROR_EVENT +#endif /* DEFINED_ERROR_EVENT */ + +#ifdef DEFINED_BEFOREUNLOAD_EVENT +# undef DEFINED_BEFOREUNLOAD_EVENT +# undef BEFOREUNLOAD_EVENT +#endif /* BEFOREUNLOAD_EVENT */ + +#ifdef MESSAGE_TO_EVENT +# undef EVENT +# undef WINDOW_ONLY_EVENT +# undef TOUCH_EVENT +# undef DOCUMENT_ONLY_EVENT +# undef NON_IDL_EVENT +#endif /* MESSAGE_TO_EVENT */ |