Skip to content

Commit

Permalink
Unreviewed, revert 275299@main
Browse files Browse the repository at this point in the history
This broke internal builds.

* Source/WTF/wtf/PlatformEnable.h:
* Source/WebKit/Configurations/Base.xcconfig:
* Source/WebKit/Configurations/WebKit.xcconfig:
* Source/WebKit/Configurations/WebKitSwift.xcconfig:
* Source/WebKit/Shared/API/Cocoa/WebKitLegacy.h:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setTextExtractionEnabled:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionItem.h: Renamed from Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionItem.h.
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.h: Renamed from Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionUtilities.h.
* Source/WebKit/UIProcess/Cocoa/WKTextExtractionUtilities.mm: Renamed from Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionUtilities.mm.
(WebKit::prepareTextExtractionSupport):
(WebKit::containerType):
(WebKit::createWKTextItem):
(WebKit::createItemWithChildren):
(WebKit::createItemRecursive):
(WebKit::createItem):
* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h:
* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.swift: Renamed from Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionItem.swift.
(WKTextExtractionRequest.completionHandler):
(WKTextExtractionRequest.fulfill(_:)):
* Tools/WebKitTestRunner/Configurations/Base.xcconfig:
* Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
* Tools/WebKitTestRunner/cocoa/WKTextExtractionTestingHelpers.h:
* Tools/WebKitTestRunner/cocoa/WKTextExtractionTestingHelpers.mm:

Canonical link: https://commits.webkit.org/275319@main
  • Loading branch information
whsieh committed Feb 26, 2024
1 parent 2a1f6c1 commit 0d63879
Show file tree
Hide file tree
Showing 21 changed files with 70 additions and 81 deletions.
5 changes: 0 additions & 5 deletions Source/WTF/wtf/PlatformEnable.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,8 +999,3 @@
&& (PLATFORM(COCOA) && HAVE(INLINE_PREDICTIONS))
#define ENABLE_WRITING_SUGGESTIONS 1
#endif

#if !defined(ENABLE_TEXT_EXTRACTION_SUPPORT) \
&& (USE(APPLE_INTERNAL_SDK) || (PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)))
#define ENABLE_TEXT_EXTRACTION_SUPPORT 1
#endif
5 changes: 0 additions & 5 deletions Source/WebKit/Configurations/Base.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,3 @@ WK_USER_LTO_MODE_thin = YES_THIN;
WK_USER_LTO_MODE_none = NO;
WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE);
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin);

SPI_ONLY_IMPORTS_FLAGS = -Xfrontend -experimental-spi-only-imports;
SPI_ONLY_IMPORTS_FLAGS[sdk=macosx11*] = ;
SPI_ONLY_IMPORTS_FLAGS[sdk=macosx12*] = ;
OTHER_SWIFT_FLAGS = $(inherited) $(SPI_ONLY_IMPORTS_FLAGS)
7 changes: 1 addition & 6 deletions Source/WebKit/Configurations/WebKit.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -236,11 +236,6 @@ WK_EXCLUDED_WEBPUSHD_SANDBOX = $(WK_EXCLUDED_WEBPUSHD_SANDBOX_$(WK_RELOCATABLE_W
WK_EXCLUDED_WEBPUSHD_SANDBOX_NO = com.apple.WebKit.webpushd.relocatable.mac.sb
WK_EXCLUDED_WEBPUSHD_SANDBOX_YES = com.apple.WebKit.webpushd.mac.sb

WK_EXCLUDED_TEXT_EXTRACTION_FILE_NAMES = $(WK_EXCLUDED_TEXT_EXTRACTION_FILE_NAMES_$(USE_INTERNAL_SDK))
WK_EXCLUDED_TEXT_EXTRACTION_FILE_NAMES_ = WKWebView+TextExtraction.swift
WK_EXCLUDED_TEXT_EXTRACTION_FILE_NAMES_[sdk=appletv*] = WKWebView+TextExtraction.swift WKTextExtractionItem.swift
WK_EXCLUDED_TEXT_EXTRACTION_FILE_NAMES_[sdk=watch*] = WKWebView+TextExtraction.swift WKTextExtractionItem.swift

EXCLUDED_EXTENSION_SOURCE_FILE_NAMES = Shared/AuxiliaryProcessExtensions/*;

INCLUDED_EXTENSION_SOURCE_FILE_NAMES_YES[sdk=iphone*] = Shared/AuxiliaryProcessExtensions/*;
Expand All @@ -251,7 +246,7 @@ INCLUDED_EXTENSION_SOURCE_FILE_NAMES_YES[sdk=iphone*17.3.internal] = ;
INCLUDED_EXTENSION_SOURCE_FILE_NAMES_YES[sdk=iphone*18.0.internal] = ;
INCLUDED_EXTENSION_SOURCE_FILE_NAMES_YES[sdk=xr*] = ;

EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_PRODUCT_DEPENDENCY_NAMES) $(EXCLUDED_IOS_RESOURCE_FILE_NAMES) $(EXCLUDED_MACOS_PLUGIN_FILE_NAMES) $(EXCLUDED_MIGRATED_HEADERS_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH)) $(WK_EXCLUDED_WEBPUSHD_SANDBOX) $(EXCLUDED_EXTENSION_SOURCE_FILE_NAMES) $(WK_EXCLUDED_TEXT_EXTRACTION_FILE_NAMES);
EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_PRODUCT_DEPENDENCY_NAMES) $(EXCLUDED_IOS_RESOURCE_FILE_NAMES) $(EXCLUDED_MACOS_PLUGIN_FILE_NAMES) $(EXCLUDED_MIGRATED_HEADERS_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH)) $(WK_EXCLUDED_WEBPUSHD_SANDBOX) $(EXCLUDED_EXTENSION_SOURCE_FILE_NAMES);

// These are only available in internal builds, so they must be explicitly ignored for the open-source build to succeed.
EXCLUDED_PRODUCT_DEPENDENCY_NAMES = libWebKitAdditions.a AuthenticationServicesCore.framework;
Expand Down
5 changes: 4 additions & 1 deletion Source/WebKit/Configurations/WebKitSwift.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,10 @@ WK_HAVE_MARKETPLACE_KIT_IOS_SINCE_17 = YES;
WK_EXCLUDED_MARKETPLACE_KIT_WRAPPER_FILES = $(WK_EXCLUDED_MARKETPLACE_KIT_WRAPPER_FILES_$(WK_AND_$(USE_INTERNAL_SDK)_$(WK_HAVE_MARKETPLACE_KIT)));
WK_EXCLUDED_MARKETPLACE_KIT_WRAPPER_FILES_NO = MarketplaceKitWrapper.swift;

EXCLUDED_SOURCE_FILE_NAMES = $(WK_EXCLUDED_COORDINATOR_FILES) $(WK_EXCLUDED_MARKETPLACE_KIT_WRAPPER_FILES) $(EXCLUDED_IOS_RESOURCE_FILE_NAMES) $(EXCLUDED_MACOS_PLUGIN_FILE_NAMES)
WK_EXCLUDED_TEXT_EXTRACTION_FILES = $(WK_EXCLUDED_TEXT_EXTRACTION_FILES_$(USE_INTERNAL_SDK))
WK_EXCLUDED_TEXT_EXTRACTION_FILES_ = WKWebView+TextExtraction.swift

EXCLUDED_SOURCE_FILE_NAMES = $(WK_EXCLUDED_COORDINATOR_FILES) $(WK_EXCLUDED_MARKETPLACE_KIT_WRAPPER_FILES) $(WK_EXCLUDED_TEXT_EXTRACTION_FILES) $(EXCLUDED_IOS_RESOURCE_FILE_NAMES) $(EXCLUDED_MACOS_PLUGIN_FILE_NAMES)
SWIFT_INSTALL_OBJC_HEADER = NO
SWIFT_VERSION = 5.0;

Expand Down
3 changes: 0 additions & 3 deletions Source/WebKit/Shared/API/Cocoa/WebKitLegacy.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
#endif
#else

#ifndef __swift__
#import <WebKit/DOM.h>
#import <WebKit/WebArchive.h>
#import <WebKit/WebBackForwardList.h>
Expand All @@ -56,6 +55,4 @@
#import <WebKit/WebScriptObject.h>
#import <WebKit/WebUIDelegate.h>
#import <WebKit/WebView.h>
#endif // not defined(__swift__)

#endif
4 changes: 2 additions & 2 deletions Source/WebKit/SourcesCocoa.txt
Original file line number Diff line number Diff line change
Expand Up @@ -384,8 +384,6 @@ UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm
UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.mm
UIProcess/Cocoa/SOAuthorization/WKSOAuthorizationDelegate.mm

UIProcess/Cocoa/TextExtraction/WKTextExtractionUtilities.mm

UIProcess/Cocoa/AutomationClient.mm
UIProcess/Cocoa/AutomationSessionClient.mm
UIProcess/Cocoa/CoreTelephonyUtilities.mm
Expand Down Expand Up @@ -431,9 +429,11 @@ UIProcess/Cocoa/WKContactPicker.mm
UIProcess/Cocoa/WKEditCommand.mm
UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm
UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm
UIProcess/Cocoa/WKTextExtractionUtilities.mm
UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm
UIProcess/Cocoa/XPCConnectionTerminationWatchdog.mm


UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm
UIProcess/Gamepad/ios/UIGamepadProviderIOS.mm
UIProcess/Gamepad/mac/UIGamepadProviderMac.mm
Expand Down
6 changes: 6 additions & 0 deletions Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,12 @@ - (BOOL)_avFoundationEnabled

- (void)_setTextExtractionEnabled:(BOOL)enabled
{
if (enabled) {
static std::once_flag onceFlag;
std::call_once(onceFlag, [] {
WebKit::prepareTextExtractionSupport();
});
}
_preferences->setTextExtractionEnabled(enabled);
}

Expand Down
4 changes: 0 additions & 4 deletions Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -4242,8 +4242,6 @@ - (void)_setFormDelegate:(id <_WKInputDelegate>)formDelegate

@end

#if ENABLE(TEXT_EXTRACTION_SUPPORT)

@implementation WKWebView (WKTextExtraction)

- (void)_requestTextExtractionForSwift:(WKTextExtractionRequest *)context
Expand Down Expand Up @@ -4276,6 +4274,4 @@ - (void)_requestTextExtraction:(CGRect)rectInWebView completionHandler:(void(^)(

@end

#endif // ENABLE(TEXT_EXTRACTION_SUPPORT)

#undef WKWEBVIEW_RELEASE_LOG
2 changes: 0 additions & 2 deletions Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
Original file line number Diff line number Diff line change
Expand Up @@ -389,9 +389,7 @@ RetainPtr<NSError> nsErrorFromExceptionDetails(const WebCore::ExceptionDetails&)
@end
#endif

#if ENABLE(TEXT_EXTRACTION_SUPPORT)
@interface WKWebView (WKTextExtraction)
- (void)_requestTextExtractionForSwift:(WKTextExtractionRequest *)context;
- (void)_requestTextExtraction:(CGRect)rect completionHandler:(void(^)(WKTextExtractionItem *))completionHandler;
@end
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@

#pragma once

#if ENABLE(TEXT_EXTRACTION_SUPPORT)

#import <CoreGraphics/CoreGraphics.h>
#import <Foundation/Foundation.h>

Expand Down Expand Up @@ -89,5 +87,3 @@ typedef NS_ENUM(NSInteger, WKTextExtractionContainer) {
- (void)fulfill:(WKTextExtractionItem *)result;
@property (nonatomic, readonly) CGRect rectInWebView;
@end

#endif // ENABLE(TEXT_EXTRACTION_SUPPORT)
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@

#pragma once

#if ENABLE(TEXT_EXTRACTION_SUPPORT)

#import <wtf/RetainPtr.h>

@class WKTextExtractionItem;
Expand All @@ -39,8 +37,7 @@ struct Item;

namespace WebKit {

void prepareTextExtractionSupport();
RetainPtr<WKTextExtractionItem> createItem(const WebCore::TextExtraction::Item&);

} // namespace WebKit

#endif // ENABLE(TEXT_EXTRACTION_SUPPORT)
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,22 @@
#import "config.h"
#import "WKTextExtractionUtilities.h"

#if ENABLE(TEXT_EXTRACTION_SUPPORT)

#import "WKTextExtractionItem.h"
#import <WebCore/TextExtraction.h>
#import <wtf/cocoa/VectorCocoa.h>

#import "WebKitSwiftSoftLink.h"

namespace WebKit {
using namespace WebCore;

void prepareTextExtractionSupport()
{
// Preemptively soft link libWebKitSwift if it exists, so that the corresponding Swift extension
// on WKWebView will be loaded.
WebKitSwiftLibrary(true);
}

inline static WKTextExtractionContainer containerType(TextExtraction::ContainerType type)
{
switch (type) {
Expand Down Expand Up @@ -63,7 +70,7 @@ inline static WKTextExtractionContainer containerType(TextExtraction::ContainerT
{
RetainPtr<WKTextExtractionEditable> editable;
if (data.editable) {
editable = adoptNS([[WKTextExtractionEditable alloc]
editable = adoptNS([allocWKTextExtractionEditableInstance()
initWithLabel:data.editable->label
placeholder:data.editable->placeholder
isSecure:static_cast<BOOL>(data.editable->isSecure)
Expand All @@ -80,10 +87,10 @@ inline static WKTextExtractionContainer containerType(TextExtraction::ContainerT
auto& [url, range] = linkAndRange;
if (UNLIKELY(range.location + range.length > data.content.length()))
return { };
return adoptNS([[WKTextExtractionLink alloc] initWithURL:url range:NSMakeRange(range.location, range.length)]);
return adoptNS([allocWKTextExtractionLinkInstance() initWithURL:url range:NSMakeRange(range.location, range.length)]);
});

return adoptNS([[WKTextExtractionTextItem alloc]
return adoptNS([allocWKTextExtractionTextItemInstance()
initWithContent:data.content
selectedRange:selectedRange
links:links.get()
Expand All @@ -98,11 +105,11 @@ inline static WKTextExtractionContainer containerType(TextExtraction::ContainerT
[&](const TextExtraction::TextItemData& data) -> RetainPtr<WKTextExtractionItem> {
return createWKTextItem(data, item.rectInRootView, children);
}, [&](const TextExtraction::ScrollableItemData& data) -> RetainPtr<WKTextExtractionItem> {
return adoptNS([[WKTextExtractionScrollableItem alloc] initWithContentSize:data.contentSize rectInRootView:item.rectInRootView children:children]);
return adoptNS([allocWKTextExtractionScrollableItemInstance() initWithContentSize:data.contentSize rectInRootView:item.rectInRootView children:children]);
}, [&](const TextExtraction::ImageItemData& data) -> RetainPtr<WKTextExtractionItem> {
return adoptNS([[WKTextExtractionImageItem alloc] initWithName:data.name altText:data.altText rectInRootView:item.rectInRootView children:children]);
return adoptNS([allocWKTextExtractionImageItemInstance() initWithName:data.name altText:data.altText rectInRootView:item.rectInRootView children:children]);
}, [&](TextExtraction::ContainerType type) -> RetainPtr<WKTextExtractionItem> {
return adoptNS([[WKTextExtractionContainerItem alloc] initWithContainer:containerType(type) rectInRootView:item.rectInRootView children:children]);
return adoptNS([allocWKTextExtractionContainerItemInstance() initWithContainer:containerType(type) rectInRootView:item.rectInRootView children:children]);
}
);
}
Expand Down Expand Up @@ -130,5 +137,3 @@ inline static WKTextExtractionContainer containerType(TextExtraction::ContainerT
}

} // namespace WebKit

#endif // ENABLE(TEXT_EXTRACTION_SUPPORT)
6 changes: 6 additions & 0 deletions Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,9 @@ SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKGroupSessionObserver)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKSLinearMediaPlayer)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKSLinearMediaTimeRange)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKSPreviewWindowController)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKTextExtractionContainerItem)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKTextExtractionEditable)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKTextExtractionLink)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKTextExtractionTextItem)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKTextExtractionScrollableItem)
SOFT_LINK_CLASS_FOR_HEADER(WebKit, WKTextExtractionImageItem)
6 changes: 6 additions & 0 deletions Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,9 @@
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKSLinearMediaPlayer)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKSLinearMediaTimeRange)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKSPreviewWindowController)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKTextExtractionContainerItem)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKTextExtractionEditable)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKTextExtractionLink)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKTextExtractionTextItem)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKTextExtractionScrollableItem)
SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL(WebKit, WebKitSwift, WKTextExtractionImageItem)
Loading

0 comments on commit 0d63879

Please sign in to comment.