Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 40ec8ffd372790dbe1809b8d0dc37cf4e15ee524
https://github.com/WebKit/WebKit/commit/40ec8ffd372790dbe1809b8d0dc37cf4e15ee524
Author: Kimmo Kinnunen <[email protected]>
Date: 2025-09-02 (Tue, 02 Sep 2025)
Changed paths:
M Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h
M Source/WebCore/platform/graphics/ShareableBitmap.h
M Source/WebCore/platform/graphics/cairo/ShareableBitmapCairo.cpp
M Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp
M Source/WebCore/platform/graphics/cg/ShareableBitmapCG.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/API/Cocoa/_WKActivatedElementInfo.mm
M Source/WebKit/UIProcess/API/Cocoa/_WKTargetedElementInfo.mm
M Source/WebKit/UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
M Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm
M Source/WebKit/UIProcess/ios/WKContentView.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm
M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
M Source/WebKit/UIProcess/mac/WebViewImpl.mm
M Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp
M Source/WebKit/mac/WebKit2.order
Log Message:
-----------
ShareableBitmap should be able to copy images with non-output color spaces
https://bugs.webkit.org/show_bug.cgi?id=298195
rdar://159610763
Reviewed by Mike Wyrzykowski.
ShareableBitmap::createCGImageCopy() would use CGBitmapContext to
copy the image storage. This was to be able to possibly get copy via vm
mapping. This had the downside that images with non-output color spaces
would end up not working at all.
Fix by avoiding to use CGBitmapContext, rather copy the data provider
with another CG call.
Remove createCGImageCopy and createCGImage. Instead, use the other
existing function, createPlatformImage().
* Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h:
* Source/WebCore/platform/graphics/ShareableBitmap.h:
(WebCore::ShareableBitmap::createPlatformImage): Deleted.
* Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp:
(WebCore::createIconDataFromBitmaps):
* Source/WebCore/platform/graphics/cg/ShareableBitmapCG.mm:
(WebCore::ShareableBitmap::paint):
(WebCore::ShareableBitmap::createPlatformImage):
(WebCore::ShareableBitmap::createImage):
(WebCore::ShareableBitmap::makeCGImageCopy): Deleted.
(WebCore::ShareableBitmap::makeCGImage): Deleted.
(WebCore::ShareableBitmap::createCGImage const): Deleted.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStoreProperties::layerContentsBufferFromBackendHandle):
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView
_loadAndDecodeImage:constrainedToSize:maximumBytesFromNetwork:completionHandler:]):
(-[WKWebView _decodeImageData:preferredSize:completionHandler:]):
* Source/WebKit/UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
(-[_WKActivatedElementInfo image]):
* Source/WebKit/UIProcess/API/Cocoa/_WKTargetedElementInfo.mm:
(-[_WKTargetedElementInfo takeSnapshotWithCompletionHandler:]):
* Source/WebKit/UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm:
(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::takeSnapshot):
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::startDrag):
* Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showImageSheet]):
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _createImage:printFormatter:]):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView doAfterComputingImageAnalysisResultsForBackgroundRemoval:]):
(-[WKContentView _createTargetedContextMenuHintPreviewIfPossible]):
(-[WKContentView
requestTextRecognition:imageData:sourceLanguageIdentifier:targetLanguageIdentifier:completionHandler:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView beginTextRecognitionForFullscreenVideo:playerViewController:]):
(-[WKContentView beginTextRecognitionForVideoInElementFullscreen:bounds:]):
(-[WKContentView assignLegacyDataForContextMenuInteraction]):
(-[WKContentView continueContextMenuInteraction:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
* Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
(WebKit::WebContextMenuProxyMac::appendRemoveBackgroundItemToControlledImageMenuIfNeeded):
(WebKit::WebContextMenuProxyMac::showAfterPostProcessingContextData):
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
* Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::showImageInQuickLookPreviewPanel):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::startDrag):
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::computeHasVisualSearchResults):
(WebKit::WebViewImpl::beginTextRecognitionForVideoInElementFullscreen):
* Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):
* Source/WebKit/mac/WebKit2.order:
Canonical link: https://commits.webkit.org/299446@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