[webkit-changes] [WebKit/WebKit] 6d2dce: [Cocoa] Add text extraction support for internal S...
Wenson Hsieh
noreply at github.com
Mon Feb 12 17:38:36 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6d2dce3223e6d0cba79b5428703516fd0647566b
https://github.com/WebKit/WebKit/commit/6d2dce3223e6d0cba79b5428703516fd0647566b
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebKit/Configurations/WebKitSwift.xcconfig
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources-output.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
M Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
M Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.h
M Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
Log Message:
-----------
[Cocoa] Add text extraction support for internal Swift clients
https://bugs.webkit.org/show_bug.cgi?id=269207
rdar://121132700
Reviewed by Aditya Keerthi, Abrar Rahman Protyasha and Elliott Williams.
Make several adjustments to support for text extraction; see below for more details.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
Add a new preference to guard runtime enablement of text extraction.
* Source/WebKit/Configurations/WebKitSwift.xcconfig:
Exclude `WKWebView+TextExtraction.swift` when using non-internal SDKs. Also, add the Swift frontend
flag `-experimental-spi-only-imports`, so that we can use `@_spiOnly`.
* Source/WebKit/DerivedSources-input.xcfilelist:
Add `WKWebView+TextExtraction.swift.in` to the derived sources input file list.
* Source/WebKit/DerivedSources-output.xcfilelist:
Add `WKWebView+TextExtraction.swift` to the derived sources output file list.
* Source/WebKit/DerivedSources.make:
Add a DerivedSources make rule for `WKWebView+TextExtraction.swift` (copied from
`WKWebView+TextExtraction.swift.in`, in WebKitAdditions).
* Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setTextExtractionEnabled:]):
(-[WKPreferences _textExtractionEnabled]):
Add an SPI flag for internal clients to enable or disable text extraction.
* Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _requestTextExtraction:completionHandler:]):
Add a new category that implements an ObjC selector, `-_requestTextExtraction:completionHandler:`,
which is invoked via `.perform(Selector((…)))` from `WKWebView+TextExtraction.swift`.
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.h:
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.mm:
(WebKit::prepareTextExtractionSupport):
Add a helper method to ensure that `libWebKitSwift` is loaded into memory; called when an internal
client enables text extraction via the new preference.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Add the new `WKWebView+TextExtraction.swift` derived source to WebKitSwift.
Canonical link: https://commits.webkit.org/274511@main
More information about the webkit-changes
mailing list