Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ecd29c94a78726d4a23e10222a1b00b5572c8fca
https://github.com/WebKit/WebKit/commit/ecd29c94a78726d4a23e10222a1b00b5572c8fca
Author: Said Abou-Hallawa <[email protected]>
Date: 2023-04-03 (Mon, 03 Apr 2023)
Changed paths:
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
M Source/WebKit/GPUProcess/graphics/wc/WCScene.cpp
M Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.cpp
M Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp
M Source/WebKit/Shared/ContextMenuContextData.cpp
M Source/WebKit/Shared/ShareableBitmap.cpp
M Source/WebKit/Shared/ShareableBitmap.h
M Source/WebKit/Shared/ShareableBitmap.serialization.in
M Source/WebKit/Shared/ShareableBitmapHandle.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
M Source/WebKit/Shared/cairo/ShareableBitmapCairo.cpp
M Source/WebKit/Shared/cg/ShareableBitmapCG.cpp
M Source/WebKit/Shared/gtk/ArgumentCodersGtk.cpp
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M
Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp
M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
M Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp
M Source/WebKit/WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp
M Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm
M Source/WebKit/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
M Source/WebKit/WebProcess/cocoa/TextTrackRepresentationCocoa.mm
Log Message:
-----------
[GPU Process] Refactor ShareableBitmapConfiguration
https://bugs.webkit.org/show_bug.cgi?id=254925
rdar://107567337
Reviewed by Simon Fraser.
ShareableBitmapConfiguration needs to hold the size of the ShareableBitmap so it
can self calculate the sizeInBytes. Also it should hold and IPC the bitmap
properties
instead of calculating them every time they are needed.
The caller should create ShareableBitmap only if sizeInBytes does not have
overflow.
So ShareableBitmapConfiguration does not have to return the bitmap properties in
CheckedUint32 but just unsigned.
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getFilteredImageForImageBuffer):
* Source/WebKit/GPUProcess/graphics/wc/WCScene.cpp:
(WebKit::WCScene::update):
* Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:
(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):
* Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::bitmapImageForCurrentTime):
* Source/WebKit/Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::setImage):
(WebKit::ContextMenuContextData::setPotentialQRCodeNodeSnapshotImage):
(WebKit::ContextMenuContextData::setPotentialQRCodeViewportSnapshotImage):
* Source/WebKit/Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmapConfiguration::ShareableBitmapConfiguration):
(WebKit::ShareableBitmapConfiguration::calculateSizeInBytes):
(WebKit::ShareableBitmap::create):
(WebKit::ShareableBitmap::createReadOnly):
(WebKit::ShareableBitmap::createHandle const):
(WebKit::ShareableBitmap::createReadOnlyHandle const):
(WebKit::ShareableBitmap::ShareableBitmap):
(WebKit::ShareableBitmap::numBytesForSize): Deleted.
* Source/WebKit/Shared/ShareableBitmap.h:
(WebKit::ShareableBitmapConfiguration::size const):
(WebKit::ShareableBitmapConfiguration::colorSpace const):
(WebKit::ShareableBitmapConfiguration::platformColorSpace const):
(WebKit::ShareableBitmapConfiguration::isOpaque const):
(WebKit::ShareableBitmapConfiguration::bytesPerPixel const):
(WebKit::ShareableBitmapConfiguration::bytesPerRow const):
(WebKit::ShareableBitmapConfiguration::bitmapInfo const):
(WebKit::ShareableBitmapConfiguration::sizeInBytes const):
(WebKit::ShareableBitmap::size const):
(WebKit::ShareableBitmap::bytesPerRow const):
(WebKit::ShareableBitmap::sizeInBytes const):
* Source/WebKit/Shared/ShareableBitmap.serialization.in:
* Source/WebKit/Shared/ShareableBitmapHandle.cpp:
(WebKit::ShareableBitmapHandle::ShareableBitmapHandle):
(WebKit::ShareableBitmapHandle::clear):
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<RefPtr<Image>>::encode):
* Source/WebKit/Shared/cairo/ShareableBitmapCairo.cpp:
(WebKit::ShareableBitmapConfiguration::validateColorSpace):
(WebKit::ShareableBitmapConfiguration::calculateBytesPerPixel):
(WebKit::ShareableBitmapConfiguration::calculateBytesPerRow):
(WebKit::ShareableBitmap::paint):
(WebKit::ShareableBitmap::createPersistentCairoSurface):
(WebKit::ShareableBitmap::createCairoSurface):
(WebKit::ShareableBitmap::validateConfiguration): Deleted.
(WebKit::ShareableBitmap::calculateBytesPerRow): Deleted.
(WebKit::ShareableBitmap::calculateBytesPerPixel): Deleted.
* Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmapConfiguration::validateColorSpace):
(WebKit::wantsExtendedRange):
(WebKit::ShareableBitmapConfiguration::calculateBytesPerPixel):
(WebKit::ShareableBitmapConfiguration::calculateBytesPerRow):
(WebKit::ShareableBitmapConfiguration::calculateBitmapInfo):
(WebKit::ShareableBitmap::createGraphicsContext):
(WebKit::ShareableBitmap::paint):
(WebKit::ShareableBitmap::createCGImage const):
(WebKit::ShareableBitmap::validateConfiguration): Deleted.
(WebKit::colorSpace): Deleted.
(WebKit::bitmapInfo): Deleted.
(WebKit::ShareableBitmap::calculateBytesPerRow): Deleted.
(WebKit::ShareableBitmap::calculateBytesPerPixel): Deleted.
* Source/WebKit/Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encodeImage):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::convertPlatformImageToBitmap):
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::calculateSafeBackendSize):
(WebKit::ImageBufferShareableBitmapBackend::calculateBytesPerRow):
(WebKit::ImageBufferShareableBitmapBackend::create):
(WebKit::ImageBufferShareableBitmapBackend::configuration): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::createShareableBitmapFromNativeImage):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::snapshot):
* Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:
(WebKit::createShareableBitmap):
* Source/WebKit/WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::convertCairoSurfaceToShareableBitmap):
* Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::convertDragImageToBitmap):
* Source/WebKit/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
(WebKit::WebPopupMenu::setUpPlatformData):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::display):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::drawToImage):
* Source/WebKit/WebProcess/cocoa/TextTrackRepresentationCocoa.mm:
(WebKit::WebTextTrackRepresentationCocoa::update):
Canonical link: https://commits.webkit.org/262547@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes