Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5965a71610ecbebbf078330db934ac78d1dc0bbe
      
https://github.com/WebKit/WebKit/commit/5965a71610ecbebbf078330db934ac78d1dc0bbe
  Author: Tyler Wilcock <[email protected]>
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
    M Tools/TestWebKitAPI/Tests/ios/ActionSheetTests.mm

  Log Message:
  -----------
  Fix debug asserts hit by ActionSheetTests.{PlayPauseAnimationCoveredByLink, 
PlayPauseAnimationInsideLink}
https://bugs.webkit.org/show_bug.cgi?id=256925
rdar://problem/109486147

Reviewed by Chris Fleizach.

These tests hit two debug asserts. The first was in 
EventHandler::hitTestResultAtPoint:

ASSERT(!hitType.contains(HitTestRequest::Type::CollectMultipleElements));

I removed this ASSERT because having CollectMultipleElements is intentional and 
necessary
for showing the right animation actions in the sheet (see commit message of 
https://github.com/WebKit/WebKit/commit/31091c93475d4d29c78644b5ec7787e4594b28c2).

The second ASSERT was in functions -[WKActionSheetAssistant {showImageSheet, 
showLinkSheet}]:

ASSERT(!_elementInfo);

The intention of this ASSERT is to ensure we don't have stale _elementInfo (any 
previous activated element info
should've been cleaned up). After adding logging and performing long-press, 
dismiss, long-press cycle on a real
webpage, I observed that this cleanup happens through mechanisms that our 
simulated long-press doesn't exercise.
So to fix this, I added -[WKWebView _resetInteraction] to allow simulation of 
this cleanup.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint const):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _resetInteraction]):
* Tools/TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::performLongPressAction):
(TestWebKitAPI::playPauseAnimationTest):
(TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/264213@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to