``` --- ios-simulator-wk2-tests/build/OpenSource/layout-test-results/pointerevents/ios/pointer-events-no-mousedown-when-prevent-default-called-on-pointerdown-expected.txt +++ ios-simulator-wk2-tests/build/OpenSource/layout-test-results/pointerevents/ios/pointer-events-no-mousedown-when-prevent-default-called-on-pointerdown-actual.txt @@ -1,3 +1,7 @@ +CONSOLE MESSAGE: Error: assert_unreached: The mousedown event should not be dispatched after calling preventDefault() during pointerdown. Reached unreachable code +CONSOLE MESSAGE: Error: assert_unreached: The mouseup event should not be dispatched after calling preventDefault() during pointerdown. Reached unreachable code + +Harness Error (FAIL), message = Error: assert_unreached: The mouseup event should not be dispatched after calling preventDefault() during pointerdown. Reached unreachable code PASS Testing that calling preventDefault() during a "pointerdown" event prevents compatibility events from being dispatched. ```
<rdar://problem/77070765>
Created attachment 428459 [details] Patch
Comment on attachment 428459 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=428459&action=review > Source/WebCore/ChangeLog:14 > + Instead of fully removing the `CapturingData` entirely, change it's state such that it's Nit - the first "it's" should be "its" > Source/WebCore/page/PointerCaptureController.cpp:329 > - if (capturingData.pointerType == touchPointerEventType() && capturingData.pointerIsPressed && !capturingData.cancelled) > + if (capturingData.pointerType == touchPointerEventType() && capturingData.state == CapturingData::State::Ready) Was removing the check for `capturingData.pointerIsPressed` intentional?
Comment on attachment 428459 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=428459&action=review >> Source/WebCore/page/PointerCaptureController.cpp:329 >> + if (capturingData.pointerType == touchPointerEventType() && capturingData.state == CapturingData::State::Ready) > > Was removing the check for `capturingData.pointerIsPressed` intentional? Yes. This was my attempt at "only include things that are active" in r271216, but as I mentioned in the ChangeLog because mouse events are dispatched after, it'd no longer be `pointerIsPressed` by that point anyways.
Created attachment 428565 [details] Patch
Committed r277463 (237706@main): <https://commits.webkit.org/237706@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 428565 [details].