Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d0dc0c8cdd47bc8ff489ab515d4b3ad653067d6e
https://github.com/WebKit/WebKit/commit/d0dc0c8cdd47bc8ff489ab515d4b3ad653067d6e
Author: Kimmo Kinnunen <[email protected]>
Date: 2025-11-10 (Mon, 10 Nov 2025)
Changed paths:
M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp
M Source/WebCore/Modules/ShapeDetection/FaceDetector.cpp
M
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h
M
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm
M
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h
M
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm
M
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h
M
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.mm
M
Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeDetectorInterface.h
M Source/WebCore/Modules/ShapeDetection/Interfaces/FaceDetectorInterface.h
M Source/WebCore/Modules/ShapeDetection/Interfaces/TextDetectorInterface.h
M Source/WebCore/Modules/ShapeDetection/TextDetector.cpp
M Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.cpp
M Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.h
M Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.cpp
M Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.h
M Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.cpp
M Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.h
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in
M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteBarcodeDetectorProxy.cpp
M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteBarcodeDetectorProxy.h
M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteFaceDetectorProxy.cpp
M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteFaceDetectorProxy.h
M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteTextDetectorProxy.cpp
M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteTextDetectorProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
Log Message:
-----------
GPUP: ShapeDetection implementation should operate on NativeImages
https://bugs.webkit.org/show_bug.cgi?id=301914
rdar://163993427
Reviewed by Mike Wyrzykowski.
The input to shape detection is a bitmap image. This is represented by
WebCore::NativeImage. Change the ShapeDetection detector inputs to
NativeImage instead of ImageBuffers. This way the natural sources,
images, are directly passable to ShapeDetection instead of the lossy,
redundant conversion to ImageBuffers.
This change is a prerequisite to the target commit of doing similar
change to ImageBitmap, e.g. making ImageBitmap hold a NativeImage
directly for similar performance and correctness reasons. ShapeDetection
uses ImageBitmap as a implementation detail to obtain the image out of
various ImageBitmapSources. Before ImageBitmap can be made to hold
NativeImage, ShapeDetection must be able to input NativeImage.
* Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp:
(WebCore::BarcodeDetector::detect):
* Source/WebCore/Modules/ShapeDetection/FaceDetector.cpp:
(WebCore::FaceDetector::detect):
*
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h:
*
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm:
(WebCore::ShapeDetection::BarcodeDetectorImpl::detect):
*
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h:
*
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm:
(WebCore::ShapeDetection::FaceDetectorImpl::detect):
*
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h:
*
Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.mm:
(WebCore::ShapeDetection::TextDetectorImpl::detect):
* Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeDetectorInterface.h:
* Source/WebCore/Modules/ShapeDetection/Interfaces/FaceDetectorInterface.h:
* Source/WebCore/Modules/ShapeDetection/Interfaces/TextDetectorInterface.h:
* Source/WebCore/Modules/ShapeDetection/TextDetector.cpp:
(WebCore::TextDetector::detect):
* Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.cpp:
(WebKit::RemoteBarcodeDetector::RemoteBarcodeDetector):
(WebKit::RemoteBarcodeDetector::sharedPreferencesForWebProcess const):
(WebKit::RemoteBarcodeDetector::detect):
(WebKit::RemoteBarcodeDetector::protectedBacking const): Deleted.
(WebKit::RemoteBarcodeDetector::protectedBackend const): Deleted.
* Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.h:
(WebKit::RemoteBarcodeDetector::create):
(WebKit::RemoteBarcodeDetector::backing const): Deleted.
* Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.cpp:
(WebKit::RemoteFaceDetector::RemoteFaceDetector):
(WebKit::RemoteFaceDetector::sharedPreferencesForWebProcess const):
(WebKit::RemoteFaceDetector::detect):
* Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.h:
(WebKit::RemoteFaceDetector::create):
(WebKit::RemoteFaceDetector::backing): Deleted.
(WebKit::RemoteFaceDetector::protectedBackend const): Deleted.
* Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.cpp:
(WebKit::RemoteTextDetector::RemoteTextDetector):
(WebKit::RemoteTextDetector::sharedPreferencesForWebProcess const):
(WebKit::RemoteTextDetector::detect):
(WebKit::RemoteTextDetector::protectedBacking const): Deleted.
(WebKit::RemoteTextDetector::protectedBackend const): Deleted.
* Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.h:
(WebKit::RemoteTextDetector::create):
(WebKit::RemoteTextDetector::backing const): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createBarcodeDetector):
(WebKit::RemoteRenderingBackend::releaseBarcodeDetector):
(WebKit::RemoteRenderingBackend::supportedBarcodeDetectorBarcodeFormats):
(WebKit::RemoteRenderingBackend::createFaceDetector):
(WebKit::RemoteRenderingBackend::releaseFaceDetector):
(WebKit::RemoteRenderingBackend::createTextDetector):
(WebKit::RemoteRenderingBackend::releaseTextDetector):
(WebKit::RemoteRenderingBackend::createRemoteBarcodeDetector): Deleted.
(WebKit::RemoteRenderingBackend::releaseRemoteBarcodeDetector): Deleted.
(WebKit::RemoteRenderingBackend::getRemoteBarcodeDetectorSupportedFormats):
Deleted.
(WebKit::RemoteRenderingBackend::createRemoteFaceDetector): Deleted.
(WebKit::RemoteRenderingBackend::releaseRemoteFaceDetector): Deleted.
(WebKit::RemoteRenderingBackend::createRemoteTextDetector): Deleted.
(WebKit::RemoteRenderingBackend::releaseRemoteTextDetector): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
* Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteBarcodeDetectorProxy.cpp:
(WebKit::ShapeDetection::RemoteBarcodeDetectorProxy::create):
(WebKit::ShapeDetection::RemoteBarcodeDetectorProxy::RemoteBarcodeDetectorProxy):
(WebKit::ShapeDetection::RemoteBarcodeDetectorProxy::~RemoteBarcodeDetectorProxy):
(WebKit::ShapeDetection::RemoteBarcodeDetectorProxy::detect):
(WebKit::ShapeDetection::RemoteBarcodeDetectorProxy::getSupportedFormats):
Deleted.
* Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteBarcodeDetectorProxy.h:
(WebKit::ShapeDetection::RemoteBarcodeDetectorProxy::backing const): Deleted.
* Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteFaceDetectorProxy.cpp:
(WebKit::ShapeDetection::RemoteFaceDetectorProxy::create):
(WebKit::ShapeDetection::RemoteFaceDetectorProxy::RemoteFaceDetectorProxy):
(WebKit::ShapeDetection::RemoteFaceDetectorProxy::~RemoteFaceDetectorProxy):
(WebKit::ShapeDetection::RemoteFaceDetectorProxy::detect):
* Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteFaceDetectorProxy.h:
(WebKit::ShapeDetection::RemoteFaceDetectorProxy::backing const): Deleted.
* Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteTextDetectorProxy.cpp:
(WebKit::ShapeDetection::RemoteTextDetectorProxy::create):
(WebKit::ShapeDetection::RemoteTextDetectorProxy::RemoteTextDetectorProxy):
(WebKit::ShapeDetection::RemoteTextDetectorProxy::~RemoteTextDetectorProxy):
(WebKit::ShapeDetection::RemoteTextDetectorProxy::detect):
* Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteTextDetectorProxy.h:
(WebKit::ShapeDetection::RemoteTextDetectorProxy::backing const): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::createBarcodeDetector):
(WebKit::RemoteRenderingBackendProxy::releaseBarcodeDetector):
(WebKit::RemoteRenderingBackendProxy::supportedBarcodeDetectorBarcodeFormats):
(WebKit::RemoteRenderingBackendProxy::createFaceDetector):
(WebKit::RemoteRenderingBackendProxy::releaseFaceDetector):
(WebKit::RemoteRenderingBackendProxy::createTextDetector):
(WebKit::RemoteRenderingBackendProxy::releaseTextDetector):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createBarcodeDetector const):
(WebKit::WebChromeClient::getBarcodeDetectorSupportedFormats const):
(WebKit::WebChromeClient::createFaceDetector const):
(WebKit::WebChromeClient::createTextDetector const):
Canonical link: https://commits.webkit.org/302786@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications