[webkit-changes] [WebKit/WebKit] f77868: "Look Up" and "Search Web" should appear in the ed...

Wenson Hsieh noreply at github.com
Mon Dec 23 06:35:59 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f778680e9ba45d5bbcd17b16dd4e32886370e73e
      https://github.com/WebKit/WebKit/commit/f778680e9ba45d5bbcd17b16dd4e32886370e73e
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
    M Source/WebKit/WebProcess/Plugins/PluginView.cpp
    M Source/WebKit/WebProcess/Plugins/PluginView.h
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/UnifiedPDFTests.mm
    M Tools/TestWebKitAPI/cocoa/TestWKWebView.h
    M Tools/TestWebKitAPI/cocoa/TestWKWebView.mm

  Log Message:
  -----------
  "Look Up" and "Search Web" should appear in the edit menu for selected text
https://bugs.webkit.org/show_bug.cgi?id=285086
rdar://141917634

Reviewed by Abrar Rahman Protyasha.

Add support for a few more text services: "Look Up" and "Search Web", through the edit menu for
selected text in PDFs when Unified PDF is enabled. See below for more details.

* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
(WebKit::PDFPluginBase::stringsBeforeAndAfterSelection const):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::documentEditingContext const):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::stringsBeforeAndAfterSelection const):

Add a new helper method to surface text (i.e. a given number of characters) around the current
selection, as a `std::pair` representing text before and after (respectively).

(WebKit::UnifiedPDFPlugin::documentEditingContext const):

Add a helper method to return a document editing context for the given request. This only surfaces
selected text at the moment, but can be fleshed out in the future if needed.

* Source/WebKit/WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::stringsBeforeAndAfterSelection const):
(WebKit::PluginView::documentEditingContext const):
* Source/WebKit/WebProcess/Plugins/PluginView.h:
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getSelectionContext):

Implement this for the unified PDF plugin in terms of the new `stringsBeforeAndAfterSelection`
helper method. Look Up uses this to obtain text context around the selection string.

(WebKit::WebPage::requestDocumentEditingContext):

Add very basic support for document editing contexts in PDFs — DataDetectorsUI uses a Reveal item
derived from the document editing context to determine whether or not they should populate the edit
menu with "Look Up" and "Search Web". We currently return an empty document editing context, which
causes this to fail.

* Tools/TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[TestWKWebView synchronouslyRequestDocumentContext:]): Deleted.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/UnifiedPDFTests.mm:
(TestWebKitAPI::UNIFIED_PDF_TEST):

Add a new API test to exercise this change by simulating the "Look Up" action from API.

* Tools/TestWebKitAPI/cocoa/TestWKWebView.h:
* Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView synchronouslyRequestDocumentContext:]):

Move this testing helper out of the test file and into `TestWKWebView`, for use in Unified PDF
tests as well.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list