gecko-dev/dom/events
Olli Pettay ff1b3ed869 Bug 1679204 - Consider to add signal to addEventListener, r=edgar
This passes the tests which are in https://github.com/web-platform-tests/wpt/pull/26472

Because of complications in #include handling, AbortFollower needs to be in a different
header file than AbortSignal, yet AbortSignalImpl needs to be available when AbortFollower is used.
Another option would have been to make DOMEventTargetHelper.h a bit different and uninline some hot methods
there or move them to another file, but that would have been equally bad and Abort* is used way less often.
AbortFollower and AbortSignalImpl are thus just moved to a new header.

Memory management is such that Listener in EventListenerManager owns the possible ListenerSignalFollower
instance which follows the relevant signal. In order to be able remove event listener,
ListenerSignalFollower has many similar fields as Listener.
ListenerSignalFollower can't easily have just a pointer to Listener* since Listener isn't stored as a pointer
in EventListenerManager.
ListenerSignalFollower is cycle collectable so that Listener->ListenerSignalFollower can be traversed/unlinked
and also strong pointers in ListenerSignalFollower itself can be traversed/unlinked.

There is an XXX in the .webidl, since nullability of signal is unclear in the spec pr.
Whether or not it ends up being nullable shouldn't change the actual C++ implementation.

Differential Revision: https://phabricator.services.mozilla.com/D97938
2020-12-14 15:45:15 +00:00
..
android Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
crashtests
emacs Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
mac Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
test Bug 1635914 - Move active flag handling explicitly to BrowsingContext. r=nika 2020-12-11 15:43:19 +00:00
unix Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
win Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
AnimationEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
AnimationEvent.h
AsyncEventDispatcher.cpp Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi 2020-09-23 15:17:15 +00:00
AsyncEventDispatcher.h
BeforeUnloadEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
BeforeUnloadEvent.h
Clipboard.cpp Bug 1670252 - Throw an NotAllowedError for missing user-activation when using clipboard.write. r=annyG 2020-11-30 19:27:26 +00:00
Clipboard.h
ClipboardEvent.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
ClipboardEvent.h
CommandEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
CommandEvent.h
CompositionEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
CompositionEvent.h
ConstructibleEventTarget.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
ConstructibleEventTarget.h
ContentEventHandler.cpp Bug 1678553 - part 13: Make `WidgetQueryContentEvent` use `Maybe` to store some data r=m_kato,geckoview-reviewers 2020-12-02 05:32:19 +00:00
ContentEventHandler.h Bug 1623918 - part 2: Mark `nsINode::GetSelectionRootContent()` and its root callers as `MOZ_CAN_RUN_SCRIPT` as far as possible r=smaug 2020-10-09 02:37:47 +00:00
CustomEvent.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
CustomEvent.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
DOMEventTargetHelper.cpp Bug 1679204 - Consider to add signal to addEventListener, r=edgar 2020-12-14 15:45:15 +00:00
DOMEventTargetHelper.h Bug 1673931 - Hide dependency on EventListenerManager from DOMEventTargetHelper.h. r=smaug 2020-11-23 16:10:04 +00:00
DataTransfer.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
DataTransfer.h Bug 1671641 - Make `dom/events` buildable outside of `unified-build` environment. r=sg 2020-10-21 08:00:18 +00:00
DataTransferItem.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
DataTransferItem.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
DataTransferItemList.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
DataTransferItemList.h
DeviceMotionEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
DeviceMotionEvent.h
DragEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
DragEvent.h
Event.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
Event.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
EventDispatcher.cpp Bug 1677396 - Redirect composition payloads through the refresh driver. r=smaug 2020-11-19 04:02:46 +00:00
EventDispatcher.h
EventListenerManager.cpp Bug 1679204 - Consider to add signal to addEventListener, r=edgar 2020-12-14 15:45:15 +00:00
EventListenerManager.h Bug 1679204 - Consider to add signal to addEventListener, r=edgar 2020-12-14 15:45:15 +00:00
EventListenerService.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
EventListenerService.h
EventNameList.h Bug 1666497 - Don't flush layout from popuppositioned events. r=mconley,Gijs,smaug 2020-10-06 16:28:41 +00:00
EventStateManager.cpp Bug 1659940 - Use mLastOverElement to notify the mouse leaving for an iframe; r=smaug 2020-12-07 14:51:23 +00:00
EventStateManager.h Bug 1680167 - Part 5: MOZ_CAN_RUN_SCRIPT_BOUNDARY in dom/* r=masayuki 2020-12-03 21:34:06 +00:00
EventStates.h Bug 1675349: Replace plugin behavior with a basic fallback r=jmathies,mixedpuppy 2020-11-18 15:55:34 +00:00
EventTarget.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
EventTarget.h Bug 1673931 - Avoid including DebuggerNotificationBinding.h from header files. r=nika 2020-12-10 11:09:32 +00:00
FocusEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
FocusEvent.h
GlobalKeyListener.cpp Bug 1671641 - Make `dom/events` buildable outside of `unified-build` environment. r=sg 2020-10-21 08:00:18 +00:00
GlobalKeyListener.h
IMEContentObserver.cpp Bug 1678553 - part 13: Make `WidgetQueryContentEvent` use `Maybe` to store some data r=m_kato,geckoview-reviewers 2020-12-02 05:32:19 +00:00
IMEContentObserver.h Bug 1623918 - part 2: Mark `nsINode::GetSelectionRootContent()` and its root callers as `MOZ_CAN_RUN_SCRIPT` as far as possible r=smaug 2020-10-09 02:37:47 +00:00
IMEStateManager.cpp Bug 1678844 - Don't call SetInputContext on keyboard event. r=masayuki 2020-12-09 07:02:19 +00:00
IMEStateManager.h Bug 1674044 - Make `IMEStateManager` put off to handle focused browser change while the application becomes activated r=hsivonen 2020-11-20 14:55:31 +00:00
ImageCaptureError.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
ImageCaptureError.h
InputEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
InputEvent.h
InputEventOptions.h Bug 1607131 - Make `beforeinput` event for `MozEditableElement.setUserInput()` not cancelable by default r=smaug 2020-10-20 00:13:43 +00:00
InputTypeList.h
InternalMutationEvent.h
JSEventHandler.cpp
JSEventHandler.h
KeyEventHandler.cpp Bug 1671641 - Make `dom/events` buildable outside of `unified-build` environment. r=sg 2020-10-21 08:00:18 +00:00
KeyEventHandler.h
KeyNameList.h
KeyboardEvent.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
KeyboardEvent.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
MessageEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
MessageEvent.h Bug 1653229 - Remove unnecessary includes for BindingUtils.h. r=jgilbert 2020-07-22 15:12:10 +00:00
MouseEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
MouseEvent.h
MouseScrollEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
MouseScrollEvent.h
MutationEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
MutationEvent.h
NotifyPaintEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
NotifyPaintEvent.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
PaintRequest.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
PaintRequest.h
PendingFullscreenEvent.h
PhysicalKeyCodeNameList.h
PointerEvent.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
PointerEvent.h
PointerEventHandler.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
PointerEventHandler.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
RemoteDragStartData.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
RemoteDragStartData.h Bug 1641270 - Part 8: Make the Drag&Drop to use the correct cookieJarSettings to download the url. r=smaug,dimi 2020-11-11 11:14:05 +00:00
ScrollAreaEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
ScrollAreaEvent.h
ShortcutKeyDefinitionsForBrowserCommon.h
ShortcutKeyDefinitionsForEditorCommon.h
ShortcutKeyDefinitionsForInputCommon.h
ShortcutKeyDefinitionsForTextAreaCommon.h
ShortcutKeys.cpp
ShortcutKeys.h
SimpleGestureEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
SimpleGestureEvent.h
SpeechRecognitionError.cpp Bug 1213512 use UTF8 for MediaMgrError and SpeechRecognitionError message r=jib 2020-11-15 21:59:05 +00:00
SpeechRecognitionError.h Bug 1213512 use UTF8 for MediaMgrError and SpeechRecognitionError message r=jib 2020-11-15 21:59:05 +00:00
StorageEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
StorageEvent.h Bug 1653229 - Remove unnecessary includes for BindingUtils.h. r=jgilbert 2020-07-22 15:12:10 +00:00
TextClause.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
TextClause.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
TextComposition.cpp Bug 1678553 - part 13: Make `WidgetQueryContentEvent` use `Maybe` to store some data r=m_kato,geckoview-reviewers 2020-12-02 05:32:19 +00:00
TextComposition.h Bug 1677684 - part 2: Make `ContentCache` cache character rects in last commit composition string for undoing the commit r=m_kato 2020-11-24 01:31:46 +00:00
Touch.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
Touch.h
TouchEvent.cpp Bug 1606061 - move TouchEventsOverride to BrowsingContext. r=farre,devtools-backward-compat-reviewers 2020-11-10 15:57:30 +00:00
TouchEvent.h
TransitionEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
TransitionEvent.h
UIEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
UIEvent.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
VirtualKeyCodeList.h
WheelEvent.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
WheelEvent.h Bug 1392460 - Add a couple prefs to expose DOM_DELTA_PIXEL rather than DOM_DELTA_LINES to the web. r=masayuki,smaug 2020-11-07 16:12:34 +00:00
WheelHandlingHelper.cpp Bug 1671641 - Make `dom/events` buildable outside of `unified-build` environment. r=sg 2020-10-21 08:00:18 +00:00
WheelHandlingHelper.h Bug 1652017 - Remove unnecessary includes for expensive nsIFrame.h. r=emilio 2020-07-15 13:44:39 +00:00
XULCommandEvent.cpp Bug 1674637 - Use nested namespaces in dom/ r=sg,andi 2020-11-04 17:04:01 +00:00
XULCommandEvent.h
moz.build Bug 1654103: Standardize on Black for Python code in `mozilla-central`. 2020-10-26 18:34:53 +00:00
nsIEventListenerService.idl