Bug 1551412 - Make XUL popup events composed. r=smaug
authorEmilio Cobos Álvarez <emilio@crisal.io>
Thu, 16 May 2019 20:56:45 +0000
changeset 536114 2968b165e90c0c0dd77eebc06d43a3255f1527c3
parent 536113 3f0b0cb94a5879f083dbee48f5db8270d05ae15f
child 536115 c3954692e846bb23528d8838ff736977e0e678f5
push id2082
push userffxbld-merge
push dateMon, 01 Jul 2019 08:34:18 +0000
treeherdermozilla-release@2fb19d0466d2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssmaug
bugs1551412
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1551412 - Make XUL popup events composed. r=smaug The front-end relies on getting the event for nodes in a ShadowRoot. Differential Revision: https://phabricator.services.mozilla.com/D31365
widget/BasicEvents.h
--- a/widget/BasicEvents.h
+++ b/widget/BasicEvents.h
@@ -853,22 +853,24 @@ class WidgetEvent : public WidgetEventTi
         mFlags.mComposed = mMessage == eBlur || mMessage == eFocus ||
                            mMessage == eFocusOut || mMessage == eFocusIn;
         break;
       case eKeyboardEventClass:
         mFlags.mComposed =
             mMessage == eKeyDown || mMessage == eKeyUp || mMessage == eKeyPress;
         break;
       case eMouseEventClass:
-        mFlags.mComposed = mMessage == eMouseClick ||
-                           mMessage == eMouseDoubleClick ||
-                           mMessage == eMouseAuxClick ||
-                           mMessage == eMouseDown || mMessage == eMouseUp ||
-                           mMessage == eMouseOver || mMessage == eMouseOut ||
-                           mMessage == eMouseMove || mMessage == eContextMenu;
+        mFlags.mComposed =
+            mMessage == eMouseClick || mMessage == eMouseDoubleClick ||
+            mMessage == eMouseAuxClick || mMessage == eMouseDown ||
+            mMessage == eMouseUp || mMessage == eMouseOver ||
+            mMessage == eMouseOut || mMessage == eMouseMove ||
+            mMessage == eContextMenu || mMessage == eXULPopupShowing ||
+            mMessage == eXULPopupHiding || mMessage == eXULPopupShown ||
+            mMessage == eXULPopupHidden || mMessage == eXULPopupPositioned;
         break;
       case ePointerEventClass:
         // All pointer events are composed
         mFlags.mComposed =
             mMessage == ePointerDown || mMessage == ePointerMove ||
             mMessage == ePointerUp || mMessage == ePointerCancel ||
             mMessage == ePointerOver || mMessage == ePointerOut ||
             mMessage == ePointerGotCapture || mMessage == ePointerLostCapture;