[webkit-changes] [WebKit/WebKit] 8b78e0: Decouple BitmapImage sources and main functions in...

Said Abou-Hallawa noreply at github.com
Fri Mar 29 06:51:12 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8b78e07f7be5805e58bc1858db1ee8a6e6a7a15d
      https://github.com/WebKit/WebKit/commit/8b78e07f7be5805e58bc1858db1ee8a6e6a7a15d
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M LayoutTests/fast/images/async-image-background-image-repeated.html
    M LayoutTests/fast/images/async-image-composited-show.html
    M LayoutTests/fast/images/async-image-intersect-different-size-for-drawing-expected.txt
    M LayoutTests/fast/images/decode-render-animated-image-expected.html
    M LayoutTests/fast/images/decode-render-animated-image.html
    M LayoutTests/platform/ios/fast/images/async-image-intersect-different-size-for-drawing-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/mac-wk2/TestExpectations
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/html/ImageBitmap.cpp
    M Source/WebCore/loader/ImageLoader.cpp
    M Source/WebCore/loader/cache/CachedImage.cpp
    M Source/WebCore/loader/cache/CachedImage.h
    M Source/WebCore/loader/cache/CachedImageClient.h
    M Source/WebCore/platform/cocoa/DragImageCocoa.mm
    M Source/WebCore/platform/graphics/BitmapImage.cpp
    M Source/WebCore/platform/graphics/BitmapImage.h
    A Source/WebCore/platform/graphics/BitmapImageSource.cpp
    A Source/WebCore/platform/graphics/BitmapImageSource.h
    M Source/WebCore/platform/graphics/Image.cpp
    M Source/WebCore/platform/graphics/Image.h
    M Source/WebCore/platform/graphics/ImageAdapter.cpp
    M Source/WebCore/platform/graphics/ImageDecoder.h
    M Source/WebCore/platform/graphics/ImageFrame.cpp
    M Source/WebCore/platform/graphics/ImageFrame.h
    A Source/WebCore/platform/graphics/ImageFrameAnimator.cpp
    A Source/WebCore/platform/graphics/ImageFrameAnimator.h
    A Source/WebCore/platform/graphics/ImageFrameWorkQueue.cpp
    A Source/WebCore/platform/graphics/ImageFrameWorkQueue.h
    M Source/WebCore/platform/graphics/ImageObserver.h
    M Source/WebCore/platform/graphics/ImageSource.cpp
    M Source/WebCore/platform/graphics/ImageSource.h
    M Source/WebCore/platform/graphics/NativeImage.h
    A Source/WebCore/platform/graphics/NativeImageSource.cpp
    A Source/WebCore/platform/graphics/NativeImageSource.h
    M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h
    M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/platform/graphics/cairo/GraphicsContextGLCairo.cpp
    M Source/WebCore/platform/graphics/cairo/NativeImageCairo.cpp
    M Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp
    M Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp
    M Source/WebCore/platform/graphics/cg/ImageDecoderCG.h
    M Source/WebCore/platform/graphics/cg/NativeImageCG.cpp
    M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h
    M Source/WebCore/platform/graphics/gtk/ImageAdapterGtk.cpp
    M Source/WebCore/platform/graphics/mac/ImageAdapterMac.mm
    M Source/WebCore/platform/graphics/skia/GraphicsContextGLSkia.cpp
    M Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp
    M Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
    M Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
    M Source/WebCore/platform/gtk/DragImageGtk.cpp
    M Source/WebCore/platform/image-decoders/ScalableImageDecoder.h
    M Source/WebCore/platform/win/cairo/DragImageWinCairo.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.cpp
    M Source/WebCore/rendering/RenderElement.h
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/svg/SVGFEImageElement.cpp
    M Source/WebCore/svg/graphics/SVGImageForContainer.cpp
    M Source/WebCore/svg/graphics/SVGImageForContainer.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebKit/UIProcess/API/glib/IconDatabase.cpp
    M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp
    M Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp
    M Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.h
    M Tools/TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp

  Log Message:
  -----------
  Decouple BitmapImage sources and main functions into separate classes
https://bugs.webkit.org/show_bug.cgi?id=265363
rdar://118819338

Reviewed by Cameron McCormack.

The BitmapImage and ImageSource manage the operations and the queries of the
bitmap image. The current interface and the code structure of these two classes
and the relationship between them make it difficult and risky to hack.

This purpose of this refactor is to provide a clearer interface and to build a
a better class hierarchy and association. This will allow distributing the
operations among better encapsulated classes.

Here is the new class hierarchy and association:

  Image: The super class for all kinds of images in WebKit.

  ImageAdapter: It converts an Image to a platform specific format.

  ImageDecoder: A super class for the system and WebKit image decoders

  ImageSource: A super class BitmapImage source. It can be from a CachedImage or
  from a NativeImage.

  BitmapImageSource: Receives the encoded data of an image and provides all the
  frames decoded NativeImage and metadata. It holds and coordinates the interactions
  amog BitmapImage, ImageFrameAnimator and ImageFrameWorkQueue.

  NativeImageSource: It wraps an already created NativeImage in a BitmapImage.

  ImageFrameAnimator: It advances the current frame index of an animated image when.
  its timer fires. The timer is set with the duration of the frame. It requests
  decoding the NativeImage asynchronously if this is allowed.

  ImageFrameWorkQueue: It decodes the NativeImage of an ImageFrame asynchronously
  on a separate WorkQueue. Once the NativeImage is ready, it asks BitmapImageSource
  to cache it on the main thread. BitmapImageSource will notifies the observer
  that a new frame is ready for rendering.

  BitmapImage: This is a sub-class of Image which mainly handles the layout and
  the drawing of a bitmap image to a GraphicsContext.

An important change of this PR is the DecodingMode and AllowImageSubsampling are
calculated in advance before calling BitmapImage::draw(). So Settings are no
longer passed or updated by BitmapImage before calling its draw() method.

* LayoutTests/fast/images/async-image-background-image-repeated.html:
Make the frame decoding duration time longer than the animation duration time so
the decoding always finishes after the animation timer fires.

* LayoutTests/fast/images/async-image-composited-show.html:
Make this test do the decoding asynchronously. The debug settings were missing.

* LayoutTests/fast/images/async-image-intersect-different-size-for-drawing-expected.txt:
If the decodingMode is Synchronous, no sizeForDrawing should be set.

* LayoutTests/fast/images/decode-render-animated-image-expected.html:
* LayoutTests/fast/images/decode-render-animated-image.html:
Make the test relies solely on the `decode()` method instead of the mix between
the debug event "webkitImageFrameReady" and the `decode()` method.

* LayoutTests/platform/ios-wk2/fast/images/async-image-intersect-different-size-for-drawing-expected.txt:
If the decodingMode is Synchronous, no sizeForDrawing should be set.

* LayoutTests/platform/mac-wk1/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp:
(WebCore::WebCodecsVideoFrame::create):
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/ImageBitmap.cpp:
* Source/WebCore/loader/ImageLoader.cpp:
(WebCore::ImageLoader::decode):
* Source/WebCore/loader/cache/CachedImage.cpp:
(WebCore::CachedImage::removeAllClientsWaitingForAsyncDecoding):
(WebCore::CachedImage::CachedImageObserver::canDestroyDecodedData const):
(WebCore::CachedImage::canDestroyDecodedData const):
(WebCore::CachedImage::CachedImageObserver::canDestroyDecodedData): Deleted.
(WebCore::CachedImage::canDestroyDecodedData): Deleted.
* Source/WebCore/loader/cache/CachedImage.h:
* Source/WebCore/loader/cache/CachedImageClient.h:
(WebCore::CachedImageClient::canDestroyDecodedData const):
(WebCore::CachedImageClient::canDestroyDecodedData): Deleted.
* Source/WebCore/platform/cocoa/DragImageCocoa.mm:
(WebCore::createDragImageFromImage):
* Source/WebCore/platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::create):
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::dataChanged):
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::drawPattern):
(WebCore::BitmapImage::dump const):
(WebCore::BitmapImage::~BitmapImage): Deleted.
(WebCore::BitmapImage::destroyDecodedDataIfNecessary): Deleted.
(WebCore::BitmapImage::setCurrentFrameDecodingStatusIfNecessary): Deleted.
(WebCore::BitmapImage::nativeImageAtIndexCacheIfNeeded): Deleted.
(WebCore::BitmapImage::nativeImage): Deleted.
(WebCore::BitmapImage::nativeImageForCurrentFrame): Deleted.
(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame): Deleted.
(WebCore::BitmapImage::notSolidColor): Deleted.
(WebCore::drawNativeImage): Deleted.
(WebCore::BitmapImage::shouldAnimate const): Deleted.
(WebCore::BitmapImage::canAnimate const): Deleted.
(WebCore::BitmapImage::canUseAsyncDecodingForLargeImages const): Deleted.
(WebCore::BitmapImage::shouldUseAsyncDecodingForAnimatedImages const): Deleted.
(WebCore::BitmapImage::clearTimer): Deleted.
(WebCore::BitmapImage::startTimer): Deleted.
(WebCore::BitmapImage::subsamplingLevelForScaleFactor): Deleted.
(WebCore::BitmapImage::canDestroyDecodedData): Deleted.
(WebCore::BitmapImage::internalStartAnimation): Deleted.
(WebCore::BitmapImage::advanceAnimation): Deleted.
(WebCore::BitmapImage::internalAdvanceAnimation): Deleted.
(WebCore::BitmapImage::isAnimating const): Deleted.
(WebCore::BitmapImage::stopAnimation): Deleted.
(WebCore::BitmapImage::resetAnimation): Deleted.
(WebCore::BitmapImage::decode): Deleted.
(WebCore::BitmapImage::callDecodingCallbacks): Deleted.
(WebCore::BitmapImage::imageFrameAvailableAtIndex): Deleted.
(WebCore::BitmapImage::colorSpace): Deleted.
(WebCore::BitmapImage::decodeCountForTesting const): Deleted.
(WebCore::BitmapImage::lastDecodingOptions const): Deleted.
* Source/WebCore/platform/graphics/BitmapImage.h:
* Source/WebCore/platform/graphics/BitmapImageSource.cpp: Added.
(WebCore::BitmapImageSource::create):
(WebCore::BitmapImageSource::BitmapImageSource):
(WebCore::BitmapImageSource::decoder const):
(WebCore::BitmapImageSource::frameAnimator const):
(WebCore::BitmapImageSource::workQueue const):
(WebCore::BitmapImageSource::encodedDataStatusChanged):
(WebCore::BitmapImageSource::dataChanged):
(WebCore::BitmapImageSource::destroyDecodedData):
(WebCore::BitmapImageSource::decodedSizeChanged):
(WebCore::BitmapImageSource::decodedSizeIncreased):
(WebCore::BitmapImageSource::decodedSizeDecreased):
(WebCore::BitmapImageSource::decodedSizeReset):
(WebCore::BitmapImageSource::destroyNativeImageAtIndex):
(WebCore::BitmapImageSource::canDestroyDecodedData const):
(WebCore::BitmapImageSource::didDecodeProperties):
(WebCore::BitmapImageSource::clearFrameBufferCache):
(WebCore::BitmapImageSource::setData):
(WebCore::BitmapImageSource::resetData):
(WebCore::BitmapImageSource::startAnimation):
(WebCore::BitmapImageSource::stopAnimation):
(WebCore::BitmapImageSource::resetAnimation):
(WebCore::BitmapImageSource::isAnimated const):
(WebCore::BitmapImageSource::isAnimating const):
(WebCore::BitmapImageSource::isAnimationAllowed const):
(WebCore::BitmapImageSource::hasEverAnimated const):
(WebCore::BitmapImageSource::isLargeForDecoding const):
(WebCore::BitmapImageSource::isDecodingWorkQueueIdle const):
(WebCore::BitmapImageSource::stopDecodingWorkQueue):
(WebCore::BitmapImageSource::isPendingDecodingAtIndex const):
(WebCore::BitmapImageSource::isCompatibleWithOptionsAtIndex const):
(WebCore::BitmapImageSource::decode):
(WebCore::BitmapImageSource::callDecodeCallbacks):
(WebCore::BitmapImageSource::imageFrameAtIndexAvailable):
(WebCore::BitmapImageSource::imageFrameDecodeAtIndexHasFinished):
(WebCore::BitmapImageSource::currentFrameIndex const):
(WebCore::BitmapImageSource::cacheMetadataAtIndex):
(WebCore::BitmapImageSource::cacheNativeImageAtIndex):
(WebCore::BitmapImageSource::frameAtIndex const):
(WebCore::BitmapImageSource::frameAtIndexCacheIfNeeded):
(WebCore::BitmapImageSource::requestNativeImageAtIndex):
(WebCore::BitmapImageSource::requestNativeImageAtIndexIfNeeded):
(WebCore::BitmapImageSource::nativeImageAtIndexCacheIfNeeded):
(WebCore::BitmapImageSource::nativeImageAtIndexRequestIfNeeded):
(WebCore::BitmapImageSource::nativeImageAtIndexForDrawing):
(WebCore::BitmapImageSource::currentNativeImageForDrawing):
(WebCore::BitmapImageSource::nativeImageAtIndex):
(WebCore::BitmapImageSource::preTransformedNativeImageAtIndex):
(WebCore::BitmapImageSource::imageMetadata const):
(WebCore::BitmapImageSource::primaryNativeImageMetadata const):
(WebCore::BitmapImageSource::primaryImageFrameMetadata const):
(WebCore::BitmapImageSource::encodedDataStatus const):
(WebCore::BitmapImageSource::size const):
(WebCore::BitmapImageSource::sourceSize const):
(WebCore::BitmapImageSource::densityCorrectedSize const):
(WebCore::BitmapImageSource::orientation const):
(WebCore::BitmapImageSource::primaryFrameIndex const):
(WebCore::BitmapImageSource::frameCount const):
(WebCore::BitmapImageSource::repetitionCount const):
(WebCore::BitmapImageSource::colorSpace const):
(WebCore::BitmapImageSource::singlePixelSolidColor const):
(WebCore::BitmapImageSource::uti const):
(WebCore::BitmapImageSource::filenameExtension const):
(WebCore::BitmapImageSource::accessibilityDescription const):
(WebCore::BitmapImageSource::hotSpot const):
(WebCore::BitmapImageSource::maximumSubsamplingLevel const):
(WebCore::BitmapImageSource::subsamplingLevelForScaleFactor):
(WebCore::BitmapImageSource::frameSizeAtIndex const):
(WebCore::BitmapImageSource::frameDurationAtIndex const):
(WebCore::BitmapImageSource::frameOrientationAtIndex const):
(WebCore::BitmapImageSource::frameDecodingStatusAtIndex const):
(WebCore::BitmapImageSource::sourceUTF8 const):
(WebCore::BitmapImageSource::setMinimumDecodingDurationForTesting):
(WebCore::BitmapImageSource::dump const):
* Source/WebCore/platform/graphics/BitmapImageSource.h: Added.
(WebCore::BitmapImageSource::decodedSize const):
(WebCore::BitmapImageSource::nativeImageAtIndexCacheIfNeeded):
(WebCore::BitmapImageSource::decodeCountForTesting const):
* Source/WebCore/platform/graphics/Image.cpp:
(WebCore::Image::drawPattern):
(WebCore::Image::drawTiled):
* Source/WebCore/platform/graphics/Image.h:
(WebCore::Image::frameCount const):
(WebCore::Image::nativeImageAtIndex):
(WebCore::Image::currentNativeImage):
(WebCore::Image::currentPreTransformedNativeImage):
(WebCore::Image::hasSolidColor):
(WebCore::Image::singlePixelSolidColor const):
(WebCore::Image::nativeImageForCurrentFrame): Deleted.
(WebCore::Image::preTransformedNativeImageForCurrentFrame): Deleted.
(WebCore::Image::nativeImageAtIndexCacheIfNeeded): Deleted.
(WebCore::Image::notSolidColor): Deleted.
* Source/WebCore/platform/graphics/ImageAdapter.cpp:
(WebCore::ImageAdapter::nativeImageOfSize):
(WebCore::ImageAdapter::allNativeImages):
* Source/WebCore/platform/graphics/ImageDecoder.h:
(WebCore::ImageDecoder::frameOrientationAtIndex const):
(WebCore::ImageDecoder::densityCorrectedSizeAtIndex const):
* Source/WebCore/platform/graphics/ImageFrame.cpp:
(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::size const): Deleted.
(WebCore::ImageFrame::singlePixelSolidColor const): Deleted.
* Source/WebCore/platform/graphics/ImageFrame.h:
(WebCore::ImageFrame::setSize):
(WebCore::ImageFrame::size const):
(WebCore::ImageFrame::decodingOptions const):
* Source/WebCore/platform/graphics/ImageFrameAnimator.cpp: Added.
(WebCore::ImageFrameAnimator::create):
(WebCore::ImageFrameAnimator::ImageFrameAnimator):
(WebCore::ImageFrameAnimator::~ImageFrameAnimator):
(WebCore::ImageFrameAnimator::destroyDecodedData):
(WebCore::ImageFrameAnimator::startTimer):
(WebCore::ImageFrameAnimator::clearTimer):
(WebCore::ImageFrameAnimator::timerFired):
(WebCore::ImageFrameAnimator::imageFrameDecodeAtIndexHasFinished):
(WebCore::ImageFrameAnimator::startAnimation):
(WebCore::ImageFrameAnimator::advanceAnimation):
(WebCore::ImageFrameAnimator::stopAnimation):
(WebCore::ImageFrameAnimator::resetAnimation):
(WebCore::ImageFrameAnimator::isAnimationAllowed const):
(WebCore::ImageFrameAnimator::sourceUTF8 const):
(WebCore::ImageFrameAnimator::dump const):
* Source/WebCore/platform/graphics/ImageFrameAnimator.h: Added.
(WebCore::ImageFrameAnimator::isAnimating const):
(WebCore::ImageFrameAnimator::hasEverAnimated const):
(WebCore::ImageFrameAnimator::currentFrameIndex const):
(WebCore::ImageFrameAnimator::nextFrameIndex const):
* Source/WebCore/platform/graphics/ImageFrameWorkQueue.cpp: Added.
(WebCore::ImageFrameWorkQueue::create):
(WebCore::ImageFrameWorkQueue::ImageFrameWorkQueue):
(WebCore::ImageFrameWorkQueue::requestQueue):
(WebCore::ImageFrameWorkQueue::start):
(WebCore::ImageFrameWorkQueue::dispatch):
(WebCore::ImageFrameWorkQueue::stop):
(WebCore::ImageFrameWorkQueue::isPendingDecodingAtIndex const):
(WebCore::ImageFrameWorkQueue::dump const):
* Source/WebCore/platform/graphics/ImageFrameWorkQueue.h: Added.
(WebCore::ImageFrameWorkQueue::isIdle const):
(WebCore::ImageFrameWorkQueue::setMinimumDecodingDurationForTesting):
(WebCore::ImageFrameWorkQueue::protectedSource const):
(WebCore::ImageFrameWorkQueue::decodeQueue):
(WebCore::ImageFrameWorkQueue::minimumDecodingDurationForTesting const):
* Source/WebCore/platform/graphics/ImageObserver.h:
(WebCore::ImageObserver::canDestroyDecodedData const):
* Source/WebCore/platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::primaryNativeImageForDrawing):
(WebCore::ImageSource::currentNativeImageForDrawing):
(WebCore::ImageSource::hasSolidColor const):
(WebCore::ImageSource::ImageSource): Deleted.
(WebCore::ImageSource::~ImageSource): Deleted.
(WebCore::ImageSource::ensureDecoderAvailable): Deleted.
(WebCore::ImageSource::setData): Deleted.
(WebCore::ImageSource::resetData): Deleted.
(WebCore::ImageSource::dataChanged): Deleted.
(WebCore::ImageSource::isAllDataReceived): Deleted.
(WebCore::ImageSource::destroyDecodedData): Deleted.
(WebCore::ImageSource::destroyIncompleteDecodedData): Deleted.
(WebCore::ImageSource::clearFrameBufferCache): Deleted.
(WebCore::ImageSource::encodedDataStatusChanged): Deleted.
(WebCore::ImageSource::decodedSizeChanged): Deleted.
(WebCore::ImageSource::decodedSizeIncreased): Deleted.
(WebCore::ImageSource::decodedSizeDecreased): Deleted.
(WebCore::ImageSource::decodedSizeReset): Deleted.
(WebCore::ImageSource::didDecodeProperties): Deleted.
(WebCore::ImageSource::growFrames): Deleted.
(WebCore::ImageSource::setNativeImage): Deleted.
(WebCore::ImageSource::cacheMetadataAtIndex): Deleted.
(WebCore::ImageSource::cachePlatformImageAtIndex): Deleted.
(WebCore::ImageSource::cachePlatformImageAtIndexAsync): Deleted.
(WebCore::ImageSource::decodingQueue): Deleted.
(WebCore::ImageSource::frameRequestQueue): Deleted.
(WebCore::ImageSource::canUseAsyncDecoding): Deleted.
(WebCore::ImageSource::startAsyncDecodingQueue): Deleted.
(WebCore::ImageSource::requestFrameAsyncDecodingAtIndex): Deleted.
(WebCore::ImageSource::isAsyncDecodingQueueIdle const): Deleted.
(WebCore::ImageSource::stopAsyncDecodingQueue): Deleted.
(WebCore::ImageSource::frameAtIndexCacheIfNeeded): Deleted.
(WebCore::ImageSource::clearMetadata): Deleted.
(WebCore::ImageSource::sourceURL const): Deleted.
(WebCore::ImageSource::mimeType const): Deleted.
(WebCore::ImageSource::expectedContentLength const): Deleted.
(WebCore::ImageSource::metadataCacheIfNeeded): Deleted.
(WebCore::ImageSource::firstFrameMetadataCacheIfNeeded): Deleted.
(WebCore::ImageSource::encodedDataStatus): Deleted.
(WebCore::ImageSource::frameCount): Deleted.
(WebCore::ImageSource::primaryFrameIndex): Deleted.
(WebCore::ImageSource::repetitionCount): Deleted.
(WebCore::ImageSource::uti): Deleted.
(WebCore::ImageSource::filenameExtension): Deleted.
(WebCore::ImageSource::accessibilityDescription): Deleted.
(WebCore::ImageSource::hotSpot): Deleted.
(WebCore::ImageSource::orientation): Deleted.
(WebCore::ImageSource::densityCorrectedSize): Deleted.
(WebCore::ImageSource::size): Deleted.
(WebCore::ImageSource::sourceSize): Deleted.
(WebCore::ImageSource::singlePixelSolidColor): Deleted.
(WebCore::ImageSource::maximumSubsamplingLevel): Deleted.
(WebCore::ImageSource::frameIsBeingDecodedAndIsCompatibleWithOptionsAtIndex): Deleted.
(WebCore::ImageSource::frameDecodingStatusAtIndex): Deleted.
(WebCore::ImageSource::frameHasAlphaAtIndex): Deleted.
(WebCore::ImageSource::frameHasFullSizeNativeImageAtIndex): Deleted.
(WebCore::ImageSource::frameHasDecodedNativeImageCompatibleWithOptionsAtIndex): Deleted.
(WebCore::ImageSource::frameSubsamplingLevelAtIndex): Deleted.
(WebCore::ImageSource::frameSizeAtIndex): Deleted.
(WebCore::ImageSource::frameBytesAtIndex): Deleted.
(WebCore::ImageSource::frameDurationAtIndex): Deleted.
(WebCore::ImageSource::frameOrientationAtIndex): Deleted.
(WebCore::ImageSource::createFrameImageAtIndex): Deleted.
(WebCore::ImageSource::frameImageAtIndex): Deleted.
(WebCore::ImageSource::frameImageAtIndexCacheIfNeeded): Deleted.
(WebCore::ImageSource::dump): Deleted.
* Source/WebCore/platform/graphics/ImageSource.h:
(WebCore::ImageSource::dataChanged):
(WebCore::ImageSource::destroyDecodedData):
(WebCore::ImageSource::startAnimation):
(WebCore::ImageSource::stopAnimation):
(WebCore::ImageSource::resetAnimation):
(WebCore::ImageSource::isAnimated const):
(WebCore::ImageSource::isAnimating const):
(WebCore::ImageSource::hasEverAnimated const):
(WebCore::ImageSource::isLargeForDecoding const):
(WebCore::ImageSource::stopDecodingWorkQueue):
(WebCore::ImageSource::decode):
(WebCore::ImageSource::currentFrameIndex const):
(WebCore::ImageSource::currentImageFrame):
(WebCore::ImageSource::currentNativeImage):
(WebCore::ImageSource::currentPreTransformedNativeImage):
(WebCore::ImageSource::nativeImageAtIndex):
(WebCore::ImageSource::sourceSize const):
(WebCore::ImageSource::hasDensityCorrectedSize const):
(WebCore::ImageSource::orientation const):
(WebCore::ImageSource::primaryFrameIndex const):
(WebCore::ImageSource::frameCount const):
(WebCore::ImageSource::uti const):
(WebCore::ImageSource::filenameExtension const):
(WebCore::ImageSource::accessibilityDescription const):
(WebCore::ImageSource::hotSpot const):
(WebCore::ImageSource::subsamplingLevelForScaleFactor):
(WebCore::ImageSource::frameDurationAtIndex const):
(WebCore::ImageSource::frameOrientationAtIndex const):
(WebCore::ImageSource::frameDecodingStatusAtIndex const):
(WebCore::ImageSource::decodeCountForTesting const):
(WebCore::ImageSource::setMinimumDecodingDurationForTesting):
(WebCore::ImageSource::setClearDecoderAfterAsyncFrameRequestForTesting):
(WebCore::ImageSource::setAsyncDecodingEnabledForTesting):
(WebCore::ImageSource::isAsyncDecodingEnabledForTesting const):
(WebCore::ImageSource::dump const):
(): Deleted.
* Source/WebCore/platform/graphics/NativeImage.h:
* Source/WebCore/platform/graphics/NativeImageSource.cpp: Copied from Source/WebCore/platform/graphics/ImageAdapter.cpp.
(WebCore::NativeImageSource::create):
(WebCore::NativeImageSource::NativeImageSource):
(WebCore::NativeImageSource::dump const):
* Source/WebCore/platform/graphics/NativeImageSource.h: Copied from Source/WebCore/platform/graphics/ImageAdapter.cpp.
* Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
(WebCore::ImageDecoderAVFObjC::frameMetadataAtIndex const): Deleted.
(WebCore::ImageDecoderAVFObjC::frameAllowSubsamplingAtIndex const): Deleted.
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToImage):
* Source/WebCore/platform/graphics/cairo/GraphicsContextGLCairo.cpp:
(WebCore::GraphicsContextGLImageExtractor::extractImage):
* Source/WebCore/platform/graphics/cairo/NativeImageCairo.cpp:
(WebCore::NativeImage::singlePixelSolidColor const):
* Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGLImageExtractor::extractImage):
* Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::frameOrientationAtIndex const):
(WebCore::ImageDecoderCG::densityCorrectedSizeAtIndex const):
(WebCore::ImageDecoderCG::frameMetadataAtIndex const): Deleted.
(WebCore::ImageDecoderCG::frameAllowSubsamplingAtIndex const): Deleted.
* Source/WebCore/platform/graphics/cg/ImageDecoderCG.h:
* Source/WebCore/platform/graphics/cg/NativeImageCG.cpp:
(WebCore::NativeImage::singlePixelSolidColor const):
* Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::uti const): Deleted.
(WebCore::ImageDecoderGStreamer::frameMetadataAtIndex const): Deleted.
* Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:
* Source/WebCore/platform/graphics/gtk/ImageAdapterGtk.cpp:
(WebCore::ImageAdapter::gdkPixbuf):
(WebCore::ImageAdapter::gdkTexture):
* Source/WebCore/platform/graphics/mac/ImageAdapterMac.mm:
(WebCore::ImageAdapter::snapshotNSImage):
* Source/WebCore/platform/graphics/skia/GraphicsContextGLSkia.cpp:
(WebCore::GraphicsContextGLImageExtractor::extractImage):
* Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImage::singlePixelSolidColor const):
* Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
* Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp:
(WebCore::TextureMapperTile::updateContents):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
* Source/WebCore/platform/gtk/DragImageGtk.cpp:
(WebCore::createDragImageFromImage):
* Source/WebCore/platform/image-decoders/ScalableImageDecoder.h:
* Source/WebCore/platform/win/cairo/DragImageWinCairo.cpp:
(WebCore::createDragImageFromImage):
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::decodingModeForImageDraw const):
* Source/WebCore/rendering/RenderElement.h:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isDirectlyCompositedImage const):
(WebCore::RenderLayerBacking::isUnscaledBitmapOnly const):
* Source/WebCore/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::createFilterEffect const):
* Source/WebCore/svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::currentNativeImage):
(WebCore::SVGImageForContainer::nativeImageForCurrentFrame): Deleted.
* Source/WebCore/svg/graphics/SVGImageForContainer.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::setImageFrameDecodingDuration):
(WebCore::Internals::imageLastDecodingOptions):
* Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp:
(WKWPE::View::setCursor):
* Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
(WebKit::RemoteImageDecoderAVF::frameMetadataAtIndex const): Deleted.
(WebKit::RemoteImageDecoderAVF::frameAllowSubsamplingAtIndex const): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.h:
* Tools/TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp:

Canonical link: https://commits.webkit.org/276827@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list