Title: [247024] trunk
Revision
247024
Author
tsav...@apple.com
Date
2019-07-01 14:25:57 -0700 (Mon, 01 Jul 2019)

Log Message

Unreviewed, rolling out r246844.

Broke 12 tests in imported/w3c/web-platform-
tests/pointerevents/

Reverted changeset:

"[Pointer Events] Respect pointer capture when dispatching
mouse boundary events and updating :hover"
https://bugs.webkit.org/show_bug.cgi?id=198999
https://trac.webkit.org/changeset/246844

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (247023 => 247024)


--- trunk/LayoutTests/ChangeLog	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/LayoutTests/ChangeLog	2019-07-01 21:25:57 UTC (rev 247024)
@@ -1,5 +1,19 @@
 2019-07-01  Truitt Savell  <tsav...@apple.com>
 
+        Unreviewed, rolling out r246844.
+
+        Broke 12 tests in imported/w3c/web-platform-
+        tests/pointerevents/
+
+        Reverted changeset:
+
+        "[Pointer Events] Respect pointer capture when dispatching
+        mouse boundary events and updating :hover"
+        https://bugs.webkit.org/show_bug.cgi?id=198999
+        https://trac.webkit.org/changeset/246844
+
+2019-07-01  Truitt Savell  <tsav...@apple.com>
+
         Unreviewed, rolling out r246958.
 
         Broke inspector/dom/getAccessibilityPropertiesForNode.html

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (247023 => 247024)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2019-07-01 21:25:57 UTC (rev 247024)
@@ -1,3 +1,17 @@
+2019-07-01  Truitt Savell  <tsav...@apple.com>
+
+        Unreviewed, rolling out r246844.
+
+        Broke 12 tests in imported/w3c/web-platform-
+        tests/pointerevents/
+
+        Reverted changeset:
+
+        "[Pointer Events] Respect pointer capture when dispatching
+        mouse boundary events and updating :hover"
+        https://bugs.webkit.org/show_bug.cgi?id=198999
+        https://trac.webkit.org/changeset/246844
+
 2019-06-26  Antoine Quint  <grao...@apple.com>
 
         [Pointer Events] Respect pointer capture when dispatching mouse boundary events and updating :hover

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers-expected.txt (247023 => 247024)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers-expected.txt	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers-expected.txt	2019-07-01 21:25:57 UTC (rev 247024)
@@ -1,8 +1,10 @@
 Pointer Event: Boundary event sequence at implicit capture release
 
+Follow the test instructions with mouse. If you don't have the device skip it.
+
 When a captured pointer is implicitly released after a click, the boundary events should follow the lostpointercapture event.
 
 Click on the black box with mouse and do not move the mouse after or during the click.
 
-PASS mouse Event sequence at implicit release on click 
+FAIL mouse Event sequence at implicit release on click assert_equals: expected "pointerout@target, pointerleave@target, pointerover@capture-target, pointerenter@capture-target, gotpointercapture@capture-target, pointerup@capture-target, lostpointercapture@capture-target, pointerout@capture-target, pointerleave@capture-target, pointerover@target, pointerenter@target" but got "gotpointercapture@capture-target, pointerup@capture-target, lostpointercapture@capture-target"
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_capture_change_hover-expected.txt (247023 => 247024)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_capture_change_hover-expected.txt	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_capture_change_hover-expected.txt	2019-07-01 21:25:57 UTC (rev 247024)
@@ -1,5 +1,5 @@
 
-PASS Mouse down and capture to green. 
-PASS Mouse down at green and capture to blue. 
-PASS Mouse down and capture to green, move to blue and release capture 
+FAIL Mouse down and capture to green. assert_array_equals: Received events: green received pointerover,green received pointerenter,green received pointermove,green received pointerdown,green received gotpointercapture,green received pointermove,green received pointerout,green received pointerleave,green received pointerover,green received pointerenter,green received pointermove lengths differ, expected 7 got 11
+FAIL Mouse down at green and capture to blue. assert_array_equals: Received events: green received pointerout,green received pointerover,green received pointerenter,green received pointermove,green received pointermove,green received pointermove,green received pointermove lengths differ, expected 11 got 7
+FAIL Mouse down and capture to green, move to blue and release capture assert_array_equals: Received events: green received pointerout,green received pointerover,green received pointerenter,green received pointermove,green received lostpointercapture,green received pointermove,green received pointerout,green received pointerleave,blue received pointerover,blue received pointerenter,blue received pointermove,blue received pointermove property 0, expected "green received pointerover" but got "green received pointerout"
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-expected.txt (247023 => 247024)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-expected.txt	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-expected.txt	2019-07-01 21:25:57 UTC (rev 247024)
@@ -16,11 +16,14 @@
 
 The following pointer types were detected: mouse.
 
-The following events were logged: pointerover@target1, pointerover@target0, gotpointercapture@target0, lostpointercapture@target0.
+The following events were logged: pointerover@target1, gotpointercapture@target0, pointerover@target0, pointerover@target0, lostpointercapture@target0.
 
 Refresh the page to run the tests again with a different pointer type.
 
 
+Harness Error (FAIL), message = 1 duplicate test name: "relatedTarget should not be null even when the capture is set."
+
 PASS pointerover shouldn't trigger for the purple rectangle while the black rectangle has capture 
 PASS relatedTarget should not be null even when the capture is set. 
+PASS relatedTarget should not be null even when the capture is set. 
 

Modified: trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers-expected.txt (247023 => 247024)


--- trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers-expected.txt	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers-expected.txt	2019-07-01 21:25:57 UTC (rev 247024)
@@ -6,5 +6,5 @@
 
 Click on the black box with mouse and do not move the mouse after or during the click.
 
-FAIL mouse Event sequence at implicit release on click assert_equals: expected "pointerout@target, pointerleave@target, pointerover@capture-target, pointerenter@capture-target, gotpointercapture@capture-target, pointerup@capture-target, lostpointercapture@capture-target, pointerout@capture-target, pointerleave@capture-target, pointerover@target, pointerenter@target" but got "pointerout@target, pointerleave@target, pointerover@capture-target, pointerenter@capture-target, gotpointercapture@capture-target, pointerup@capture-target, lostpointercapture@capture-target, pointerout@capture-target, pointerleave@capture-target, pointerover@target, pointerenter@target, pointermove@target"
+FAIL mouse Event sequence at implicit release on click assert_equals: expected "pointerout@target, pointerleave@target, pointerover@capture-target, pointerenter@capture-target, gotpointercapture@capture-target, pointerup@capture-target, lostpointercapture@capture-target, pointerout@capture-target, pointerleave@capture-target, pointerover@target, pointerenter@target" but got "gotpointercapture@capture-target, pointerup@capture-target, lostpointercapture@capture-target, pointermove@target"
 

Modified: trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-expected.txt (247023 => 247024)


--- trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-expected.txt	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-expected.txt	2019-07-01 21:25:57 UTC (rev 247024)
@@ -16,11 +16,14 @@
 
 The following pointer types were detected: mouse.
 
-The following events were logged: pointerover@target1, pointerover@target0, gotpointercapture@target0, lostpointercapture@target0, pointerover@target0.
+The following events were logged: pointerover@target1, gotpointercapture@target0, pointerover@target0, pointerover@target0, lostpointercapture@target0, pointerover@target0.
 
 Refresh the page to run the tests again with a different pointer type.
 
 
+Harness Error (FAIL), message = 1 duplicate test name: "relatedTarget should not be null even when the capture is set."
+
 PASS pointerover shouldn't trigger for the purple rectangle while the black rectangle has capture 
 PASS relatedTarget should not be null even when the capture is set. 
+PASS relatedTarget should not be null even when the capture is set. 
 

Modified: trunk/Source/WebCore/ChangeLog (247023 => 247024)


--- trunk/Source/WebCore/ChangeLog	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/ChangeLog	2019-07-01 21:25:57 UTC (rev 247024)
@@ -1,5 +1,19 @@
 2019-07-01  Truitt Savell  <tsav...@apple.com>
 
+        Unreviewed, rolling out r246844.
+
+        Broke 12 tests in imported/w3c/web-platform-
+        tests/pointerevents/
+
+        Reverted changeset:
+
+        "[Pointer Events] Respect pointer capture when dispatching
+        mouse boundary events and updating :hover"
+        https://bugs.webkit.org/show_bug.cgi?id=198999
+        https://trac.webkit.org/changeset/246844
+
+2019-07-01  Truitt Savell  <tsav...@apple.com>
+
         Unreviewed, rolling out r246849.
 
         12 tests broken in r246844 require this to be rolled out.

Modified: trunk/Source/WebCore/dom/Document.cpp (247023 => 247024)


--- trunk/Source/WebCore/dom/Document.cpp	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/dom/Document.cpp	2019-07-01 21:25:57 UTC (rev 247024)
@@ -320,10 +320,6 @@
 #include "GPUCanvasContext.h"
 #endif
 
-#if ENABLE(POINTER_EVENTS)
-#include "PointerCaptureController.h"
-#endif
-
 namespace WebCore {
 
 WTF_MAKE_ISO_ALLOCATED_IMPL(Document);
@@ -3736,29 +3732,8 @@
     HitTestResult result(documentPoint);
     hitTest(request, result);
 
-    auto captureElementChanged = CaptureChange::No;
-    if (!request.readOnly()) {
-        auto targetElement = makeRefPtr(result.targetElement());
-#if ENABLE(POINTER_EVENTS)
-        if (auto* page = this->page()) {
-            // Before we dispatch a new mouse event, we must run the Process Pending Capture Element steps as defined
-            // in https://w3c.github.io/pointerevents/#process-pending-pointer-capture.
-            auto& pointerCaptureController = page->pointerCaptureController();
-            auto* previousCaptureElement = pointerCaptureController.pointerCaptureElement(this, event.pointerId());
-            pointerCaptureController.processPendingPointerCapture(event.pointerId());
-            auto* captureElement = pointerCaptureController.pointerCaptureElement(this, event.pointerId());
-            // If the capture element has changed while running the Process Pending Capture Element steps then
-            // we need to indicate that when calling updateHoverActiveState to be sure that the :active and :hover
-            // element chains are updated.
-            if (previousCaptureElement != captureElement)
-                captureElementChanged = CaptureChange::Yes;
-            // If we have a capture element, we must target it instead of what would normally hit-test for this event.
-            if (captureElement)
-                targetElement = captureElement;
-        }
-#endif
-        updateHoverActiveState(request, targetElement.get(), captureElementChanged);
-    }
+    if (!request.readOnly())
+        updateHoverActiveState(request, result.targetElement());
 
     return MouseEventWithHitTestResults(event, result);
 }
@@ -6765,7 +6740,7 @@
     return nullptr;
 }
 
-void Document::updateHoverActiveState(const HitTestRequest& request, Element* innerElement, CaptureChange captureElementChanged)
+void Document::updateHoverActiveState(const HitTestRequest& request, Element* innerElement)
 {
     ASSERT(!request.readOnly());
 
@@ -6804,8 +6779,8 @@
 
     // If the mouse is down and if this is a mouse move event, we want to restrict changes in
     // :hover/:active to only apply to elements that are in the :active chain that we froze
-    // at the time the mouse went down, unless the capture element changed.
-    bool mustBeInActiveChain = request.active() && request.move() && captureElementChanged == CaptureChange::No;
+    // at the time the mouse went down.
+    bool mustBeInActiveChain = request.active() && request.move();
 
     RefPtr<Element> oldHoveredElement = WTFMove(m_hoveredElement);
 

Modified: trunk/Source/WebCore/dom/Document.h (247023 => 247024)


--- trunk/Source/WebCore/dom/Document.h	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/dom/Document.h	2019-07-01 21:25:57 UTC (rev 247024)
@@ -760,8 +760,7 @@
     void hoveredElementDidDetach(Element&);
     void elementInActiveChainDidDetach(Element&);
 
-    enum class CaptureChange : uint8_t { Yes, No };
-    void updateHoverActiveState(const HitTestRequest&, Element*, CaptureChange = CaptureChange::No);
+    void updateHoverActiveState(const HitTestRequest&, Element*);
 
     // Updates for :target (CSS3 selector).
     void setCSSTarget(Element*);

Modified: trunk/Source/WebCore/dom/PointerEvent.h (247023 => 247024)


--- trunk/Source/WebCore/dom/PointerEvent.h	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/dom/PointerEvent.h	2019-07-01 21:25:57 UTC (rev 247024)
@@ -61,13 +61,13 @@
         return adoptRef(*new PointerEvent(type, WTFMove(initializer)));
     }
 
-    static Ref<PointerEvent> createForPointerCapture(const AtomString& type, PointerID pointerId, bool isPrimary, String pointerType)
+    static Ref<PointerEvent> createForPointerCapture(const AtomString& type, const PointerEvent& pointerEvent)
     {
         Init initializer;
         initializer.bubbles = true;
-        initializer.pointerId = pointerId;
-        initializer.isPrimary = isPrimary;
-        initializer.pointerType = pointerType;
+        initializer.pointerId = pointerEvent.pointerId();
+        initializer.isPrimary = pointerEvent.isPrimary();
+        initializer.pointerType = pointerEvent.pointerType();
         return adoptRef(*new PointerEvent(type, WTFMove(initializer)));
     }
 

Modified: trunk/Source/WebCore/page/EventHandler.cpp (247023 => 247024)


--- trunk/Source/WebCore/page/EventHandler.cpp	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2019-07-01 21:25:57 UTC (rev 247024)
@@ -127,10 +127,6 @@
 #include "PointerLockController.h"
 #endif
 
-#if ENABLE(POINTER_EVENTS)
-#include "RuntimeEnabledFeatures.h"
-#endif
-
 namespace WebCore {
 
 using namespace HTMLNames;
@@ -2486,24 +2482,8 @@
     m_eventHandlerWillResetCapturingMouseEventsElement = false;
 }
 
-#if ENABLE(POINTER_EVENTS)
-void EventHandler::pointerCaptureElementDidChange(Element* element)
-{
-    if (m_capturingMouseEventsElement == element)
-        return;
-
-    setCapturingMouseEventsElement(element);
-
-    // Now that we have a new capture element, we need to dispatch boundary mouse events.
-    updateMouseEventTargetNode(element, m_lastPlatformMouseEvent, FireMouseOverOut::Yes);
-}
-#endif
-
 MouseEventWithHitTestResults EventHandler::prepareMouseEvent(const HitTestRequest& request, const PlatformMouseEvent& mouseEvent)
 {
-#if ENABLE(POINTER_EVENTS)
-    m_lastPlatformMouseEvent = mouseEvent;
-#endif
     Ref<Frame> protectedFrame(m_frame);
     ASSERT(m_frame.document());
     return m_frame.document()->prepareMouseEvent(request, documentPointForWindowPoint(m_frame, mouseEvent.position()), mouseEvent);

Modified: trunk/Source/WebCore/page/EventHandler.h (247023 => 247024)


--- trunk/Source/WebCore/page/EventHandler.h	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/page/EventHandler.h	2019-07-01 21:25:57 UTC (rev 247024)
@@ -158,9 +158,6 @@
     Node* mousePressNode() const { return m_mousePressNode.get(); }
 
     WEBCORE_EXPORT void setCapturingMouseEventsElement(Element*);
-#if ENABLE(POINTER_EVENTS)
-    void pointerCaptureElementDidChange(Element*);
-#endif
 
 #if ENABLE(DRAG_SUPPORT)
     struct DragTargetResponse {
@@ -595,9 +592,6 @@
     IntPoint m_mouseDownPos; // In our view's coords.
     WallTime m_mouseDownTimestamp;
     PlatformMouseEvent m_mouseDown;
-#if ENABLE(POINTER_EVENTS)
-    PlatformMouseEvent m_lastPlatformMouseEvent;
-#endif
 
 #if PLATFORM(COCOA)
     NSView *m_mouseDownView { nullptr };

Modified: trunk/Source/WebCore/page/PointerCaptureController.cpp (247023 => 247024)


--- trunk/Source/WebCore/page/PointerCaptureController.cpp	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/page/PointerCaptureController.cpp	2019-07-01 21:25:57 UTC (rev 247024)
@@ -48,17 +48,6 @@
     reset();
 }
 
-Element* PointerCaptureController::pointerCaptureElement(Document* document, PointerID pointerId)
-{
-    auto iterator = m_activePointerIdsToCapturingData.find(pointerId);
-    if (iterator != m_activePointerIdsToCapturingData.end()) {
-        auto pointerCaptureElement = iterator->value.targetOverride;
-        if (pointerCaptureElement && &pointerCaptureElement->document() == document)
-            return pointerCaptureElement.get();
-    }
-    return nullptr;
-}
-
 ExceptionOr<void> PointerCaptureController::setPointerCapture(Element* capturingTarget, PointerID pointerId)
 {
     // https://w3c.github.io/pointerevents/#setting-pointer-capture
@@ -282,10 +271,16 @@
 
     // https://w3c.github.io/pointerevents/#firing-events-using-the-pointerevent-interface
     // If the event is not gotpointercapture or lostpointercapture, run Process Pending Pointer Capture steps for this PointerEvent.
-    // We only need to do this for non-mouse type since for mouse events this method will be called in Document::prepareMouseEvent().
-    if (event.pointerType() != PointerEvent::mousePointerType())
-        processPendingPointerCapture(event.pointerId());
+    processPendingPointerCapture(event);
 
+    // If the pointer capture target override has been set for the pointer, set the target to pointer capture target override object.
+    auto iterator = m_activePointerIdsToCapturingData.find(event.pointerId());
+    if (iterator != m_activePointerIdsToCapturingData.end()) {
+        auto& capturingData = iterator->value;
+        if (capturingData.targetOverride)
+            target = capturingData.targetOverride.get();
+    }
+
     pointerEventWillBeDispatched(event, target);
     target->dispatchEvent(event);
     pointerEventWasDispatched(event);
@@ -345,7 +340,7 @@
         // https://w3c.github.io/pointerevents/#implicit-release-of-pointer-capture
         if (event.type() == eventNames().pointerupEvent) {
             capturingData.pendingTargetOverride = nullptr;
-            processPendingPointerCapture(event.pointerId());
+            processPendingPointerCapture(event);
         }
 
         // If a mouse pointer has moved while it isn't pressed, make sure we reset the preventsCompatibilityMouseEvents flag since
@@ -404,17 +399,14 @@
     target->dispatchEvent(cancelEvent);
     target->dispatchEvent(PointerEvent::create(eventNames().pointeroutEvent, pointerId, capturingData.pointerType, isPrimary));
     target->dispatchEvent(PointerEvent::create(eventNames().pointerleaveEvent, pointerId, capturingData.pointerType, isPrimary));
-    processPendingPointerCapture(pointerId);
+    processPendingPointerCapture(WTFMove(cancelEvent));
 }
 
-void PointerCaptureController::processPendingPointerCapture(PointerID pointerId)
+void PointerCaptureController::processPendingPointerCapture(const PointerEvent& event)
 {
-    if (m_processingPendingPointerCapture)
-        return;
+    // https://w3c.github.io/pointerevents/#process-pending-pointer-capture
 
-    m_processingPendingPointerCapture = true;
-
-    auto iterator = m_activePointerIdsToCapturingData.find(pointerId);
+    auto iterator = m_activePointerIdsToCapturingData.find(event.pointerId());
     if (iterator == m_activePointerIdsToCapturingData.end())
         return;
 
@@ -423,32 +415,19 @@
     // Cache the pending target override since it could be modified during the dispatch of events in this function.
     auto pendingTargetOverride = capturingData.pendingTargetOverride;
 
-    // https://w3c.github.io/pointerevents/#process-pending-pointer-capture
     // 1. If the pointer capture target override for this pointer is set and is not equal to the pending pointer capture target override,
     // then fire a pointer event named lostpointercapture at the pointer capture target override node.
-    if (capturingData.targetOverride && capturingData.targetOverride->isConnected() && capturingData.targetOverride != pendingTargetOverride) {
-        capturingData.targetOverride->dispatchEvent(PointerEvent::createForPointerCapture(eventNames().lostpointercaptureEvent, pointerId, capturingData.isPrimary, capturingData.pointerType));
-        if (capturingData.pointerType == PointerEvent::mousePointerType()) {
-            if (auto* frame = capturingData.targetOverride->document().frame())
-                frame->eventHandler().pointerCaptureElementDidChange(nullptr);
-        }
-    }
+    if (capturingData.targetOverride && capturingData.targetOverride->isConnected() && capturingData.targetOverride != pendingTargetOverride)
+        capturingData.targetOverride->dispatchEvent(PointerEvent::createForPointerCapture(eventNames().lostpointercaptureEvent, event));
 
     // 2. If the pending pointer capture target override for this pointer is set and is not equal to the pointer capture target override,
     // then fire a pointer event named gotpointercapture at the pending pointer capture target override.
-    if (capturingData.pendingTargetOverride && capturingData.targetOverride != pendingTargetOverride) {
-        if (capturingData.pointerType == PointerEvent::mousePointerType()) {
-            if (auto* frame = pendingTargetOverride->document().frame())
-                frame->eventHandler().pointerCaptureElementDidChange(pendingTargetOverride.get());
-        }
-        pendingTargetOverride->dispatchEvent(PointerEvent::createForPointerCapture(eventNames().gotpointercaptureEvent, pointerId, capturingData.isPrimary, capturingData.pointerType));
-    }
+    if (capturingData.pendingTargetOverride && capturingData.targetOverride != pendingTargetOverride)
+        pendingTargetOverride->dispatchEvent(PointerEvent::createForPointerCapture(eventNames().gotpointercaptureEvent, event));
 
     // 3. Set the pointer capture target override to the pending pointer capture target override, if set. Otherwise, clear the pointer
     // capture target override.
     capturingData.targetOverride = pendingTargetOverride;
-
-    m_processingPendingPointerCapture = false;
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/page/PointerCaptureController.h (247023 => 247024)


--- trunk/Source/WebCore/page/PointerCaptureController.h	2019-07-01 21:23:44 UTC (rev 247023)
+++ trunk/Source/WebCore/page/PointerCaptureController.h	2019-07-01 21:25:57 UTC (rev 247024)
@@ -41,7 +41,6 @@
 public:
     explicit PointerCaptureController(Page&);
 
-    Element* pointerCaptureElement(Document*, PointerID);
     ExceptionOr<void> setPointerCapture(Element*, PointerID);
     ExceptionOr<void> releasePointerCapture(Element*, PointerID);
     bool hasPointerCapture(Element*, PointerID);
@@ -61,7 +60,6 @@
     bool preventsCompatibilityMouseEventsForIdentifier(PointerID);
     void dispatchEvent(PointerEvent&, EventTarget*);
     WEBCORE_EXPORT void cancelPointer(PointerID, const IntPoint&);
-    void processPendingPointerCapture(PointerID);
 
 private:
     struct CapturingData {
@@ -77,6 +75,7 @@
 
     void pointerEventWillBeDispatched(const PointerEvent&, EventTarget*);
     void pointerEventWasDispatched(const PointerEvent&);
+    void processPendingPointerCapture(const PointerEvent&);
 
     Page& m_page;
     // While PointerID is defined as int32_t, we use int64_t here so that we may use a value outside of the int32_t range to have safe
@@ -83,7 +82,6 @@
     // empty and removed values, allowing any int32_t to be provided through the API for lookup in this hashmap.
     using PointerIdToCapturingDataMap = HashMap<int64_t, CapturingData, WTF::IntHash<int64_t>, WTF::SignedWithZeroKeyHashTraits<int64_t>>;
     PointerIdToCapturingDataMap m_activePointerIdsToCapturingData;
-    bool m_processingPendingPointerCapture;
 };
 
 } // namespace WebCore
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to