[webkit-changes] [WebKit/WebKit] 4e4ea7: Cherry-pick 263556 at main (0d0b8844e76c). https://bu...
Philippe Normand
noreply at github.com
Sat May 13 07:13:36 PDT 2023
Branch: refs/heads/webkitglib/2.40
Home: https://github.com/WebKit/WebKit
Commit: 4e4ea7f09db1c2b1e3146ef4090bf4f5230b89da
https://github.com/WebKit/WebKit/commit/4e4ea7f09db1c2b1e3146ef4090bf4f5230b89da
Author: Tim Nguyen <ntim at apple.com>
Date: 2023-05-12 (Fri, 12 May 2023)
Changed paths:
A LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-003-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-003-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-003.html
M Source/WebCore/style/StyleBuilderCustom.h
Log Message:
-----------
Cherry-pick 263556 at main (0d0b8844e76c). https://bugs.webkit.org/show_bug.cgi?id=256171
REGRESSION(259145 at main): Crash when using 'currentcolor' with color-mix() in color property
https://bugs.webkit.org/show_bug.cgi?id=256171
rdar://108698737
Reviewed by Darin Adler.
We were previously not handling `color-mix()` in the logic to resolve colors for `BuilderCustom::applyValueColor`.
Use StyleColor::resolveColor() which properly takes care of all cases.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-003-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-003-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-003.html: Added.
* Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueColor):
Canonical link: https://commits.webkit.org/263556@main
Commit: e5dd92dc4a578060376178be36f45bfaa255d089
https://github.com/WebKit/WebKit/commit/e5dd92dc4a578060376178be36f45bfaa255d089
Author: Brent Fulgham <bfulgham at apple.com>
Date: 2023-05-13 (Sat, 13 May 2023)
Changed paths:
M Source/WebCore/svg/graphics/SVGImageCache.cpp
Log Message:
-----------
Cherry-pick 263430 at main (d142dec43f3a). https://bugs.webkit.org/show_bug.cgi?id=255662
ASSERTION FAILED: !image->size().isEmpty(): [ iOS, macOS ] imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg.html is a constant crash.
https://bugs.webkit.org/show_bug.cgi?id=255662
<rdar://problem/108267097>
Reviewed by Said Abou-Hallawa.
SVGImageCache::setContainerContextForClient caches an unscaled SVGImage, plus a scale factor.
It computes the size based on a LayoutSize, which is converted to a FloatSize, unscaled by
the image scaling factor, then stored for later use.
When the cached value is retrieved, it is scaled by the zoom factor, then rounded to the nearest
integer value.
This scaling and rounding process can yield an empty image, which triggers an assertion when the
image is retrieved.
Rather that store this nonsensical image, we should recognize that the image is effectively null,
and not cache it.
* Source/WebCore/svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::setContainerContextForClient):
Canonical link: https://commits.webkit.org/263430@main
Commit: 550f1772421ae644483db3344de86ce9000f5eaf
https://github.com/WebKit/WebKit/commit/550f1772421ae644483db3344de86ce9000f5eaf
Author: Philippe Normand <philn at igalia.com>
Date: 2023-05-13 (Sat, 13 May 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
M Tools/Scripts/webkitpy/port/glib.py
Log Message:
-----------
Cherry-pick 264017 at main (0218f0f88a9c). https://bugs.webkit.org/show_bug.cgi?id=251835
[GStreamer] Constant CPU usage on autoplaying videos, even when out of viewport
https://bugs.webkit.org/show_bug.cgi?id=256123
Reviewed by Xabier Rodriguez-Calvar.
The GStreamer player now implements the `MediaPlayerPrivate::setVisibleInViewport()` by pausing
invisible autoplaying muted non-mediastream video players. Playback is resumed to previous state
when they become visible again. Metadata loading on invisible players is still allowed.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::setVisibleInViewport):
(WebCore::MediaPlayerPrivateGStreamer::paint):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
Canonical link: https://commits.webkit.org/264017@main
Compare: https://github.com/WebKit/WebKit/compare/46587900dc79...550f1772421a
More information about the webkit-changes
mailing list