Diff
Modified: trunk/Source/WebCore/html/shadow/imageOverlay.css (294324 => 294325)
--- trunk/Source/WebCore/html/shadow/imageOverlay.css 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebCore/html/shadow/imageOverlay.css 2022-05-17 16:38:25 UTC (rev 294325)
@@ -62,6 +62,8 @@
line-height: 1.2em;
box-sizing: border-box;
white-space: normal;
+ word-break: break-word;
+ letter-spacing: normal;
}
div.image-overlay-line, .image-overlay-text, div.image-overlay-block {
Modified: trunk/Source/WebCore/page/ImageAnalysisQueue.cpp (294324 => 294325)
--- trunk/Source/WebCore/page/ImageAnalysisQueue.cpp 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebCore/page/ImageAnalysisQueue.cpp 2022-05-17 16:38:25 UTC (rev 294325)
@@ -112,16 +112,16 @@
m_resumeProcessingTimer.startOneShot(resumeProcessingDelay);
}
-void ImageAnalysisQueue::enqueueAllImages(Document& document, const String& identifier)
+void ImageAnalysisQueue::enqueueAllImages(Document& document, const String& source, const String& target)
{
if (!m_page)
return;
- if (m_identifier != identifier) {
+ if (source != m_source || target != m_target)
clear();
- m_identifier = identifier;
- }
+ m_source = source;
+ m_target = target;
enqueueAllImagesRecursive(document);
}
@@ -152,8 +152,8 @@
if (auto* image = element->cachedImage(); image && !image->errorOccurred())
m_queuedElements.set(*element, image->url());
- auto allowSnapshots = m_identifier.isEmpty() ? TextRecognitionOptions::AllowSnapshots::Yes : TextRecognitionOptions::AllowSnapshots::No;
- m_page->chrome().client().requestTextRecognition(*element, { m_identifier, allowSnapshots }, [this, page = m_page] (auto&&) {
+ auto allowSnapshots = m_target.isEmpty() ? TextRecognitionOptions::AllowSnapshots::Yes : TextRecognitionOptions::AllowSnapshots::No;
+ m_page->chrome().client().requestTextRecognition(*element, { m_source, m_target, allowSnapshots }, [this, page = m_page] (auto&&) {
if (!page || page->imageAnalysisQueueIfExists() != this)
return;
@@ -172,7 +172,8 @@
m_resumeProcessingTimer.stop();
m_queue = { };
m_queuedElements.clear();
- m_identifier = { };
+ m_source = { };
+ m_target = { };
m_currentTaskNumber = 0;
}
Modified: trunk/Source/WebCore/page/ImageAnalysisQueue.h (294324 => 294325)
--- trunk/Source/WebCore/page/ImageAnalysisQueue.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebCore/page/ImageAnalysisQueue.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -46,7 +46,7 @@
ImageAnalysisQueue(Page&);
~ImageAnalysisQueue();
- WEBCORE_EXPORT void enqueueAllImages(Document&, const String& identifier);
+ WEBCORE_EXPORT void enqueueAllImages(Document&, const String& source, const String& target);
void clear();
void enqueueIfNeeded(HTMLImageElement&);
@@ -67,7 +67,8 @@
static bool firstIsHigherPriority(const Task&, const Task&);
unsigned nextTaskNumber() { return ++m_currentTaskNumber; }
- String m_identifier;
+ String m_source;
+ String m_target;
WeakPtr<Page> m_page;
Timer m_resumeProcessingTimer;
WeakHashMap<HTMLImageElement, URL> m_queuedElements;
Modified: trunk/Source/WebCore/platform/TextRecognitionOptions.h (294324 => 294325)
--- trunk/Source/WebCore/platform/TextRecognitionOptions.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebCore/platform/TextRecognitionOptions.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -30,7 +30,8 @@
namespace WebCore {
struct TextRecognitionOptions {
- String identifier;
+ String source;
+ String target;
enum class AllowSnapshots : bool { No, Yes };
AllowSnapshots allowSnapshots { AllowSnapshots::Yes };
Modified: trunk/Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.h (294324 => 294325)
--- trunk/Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -60,7 +60,7 @@
RetainPtr<CocoaImageAnalyzerRequest> createImageAnalyzerRequest(CGImageRef, VKAnalysisTypes);
#if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
-void requestImageAnalysisWithIdentifier(CocoaImageAnalyzer *, NSURL *, const String& identifier, CGImageRef, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&);
+void requestImageAnalysisWithIdentifiers(CocoaImageAnalyzer *, NSURL *, const String& source, const String& target, CGImageRef, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&);
void requestImageAnalysisMarkup(CGImageRef, CompletionHandler<void(CGImageRef, CGRect)>&&);
std::pair<RetainPtr<NSData>, RetainPtr<CFStringRef>> imageDataForCroppedImageResult(CGImageRef, const String& sourceMIMEType);
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2022-05-17 16:38:25 UTC (rev 294325)
@@ -2314,15 +2314,15 @@
});
}
-- (void)_startImageAnalysis:(NSString *)identifier
+- (void)_startImageAnalysis:(NSString *)source target:(NSString *)target
{
#if ENABLE(IMAGE_ANALYSIS)
THROW_IF_SUSPENDED;
- if (!_page || !_page->preferences().textRecognitionEnhancementsEnabled())
+ if (!_page || !_page->preferences().imageAnalysisQueueEnabled())
return;
- _page->startImageAnalysis(identifier);
+ _page->startImageAnalysis(source, target);
#endif
}
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -425,7 +425,7 @@
- (void)_suspendPage:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macos(12.0), ios(15.0));
- (void)_resumePage:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macos(12.0), ios(15.0));
-- (void)_startImageAnalysis:(NSString *)identifier WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+- (void)_startImageAnalysis:(NSString *)identifier target:(NSString *)targetIdentifier WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
- (void)_dataTaskWithRequest:(NSURLRequest *)request completionHandler:(void(^)(_WKDataTask *))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -594,7 +594,7 @@
bool shouldRequestCandidates() const;
#if ENABLE(IMAGE_ANALYSIS)
- void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&);
+ void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&);
void computeHasVisualSearchResults(const URL& imageURL, ShareableBitmap& imageBitmap, CompletionHandler<void(bool)>&&);
#endif
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2022-05-17 16:38:25 UTC (rev 294325)
@@ -249,7 +249,7 @@
return request;
}
-void WebViewImpl::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&& completion)
+void WebViewImpl::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&& completion)
{
if (!isLiveTextAvailableAndEnabled()) {
completion({ });
@@ -265,10 +265,11 @@
auto cgImage = imageBitmap->makeCGImage();
#if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
- if (!identifier.isEmpty())
- return requestImageAnalysisWithIdentifier(ensureImageAnalyzer(), imageURL, identifier, cgImage.get(), WTFMove(completion));
+ if (!target.isEmpty())
+ return requestImageAnalysisWithIdentifiers(ensureImageAnalyzer(), imageURL, source, target, cgImage.get(), WTFMove(completion));
#else
- UNUSED_PARAM(identifier);
+ UNUSED_PARAM(source);
+ UNUSED_PARAM(target);
#endif
auto request = createImageAnalyzerRequest(cgImage.get(), imageURL, [NSURL _web_URLWithWTFString:m_page->currentURL()], VKAnalysisTypeText);
Modified: trunk/Source/WebKit/UIProcess/PageClient.h (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/PageClient.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/PageClient.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -557,7 +557,7 @@
virtual bool isInMultitaskingMode() const { return false; }
#if ENABLE(IMAGE_ANALYSIS)
- virtual void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&& completion) { completion({ }); }
+ virtual void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&& completion) { completion({ }); }
virtual void computeHasVisualSearchResults(const URL&, ShareableBitmap&, CompletionHandler<void(bool)>&& completion) { completion(false); }
#endif
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2022-05-17 16:38:25 UTC (rev 294325)
@@ -8862,9 +8862,9 @@
#if ENABLE(IMAGE_ANALYSIS)
-void WebPageProxy::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(TextRecognitionResult&&)>&& completionHandler)
+void WebPageProxy::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(TextRecognitionResult&&)>&& completionHandler)
{
- pageClient().requestTextRecognition(imageURL, imageData, identifier, WTFMove(completionHandler));
+ pageClient().requestTextRecognition(imageURL, imageData, source, target, WTFMove(completionHandler));
}
void WebPageProxy::computeHasVisualSearchResults(const URL& imageURL, ShareableBitmap& imageBitmap, CompletionHandler<void(bool)>&& completion)
@@ -8882,10 +8882,10 @@
sendWithAsyncReply(Messages::WebPage::UpdateWithTextRecognitionResult(WTFMove(results), context, location), WTFMove(completionHandler));
}
-void WebPageProxy::startImageAnalysis(const String& identifier)
+void WebPageProxy::startImageAnalysis(const String& source, const String& target)
{
if (hasRunningProcess())
- send(Messages::WebPage::StartImageAnalysis(identifier));
+ send(Messages::WebPage::StartImageAnalysis(source, target));
}
#endif // ENABLE(IMAGE_ANALYSIS)
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -1756,10 +1756,10 @@
#endif
#if ENABLE(IMAGE_ANALYSIS)
- void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&);
+ void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&);
void updateWithTextRecognitionResult(WebCore::TextRecognitionResult&&, const WebCore::ElementContext&, const WebCore::FloatPoint& location, CompletionHandler<void(TextRecognitionUpdateResult)>&&);
void computeHasVisualSearchResults(const URL& imageURL, ShareableBitmap& imageBitmap, CompletionHandler<void(bool)>&&);
- void startImageAnalysis(const String& identifier);
+ void startImageAnalysis(const String& source, const String& target);
#endif
#if ENABLE(MEDIA_CONTROLS_CONTEXT_MENUS) && USE(UICONTEXTMENU)
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2022-05-17 16:38:25 UTC (rev 294325)
@@ -217,7 +217,7 @@
SetHasHadSelectionChangesFromUserInteraction(bool hasHadUserSelectionChanges)
#if ENABLE(IMAGE_ANALYSIS)
- RequestTextRecognition(URL imageURL, WebKit::ShareableBitmap::Handle imageData, String identifier) -> (struct WebCore::TextRecognitionResult result)
+ RequestTextRecognition(URL imageURL, WebKit::ShareableBitmap::Handle imageData, String source, String target) -> (struct WebCore::TextRecognitionResult result)
#endif
#if HAVE(TRANSLATION_UI_SERVICES) && ENABLE(CONTEXT_MENUS)
Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -122,7 +122,7 @@
#endif
#if ENABLE(IMAGE_ANALYSIS)
- void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&) final;
+ void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&) final;
#endif
RefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy&) override;
Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm 2022-05-17 16:38:25 UTC (rev 294325)
@@ -465,9 +465,9 @@
#if ENABLE(IMAGE_ANALYSIS)
-void PageClientImpl::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(TextRecognitionResult&&)>&& completion)
+void PageClientImpl::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(TextRecognitionResult&&)>&& completion)
{
- [m_contentView requestTextRecognition:imageURL imageData:imageData identifier:identifier completionHandler:WTFMove(completion)];
+ [m_contentView requestTextRecognition:imageURL imageData:imageData source:source target:target completionHandler:WTFMove(completion)];
}
#endif // ENABLE(IMAGE_ANALYSIS)
Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -794,7 +794,7 @@
#if ENABLE(IMAGE_ANALYSIS)
- (void)_endImageAnalysisGestureDeferral:(WebKit::ShouldPreventGestures)shouldPreventGestures;
-- (void)requestTextRecognition:(NSURL *)imageURL imageData:(const WebKit::ShareableBitmap::Handle&)imageData identifier:(NSString *)identifier completionHandler:(CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&)completion;
+- (void)requestTextRecognition:(NSURL *)imageURL imageData:(const WebKit::ShareableBitmap::Handle&)imageData source:(NSString *)source target:(NSString *)target completionHandler:(CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&)completion;
#endif
#if HAVE(UIFINDINTERACTION)
Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-05-17 16:38:25 UTC (rev 294325)
@@ -10809,7 +10809,7 @@
return NO;
}
-- (void)requestTextRecognition:(NSURL *)imageURL imageData:(const WebKit::ShareableBitmap::Handle&)imageData identifier:(NSString *)identifier completionHandler:(CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&)completion
+- (void)requestTextRecognition:(NSURL *)imageURL imageData:(const WebKit::ShareableBitmap::Handle&)imageData source:(NSString *)source target:(NSString *)target completionHandler:(CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&)completion
{
auto imageBitmap = WebKit::ShareableBitmap::create(imageData);
if (!imageBitmap) {
@@ -10824,10 +10824,11 @@
}
#if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
- if (identifier.length)
- return WebKit::requestImageAnalysisWithIdentifier(self.imageAnalyzer, imageURL, identifier, cgImage.get(), WTFMove(completion));
+ if (target.length)
+ return WebKit::requestImageAnalysisWithIdentifiers(self.imageAnalyzer, imageURL, source, target, cgImage.get(), WTFMove(completion));
#else
- UNUSED_PARAM(identifier);
+ UNUSED_PARAM(source);
+ UNUSED_PARAM(target);
#endif
auto request = [self createImageAnalyzerRequest:VKAnalysisTypeText image:cgImage.get()];
Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -131,7 +131,7 @@
void doneWithKeyEvent(const NativeWebKeyboardEvent&, bool wasEventHandled) override;
#if ENABLE(IMAGE_ANALYSIS)
- void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&) override;
+ void requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(WebCore::TextRecognitionResult&&)>&&) override;
void computeHasVisualSearchResults(const URL&, ShareableBitmap&, CompletionHandler<void(bool)>&&) override;
#endif
Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm (294324 => 294325)
--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm 2022-05-17 16:38:25 UTC (rev 294325)
@@ -484,9 +484,9 @@
#if ENABLE(IMAGE_ANALYSIS)
-void PageClientImpl::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& identifier, CompletionHandler<void(TextRecognitionResult&&)>&& completion)
+void PageClientImpl::requestTextRecognition(const URL& imageURL, const ShareableBitmap::Handle& imageData, const String& source, const String& target, CompletionHandler<void(TextRecognitionResult&&)>&& completion)
{
- m_impl->requestTextRecognition(imageURL, imageData, identifier, WTFMove(completion));
+ m_impl->requestTextRecognition(imageURL, imageData, source, target, WTFMove(completion));
}
void PageClientImpl::computeHasVisualSearchResults(const URL& imageURL, ShareableBitmap& imageBitmap, CompletionHandler<void(bool)>&& completion)
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (294324 => 294325)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2022-05-17 16:38:25 UTC (rev 294325)
@@ -7808,7 +7808,7 @@
auto cachedImage = renderImage.cachedImage();
auto imageURL = cachedImage ? element.document().completeURL(cachedImage->url().string()) : URL { };
- sendWithAsyncReply(Messages::WebPageProxy::RequestTextRecognition(WTFMove(imageURL), WTFMove(bitmapHandle), options.identifier), [webPage = WeakPtr { *this }, weakElement = WeakPtr { element }] (auto&& result) {
+ sendWithAsyncReply(Messages::WebPageProxy::RequestTextRecognition(WTFMove(imageURL), WTFMove(bitmapHandle), options.source, options.target), [webPage = WeakPtr { *this }, weakElement = WeakPtr { element }] (auto&& result) {
RefPtr protectedPage { webPage.get() };
if (!protectedPage)
return;
@@ -7879,13 +7879,10 @@
completionHandler(updateResult);
}
-void WebPage::startImageAnalysis(const String& identifier)
+void WebPage::startImageAnalysis(const String& source, const String& target)
{
- if (RefPtr document = m_mainFrame->coreFrame()->document()) {
- // We only consider main document content for now, to match the behavior of the corresponding feature
- // that will trigger this codepath.
- corePage()->imageAnalysisQueue().enqueueAllImages(*document, identifier);
- }
+ if (RefPtr document = m_mainFrame->coreFrame()->document())
+ corePage()->imageAnalysisQueue().enqueueAllImages(*document, source, target);
}
#endif // ENABLE(IMAGE_ANALYSIS)
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (294324 => 294325)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2022-05-17 16:38:25 UTC (rev 294325)
@@ -1462,7 +1462,7 @@
#if ENABLE(IMAGE_ANALYSIS)
void requestTextRecognition(WebCore::Element&, WebCore::TextRecognitionOptions&&, CompletionHandler<void(RefPtr<WebCore::Element>&&)>&& = { });
void updateWithTextRecognitionResult(const WebCore::TextRecognitionResult&, const WebCore::ElementContext&, const WebCore::FloatPoint& location, CompletionHandler<void(TextRecognitionUpdateResult)>&&);
- void startImageAnalysis(const String& identifier);
+ void startImageAnalysis(const String& source, const String& target);
#endif
void requestImageBitmap(const WebCore::ElementContext&, CompletionHandler<void(const ShareableBitmap::Handle&, const String& sourceMIMEType)>&&);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (294324 => 294325)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2022-05-17 16:38:25 UTC (rev 294325)
@@ -675,7 +675,7 @@
#if ENABLE(IMAGE_ANALYSIS)
UpdateWithTextRecognitionResult(struct WebCore::TextRecognitionResult result, struct WebCore::ElementContext element, WebCore::FloatPoint location) -> (enum:uint8_t WebKit::TextRecognitionUpdateResult result)
- StartImageAnalysis(String identifier)
+ StartImageAnalysis(String source, String target)
#endif
ScrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin)
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm (294324 => 294325)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm 2022-05-17 15:40:24 UTC (rev 294324)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm 2022-05-17 16:38:25 UTC (rev 294325)
@@ -246,7 +246,7 @@
auto webView = createWebViewWithTextRecognitionEnhancements();
[webView synchronouslyLoadTestPageNamed:@"multiple-images"];
- [webView _startImageAnalysis:nil];
+ [webView _startImageAnalysis:nil target:nil];
[webView waitForImageAnalysisRequests:5];
NSArray<NSString *> *overlaysAsText = [webView objectByEvaluatingJavaScript:@"imageOverlaysAsText()"];
@@ -268,7 +268,7 @@
}];
Util::run(&doneInsertingFrame);
- [webView _startImageAnalysis:nil];
+ [webView _startImageAnalysis:nil target:nil];
[webView waitForImageAnalysisRequests:10];
}
@@ -278,7 +278,7 @@
auto webView = createWebViewWithTextRecognitionEnhancements();
[webView synchronouslyLoadTestPageNamed:@"image"];
- [webView _startImageAnalysis:nil];
+ [webView _startImageAnalysis:nil target:nil];
[webView waitForImageAnalysisRequests:1];
[webView objectByEvaluatingJavaScript:@"document.querySelector('img').src = ''"];
@@ -291,7 +291,7 @@
auto webView = createWebViewWithTextRecognitionEnhancements();
[webView synchronouslyLoadTestPageNamed:@"multiple-images"];
- [webView _startImageAnalysis:nil];
+ [webView _startImageAnalysis:nil target:nil];
[webView waitForImageAnalysisRequests:5];
[webView objectByEvaluatingJavaScript:@"appendImage('apple.gif')"];
@@ -313,7 +313,7 @@
auto webView = createWebViewWithTextRecognitionEnhancements();
[webView synchronouslyLoadTestPageNamed:@"multiple-images"];
- [webView _startImageAnalysis:nil];
+ [webView _startImageAnalysis:nil target:nil];
[webView waitForImageAnalysisRequests:5];
[webView synchronouslyLoadTestPageNamed:@"simple"];
@@ -329,7 +329,7 @@
auto requestSwizzler = makeImageAnalysisRequestSwizzler(processRequestWithResults);
auto webView = createWebViewWithTextRecognitionEnhancements();
[webView synchronouslyLoadTestPageNamed:@"offscreen-image"];
- [webView _startImageAnalysis:nil];
+ [webView _startImageAnalysis:nil target:nil];
[webView waitForImageAnalysisRequests:2];
auto firstRequestedImage = [processedRequests().first() image];
@@ -345,7 +345,7 @@
auto requestSwizzler = makeImageAnalysisRequestSwizzler(processRequestWithError);
auto webView = createWebViewWithTextRecognitionEnhancements();
[webView synchronouslyLoadTestPageNamed:@"fade-in-image"];
- [webView _startImageAnalysis:@"foo"];
+ [webView _startImageAnalysis:@"foo" target:@"bar"];
[webView waitForImageAnalysisRequests:1];
CGImagePixelReader reader { [processedRequests().first() image] };