Name Description Size Coverage
AnimationEvent.cpp 2106 100 %
AnimationEvent.h 1444 100 %
AsyncEventDispatcher.cpp mozilla::AsyncEventDispatcher **************************************************************************** 5500 92 %
AsyncEventDispatcher.h Use AsyncEventDispatcher to fire a DOM event that requires safe a stable DOM. For example, you may need to fire an event from within layout, but want to ensure that the event handler doesn't mutate the DOM at the wrong time, in order to avoid resulting instability. 8682 100 %
BeforeUnloadEvent.cpp 811 100 %
BeforeUnloadEvent.h 1359 100 %
Clipboard.cpp This is a base class for ClipboardGetCallbackForRead and ClipboardGetCallbackForReadText. 27524 83 %
Clipboard.h 2636 100 %
ClipboardEvent.cpp 3156 84 %
ClipboardEvent.h 1508 100 %
ClipboardItem.cpp 12114 84 %
ClipboardItem.h IsExclusive = 4502 83 %
CommandEvent.cpp 3272 87 %
CommandEvent.h 1645 100 %
CompositionEvent.cpp 3652 83 %
CompositionEvent.h 1806 100 %
ConstructibleEventTarget.cpp 523 100 %
ConstructibleEventTarget.h 995 100 %
ContentEventHandler.cpp / /* ContentEventHandler::SimpleRangeBase 135504 74 %
ContentEventHandler.h Query Content Event Handler ContentEventHandler is a helper class for EventStateManager. The platforms request some content informations, e.g., the selected text, the offset of the selected text and the text for specified range. This class answers to NS_QUERY_* events from actual contents. 28278 99 %
crashtests -
CustomEvent.cpp 2954 100 %
CustomEvent.h 1542 100 %
DataTransfer.cpp 61750 89 %
DataTransfer.h See <https://html.spec.whatwg.org/multipage/dnd.html#datatransfer>. 23117 98 %
DataTransferItem.cpp static 18955 72 %
DataTransferItem.h mozilla_dom_DataTransferItem_h 4457 100 %
DataTransferItemList.cpp 21537 90 %
DataTransferItemList.h 5229 100 %
DeviceMotionEvent.cpp DeviceMotionEvent *************************************************************************** 5446 100 %
DeviceMotionEvent.h 4369 100 %
DOMEventTargetHelper.cpp 7986 98 %
DOMEventTargetHelper.h 5303 83 %
DragEvent.cpp 3620 96 %
DragEvent.h 2648 100 %
Event.cpp A derived class might want to allocate its own type of aEvent (derived from WidgetEvent). To do this, it should take care to pass a non-nullptr aEvent to this ctor, e.g.: FooEvent::FooEvent(..., WidgetEvent* aEvent) : Event(..., aEvent ? aEvent : new WidgetEvent()) Then, to override the mEventIsInternal assignments done by the base ctor, it should do this in its own ctor: FooEvent::FooEvent(..., WidgetEvent* aEvent) ... { ... if (aEvent) { mEventIsInternal = false; } else { mEventIsInternal = true; } ... } 31116 91 %
Event.h 18826 83 %
EventDispatcher.cpp 63213 97 %
EventDispatcher.h About event dispatching: When either EventDispatcher::Dispatch or EventDispatcher::DispatchDOMEvent is called an event target chain is created. EventDispatcher creates the chain by calling GetEventTargetParent on each event target and the creation continues until either the mCanHandle member of the EventChainPreVisitor object is false or the mParentTarget does not point to a new target. The event target chain is created in the heap. If the event needs retargeting, mEventTargetAtParent must be set in GetEventTargetParent. The capture, target and bubble phases of the event dispatch are handled by iterating through the event target chain. Iteration happens twice, first for the default event group and then for the system event group. While dispatching the event for the system event group PostHandleEvent is called right after calling event listener for the current event target. 13295 100 %
EventListenerManager.cpp 80797 96 %
EventListenerManager.h 27515 100 %
EventListenerService.cpp mozilla::EventListenerChange **************************************************************************** 10127 97 %
EventListenerService.h 3281 75 %
EventNameList.inc 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. 27096 94 %
EventStateManager.cpp 301882 89 %
EventStateManager.h Called when EventStateManager::PreHandleEvent() receives an event which should be treated as the deadline to restore the last "over" event target as the next "out" event target and for avoiding to dispatch redundant "over" event on the same target again when it was removed but reconnected. If the last "over" event target was reconnected under the last deepest "enter" event target, this restores the last "over" event target. Otherwise, makes the instance forget the last "over" target because the user maybe has seen that the last "over" target is completely removed from the tree. @param aEvent The event which the caller received. If this is set to nullptr or not a mouse event, this forgets the pending last "over" event target. 62127 85 %
EventTarget.cpp static 8701 73 %
EventTarget.h This method allows addition of event listeners represented by nsIDOMEventListener, with almost the same semantics as the standard AddEventListener. The one difference is that it just has a "use capture" boolean, not an EventListenerOptions. 20180 83 %
FocusEvent.cpp 2166 100 %
FocusEvent.h 1572 100 %
GlobalKeyListener.cpp 27637 93 %
GlobalKeyListener.h A generic listener for key events. Maintains a list of shortcut handlers and is registered as a listener for DOM key events from a target. Responsible for executing the appropriate handler when a keyboard event is received. 6584 100 %
ImageCaptureError.cpp 1364 71 %
ImageCaptureError.h This is the implementation of ImageCaptureError on W3C specification https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/ImageCapture.html#idl-def-ImageCaptureError. This object should be generated by ImageCapture object only. 1467 100 %
IMEContentObserver.cpp mozilla::IMEContentObserver **************************************************************************** 119063 81 %
IMEContentObserver.h OnSelectionChange() is called when selection is changed in the editor. 37093 94 %
IMEStateManager.cpp When a method is called, log its arguments and/or related static variables with LogLevel::Info. However, if it puts too many logs like OnDestroyPresContext(), should long only when the method actually does something. In this case, the log should start with "<method name>". When a method quits due to unexpected situation, log the reason with LogLevel::Error. In this case, the log should start with "<method name>(), FAILED". The indent makes the log look easier. When a method does something only in some situations and it may be important for debug, log the information with LogLevel::Debug. In this case, the log should start with " <method name>(),". 110634 85 %
IMEStateManager.h IMEStateManager manages InputContext (e.g., active editor type, IME enabled state and IME open state) of nsIWidget instances, manages IMEContentObserver and provides useful API for IME. 23085 92 %
InputEvent.cpp 4511 99 %
InputEvent.h 1902 100 %
InputEventOptions.h InputEventOptions is used by nsContentUtils::DispatchInputEvent() to specify some attributes of InputEvent. It would be nice if this was in nsContentUtils.h, however, it needs to include StaticRange.h for declaring this. That would cause unnecessary dependency and makes incremental build slower when you touch StaticRange.h even though most nsContentUtils.h users don't use it. Therefore, this struct is declared in separated header file here. 2842 100 %
InputTypeList.inc This header file defines all inputType values which are used for DOM InputEvent.inputType. You must define NS_DEFINE_INPUTTYPE macro before including this. It must have two arguments, (aCPPName, aDOMName) aCPPName is usable name for a part of C++ constants. aDOMName is the actual value declared by the specs: Level 1: https://rawgit.com/w3c/input-events/v1/index.html#interface-InputEvent-Attributes Level 2: https://w3c.github.io/input-events/index.html#interface-InputEvent-Attributes 3786 -
JSEventHandler.cpp 7450 99 %
JSEventHandler.h Implemented by script event listeners. Used to retrieve the script object corresponding to the event target and the handler itself. Note, mTarget is a raw pointer and the owner of the JSEventHandler object is expected to call Disconnect()! 6222 100 %
KeyboardEvent.cpp 14277 84 %
KeyboardEvent.h ComputeTraditionalKeyCode() computes traditional keyCode value. I.e., returns 0 if this event should return non-zero from CharCode(). In spite of the name containing "traditional", this computes spoof keyCode value if user wants it. @param aKeyboardEvent Should be |*mEvent->AsKeyboardEvent()|. @param aCallerType Set caller type of KeyCode() or CharCode(). @return If traditional charCode value is 0, returns the raw keyCode value or spoof keyCode value. Otherwise, 0. 4842 100 %
KeyEventHandler.cpp 20908 79 %
KeyEventHandler.h Try and convert this XBL handler into an APZ KeyboardShortcut for handling key events on the compositor thread. This only works for XBL handlers that represent scroll commands. @param aOut the converted KeyboardShortcut, must be non null @return whether the handler was converted into a KeyboardShortcut 5738 100 %
KeyNameList.inc This header file defines all DOM key name which are used for DOM KeyboardEvent.key. You must define NS_DEFINE_KEYNAME macro before including this. It must have two arguments, (aCPPName, aDOMKeyName) aCPPName is usable name for a part of C++ constants. aDOMKeyName is the actual value. 18423 -
MessageEvent.cpp static 5463 97 %
MessageEvent.h Implements the MessageEvent event, used for cross-document messaging and server-sent events. See http://www.whatwg.org/specs/web-apps/current-work/#messageevent for further details. 3336 100 %
MouseEvent.cpp 19504 94 %
MouseEvent.h Return screenX and screenY values for this event in CSS pixels. If current setting allows to expose fractional coordinates for the event, this returns the fractional values as-is. Otherwise, this returns integer values with rounding the computed values. Note that if this event is untrusted one and should not expose fractional values, the initialized values are floored before computing the values as defined by Pointer Events spec. 9214 100 %
MouseScrollEvent.cpp 2399 59 %
MouseScrollEvent.h 2535 40 %
moz.build 4439 -
NavigateEvent.cpp static 17332 88 %
NavigateEvent.h 5224 100 %
NotifyPaintEvent.cpp 3994 56 %
NotifyPaintEvent.h 2329 100 %
nsIEventListenerService.idl Contains an event target along with a count of event listener changes affecting accessibility. 3119 -
PaintRequest.cpp mozilla::dom::PaintRequest *************************************************************************** 2039 0 %
PaintRequest.h 2169 0 %
PendingFullscreenEvent.h Class for dispatching a fullscreen event. It should be queued and invoked as part of "run the fullscreen steps" algorithm. 1980 79 %
PhysicalKeyCodeNameList.inc This header file defines all DOM code name which are used for DOM KeyboardEvent.code. You must define NS_DEFINE_PHYSICAL_KEY_CODE_NAME macro before including this. It must have two arguments, (aCPPName, aDOMCodeName) aCPPName is usable name for a part of C++ constants. aDOMCodeName is the actual value. 11128 -
PointerEvent.cpp 19698 90 %
PointerEvent.h 4066 67 %
PointerEventHandler.cpp static 62567 92 %
PointerEventHandler.h PointerInfo stores the pointer's information and its last state (position, buttons, etc). 28327 95 %
RemoteDragStartData.cpp aHidden = 3124 82 %
RemoteDragStartData.h This class is used to hold information about a drag when a drag begins in a content process. 2567 70 %
ScrollAreaEvent.cpp 2807 36 %
ScrollAreaEvent.h 1893 100 %
ShortcutKeyDefinitions.cpp This file defines shortcut keys for <input>, <textarea>, page navigation and HTML editor. You must write each mapping in one line and append inline comment on which platform it's mapped since this style helps you to look for the definition with searchfox, etc. Be aware, the commands defined in this file may not work because editor or other keyboard event listeners may handle before. Note: When you change key mappings, you need to change `test/gtest/TestShortcutKeyDefinitions.cpp` too. The latest version of the original files are: Windows: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/win/ShortcutKeyDefinitions.cpp macOS: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/mac/ShortcutKeyDefinitions.cpp Linux: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/unix/ShortcutKeyDefinitions.cpp Android: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/android/ShortcutKeyDefinitions.cpp Emacs: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/emacs/ShortcutKeyDefinitions.cpp And common definitions except macOS: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/ShortcutKeyDefinitionsForInputCommon.h https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/ShortcutKeyDefinitionsForTextAreaCommon.h https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/ShortcutKeyDefinitionsForEditorCommon.h And common definitions for page navigation on all platforms: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/dom/events/ShortcutKeyDefinitionsForBrowserCommon.h If you don't see shortcut key definitions here, but you see shortcut keys work on Linux or macOS, it probably comes from NativeKeyBindings under widget. 50947 -
ShortcutKeys.cpp static 3282 94 %
ShortcutKeys.h 1794 100 %
SimpleGestureEvent.cpp 3080 100 %
SimpleGestureEvent.h 2762 100 %
SpeechRecognitionError.cpp 1624 33 %
SpeechRecognitionError.h 1693 100 %
StorageEvent.cpp 2954 98 %
StorageEvent.h 2391 100 %
test 0 %
TextClause.cpp 1388 0 %
TextClause.h 1476 0 %
TextComposition.cpp TextComposition **************************************************************************** 41141 85 %
TextComposition.h TextComposition represents a text composition. This class stores the composition event target and its presContext. At dispatching the event via this class, the instances use the stored event target. 24764 84 %
TextEvent.cpp 2340 88 %
TextEvent.h 1361 100 %
ToggleEvent.cpp 2097 100 %
ToggleEvent.h 1664 80 %
Touch.cpp 7456 91 %
Touch.h 3391 100 %
TouchEvent.cpp TouchList *************************************************************************** 12333 96 %
TouchEvent.h 4028 100 %
TransitionEvent.cpp 2176 100 %
TransitionEvent.h 1469 100 %
UIEvent.cpp 10240 81 %
UIEvent.h GetRangeParent() should be used only by JS. C++ callers should use GetRangeParentContent() or GetRangeParentContentAndOffset() instead. 3711 95 %
VirtualKeyCodeList.inc This header file defines all DOM keys which are defined in KeyboardEvent. You must define NS_DEFINE_VK macro before including this. It must have two arguments, (aDOMKeyName, aDOMKeyCode) aDOMKeyName is a key name in DOM. aDOMKeyCode is one of mozilla::dom::KeyboardEvent_Binding::DOM_VK_*. Optionally, you can define NS_DISALLOW_SAME_KEYCODE. If NS_DISALLOW_SAME_KEYCODE is defined, same keyCode won't listed up. This is useful when you create switch-case statement. 6728 -
WheelEvent.cpp 7166 98 %
WheelEvent.h 3672 100 %
WheelHandlingHelper.cpp / /* mozilla::DeltaValues 31273 68 %
WheelHandlingHelper.h DeltaValues stores two delta values which are along X and Y axis. This is useful for arguments and results of some methods. 17621 96 %
XULCommandEvent.cpp 2380 97 %
XULCommandEvent.h 2033 100 %