[webkit-changes] [WebKit/WebKit] 458809: Cherry-pick 55e9a6904b90. rdar://problem/106297392

Jer Noble noreply at github.com
Tue Mar 7 20:01:21 PST 2023


  Branch: refs/heads/safari-7616.1.6-branch
  Home:   https://github.com/WebKit/WebKit
  Commit: 45880936b66c9868fa56ea3e5052effc56fbdcff
      https://github.com/WebKit/WebKit/commit/45880936b66c9868fa56ea3e5052effc56fbdcff
  Author: Aditya Keerthi <akeerthi at apple.com>
  Date:   2023-03-07 (Tue, 07 Mar 2023)

  Changed paths:
    M Source/WebCore/dom/DocumentMarkerController.cpp
    M Source/WebCore/dom/DocumentMarkerController.h

  Log Message:
  -----------
  Cherry-pick 55e9a6904b90. rdar://problem/106297392

    `DocumentMarkerController::possiblyHasMarkers` can be incorrect following animated marker removal
    https://bugs.webkit.org/show_bug.cgi?id=253450
    rdar://106297392

    Reviewed by Wenson Hsieh.

    260842 at main added a filter function to `DocumentMarkerController::removeMarkers`
    to support the removal of animated markers once their animation had finished.
    However, this method unconditionally clears the input marker types from
    `m_possiblyExistingMarkerTypes`. Following the introduction of a filter function,
    it is no longer true that a marker matching the marker type passed into
    `removeMarkers` is always removed.

    To fix, keep track of which marker types were preserved by the filter function,
    and exclude them from the set of types to remove from `m_possiblyExistingMarkerTypes`.

    This issue is observable via a debug assertion in `DocumentMarkerController::hasMarkers`.

    * Source/WebCore/dom/DocumentMarkerController.cpp:
    (WebCore::DocumentMarkerController::removeMarkers):

    Maintain a set of completely removed marker types as the marker map is
    iterated over. At the end, only remove marker types that were not preserved from
    `m_possiblyExistingMarkerTypes`.

    (WebCore::DocumentMarkerController::removeMarkersFromList):

    Return the set of completely removed marker types.

    * Source/WebCore/dom/DocumentMarkerController.h:

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

Canonical link: https://commits.webkit.org/261247.7@safari-7616.1.6-branch


  Commit: 03939f989cfd6bcf7325107d1c28fd37585d1616
      https://github.com/WebKit/WebKit/commit/03939f989cfd6bcf7325107d1c28fd37585d1616
  Author: Matthew Finkel <sysrqb at apple.com>
  Date:   2023-03-07 (Tue, 07 Mar 2023)

  Changed paths:
    M Source/WebCore/html/CanvasBase.cpp

  Log Message:
  -----------
  Cherry-pick 9bcbbf040e7c. rdar://problem/106314656

    Canvas noise injection was not correctly applied
    https://bugs.webkit.org/show_bug.cgi?id=253524
    rdar://106314656

    Reviewed by Wenson Hsieh.

    The noise injection fractional value was not incorrectly truncated during
    conversion. This patch takes a different approach for computing the value.

    * Source/WebCore/html/CanvasBase.cpp:
    (WebCore::CanvasBase::postProcessPixelBuffer const):

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

Canonical link: https://commits.webkit.org/261247.8@safari-7616.1.6-branch


  Commit: 1ad0bb5fdca3ab26f9ed0b4f53b33c30c5bc4d75
      https://github.com/WebKit/WebKit/commit/1ad0bb5fdca3ab26f9ed0b4f53b33c30c5bc4d75
  Author: Jer Noble <jer.noble at apple.com>
  Date:   2023-03-07 (Tue, 07 Mar 2023)

  Changed paths:
    M Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.mm

  Log Message:
  -----------
  Cherry-pick 8bbc299e348e. rdar://problem/106201886

    REGRESSION(260575 at main): [macOS] PiP mode causes video to zoom in
    https://bugs.webkit.org/show_bug.cgi?id=253491
    rdar://106201886

    Reviewed by Eric Carlson.

    Move away from sending setVideoLayerFrame() calls directly (which in addition to being a sync
    message to the WebContent and GPU process is also slow), adopt WebAVPlayerLayer, which is what
    is used for inline video playback, and is used for fullscreen and PiP on iOS.

    * Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.mm:
    (-[WebVideoFullscreenInterfaceMacObjC invalidateFullscreenState]):
    (-[WebVideoFullscreenInterfaceMacObjC setVideoDimensions:]):
    (-[WebVideoFullscreenInterfaceMacObjC setUpPIPForVideoView:withFrame:inWindow:]):
    (-[WebVideoFullscreenInterfaceMacObjC boundsDidChangeForVideoViewContainer:]):

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

Canonical link: https://commits.webkit.org/261247.9@safari-7616.1.6-branch


Compare: https://github.com/WebKit/WebKit/compare/dc778e0580df...1ad0bb5fdca3


More information about the webkit-changes mailing list