Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb875ef24116b4a39bab32f2aec4bdb16ebdf16f
      
https://github.com/WebKit/WebKit/commit/cb875ef24116b4a39bab32f2aec4bdb16ebdf16f
  Author: Wenson Hsieh <[email protected]>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
    M Source/WebKit/UIProcess/Cocoa/WKTextExtractionItem.h
    M Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.swift

  Log Message:
  -----------
  Refactor TextExtraction support in WKWebView to use a promise instead of a 
Swift block
https://bugs.webkit.org/show_bug.cgi?id=270031
rdar://123542653

Reviewed by Richard Robinson and Abrar Rahman Protyasha.

Refactor this code to use a dedicated object (`WKTextExtractionRequest`) used 
to represent an
asynchronously-fulfilled promise, rather than taking a completion handler 
directly. As it turns out,
completion handler blocks in Swift-only API end up getting passed as `nil` into 
Objective-C methods
expecting blocks, when using `perform(with:…:)` to invoke ObjC-exposed 
selectors.

* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _requestTextExtractionForSwift:]):

Wrap the existing call to request text extraction.

* Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionItem.h:
* Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.swift:
(WKTextExtractionRequest.completionHandler):
(WKTextExtractionRequest.fulfill(_:)):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to