[webkit-changes] [WebKit/WebKit] 127b86: [iOS] Remove all instances of UICalloutBar in WebKit

Wenson Hsieh noreply at github.com
Thu Jul 13 13:29:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 127b86b20b91c47794e615285dde394a221ae6c3
      https://github.com/WebKit/WebKit/commit/127b86b20b91c47794e615285dde394a221ae6c3
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2023-07-13 (Thu, 13 Jul 2023)

  Changed paths:
    M Source/WebKit/Platform/spi/ios/UIKitSPI.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm
    M Tools/TestWebKitAPI/cocoa/TestWKWebView.mm
    M Tools/TestWebKitAPI/ios/UIKitSPI.h
    M Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm

  Log Message:
  -----------
  [iOS] Remove all instances of UICalloutBar in WebKit
https://bugs.webkit.org/show_bug.cgi?id=259197
rdar://112114237

Reviewed by Megan Gardner and Aditya Keerthi.

`UICalloutBar` has been long replaced by the edit menu (and its associated interaction) since iOS
16. This patch removes several codepaths that only existed to support layout and API tests against
iOS 15 — this is no longer necessary, now that our oldest supported iOS test runners are on 16.4.

No change in behavior.

* Source/WebKit/Platform/spi/ios/UIKitSPI.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _requestEvasionRectsAboveSelectionIfNeeded:]):

Additionally rename several references to "callout bar" to "edit menu" instead.

(-[WKContentView cleanUpDragSourceSessionState]):
(-[WKContentView _restoreEditMenuIfNeeded]):
(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):
(-[WKContentView dragInteraction:session:didEndWithOperation:]):
(-[WKContentView _restoreCalloutBarIfNeeded]): Deleted.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(TestWebKitAPI::simulateEditMenuAppearance):
(TestWebKitAPI::invokeRemoveBackgroundAction):
(TestWebKitAPI::TEST):

Remove an obsolete test that was only checking that we avoid eagerly instantiating `UICalloutBar`
when changing the text selection. This test is no longer relevant with edit menus because the bug
was triggered by callout-bar-specific code that was invoked by WebKit code; in comparison, edit
menus ask the first responder (the content view) to build the edit menu upon presentation.

(TestWebKitAPI::simulateCalloutBarAppearance): Deleted.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm:
* Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
(suppressUICalloutBar): Deleted.
* Tools/TestWebKitAPI/ios/UIKitSPI.h:
* Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::rectForMenuAction const):
(WTR::UIScriptControllerIOS::menuRect const):

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




More information about the webkit-changes mailing list