Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 86e010e45b0e7e3298d9993d30a5fa3727fd89ed
https://github.com/WebKit/WebKit/commit/86e010e45b0e7e3298d9993d30a5fa3727fd89ed
Author: Sam Weinig <[email protected]>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M Source/WebCore/style/values/images/kinds/StyleCachedImage.cpp
M Source/WebCore/style/values/images/kinds/StyleCachedImage.h
M Source/WebCore/style/values/images/kinds/StyleCanvasImage.cpp
M Source/WebCore/style/values/images/kinds/StyleCanvasImage.h
M Source/WebCore/style/values/images/kinds/StyleColorImage.cpp
M Source/WebCore/style/values/images/kinds/StyleColorImage.h
M Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.cpp
M Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.h
M Source/WebCore/style/values/images/kinds/StyleFilterImage.cpp
M Source/WebCore/style/values/images/kinds/StyleFilterImage.h
M Source/WebCore/style/values/images/kinds/StyleGradientImage.cpp
M Source/WebCore/style/values/images/kinds/StyleGradientImage.h
M Source/WebCore/style/values/images/kinds/StyleImage.cpp
M Source/WebCore/style/values/images/kinds/StyleImage.h
M Source/WebCore/style/values/images/kinds/StyleInvalidImage.cpp
M Source/WebCore/style/values/images/kinds/StyleInvalidImage.h
M Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp
M Source/WebCore/style/values/images/kinds/StyleMultiImage.h
M Source/WebCore/style/values/images/kinds/StyleNamedImage.cpp
M Source/WebCore/style/values/images/kinds/StyleNamedImage.h
M Source/WebCore/style/values/images/kinds/StylePaintImage.cpp
M Source/WebCore/style/values/images/kinds/StylePaintImage.h
Log Message:
-----------
[Image Redux] Make Style::Image's drawing functions virtual
https://bugs.webkit.org/show_bug.cgi?id=326265
Reviewed by Simon Fraser.
Makes the existing Style::Image::draw...() functions, as well as a new
Style::Image::drawAsPattern()
virtual, allowing each subclass to implement drawing themselves.
Style::Image::drawAsPattern() will
allow some subclasses to avoid implementing all four draw functions as the base
class implementation
of Style::Image::drawTiled() and Style::Image::drawNinePiece() can use it
(along with the normal draw
function), to implement themselves.
In this commit, this is all staging, and all the subclasses implement the draw
functions exactly the same,
delegating to the draw...Resolving() family of functions, passing in their
resolved WebCore::Image.
In follow on changes, each subclass will replace these staging implementations
with implementations that
directly draw themselves, without requiring resolving a WebCore::Image
subclass. For example, Style::GradientImage
will no longer require producing a WebCore::GradientImage just to draw.
* Source/WebCore/style/values/images/kinds/StyleCachedImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCachedImage.h:
* Source/WebCore/style/values/images/kinds/StyleCanvasImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCanvasImage.h:
* Source/WebCore/style/values/images/kinds/StyleColorImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleColorImage.h:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.h:
* Source/WebCore/style/values/images/kinds/StyleFilterImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleFilterImage.h:
* Source/WebCore/style/values/images/kinds/StyleGradientImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleGradientImage.h:
* Source/WebCore/style/values/images/kinds/StyleImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleImage.h:
* Source/WebCore/style/values/images/kinds/StyleInvalidImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleInvalidImage.h:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.h:
* Source/WebCore/style/values/images/kinds/StyleNamedImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleNamedImage.h:
* Source/WebCore/style/values/images/kinds/StylePaintImage.cpp:
* Source/WebCore/style/values/images/kinds/StylePaintImage.h:
Canonical link: https://commits.webkit.org/322639@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications