WebKit Bugzilla
Attachment 372685 Details for
Bug 198999
: [Pointer Events] Respect pointer capture when dispatching mouse boundary events and updating :hover
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198999-20190622220740.patch (text/plain), 2.87 KB, created by
Antoine Quint
on 2019-06-22 13:07:41 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Antoine Quint
Created:
2019-06-22 13:07:41 PDT
Size:
2.87 KB
patch
obsolete
>Subversion Revision: 246709 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 80896f8e9f86f52bb683773c1f23577bb9458c6b..000af8284811f772bd7c87d1f868a1680a509e62 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,16 @@ >+2019-06-22 Antoine Quint <graouts@apple.com> >+ >+ [Pointer Events] Respect pointer capture when dispatching mouse boundary events and updating :hover >+ https://bugs.webkit.org/show_bug.cgi?id=198999 >+ <rdar://problem/52005663> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ We should only set the mouse events capturing element in EventHandler if we're dealing with mouse-originated Pointer Events. >+ >+ * page/PointerCaptureController.cpp: >+ (WebCore::PointerCaptureController::processPendingPointerCapture): >+ > 2019-06-21 Sihui Liu <sihui_liu@apple.com> > > openDatabase should return an empty object when WebSQL is disabled >diff --git a/Source/WebCore/page/PointerCaptureController.cpp b/Source/WebCore/page/PointerCaptureController.cpp >index 6467213c9ebfe1526b38334e972540914a388472..40537c4a699afbaa8f2c444e08d7bd5b7b523639 100644 >--- a/Source/WebCore/page/PointerCaptureController.cpp >+++ b/Source/WebCore/page/PointerCaptureController.cpp >@@ -421,14 +421,16 @@ void PointerCaptureController::processPendingPointerCapture(const PointerEvent& > // 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 != capturingData.pendingTargetOverride) { >- m_page.mainFrame().eventHandler().setCapturingMouseEventsElement(nullptr); >+ if (event.pointerType() == PointerEvent::mousePointerType()) >+ m_page.mainFrame().eventHandler().setCapturingMouseEventsElement(nullptr); > 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 != capturingData.pendingTargetOverride) { >- m_page.mainFrame().eventHandler().setCapturingMouseEventsElement(capturingData.pendingTargetOverride.get()); >+ if (event.pointerType() == PointerEvent::mousePointerType()) >+ m_page.mainFrame().eventHandler().setCapturingMouseEventsElement(capturingData.pendingTargetOverride.get()); > capturingData.pendingTargetOverride->dispatchEvent(PointerEvent::createForPointerCapture(eventNames().gotpointercaptureEvent, event)); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198999
:
372461
|
372463
|
372468
|
372472
|
372481
|
372551
|
372685
|
372695
|
372919
|
372923
|
372924
|
372931
|
372955