Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ebea90b9d06032b0e343f446ce705b1d6ca65094
      
https://github.com/WebKit/WebKit/commit/ebea90b9d06032b0e343f446ce705b1d6ca65094
  Author: Wenson Hsieh <wenson_hs...@apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M Source/WebKit/SourcesCocoa.txt
    A Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.h
    A Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.mm
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    A Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.h
    A Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.swift
    M Source/WebKit/WebKitSwift/WebKitSwift.h

  Log Message:
  -----------
  Add Swift bridging types that correspond to TextExtraction::Item and 
TextExtraction::ItemData
https://bugs.webkit.org/show_bug.cgi?id=269035

Reviewed by Megan Gardner.

Add simple Swift wrappers around the `TextExtraction` C++ structs along with 
helper functions to
recursively convert a `WebCore::TextExtraction::Item` into a 
`WKTextExtractionItem` in Objective-C
code (which can eventually be used in Swift code as well).

See below for more details.

* Source/WebKit/SourcesCocoa.txt:

* Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.h: Copied from 
Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h.
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.mm: Added.

Add a helper file that contains a new utility function to convert a 
`WebCore::TextExtraction::Item`
struct into a nested `WKTextExtractionItem`, which will eventually be used in 
internal Swift code.

(WebKit::containerType):
(WebKit::createItemIgnoringChildren):
(WebKit::createItemRecursive):
(WebKit::createItem):

Add logic to do the conversion above.

* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h:
* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm:

Add the ability to soft-link all of the new Swift/ObjC types in libWebKitSwift.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionItem.h: Added.

Create a header file that contains only interface, property and method 
declarations used in WebKit
to interact with the new Swift types in libWebKitSwift.

* Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.swift: Added.

Add the new (ObjC-capable) Swift classes to libWebKitSwift.

(WKTextExtractionItem.rectInRootView):
(WKTextExtractionItem.children):
(WKTextExtractionContainerItem.container):
(WKTextExtractionTextItem.content):
(WKTextExtractionScrollableItem.contentSize):
(WKTextExtractionEditableItem.isFocused):
(WKTextExtractionInteractiveItem.isEnabled):
(WKTextExtractionImageItem.name):
(WKTextExtractionImageItem.altText):
* Source/WebKit/WebKitSwift/WebKitSwift.h

Add `WKTextExtractionItem.h` to the umbrella header.

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to