[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