[webkit-changes] [WebKit/WebKit] 1d4824: Cherry-pick 276261 at main (b65e2001a308). https://bu...

Vitaly Dyachkov noreply at github.com
Tue Sep 3 03:29:35 PDT 2024


  Branch: refs/heads/webkitglib/2.44
  Home:   https://github.com/WebKit/WebKit
  Commit: 1d4824ae52feb74ac746e59bcfe1ebce8749985c
      https://github.com/WebKit/WebKit/commit/1d4824ae52feb74ac746e59bcfe1ebce8749985c
  Author: Philippe Normand <philn at igalia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp

  Log Message:
  -----------
  Cherry-pick 276261 at main (b65e2001a308). https://bugs.webkit.org/show_bug.cgi?id=271110

    [GStreamer] Caps negotiation issue in video encoder for I422 formats
    https://bugs.webkit.org/show_bug.cgi?id=271110

    Reviewed by Xabier Rodriguez-Calvar.

    The encoder was being configured to convert input buffers to Y422, which is not a valid GStreamer
    video format. Use I422 instead.

    * LayoutTests/platform/glib/TestExpectations:
    * Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp:
    (webkit_video_encoder_class_init):

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

Canonical link: https://commits.webkit.org/274313.376@webkitglib/2.44


  Commit: e2bb9ccd6f785a927b35fc366775cc5cf293cc4d
      https://github.com/WebKit/WebKit/commit/e2bb9ccd6f785a927b35fc366775cc5cf293cc4d
  Author: Antti Koivisto <antti at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A LayoutTests/media/track/captions-webvtt/inline.vtt
    A LayoutTests/media/track/webvtt-inline-expected.txt
    A LayoutTests/media/track/webvtt-inline.html
    M Source/WebCore/Modules/modern-media-controls/controls/text-tracks.css
    M Source/WebCore/css/mediaControls.css

  Log Message:
  -----------
  Cherry-pick 275918 at main (472c2a9abc39). https://bugs.webkit.org/show_bug.cgi?id=270783

    REGRESSION(272743 at main): WebVTT default styling is broken
    https://bugs.webkit.org/show_bug.cgi?id=270783
    rdar://124380882

    Reviewed by Anne van Kesteren.

    272743 at main changed the attribute name for pseudo elements.
    The WebVTT styling relied on those names.

    * LayoutTests/media/track/captions-webvtt/inline.vtt: Added.
    * LayoutTests/media/track/webvtt-inline-expected.txt: Added.
    * LayoutTests/media/track/webvtt-inline.html: Added.

    Add a test. We had no coverage.

    * Source/WebCore/Modules/modern-media-controls/controls/text-tracks.css:
    ([useragentpart="-webkit-media-text-track-display"]):
    (u):
    (i):
    (.hidden):
    ([pseudo="-webkit-media-text-track-display"] b): Deleted.
    ([pseudo="-webkit-media-text-track-display"] u): Deleted.
    ([pseudo="-webkit-media-text-track-display"] i): Deleted.
    ([pseudo="-webkit-media-text-track-display"] .hidden): Deleted.
    * Source/WebCore/css/mediaControls.css:
    ([useragentpart="-webkit-media-text-track-display"]):
    (u):
    (i):
    (.hidden):

    Also add missing .hidden to this legacy stylesheet.

    ([pseudo="-webkit-media-text-track-display"] b): Deleted.
    ([pseudo="-webkit-media-text-track-display"] u): Deleted.
    ([pseudo="-webkit-media-text-track-display"] i): Deleted.

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

Canonical link: https://commits.webkit.org/274313.377@webkitglib/2.44


  Commit: 2536b831c481ba3798e2f4396eec4c5e2147bf5c
      https://github.com/WebKit/WebKit/commit/2536b831c481ba3798e2f4396eec4c5e2147bf5c
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxyInternals.h

  Log Message:
  -----------
  Cherry-pick 275921 at main (0a93df5a4011). https://bugs.webkit.org/show_bug.cgi?id=270796

    Regression: Pages that display notifications now get suspended as soon as backgrounded
    https://bugs.webkit.org/show_bug.cgi?id=270796
    rdar://124390299

    Reviewed by Ben Nham.

    We used to prevent suspension in the background of pages that show (or are
    likely to show) notifications. However, we recently stopped taking
    near-suspended assertions on both iOS and macOS and it broke this heuristic.

    To address the issue, we now take a background activity whenever we get a
    signal that a page displayed (or is likely to display) notifications. This way,
    the page won't suspend after backgrounding, even though we're no longer taking
    near-suspended assertions.

    Note that the heuristic was also checking if a page updated its title while in
    the background. This part of the heuristic is still broken and still needs to
    be addressed in a follow-up.

    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::didCommitLoadForFrame):
    (WebKit::WebPageProxy::didFailLoadForFrame):
    (WebKit::WebPageProxy::resetStateAfterProcessExited):
    (WebKit::WebPageProxy::pageWillLikelyUseNotifications):
    (WebKit::WebPageProxy::showNotification):
    * Source/WebKit/UIProcess/WebPageProxyInternals.h:

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

Canonical link: https://commits.webkit.org/274313.378@webkitglib/2.44


  Commit: 2b1d61ab069aadcb26102dfd40965535b01f0a91
      https://github.com/WebKit/WebKit/commit/2b1d61ab069aadcb26102dfd40965535b01f0a91
  Author: Antti Koivisto <antti at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none-expected.html
    A LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none.html
    M Source/WebCore/style/StyleTreeResolver.cpp

  Log Message:
  -----------
  Cherry-pick 276035 at main (d83537abc7e7). https://bugs.webkit.org/show_bug.cgi?id=270697

    REGRESSION (iOS 17.4, macOS 14.4, 270890 at main): Animating element with display: none still remain visible
    https://bugs.webkit.org/show_bug.cgi?id=270697
    rdar://124289418

    Reviewed by Antoine Quint and Darin Adler.

    The page sets the root of the overlay containing tree to display:none and immediately (before style recall) reinserts
    it into another position in the document, causing render tree teardown. When we recompute the style (applying display:none)
    we don't consider it a style change since there was no existing style due to the earlier teardown.
    In this case we fail to clear lastStyleChangeEventStyle which has been set by an animation on the element.

    Another animation triggered style recalc comes along, takes the optimized AnimationOnly code path and picks up
    the lastStyleChangeEventStyle (which doesn't have display:none) bringing the element back alive.

    * LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none-expected.html: Added.
    * LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none.html: Added.
    * Source/WebCore/style/StyleTreeResolver.cpp:
    (WebCore::Style::TreeResolver::resolveElement):

    Fix by clearing lastStyleChangeEventStyle also when we have a style change to display:none without existing renderer.

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

Canonical link: https://commits.webkit.org/274313.379@webkitglib/2.44


  Commit: 8474f9911005fe75ff42666ceba3ac189e8aac82
      https://github.com/WebKit/WebKit/commit/8474f9911005fe75ff42666ceba3ac189e8aac82
  Author: David Degazio <d_degazio at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebCore/bindings/js/JSExecState.h
    M Source/WebCore/bindings/js/ScriptController.cpp
    M Source/WebCore/workers/WorkerOrWorkletScriptController.cpp

  Log Message:
  -----------
  Cherry-pick 276190 at main (20cd6e8fdcc8). https://bugs.webkit.org/show_bug.cgi?id=270934

    JSExecState::loadModule can dereference null result
    https://bugs.webkit.org/show_bug.cgi?id=270934
    rdar://121268593

    Reviewed by Yusuke Suzuki.

    Fixes a bug where JSExecState::loadModule always dereferenced the
    result of JSC::loadModule, even though JSC::loadModule will return
    null if there is an exception. This patch changes the return type
    of JSExecState::loadModule to a raw pointer, so callers of it can
    detect and handle null results returned from deeper calls.

    * Source/WebCore/bindings/js/JSExecState.h:
    (WebCore::JSExecState::loadModule):
    * Source/WebCore/bindings/js/ScriptController.cpp:
    (WebCore::ScriptController::loadModuleScriptInWorld):
    * Source/WebCore/workers/WorkerOrWorkletScriptController.cpp:
    (WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously):
    (WebCore::WorkerOrWorkletScriptController::loadAndEvaluateModule):

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

Canonical link: https://commits.webkit.org/274313.380@webkitglib/2.44


  Commit: c9507c5fb075619276c721e87201eff162f11779
      https://github.com/WebKit/WebKit/commit/c9507c5fb075619276c721e87201eff162f11779
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A LayoutTests/fast/clip/offscreen-transparency-clip-expected.html
    A LayoutTests/fast/clip/offscreen-transparency-clip.html
    M Source/WebCore/rendering/RenderLayer.cpp

  Log Message:
  -----------
  Cherry-pick 276294 at main (afd16103076c). https://bugs.webkit.org/show_bug.cgi?id=270926

    REGRESSION(268173 at main) Safari rendered bdiusa.com as all white.
    https://bugs.webkit.org/show_bug.cgi?id=270926
    <rdar://123983879>

    Reviewed by Simon Fraser.

    We're using transparencyClipBox to determine the size of the transparency layer to push,
    and it's returning an empty rectangle.

    It recurses through descendants, and finds a child layer positioned way off to the left
    of the screen (at -33553151).

    Due to limits of int32, adding the bounds of that child into the original rect
    (0,0) width=1686 height=18933.45, results in (-33554430,0) width=33554432 height=18933.45
    which no longer includes the visible area of the screen (except for the very left edge).

    This fix moves the intersection with the dirty rect down to happen per-layer, so that
    we clip before unioning the descendants in, and avoid this problem.

    As the existing code comment mentions, it would still be preferable to take CSS clips
    into account when computing these rectangles.

    * LayoutTests/fast/clip/offscreen-transparency-clip-expected.html: Added.
    * LayoutTests/fast/clip/offscreen-transparency-clip.html: Added.
    * Source/WebCore/rendering/RenderLayer.cpp:
    (WebCore::transparencyClipBox):
    (WebCore::expandClipRectForDescendantsAndReflection):
    (WebCore::RenderLayer::beginTransparencyLayers):
    (WebCore::paintingExtent): Deleted.

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

Canonical link: https://commits.webkit.org/274313.381@webkitglib/2.44


  Commit: 14a1972f685fe66653ab55065fb6be53ea8b2149
      https://github.com/WebKit/WebKit/commit/14a1972f685fe66653ab55065fb6be53ea8b2149
  Author: Aditya Keerthi <akeerthi at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M LayoutTests/fast/forms/ios/select-option-removed-update.html
    A LayoutTests/fast/forms/ios/select-option-update-1000-expected.txt
    A LayoutTests/fast/forms/ios/select-option-update-1000.html
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

  Log Message:
  -----------
  Cherry-pick 276349 at main (cfd86982fcdf). https://bugs.webkit.org/show_bug.cgi?id=271138

    REGRESSION (271805 at main): [iOS] Updating options in a visible <select> menu can result in hangs
    https://bugs.webkit.org/show_bug.cgi?id=271138
    rdar://124576235

    Reviewed by Abrar Rahman Protyasha.

    271805 at main introduced logic that would update a visible <select> menu's options
    as they are changed. Currently, the logic sends an update every time an option is
    added or removed. This is problematic when options are added in a loop, as (n - 1)
    unnecessary IPC messages are sent, and O(n^2) menu items are constructed in the UI
    process. Additionally, there is further overhead from auto layout. Consequently,
    adding options in a loop can result in a hang when there is a visible <select> menu.

    Fix by adding a debouncing mechanism, so that changes to options can be coalesced
    into a single update.

    * LayoutTests/fast/forms/ios/select-option-removed-update.html:
    * LayoutTests/fast/forms/ios/select-option-update-1000-expected.txt: Added.
    * LayoutTests/fast/forms/ios/select-option-update-1000.html: Added.
    * Source/WebKit/WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::close):
    (WebKit::WebPage::elementDidFocus):
    (WebKit::WebPage::focusedSelectElementDidChangeOptions):
    * Source/WebKit/WebProcess/WebPage/WebPage.h:

    Use a `DeferrableOneShotTimer` to ensure that any changes that happen within 100ms
    are coalesced into a single update.

    * Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
    (WebKit::WebPage::updateFocusedElementInformation):

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

Canonical link: https://commits.webkit.org/274313.382@webkitglib/2.44


  Commit: fb3070e3f4473e65d9533a74589a6d99d630a3b3
      https://github.com/WebKit/WebKit/commit/fb3070e3f4473e65d9533a74589a6d99d630a3b3
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
    M Source/WebKit/UIProcess/ProcessThrottler.cpp
    M Source/WebKit/UIProcess/ProcessThrottler.h
    R Source/WebKit/UIProcess/ProcessThrottlerClient.h
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Cherry-pick 274938 at main (e64b8cfcb1ee). https://bugs.webkit.org/show_bug.cgi?id=269605

    Adopt more smart pointers in ProcessThrottler
    https://bugs.webkit.org/show_bug.cgi?id=269605

    Reviewed by Per Arne Vollan.

    Adopt more smart pointers in ProcessThrottler. Also drop the ProcessThrottlerClient
    abstraction since ProcessThrottler already has a pointer back to the
    AuxiliaryProcessProxy, which is the only ProcessThrottlerClient. This simplifies
    the code a bit and gets rid of an unnecessary data member.

    * Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
    (-[WKWebView _processDidResumeForTesting]):
    * Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
    (WebKit::AuxiliaryProcessProxy::isRunning const):
    (WebKit::AuxiliaryProcessProxy::didChangeThrottleState):
    (WebKit::AuxiliaryProcessProxy::environmentIdentifier const):
    (WebKit::AuxiliaryProcessProxy::prepareToDropLastAssertion):
    (WebKit::AuxiliaryProcessProxy::didDropLastAssertion):
    * Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
    * Source/WebKit/UIProcess/ProcessThrottler.cpp:
    (WebKit::ProcessThrottler::ProcessThrottler):
    (WebKit::ProcessThrottler::assertionName const):
    (WebKit::ProcessThrottler::setThrottleState):
    (WebKit::ProcessThrottler::ref):
    (WebKit::ProcessThrottler::deref):
    (WebKit::ProcessThrottler::updateThrottleStateIfNeeded):
    (WebKit::ProcessThrottler::didConnectToProcess):
    (WebKit::ProcessThrottler::didDisconnectFromProcess):
    (WebKit::ProcessThrottler::sendPrepareToSuspendIPC):
    (WebKit::ProcessThrottler::setShouldTakeNearSuspendedAssertion):
    (WebKit::ProcessThrottler::clearAssertion):
    (WebKit::ProcessThrottler::protectedProcess const):
    (WebKit::ProcessThrottler::isSuspended const):
    (WebKit::ProcessThrottlerActivity::invalidate):
    * Source/WebKit/UIProcess/ProcessThrottler.h:
    * Source/WebKit/UIProcess/ProcessThrottlerClient.h: Removed.
    * Source/WebKit/UIProcess/WebProcessProxy.h:
    * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
    (WebKit::WebsiteDataStore::sendNetworkProcessDidResume):
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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

Canonical link: https://commits.webkit.org/274313.383@webkitglib/2.44


  Commit: 8eb5168bcbc5e69b8638413d18d90514bf72c7f5
      https://github.com/WebKit/WebKit/commit/8eb5168bcbc5e69b8638413d18d90514bf72c7f5
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Cherry-pick 275540 at main (6a7b2d62c794). https://bugs.webkit.org/show_bug.cgi?id=269699

    [GTK] Crash in WebPageProxy::getLoadDecisionForIcon
    https://bugs.webkit.org/show_bug.cgi?id=269699

    Reviewed by Michael Catanzaro.

    This probably regressed in 274563 at main, that changed the way a
    SharedBuffer is serialized for IPC and now segments are sent, instead of
    the contiguous. So, in getLoadDecisionForIcon() we need to handle the
    case of data being non contiguous, by using SharedBufferReference::unsafeBuffer()

    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::getLoadDecisionForIcon):

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

Canonical link: https://commits.webkit.org/274313.384@webkitglib/2.44


  Commit: d94e4b9083bc3ba9bdafd3570fc463edb00ad36e
      https://github.com/WebKit/WebKit/commit/d94e4b9083bc3ba9bdafd3570fc463edb00ad36e
  Author: Erica Li <lerica at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A LayoutTests/fast/images/imageDocument-appendBytes-crash-expected.txt
    A LayoutTests/fast/images/imageDocument-appendBytes-crash.html
    M Source/WebCore/html/ImageDocument.cpp

  Log Message:
  -----------
  Cherry-pick 275537 at main (bac31e80659a). https://bugs.webkit.org/show_bug.cgi?id=270283.

    Null pointer dereference in WebCore::ImageDocument::createDocumentStructure.
    https://bugs.webkit.org/show_bug.cgi?id=270283.
    rdar://122779661.

    Reviewed by Chris Dumez.

    Adding null check to prevent the cases where local frame would be detached during createDocumentStructure.

    * LayoutTests/fast/images/imageDocument-appendBytes-crash-expected.txt: Added.
    * LayoutTests/fast/images/imageDocument-appendBytes-crash.html: Added.
    * Source/WebCore/html/ImageDocument.cpp:
    (WebCore::ImageDocument::updateDuringParsing):
    (WebCore::ImageDocument::createDocumentStructure):

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

Canonical link: https://commits.webkit.org/274313.385@webkitglib/2.44


  Commit: 9a8dae2cd99dc36ad27fd672cceddb003ea99dcc
      https://github.com/WebKit/WebKit/commit/9a8dae2cd99dc36ad27fd672cceddb003ea99dcc
  Author: Claudio Saavedra <csaavedra at igalia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp

  Log Message:
  -----------
  Cherry-pick 275559 at main (291cc0752318). https://bugs.webkit.org/show_bug.cgi?id=270355

    [WPE] Fix build in older platforms
    https://bugs.webkit.org/show_bug.cgi?id=270355

    Unreviewed build fix.

    The include was wrong, even if WPE_PLATFORM is not enabled,
    the DMABufRendererBufferFormat definition is needed for
    the empty vector.

    * Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:

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

Canonical link: https://commits.webkit.org/274313.386@webkitglib/2.44


  Commit: 30e2720e7a0a2d681e5832f503a28380da945b6b
      https://github.com/WebKit/WebKit/commit/30e2720e7a0a2d681e5832f503a28380da945b6b
  Author: Matthew Finkel <sysrqb at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp

  Log Message:
  -----------
  Cherry-pick 275572 at main (4caf2bb34aab). https://bugs.webkit.org/show_bug.cgi?id=270208

    Simplify handling addGrant result when granting storage access
    https://bugs.webkit.org/show_bug.cgi?id=270208
    rdar://123728856

    Reviewed by Charlie Wolfe.

    In 271821 at main I added support for granting storage access for a group of
    domains. This change simplifies part of that logic.

    * Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
    (WebKit::ResourceLoadStatisticsStore::grantStorageAccess):

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

Canonical link: https://commits.webkit.org/274313.387@webkitglib/2.44


  Commit: d6dd2741311a857f845a9bad2a8e4a13b7df04a5
      https://github.com/WebKit/WebKit/commit/d6dd2741311a857f845a9bad2a8e4a13b7df04a5
  Author: Nikolaos Mouchtaris <nmouchtaris at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp

  Log Message:
  -----------
  Cherry-pick 275574 at main (0c592c9b1e0c). https://bugs.webkit.org/show_bug.cgi?id=270361

    Crash under ScrollingStateFixedNode::reconcileLayerPositionForViewportRect
    https://bugs.webkit.org/show_bug.cgi?id=270361
    rdar://105887621

    Reviewed by Simon Fraser.

    We need a similar fix to https://github.com/WebKit/WebKit/pull/17453 as there is
    the same crash signature under ScrollingStateFixedNode::reconcileLayerPositionForViewportRect
    this time.

    * Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp:
    (WebCore::ScrollingStateFixedNode::reconcileLayerPositionForViewportRect):

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

Canonical link: https://commits.webkit.org/274313.388@webkitglib/2.44


  Commit: 5b2a8fea4f677d451820b296599082e41da504f1
      https://github.com/WebKit/WebKit/commit/5b2a8fea4f677d451820b296599082e41da504f1
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A LayoutTests/fast/images/create-image-bitmap-after-stopping-script-execution-context-expected.txt
    A LayoutTests/fast/images/create-image-bitmap-after-stopping-script-execution-context.html
    M Source/WebCore/html/ImageBitmap.cpp

  Log Message:
  -----------
  Cherry-pick 275581 at main (198cfb4f193c). https://bugs.webkit.org/show_bug.cgi?id=270379

    Assertion failure in ~CompletionHandler() via ImageBitmap::createCompletionHandler
    https://bugs.webkit.org/show_bug.cgi?id=270379

    Reviewed by Wenson Hsieh.

    Call the completion handler when exiting early in PendingImageBitmap::fetch.

    * LayoutTests/fast/images/create-image-bitmap-after-stopping-script-execution-context-expected.txt: Added.
    * LayoutTests/fast/images/create-image-bitmap-after-stopping-script-execution-context.html: Added.
    * Source/WebCore/html/ImageBitmap.cpp:

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

Canonical link: https://commits.webkit.org/274313.389@webkitglib/2.44


  Commit: ff0a81399f1a11fc93f3f8b318b655419740fcd0
      https://github.com/WebKit/WebKit/commit/ff0a81399f1a11fc93f3f8b318b655419740fcd0
  Author: Ben Nham <nham at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in

  Log Message:
  -----------
  Cherry-pick 275588 at main (199ca3488158). https://bugs.webkit.org/show_bug.cgi?id=270236

    Avoid updating hidden page timer throttling interval for suspended processes
    https://bugs.webkit.org/show_bug.cgi?id=270236
    rdar://problem/123773191

    Reviewed by Chris Dumez.

    Currently, every time a tab is created or destroyed, we update the hidden page timer throttling
    interval and broadcast the change to all processes, including suspended processes. While this
    doesn't cause a suspended process to resume, it can cause messages to build up in IPC queues that
    never get drained. This is because the receiver might be a suspended WebContent process.

    To avoid this, skip sending the timer throttling interval to suspended processes and defer the
    update until the resume IPC.

    * Source/WebKit/UIProcess/WebProcessPool.cpp:
    (WebKit::WebProcessPool::hiddenPageThrottlingAutoIncreaseLimit):
    (WebKit::WebProcessPool::updateHiddenPageThrottlingAutoIncreaseLimit):
    * Source/WebKit/UIProcess/WebProcessPool.h:
    (WebKit::WebProcessPool::sendToAllProcesses):
    (WebKit::WebProcessPool::sendToAllProcessesForSession):
    (WebKit::WebProcessPool::sendToAllRemoteWorkerProcesses):
    * Source/WebKit/UIProcess/WebProcessProxy.cpp:
    (WebKit::WebProcessProxy::sendProcessDidResume):
    * Source/WebKit/WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::setHiddenPageDOMTimerThrottlingIncreaseLimit):
    (WebKit::WebProcess::processDidResume):
    * Source/WebKit/WebProcess/WebProcess.h:
    * Source/WebKit/WebProcess/WebProcess.messages.in:

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

Canonical link: https://commits.webkit.org/274313.390@webkitglib/2.44


  Commit: 24e2a5805647d851d055bd0137625893df0ac176
      https://github.com/WebKit/WebKit/commit/24e2a5805647d851d055bd0137625893df0ac176
  Author: Dennis Camera <dennis.camera+webkit at riiengineering.ch>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h

  Log Message:
  -----------
  Cherry-pick 275630 at main (56001e951362). https://bugs.webkit.org/show_bug.cgi?id=270394

    [JSC] A64DOpcode include <mutex>
    https://bugs.webkit.org/show_bug.cgi?id=270394

    Reviewed by Michael Catanzaro.

    When UNIFIED_BUILDS are disabled, the build fails due to missing std::call_once.

    * Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h: include <mutex>.

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

Canonical link: https://commits.webkit.org/274313.391@webkitglib/2.44


  Commit: 62cae94447836247cc409487afaa0b92a523b101
      https://github.com/WebKit/WebKit/commit/62cae94447836247cc409487afaa0b92a523b101
  Author: Megan Gardner <megan_gardner at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html
    M LayoutTests/imported/w3c/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment.html
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/loader/DocumentLoader.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h

  Log Message:
  -----------
  Cherry-pick 281273 at main (1d776f617268). https://bugs.webkit.org/show_bug.cgi?id=276925

    Scroll-to-text-fragment is leaked to the loaded page through Navigation Timing.
    https://bugs.webkit.org/show_bug.cgi?id=276925
    rdar://124717009

    Reviewed by Ryosuke Niwa.

    We need to strip the fragment from the URL earlier so that the full URL does not end up
    in the performance metrics, leaking the fragment that should be invisible to the page.

    WPT test will need to be upstreamed after this patch lands.

    * LayoutTests/imported/w3c/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html:
    * LayoutTests/imported/w3c/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment.html:
    * Source/WebCore/dom/Document.cpp:
    (WebCore::Document::setURL):
    * Source/WebCore/loader/DocumentLoader.cpp:
    (WebCore::DocumentLoader::startLoadingMainResource):
    * Source/WebCore/page/Page.cpp:
    (WebCore::Page::setMainFrameURLFragment):
    * Source/WebCore/page/Page.h:
    (WebCore::Page::mainFrameURLFragment const):

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

Canonical link: https://commits.webkit.org/274313.392@webkitglib/2.44


  Commit: e4980fa56ea37c1ce33f3141fbdd7164f6e050f5
      https://github.com/WebKit/WebKit/commit/e4980fa56ea37c1ce33f3141fbdd7164f6e050f5
  Author: Jonathan Bedard <jbedard at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py

  Log Message:
  -----------
  Cherry-pick 279706 at main (5ab9e6cd5bad). https://bugs.webkit.org/show_bug.cgi?id=263825

    [webkitcorepy] Failed to install setuptools
    https://bugs.webkit.org/show_bug.cgi?id=263825
    rdar://117940593

    Reviewed by Dewei Zhu and Oriol Brufau.

    * Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
    (Package.install): Differentiate between files and folders when removing
    existing autoinstalled content.

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

Canonical link: https://commits.webkit.org/274313.393@webkitglib/2.44


  Commit: 72b8bce49442b2e24db984d82dba4fb583ff480b
      https://github.com/WebKit/WebKit/commit/72b8bce49442b2e24db984d82dba4fb583ff480b
  Author: Devin Rousso <hi at devinrousso.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebInspectorUI/UserInterface/Models/Recording.js
    M Source/WebInspectorUI/UserInterface/Models/RecordingAction.js

  Log Message:
  -----------
  Cherry-pick 280147 at main (cba08d5a8e69). https://bugs.webkit.org/show_bug.cgi?id=275539

    Web Inspector: REGRESSION(252630 at main): Canvas: clicking on trace call frame doesn't jump to source
    https://bugs.webkit.org/show_bug.cgi?id=275539

    Reviewed by Timothy Hatcher.

    `WI.StackTrace.fromPayload` expects that the `callFrames` property in the `payload` parameter are protocol payloads, not actual `WI.CallFrame` objects.

    * Source/WebInspectorUI/UserInterface/Models/Recording.js:
    (WI.Recording.prototype.async swizzle):
    * Source/WebInspectorUI/UserInterface/Models/RecordingAction.js:
    (WI.RecordingAction.prototype.async swizzle):

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

Canonical link: https://commits.webkit.org/274313.394@webkitglib/2.44


  Commit: 8bbc43b4355ce7782564810d3e55487ba6b28e90
      https://github.com/WebKit/WebKit/commit/8bbc43b4355ce7782564810d3e55487ba6b28e90
  Author: Devin Rousso <hi at devinrousso.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.css

  Log Message:
  -----------
  Cherry-pick 280145 at main (7336e06e94b0). https://bugs.webkit.org/show_bug.cgi?id=275540

    Web Inspector: REGRESSION(?): Canvas: cannot scroll list of WebGL shader programs
    https://bugs.webkit.org/show_bug.cgi?id=275540

    Reviewed by Timothy Hatcher.

    * Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.css:
    (.sidebar > .panel.navigation.canvas:not(.showing-recording) > .content): Added.
    (.sidebar > .panel.navigation.canvas > .content > .tree-outline.canvas): Added.
    (.sidebar > .panel.navigation.canvas:not(.showing-recording) > .content > .navigation-bar): Added.
    (.sidebar > .panel.navigation.canvas.showing-recording > .content > .tree-outline.canvas):
    (.sidebar > .panel.navigation.canvas:not(.showing-recording) > :is(.filter-bar, .overflow-shadow), .sidebar > .panel.navigation.canvas:not(.has-recordings) > .content > :is(.navigation-bar, .recording-content)): Added.
    (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar, .sidebar > .panel.navigation.canvas:not(.has-recordings) > .content > :is(.navigation-bar, .recording-content)): Deleted.
    Move the `overflow-y: auto;` to always apply instead of only when a recording is selected.
    Also ensure that the recording scope bar is always visible if there are recordings.

    Drive-by: prevent the overflow shadow and filter bar from being shown when a recording is not selected.
    Canonical link: https://commits.webkit.org/280145@main

Canonical link: https://commits.webkit.org/274313.395@webkitglib/2.44


  Commit: d0604cff548ea5f7ad5340a40f4695a8fa11e46f
      https://github.com/WebKit/WebKit/commit/d0604cff548ea5f7ad5340a40f4695a8fa11e46f
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M LayoutTests/fast/box-shadow/negative-shadow-box-expand-expected.txt
    M LayoutTests/fast/box-shadow/negative-shadow-box-shrink-expected.txt
    A LayoutTests/fast/repaint/4776765-expected.txt
    A LayoutTests/fast/repaint/outline-bounds-repaint-expected.txt
    A LayoutTests/fast/repaint/outline-bounds-repaint.html
    M LayoutTests/platform/gtk/fast/repaint/4776765-expected.txt
    M LayoutTests/platform/mac-ventura-wk2/fast/repaint/4776765-expected.txt
    M LayoutTests/platform/mac-wk1/fast/repaint/4776765-expected.txt
    R LayoutTests/platform/mac/fast/repaint/4776765-expected.txt
    M Source/WebCore/rendering/RenderBox.cpp

  Log Message:
  -----------
  Cherry-pick 279717 at main (939b1069b0b6). https://bugs.webkit.org/show_bug.cgi?id=275090

    REGRESSION (271254 at main): Partial box-shadow left behind when resizing elements
    https://bugs.webkit.org/show_bug.cgi?id=275090
    rdar://121966069

    Reviewed by Alan Baradlay.

    In 271254 at main, RenderBox::localOutlineBoundsRepaintRect() failed to actually return the
    modified rect, resulting in under-repainting when an element with box-shadow or outlines
    changed size.

    * LayoutTests/fast/box-shadow/negative-shadow-box-expand-expected.txt:
    * LayoutTests/fast/box-shadow/negative-shadow-box-shrink-expected.txt:
    * LayoutTests/fast/repaint/4776765-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/4776765-expected.txt.
    * LayoutTests/fast/repaint/outline-bounds-repaint-expected.txt: Added.
    * LayoutTests/fast/repaint/outline-bounds-repaint.html: Added.
    * LayoutTests/platform/gtk/fast/repaint/4776765-expected.txt:
    * LayoutTests/platform/mac-ventura-wk2/fast/repaint/4776765-expected.txt:
    * LayoutTests/platform/mac-wk1/fast/repaint/4776765-expected.txt:
    * Source/WebCore/rendering/RenderBox.cpp:
    (WebCore::RenderBox::localOutlineBoundsRepaintRect const):

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

Canonical link: https://commits.webkit.org/274313.396@webkitglib/2.44


  Commit: adb80b92153e32c45fdd00daa3eeef9e66d60abe
      https://github.com/WebKit/WebKit/commit/adb80b92153e32c45fdd00daa3eeef9e66d60abe
  Author: Patrick Griffis <pgriffis at igalia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/wpe/AcceleratedBackingStoreDMABuf.cpp

  Log Message:
  -----------
  Cherry-pick 276937 at main (10960413a084). https://bugs.webkit.org/show_bug.cgi?id=272030

    [WPE] Fix build failure after 273995 at main
    https://bugs.webkit.org/show_bug.cgi?id=272030

    Reviewed by Adrian Perez de Castro.

    This moved some classes from the WebKit to WebCore namespace.

    * Source/WebKit/UIProcess/wpe/AcceleratedBackingStoreDMABuf.cpp:
    (WebKit::AcceleratedBackingStoreDMABuf::didCreateBufferSHM):

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

Canonical link: https://commits.webkit.org/274313.397@webkitglib/2.44


  Commit: f4afc09e58f6919c7211bbb81356f82b52b7b174
      https://github.com/WebKit/WebKit/commit/f4afc09e58f6919c7211bbb81356f82b52b7b174
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A LayoutTests/compositing/shared-backing/composited-descendants-should-prevent-sharing-expected.html
    A LayoutTests/compositing/shared-backing/composited-descendants-should-prevent-sharing.html
    M LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/absolute-in-nested-overflow-scroll-expected.txt
    M LayoutTests/scrollingcoordinator/scrolling-tree/absolute-in-nested-overflow-scroll-expected.txt
    M Source/WebCore/rendering/RenderLayerCompositor.cpp

  Log Message:
  -----------
  Cherry-pick 276720 at main (6fa1d3b94cd7). https://bugs.webkit.org/show_bug.cgi?id=271710

    REGRESSION (273999 at main): Elements fail to render in Spinnaker
    https://bugs.webkit.org/show_bug.cgi?id=271710
    rdar://124483601

    Reviewed by Alan Baradlay.

    273999 at main reverted some backing sharing behavior to an older configuration, but this brought back
    a bug which affects Spinnaker dashboards. The test reduction has a series of overflow scrollers, both
    siblings and nested, and an element later in the tree that ends up obscured when the bug occurs.

    A simplified paint-order tree dump (via the Compositing log channel) looks like this:

    -S---------C-c-- 0x118000810 RenderView 0x1180002c0
    -S-----------c--   + 0x118001850 RenderBlock 0x118001700 HTML 0x118001050
    -S---------C-c--     + 0x1180044a0 RenderBlock (relative positioned) 0x118004350 DIV 0x118003350 class='container'
    -S-O-----XxC----       - 0x118004740 RenderTextControl 0x118005460 TEXTAREA 0x118003c20 class='fixed'
    ---O-------CPc--       + 0x1180049e0 RenderBlock (relative positioned) 0x1180045f0 DIV 0x1180033d0 id='main'
    --NO-------C-c--         n 0x118004dd0 RenderBlock 0x118004890 DIV 0x118003530 class='outer-scroller'
    --NO-------C--s-           n 0x118005070 RenderBlock 0x118004c80 DIV 0x1180035b0 class='scroller'
    ------------p-s-       + 0x1180055b0 RenderBlock (relative positioned) 0x1180051c0 DIV 0x118003790 class='indicator'

    Note the P on '0x1180049e0' indicating that it's a shared backing provider, and the p on '0x1180055b0' showing that
    it paints into that shared backing. However, the normal flow descendant layers of 0x1180049e0 (0x118004dd0 and 0x118005070)
    are both [C]composited, so they appear on top of 0x1180055b0, which is the bug.

    A composited layer normally interrupts a backing sharing sequence. However, we only determined that 0x1180049e0 could
    be a backing provider after traversing its descendant layers in `updateBackingSharingAfterDescendantTraversal()`,
    and made it one despite it having composited descendants. So fix `updateBackingSharingAfterDescendantTraversal()`
    to check that.

    This undoes the backing sharing that happened in `scrollingcoordinator/scrolling-tree/absolute-in-nested-overflow-scroll`,
    but that sharing was undone on scrolling anyway.

    * LayoutTests/compositing/shared-backing/composited-descendants-should-prevent-sharing-expected.html: Added.
    * LayoutTests/compositing/shared-backing/composited-descendants-should-prevent-sharing.html: Added.
    * Source/WebCore/rendering/RenderLayerCompositor.cpp:
    (WebCore::RenderLayerCompositor::updateBackingSharingAfterDescendantTraversal):

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

Canonical link: https://commits.webkit.org/274313.398@webkitglib/2.44


  Commit: 11b35bc8d2a50d67e20a7b1ec0c24a9485a16066
      https://github.com/WebKit/WebKit/commit/11b35bc8d2a50d67e20a7b1ec0c24a9485a16066
  Author: Adrian Perez de Castro <aperez at igalia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/JavaScriptCore/llint/LLIntOpcode.h
    M Source/JavaScriptCore/llint/LowLevelInterpreter.cpp

  Log Message:
  -----------
  Revert "BYTECODE_HELPER_ID LLint opcodes need look up for wide versions."

This reverts commit aa62ce7b905994f278e4661ae4c7425ce400be01.

Canonical link: https://commits.webkit.org/274313.399@webkitglib/2.44


  Commit: 2fd522326fdd6ff705560fa437a8bc09e56b284e
      https://github.com/WebKit/WebKit/commit/2fd522326fdd6ff705560fa437a8bc09e56b284e
  Author: Sammy Gill <sammy.gill at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A PerformanceTests/Layout/nested-grid-subgrid-free-space-columns.html
    M Source/WebCore/Headers.cmake
    M Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp
    M Source/WebCore/rendering/RenderGrid.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h

  Log Message:
  -----------
  Cherry-pick 276633 at main (ba849a630cec). https://bugs.webkit.org/show_bug.cgi?id=271083

    [css-grid] Grid track sizing algorithm logical height computation unnecessarily dirties grid items.
    https://bugs.webkit.org/show_bug.cgi?id=271083
    rdar://124713418

    Reviewed by Matt Woodrow.

    In certain situations when trying to compute the logical height for a
    grid item, the grid track sizing algorithm will update the grid item's
    overriding containing block size and mark it dirty for layout. This
    dirtying would occur even it we end up setting the override size to the
    same value and could result in bad performance with particular types
    of content. For example, nested grid content would run grid layout
    multiple times which is currently expensive.

    In this patch we avoid this extra call to layout by checking to see if
    the override size is already set to the value we are attempting to set
    it to. If it is then we will avoid dirtying the renderer.

    This also ended up exposing an invalidation bug in which we were not
    properly invalidating the grid items when there was a style change on
    the grid related to its column or row sizes. This was demonstrated with
    new failures in css-grid/layout-algorithm/grid-intrinsic-track-sizes-001.html
    which was performing this behavior. Now when the grid style changes we
    will check to see if any of the sizes for the columns or the rows are
    different. If this occurs we should mark the grid items as dirty. This
    is likely to be more than necessary since we could probably try to
    identify the exact set of grid items that need to be invalidated, but
    this approach is the least risky for now. Future patches should attempt
    to reign this invalidation in a bit more.

    Without this patch I was getting about 2 runs/s and afterwards I was
    able to get about ~690 runs/s.

    * PerformanceTests/Layout/nested-grid-subgrid-free-space-columns.html: Added.
    * Source/WebCore/Headers.cmake:
    * Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:
    (WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const):
    * Source/WebCore/rendering/RenderGrid.cpp:
    (WebCore::RenderGrid::styleDidChange):
    * Source/WebCore/rendering/style/RenderStyle.h:
    * Source/WebCore/rendering/style/RenderStyleInlines.h:
    (WebCore::RenderStyle::gridTrackSizes const):

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

Canonical link: https://commits.webkit.org/274313.400@webkitglib/2.44


  Commit: 0b7bd0777686696923126fb5006a35aefd0ea89f
      https://github.com/WebKit/WebKit/commit/0b7bd0777686696923126fb5006a35aefd0ea89f
  Author: Justin Michaud <justin_michaud at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A JSTests/wasm/stress/omg-stack-overflow.js
    A JSTests/wasm/stress/omg-stack-overflow.wasm
    M Source/JavaScriptCore/wasm/WasmOperations.cpp

  Log Message:
  -----------
  Cherry-pick 276645 at main (3a0671fdf831). https://bugs.webkit.org/show_bug.cgi?id=270605

    Add missing stack check to bbq->omg OSR
    https://bugs.webkit.org/show_bug.cgi?id=270605
    rdar://124060272

    Reviewed by Keith Miller.

    In https://commits.webkit.org/272448.466@safari-7618-branch, we turned
    a stack overflow during OSR entry into a crash, preventing a security
    issue. While the crash prevents memory corruption, it should never
    happen. This patch fixes a case that was missed in the first patch.

    Note: the test case currently runs forever, so it is skipped until
    we fix the watchdog in wasm.

    * JSTests/wasm/stress/omg-stack-overflow.js: Added.
    (globalThis.callerIsBBQOrOMGCompiled.instantiateJsc):
    (else.instantiateBrowser):
    (async let):
    * JSTests/wasm/stress/omg-stack-overflow.wasm: Added.
    * Source/JavaScriptCore/wasm/WasmOperations.cpp:
    (JSC::Wasm::JSC_DEFINE_JIT_OPERATION):

    Originally-landed-as: 272448.704 at safari-7618-branch (36930ea8be72). rdar://125261536
    Canonical link: https://commits.webkit.org/276645@main

Canonical link: https://commits.webkit.org/274313.401@webkitglib/2.44


  Commit: 9dfda8a33ac583e608e236e47b3987b52e2e7cd4
      https://github.com/WebKit/WebKit/commit/9dfda8a33ac583e608e236e47b3987b52e2e7cd4
  Author: Justin Michaud <justin_michaud at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A JSTests/wasm/stress/omg-osr-stack-check-2.js
    A JSTests/wasm/stress/omg-osr-stack-check-2.wasm
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmCallee.h
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp

  Log Message:
  -----------
  Cherry-pick 276682 at main (4322c3bd5293). https://bugs.webkit.org/show_bug.cgi?id=271011

    Stack check size can be zero if omg skips stack checks.
    https://bugs.webkit.org/show_bug.cgi?id=271011
    rdar://124390384

    Reviewed by Yusuke Suzuki.

    For leaf functions that have really small stacks, this stack check can
    be skipped and the ASSERT(stackCheckSize()) is wrong.

    We change the assert to ensure that the stack check size is set, but
    if it is not needed, we can skip the stack check.

    * Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
    (JSC::Wasm::parseAndCompileB3):
    * Source/JavaScriptCore/wasm/WasmCallee.h:

    Originally-landed-as: 272448.753 at safari-7618-branch (aef93328873d). rdar://124390384
    Canonical link: https://commits.webkit.org/276682@main

Canonical link: https://commits.webkit.org/274313.402@webkitglib/2.44


  Commit: d5151e75c73766fc321989e24fb138040aa9112a
      https://github.com/WebKit/WebKit/commit/d5151e75c73766fc321989e24fb138040aa9112a
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp

  Log Message:
  -----------
  Cherry-pick 282880 at main (d1ee6bc865cb). https://bugs.webkit.org/show_bug.cgi?id=278809

    Debug assertion occasionally triggered in Mail via `WebUserContentControllerProxy::didPostMessage`
    https://bugs.webkit.org/show_bug.cgi?id=278809
    rdar://134879673

    Reviewed by Abrar Rahman Protyasha.

    Ensure the completion handler is always called in this method.

    * Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp:
    (WebKit::WebUserContentControllerProxy::didPostMessage):

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

Canonical link: https://commits.webkit.org/274313.403@webkitglib/2.44


  Commit: 70a60da0ef74d9d67ce6828d4b27f10a292c6931
      https://github.com/WebKit/WebKit/commit/70a60da0ef74d9d67ce6828d4b27f10a292c6931
  Author: Vitaly Dyachkov <vitaly at igalia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M Source/WebCore/xml/XPathNodeSet.cpp

  Log Message:
  -----------
  Cherry-pick 282842 at main (54db0db4919d). https://bugs.webkit.org/show_bug.cgi?id=278781

    Some `fast/xpath` tests hit an assertion in release with `ENABLE_ASSERTS=1`
    https://bugs.webkit.org/show_bug.cgi?id=278781

    Reviewed by Anne van Kesteren.

    The code assumes that `ASSERT()` macro is only enabled in debug builds,
    but it can be enabled in release builds too using `ENABLE_ASSERTS=1`.

    * Source/WebCore/xml/XPathNodeSet.cpp:
    (WebCore::XPath::sortBlock):

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

Canonical link: https://commits.webkit.org/274313.404@webkitglib/2.44


  Commit: fd92484c3922ecf096d8381f49e7a70158ae74b6
      https://github.com/WebKit/WebKit/commit/fd92484c3922ecf096d8381f49e7a70158ae74b6
  Author: Philippe Normand <philn at igalia.com>
  Date:   2024-09-03 (Tue, 03 Sep 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/GStreamerSinksWorkarounds.cpp

  Log Message:
  -----------
  Cherry-pick 283051 at main (03e1d775d51d). https://bugs.webkit.org/show_bug.cgi?id=278989

    [GStreamer] Memory leak in GStreamerSinksWorkarounds
    https://bugs.webkit.org/show_bug.cgi?id=278989

    Reviewed by Alicia Boya Garcia.

    * Source/WebCore/platform/graphics/gstreamer/GStreamerSinksWorkarounds.cpp:
    (WebCore::AppSinkFlushCapsWorkaroundProbe::checkIsNeeded): Make sure the string allocated in
    gst_plugins_base_version_string() is de-allocated afterwards.

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

Canonical link: https://commits.webkit.org/274313.405@webkitglib/2.44


  Commit: 3637305650ee77c7163f09bb6a0a3d387a4e6a2d
      https://github.com/WebKit/WebKit/commit/3637305650ee77c7163f09bb6a0a3d387a4e6a2d
  Author: Vitaly Dyachkov <vitaly at igalia.com>
  Date:   2024-09-03 (Tue, 03 Sep 2024)

  Changed paths:
    M Source/WebCore/xml/XPathNodeSet.cpp

  Log Message:
  -----------
  Cherry-pick 282992 at main (7ce6a1c447e1). https://bugs.webkit.org/show_bug.cgi?id=278781

    Some `fast/xpath` tests hit an assertion in release with `ENABLE_ASSERTS=1`
    https://bugs.webkit.org/show_bug.cgi?id=278781

    Reviewed by Alexey Proskuryakov.

    In https://github.com/WebKit/WebKit/pull/32818 @aproskuryakov rightly
    noted that "when someone builds with ENABLE_ASSERTS=1, they presumably
    want the asserts to work, not to be ifdefed out".

    * Source/WebCore/xml/XPathNodeSet.cpp:
    (WebCore::XPath::sortBlock):

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

Canonical link: https://commits.webkit.org/274313.406@webkitglib/2.44


Compare: https://github.com/WebKit/WebKit/compare/83e0705053cc...3637305650ee

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