diff options
Diffstat (limited to 'widget/EventMessageList.h')
-rw-r--r-- | widget/EventMessageList.h | 457 |
1 files changed, 457 insertions, 0 deletions
diff --git a/widget/EventMessageList.h b/widget/EventMessageList.h new file mode 100644 index 000000000..55fc7375e --- /dev/null +++ b/widget/EventMessageList.h @@ -0,0 +1,457 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 header file lists up all event messages. + * Before including this header file, you should define: + * NS_EVENT_MESSAGE(aMessage) + * + * Additionally, you can specify following macro for e*First and e*Last. + * NS_EVENT_MESSAGE_FIRST_LAST(aMessage, aFirst, aLast) + * This is optional, if you need only actual event messages, you don't need + * to define this macro. + * + * Naming rules of the event messages: + * 0. Starting with "e" prefix and use camelcase. + * 1. Basically, use same name as the DOM name which is fired at dispatching + * the event. + * 2. If the event message name becomes too generic, e.g., "eInvalid", that may + * conflict with another enum's item name, append something after the "e" + * prefix, e.g., "eFormInvalid". + */ + +#ifndef NS_EVENT_MESSAGE_FIRST_LAST +#define UNDEF_NS_EVENT_MESSAGE_FIRST_LAST 1 +#define NS_EVENT_MESSAGE_FIRST_LAST(aMessage, aFirst, aLast) +#endif + +NS_EVENT_MESSAGE(eVoidEvent) + +// This is a dummy event message for all event listener implementation in +// EventListenerManager. +NS_EVENT_MESSAGE(eAllEvents) + +// Widget may be destroyed +NS_EVENT_MESSAGE(eWindowClose) + +NS_EVENT_MESSAGE(eKeyPress) +NS_EVENT_MESSAGE(eKeyUp) +NS_EVENT_MESSAGE(eKeyDown) + +// These messages are dispatched when PluginInstaceChild receives native +// keyboard events directly and it posts the information to the widget. +// These messages shouldn't be handled by content and non-reserved chrome +// event handlers. +NS_EVENT_MESSAGE(eKeyDownOnPlugin) +NS_EVENT_MESSAGE(eKeyUpOnPlugin) + +NS_EVENT_MESSAGE(eBeforeKeyDown) +NS_EVENT_MESSAGE(eAfterKeyDown) +NS_EVENT_MESSAGE(eBeforeKeyUp) +NS_EVENT_MESSAGE(eAfterKeyUp) + +// This message is sent after a content process handles a key event or accesskey +// to indicate that an potential accesskey was not found. The parent process may +// then respond by, for example, opening menus and processing other shortcuts. +// It inherits its properties from a keypress event. +NS_EVENT_MESSAGE(eAccessKeyNotFound) + +NS_EVENT_MESSAGE(eResize) +NS_EVENT_MESSAGE(eScroll) + +// Application installation +NS_EVENT_MESSAGE(eInstall) +NS_EVENT_MESSAGE(eAppInstalled) + +// A plugin was clicked or otherwise focused. ePluginActivate should be +// used when the window is not active. ePluginFocus should be used when +// the window is active. In the latter case, the dispatcher of the event +// is expected to ensure that the plugin's widget is focused beforehand. +NS_EVENT_MESSAGE(ePluginActivate) +NS_EVENT_MESSAGE(ePluginFocus) + +NS_EVENT_MESSAGE(eOffline) +NS_EVENT_MESSAGE(eOnline) + +NS_EVENT_MESSAGE(eLanguageChange) + +NS_EVENT_MESSAGE(eMouseMove) +NS_EVENT_MESSAGE(eMouseUp) +NS_EVENT_MESSAGE(eMouseDown) +NS_EVENT_MESSAGE(eMouseEnterIntoWidget) +NS_EVENT_MESSAGE(eMouseExitFromWidget) +NS_EVENT_MESSAGE(eMouseDoubleClick) +NS_EVENT_MESSAGE(eMouseClick) +// eMouseActivate is fired when the widget is activated by a click. +NS_EVENT_MESSAGE(eMouseActivate) +NS_EVENT_MESSAGE(eMouseOver) +NS_EVENT_MESSAGE(eMouseOut) +NS_EVENT_MESSAGE(eMouseHitTest) +NS_EVENT_MESSAGE(eMouseEnter) +NS_EVENT_MESSAGE(eMouseLeave) +NS_EVENT_MESSAGE(eMouseTouchDrag) +NS_EVENT_MESSAGE(eMouseLongTap) +NS_EVENT_MESSAGE_FIRST_LAST(eMouseEvent, eMouseMove, eMouseLongTap) + +// Pointer spec events +NS_EVENT_MESSAGE(ePointerMove) +NS_EVENT_MESSAGE(ePointerUp) +NS_EVENT_MESSAGE(ePointerDown) +NS_EVENT_MESSAGE(ePointerOver) +NS_EVENT_MESSAGE(ePointerOut) +NS_EVENT_MESSAGE(ePointerEnter) +NS_EVENT_MESSAGE(ePointerLeave) +NS_EVENT_MESSAGE(ePointerCancel) +NS_EVENT_MESSAGE(ePointerGotCapture) +NS_EVENT_MESSAGE(ePointerLostCapture) +NS_EVENT_MESSAGE_FIRST_LAST(ePointerEvent, ePointerMove, ePointerLostCapture) + +NS_EVENT_MESSAGE(eContextMenu) + +NS_EVENT_MESSAGE(eLoad) +NS_EVENT_MESSAGE(eUnload) +NS_EVENT_MESSAGE(eHashChange) +NS_EVENT_MESSAGE(eImageAbort) +NS_EVENT_MESSAGE(eLoadError) +NS_EVENT_MESSAGE(eLoadEnd) +NS_EVENT_MESSAGE(ePopState) +NS_EVENT_MESSAGE(eStorage) +NS_EVENT_MESSAGE(eBeforeUnload) +NS_EVENT_MESSAGE(eReadyStateChange) + +NS_EVENT_MESSAGE(eFormSubmit) +NS_EVENT_MESSAGE(eFormReset) +NS_EVENT_MESSAGE(eFormChange) +NS_EVENT_MESSAGE(eFormSelect) +NS_EVENT_MESSAGE(eFormInvalid) + +//Need separate focus/blur notifications for non-native widgets +NS_EVENT_MESSAGE(eFocus) +NS_EVENT_MESSAGE(eBlur) +NS_EVENT_MESSAGE(eFocusIn) +NS_EVENT_MESSAGE(eFocusOut) + +NS_EVENT_MESSAGE(eDragEnter) +NS_EVENT_MESSAGE(eDragOver) +NS_EVENT_MESSAGE(eDragExit) +NS_EVENT_MESSAGE(eDrag) +NS_EVENT_MESSAGE(eDragEnd) +NS_EVENT_MESSAGE(eDragStart) +NS_EVENT_MESSAGE(eDrop) +NS_EVENT_MESSAGE(eDragLeave) +NS_EVENT_MESSAGE_FIRST_LAST(eDragDropEvent, eDragEnter, eDragLeave) + +// XUL specific events +NS_EVENT_MESSAGE(eXULPopupShowing) +NS_EVENT_MESSAGE(eXULPopupShown) +NS_EVENT_MESSAGE(eXULPopupPositioned) +NS_EVENT_MESSAGE(eXULPopupHiding) +NS_EVENT_MESSAGE(eXULPopupHidden) +NS_EVENT_MESSAGE(eXULBroadcast) +NS_EVENT_MESSAGE(eXULCommandUpdate) + +// Legacy mouse scroll (wheel) events +NS_EVENT_MESSAGE(eLegacyMouseLineOrPageScroll) +NS_EVENT_MESSAGE(eLegacyMousePixelScroll) + +NS_EVENT_MESSAGE(eScrollPortUnderflow) +NS_EVENT_MESSAGE(eScrollPortOverflow) + +NS_EVENT_MESSAGE(eLegacySubtreeModified) +NS_EVENT_MESSAGE(eLegacyNodeInserted) +NS_EVENT_MESSAGE(eLegacyNodeRemoved) +NS_EVENT_MESSAGE(eLegacyNodeRemovedFromDocument) +NS_EVENT_MESSAGE(eLegacyNodeInsertedIntoDocument) +NS_EVENT_MESSAGE(eLegacyAttrModified) +NS_EVENT_MESSAGE(eLegacyCharacterDataModified) +NS_EVENT_MESSAGE_FIRST_LAST(eLegacyMutationEvent, + eLegacySubtreeModified, eLegacyCharacterDataModified) + +NS_EVENT_MESSAGE(eUnidentifiedEvent) + +// composition events +NS_EVENT_MESSAGE(eCompositionStart) +// eCompositionEnd is the message for DOM compositionend event. +// This event should NOT be dispatched from widget if eCompositionCommit +// is available. +NS_EVENT_MESSAGE(eCompositionEnd) +// eCompositionUpdate is the message for DOM compositionupdate event. +// This event should NOT be dispatched from widget since it will be dispatched +// by mozilla::TextComposition automatically if eCompositionChange event +// will change composition string. +NS_EVENT_MESSAGE(eCompositionUpdate) +// eCompositionChange is the message for representing a change of +// composition string. This should be dispatched from widget even if +// composition string isn't changed but the ranges are changed. This causes +// a DOM "text" event which is a non-standard DOM event. +NS_EVENT_MESSAGE(eCompositionChange) +// eCompositionCommitAsIs is the message for representing a commit of +// composition string. TextComposition will commit composition with the +// last data. TextComposition will dispatch this event to the DOM tree as +// eCompositionChange without clause information. After that, +// eCompositionEnd will be dispatched automatically. +// Its mData and mRanges should be empty and nullptr. +NS_EVENT_MESSAGE(eCompositionCommitAsIs) +// eCompositionCommit is the message for representing a commit of +// composition string with its mData value. TextComposition will dispatch this +// event to the DOM tree as eCompositionChange without clause information. +// After that, eCompositionEnd will be dispatched automatically. +// Its mRanges should be nullptr. +NS_EVENT_MESSAGE(eCompositionCommit) + +// Following events are defined for deprecated DOM events which are using +// InternalUIEvent class. +// DOMActivate (mapped with the DOM event and used internally) +NS_EVENT_MESSAGE(eLegacyDOMActivate) +// DOMFocusIn (only mapped with the DOM event) +NS_EVENT_MESSAGE(eLegacyDOMFocusIn) +// DOMFocusOut (only mapped with the DOM event) +NS_EVENT_MESSAGE(eLegacyDOMFocusOut) + +// pagetransition events +NS_EVENT_MESSAGE(ePageShow) +NS_EVENT_MESSAGE(ePageHide) + +// SVG events +NS_EVENT_MESSAGE(eSVGLoad) +NS_EVENT_MESSAGE(eSVGUnload) +NS_EVENT_MESSAGE(eSVGResize) +NS_EVENT_MESSAGE(eSVGScroll) + +// SVG Zoom events +NS_EVENT_MESSAGE(eSVGZoom) + +// XUL command events +NS_EVENT_MESSAGE(eXULCommand) + +// Cut, copy, paste events +NS_EVENT_MESSAGE(eCopy) +NS_EVENT_MESSAGE(eCut) +NS_EVENT_MESSAGE(ePaste) + +// Query for the selected text information, it return the selection offset, +// selection length and selected text. +NS_EVENT_MESSAGE(eQuerySelectedText) +// Query for the text content of specified range, it returns actual lengh (if +// the specified range is too long) and the text of the specified range. +// Returns the entire text if requested length > actual length. +NS_EVENT_MESSAGE(eQueryTextContent) +// Query for the caret rect of nth insertion point. The offset of the result is +// relative position from the top level widget. +NS_EVENT_MESSAGE(eQueryCaretRect) +// Query for the bounding rect of a range of characters. This works on any +// valid character range given offset and length. Result is relative to top +// level widget coordinates +NS_EVENT_MESSAGE(eQueryTextRect) +// Query for the bounding rect array of a range of characters. +// Thiis similar event of eQueryTextRect. +NS_EVENT_MESSAGE(eQueryTextRectArray) +// Query for the bounding rect of the current focused frame. Result is relative +// to top level widget coordinates +NS_EVENT_MESSAGE(eQueryEditorRect) +// Query for the current state of the content. The particular members of +// mReply that are set for each query content event will be valid on success. +NS_EVENT_MESSAGE(eQueryContentState) +// Query for the selection in the form of a nsITransferable. +NS_EVENT_MESSAGE(eQuerySelectionAsTransferable) +// Query for character at a point. This returns the character offset, its +// rect and also tentative caret point if the point is clicked. The point is +// specified by Event::mRefPoint. +NS_EVENT_MESSAGE(eQueryCharacterAtPoint) +// Query if the DOM element under Event::mRefPoint belongs to our widget +// or not. +NS_EVENT_MESSAGE(eQueryDOMWidgetHittest) + +// Video events +NS_EVENT_MESSAGE(eLoadStart) +NS_EVENT_MESSAGE(eProgress) +NS_EVENT_MESSAGE(eSuspend) +NS_EVENT_MESSAGE(eEmptied) +NS_EVENT_MESSAGE(eStalled) +NS_EVENT_MESSAGE(ePlay) +NS_EVENT_MESSAGE(ePause) +NS_EVENT_MESSAGE(eLoadedMetaData) +NS_EVENT_MESSAGE(eLoadedData) +NS_EVENT_MESSAGE(eWaiting) +NS_EVENT_MESSAGE(ePlaying) +NS_EVENT_MESSAGE(eCanPlay) +NS_EVENT_MESSAGE(eCanPlayThrough) +NS_EVENT_MESSAGE(eSeeking) +NS_EVENT_MESSAGE(eSeeked) +NS_EVENT_MESSAGE(eTimeUpdate) +NS_EVENT_MESSAGE(eEnded) +NS_EVENT_MESSAGE(eRateChange) +NS_EVENT_MESSAGE(eDurationChange) +NS_EVENT_MESSAGE(eVolumeChange) + +// paint notification events +NS_EVENT_MESSAGE(eAfterPaint) + +// Simple gesture events +NS_EVENT_MESSAGE(eSwipeGestureMayStart) +NS_EVENT_MESSAGE(eSwipeGestureStart) +NS_EVENT_MESSAGE(eSwipeGestureUpdate) +NS_EVENT_MESSAGE(eSwipeGestureEnd) +NS_EVENT_MESSAGE(eSwipeGesture) +NS_EVENT_MESSAGE(eMagnifyGestureStart) +NS_EVENT_MESSAGE(eMagnifyGestureUpdate) +NS_EVENT_MESSAGE(eMagnifyGesture) +NS_EVENT_MESSAGE(eRotateGestureStart) +NS_EVENT_MESSAGE(eRotateGestureUpdate) +NS_EVENT_MESSAGE(eRotateGesture) +NS_EVENT_MESSAGE(eTapGesture) +NS_EVENT_MESSAGE(ePressTapGesture) +NS_EVENT_MESSAGE(eEdgeUIStarted) +NS_EVENT_MESSAGE(eEdgeUICanceled) +NS_EVENT_MESSAGE(eEdgeUICompleted) + +// These are used to send native events to plugins. +NS_EVENT_MESSAGE(ePluginInputEvent) + +// Events to manipulate selection (WidgetSelectionEvent) +// Clear any previous selection and set the given range as the selection +NS_EVENT_MESSAGE(eSetSelection) + +// Events of commands for the contents +NS_EVENT_MESSAGE(eContentCommandCut) +NS_EVENT_MESSAGE(eContentCommandCopy) +NS_EVENT_MESSAGE(eContentCommandPaste) +NS_EVENT_MESSAGE(eContentCommandDelete) +NS_EVENT_MESSAGE(eContentCommandUndo) +NS_EVENT_MESSAGE(eContentCommandRedo) +NS_EVENT_MESSAGE(eContentCommandPasteTransferable) +NS_EVENT_MESSAGE(eContentCommandLookUpDictionary) +// eContentCommandScroll scrolls the nearest scrollable element to the +// currently focused content or latest DOM selection. This would normally be +// the same element scrolled by keyboard scroll commands, except that this event +// will scroll an element scrollable in either direction. I.e., if the nearest +// scrollable ancestor element can only be scrolled vertically, and horizontal +// scrolling is requested using this event, no scrolling will occur. +NS_EVENT_MESSAGE(eContentCommandScroll) + +// Event to gesture notification +NS_EVENT_MESSAGE(eGestureNotify) + +NS_EVENT_MESSAGE(eScrolledAreaChanged) + +// CSS Transition & Animation events: +NS_EVENT_MESSAGE(eTransitionStart) +NS_EVENT_MESSAGE(eTransitionRun) +NS_EVENT_MESSAGE(eTransitionEnd) +NS_EVENT_MESSAGE(eAnimationStart) +NS_EVENT_MESSAGE(eAnimationEnd) +NS_EVENT_MESSAGE(eAnimationIteration) + +// Webkit-prefixed versions of Transition & Animation events, for web compat: +NS_EVENT_MESSAGE(eWebkitTransitionEnd) +NS_EVENT_MESSAGE(eWebkitAnimationStart) +NS_EVENT_MESSAGE(eWebkitAnimationEnd) +NS_EVENT_MESSAGE(eWebkitAnimationIteration) + +NS_EVENT_MESSAGE(eSMILBeginEvent) +NS_EVENT_MESSAGE(eSMILEndEvent) +NS_EVENT_MESSAGE(eSMILRepeatEvent) + +NS_EVENT_MESSAGE(eAudioProcess) +NS_EVENT_MESSAGE(eAudioComplete) + +// script notification events +NS_EVENT_MESSAGE(eBeforeScriptExecute) +NS_EVENT_MESSAGE(eAfterScriptExecute) + +NS_EVENT_MESSAGE(eBeforePrint) +NS_EVENT_MESSAGE(eAfterPrint) + +NS_EVENT_MESSAGE(eMessage) + +// Menu open event +NS_EVENT_MESSAGE(eOpen) + +// Device motion and orientation +NS_EVENT_MESSAGE(eDeviceOrientation) +NS_EVENT_MESSAGE(eAbsoluteDeviceOrientation) +NS_EVENT_MESSAGE(eDeviceMotion) +NS_EVENT_MESSAGE(eDeviceProximity) +NS_EVENT_MESSAGE(eUserProximity) +NS_EVENT_MESSAGE(eDeviceLight) +#if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK) +NS_EVENT_MESSAGE(eOrientationChange) +#endif + +// WebVR events +NS_EVENT_MESSAGE(eVRDisplayConnect) +NS_EVENT_MESSAGE(eVRDisplayDisconnect) +NS_EVENT_MESSAGE(eVRDisplayPresentChange) + +NS_EVENT_MESSAGE(eShow) + +// Fullscreen DOM API +NS_EVENT_MESSAGE(eFullscreenChange) +NS_EVENT_MESSAGE(eFullscreenError) +NS_EVENT_MESSAGE(eMozFullscreenChange) +NS_EVENT_MESSAGE(eMozFullscreenError) + +NS_EVENT_MESSAGE(eTouchStart) +NS_EVENT_MESSAGE(eTouchMove) +NS_EVENT_MESSAGE(eTouchEnd) +NS_EVENT_MESSAGE(eTouchCancel) + +// Pointerlock DOM API +NS_EVENT_MESSAGE(ePointerLockChange) +NS_EVENT_MESSAGE(ePointerLockError) +NS_EVENT_MESSAGE(eMozPointerLockChange) +NS_EVENT_MESSAGE(eMozPointerLockError) + +// eWheel is the event message of DOM wheel event. +NS_EVENT_MESSAGE(eWheel) +// eWheelOperationStart may be dispatched when user starts to operate mouse +// wheel. This won't be fired on some platforms which don't have corresponding +// native event. +NS_EVENT_MESSAGE(eWheelOperationStart) +// eWheelOperationEnd may be dispatched when user ends or cancels operating +// mouse wheel. This won't be fired on some platforms which don't have +// corresponding native event. +NS_EVENT_MESSAGE(eWheelOperationEnd) + +//System time is changed +NS_EVENT_MESSAGE(eTimeChange) + +// Network packet events. +NS_EVENT_MESSAGE(eNetworkUpload) +NS_EVENT_MESSAGE(eNetworkDownload) + +// MediaRecorder events. +NS_EVENT_MESSAGE(eMediaRecorderDataAvailable) +NS_EVENT_MESSAGE(eMediaRecorderWarning) +NS_EVENT_MESSAGE(eMediaRecorderStop) + +// SpeakerManager events +NS_EVENT_MESSAGE(eSpeakerForcedChange) + +#ifdef MOZ_GAMEPAD +// Gamepad input events +NS_EVENT_MESSAGE(eGamepadButtonDown) +NS_EVENT_MESSAGE(eGamepadButtonUp) +NS_EVENT_MESSAGE(eGamepadAxisMove) +NS_EVENT_MESSAGE(eGamepadConnected) +NS_EVENT_MESSAGE(eGamepadDisconnected) +NS_EVENT_MESSAGE_FIRST_LAST(eGamepadEvent, + eGamepadButtonDown, eGamepadDisconnected) +#endif + +// input and beforeinput events. +NS_EVENT_MESSAGE(eEditorInput) + +// selection events +NS_EVENT_MESSAGE(eSelectStart) +NS_EVENT_MESSAGE(eSelectionChange) + +// Details element events. +NS_EVENT_MESSAGE(eToggle) + +#ifdef UNDEF_NS_EVENT_MESSAGE_FIRST_LAST +#undef UNDEF_NS_EVENT_MESSAGE_FIRST_LAST +#undef NS_EVENT_MESSAGE_FIRST_LAST +#endif |