haikuwebkit/LayoutTests/pointerevents/ios/pointer-events-implicit-cap...

4 lines
114 B
Plaintext
Raw Permalink Normal View History

Implement capture for Pointer Events on iOS https://bugs.webkit.org/show_bug.cgi?id=193917 <rdar://problem/47605689> Reviewed by Dean Jackson. Source/WebCore: We add a new PointerCaptureController object which gets notified upon dispatch of pointer events to implement implicit pointer capture, dispatch the gotpointercapture and lostpointercaptiure events, and implement the Element APIs for pointer capture: hasPointerCapture(), setPointerCapture() and releasePointerCapture(). Tests: pointerevents/ios/pointer-events-implicit-capture-has-pointer-capture-in-pointer-down.html pointerevents/ios/pointer-events-implicit-capture-release-exception.html pointerevents/ios/pointer-events-implicit-capture-release.html pointerevents/ios/pointer-events-implicit-capture.html pointerevents/ios/pointer-events-set-pointer-capture-exceptions.html * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * dom/Element.cpp: (WebCore::Element::setPointerCapture): (WebCore::Element::releasePointerCapture): (WebCore::Element::hasPointerCapture): * dom/Element.h: * dom/Element.idl: * dom/EventNames.h: * dom/PointerEvent.h: * page/Page.cpp: (WebCore::Page::Page): * page/Page.h: (WebCore::Page::pointerCaptureController const): * page/PointerCaptureController.cpp: Added. (WebCore::PointerCaptureController::PointerCaptureController): (WebCore::PointerCaptureController::setPointerCapture): (WebCore::PointerCaptureController::releasePointerCapture): (WebCore::PointerCaptureController::hasPointerCapture): (WebCore::PointerCaptureController::pointerLockWasApplied): (WebCore::PointerCaptureController::touchEndedOrWasCancelledForIdentifier): (WebCore::PointerCaptureController::pointerEventWillBeDispatched): (WebCore::PointerCaptureController::pointerEventWasDispatched): (WebCore::PointerCaptureController::processPendingPointerCapture): * page/PointerCaptureController.h: Added. * page/PointerLockController.cpp: (WebCore::PointerLockController::requestPointerLock): * page/PointerLockController.h: LayoutTests: New tests for implicit pointer capture and the Element APIs related to pointer capture. * pointerevents/ios/pointer-events-implicit-capture-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-has-pointer-capture-in-pointer-down-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-has-pointer-capture-in-pointer-down.html: Added. * pointerevents/ios/pointer-events-implicit-capture-release-exception-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-release-exception.html: Added. * pointerevents/ios/pointer-events-implicit-capture-release-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-release.html: Added. * pointerevents/ios/pointer-events-implicit-capture.html: Added. * pointerevents/ios/pointer-events-set-pointer-capture-exceptions-expected.txt: Added. * pointerevents/ios/pointer-events-set-pointer-capture-exceptions.html: Added. Canonical link: https://commits.webkit.org/208432@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-29 03:15:02 +00:00
PASS Calling releasePointerCapture() in the 'pointerdown' event handler makes hasPointerCapture() return false.
Implement capture for Pointer Events on iOS https://bugs.webkit.org/show_bug.cgi?id=193917 <rdar://problem/47605689> Reviewed by Dean Jackson. Source/WebCore: We add a new PointerCaptureController object which gets notified upon dispatch of pointer events to implement implicit pointer capture, dispatch the gotpointercapture and lostpointercaptiure events, and implement the Element APIs for pointer capture: hasPointerCapture(), setPointerCapture() and releasePointerCapture(). Tests: pointerevents/ios/pointer-events-implicit-capture-has-pointer-capture-in-pointer-down.html pointerevents/ios/pointer-events-implicit-capture-release-exception.html pointerevents/ios/pointer-events-implicit-capture-release.html pointerevents/ios/pointer-events-implicit-capture.html pointerevents/ios/pointer-events-set-pointer-capture-exceptions.html * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * dom/Element.cpp: (WebCore::Element::setPointerCapture): (WebCore::Element::releasePointerCapture): (WebCore::Element::hasPointerCapture): * dom/Element.h: * dom/Element.idl: * dom/EventNames.h: * dom/PointerEvent.h: * page/Page.cpp: (WebCore::Page::Page): * page/Page.h: (WebCore::Page::pointerCaptureController const): * page/PointerCaptureController.cpp: Added. (WebCore::PointerCaptureController::PointerCaptureController): (WebCore::PointerCaptureController::setPointerCapture): (WebCore::PointerCaptureController::releasePointerCapture): (WebCore::PointerCaptureController::hasPointerCapture): (WebCore::PointerCaptureController::pointerLockWasApplied): (WebCore::PointerCaptureController::touchEndedOrWasCancelledForIdentifier): (WebCore::PointerCaptureController::pointerEventWillBeDispatched): (WebCore::PointerCaptureController::pointerEventWasDispatched): (WebCore::PointerCaptureController::processPendingPointerCapture): * page/PointerCaptureController.h: Added. * page/PointerLockController.cpp: (WebCore::PointerLockController::requestPointerLock): * page/PointerLockController.h: LayoutTests: New tests for implicit pointer capture and the Element APIs related to pointer capture. * pointerevents/ios/pointer-events-implicit-capture-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-has-pointer-capture-in-pointer-down-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-has-pointer-capture-in-pointer-down.html: Added. * pointerevents/ios/pointer-events-implicit-capture-release-exception-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-release-exception.html: Added. * pointerevents/ios/pointer-events-implicit-capture-release-expected.txt: Added. * pointerevents/ios/pointer-events-implicit-capture-release.html: Added. * pointerevents/ios/pointer-events-implicit-capture.html: Added. * pointerevents/ios/pointer-events-set-pointer-capture-exceptions-expected.txt: Added. * pointerevents/ios/pointer-events-set-pointer-capture-exceptions.html: Added. Canonical link: https://commits.webkit.org/208432@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-29 03:15:02 +00:00