Branch: refs/heads/webkitglib/2.54
  Home:   https://github.com/WebKit/WebKit
  Commit: 6dd10a05129d283ee3ec5e79bcf19d3830c3852e
      
https://github.com/WebKit/WebKit/commit/6dd10a05129d283ee3ec5e79bcf19d3830c3852e
  Author: Kristian Monsen <[email protected]>
  Date:   2026-08-09 (Sun, 09 Aug 2026)

  Changed paths:
    A 
LayoutTests/navigation-api/navigation-navigate-state-clone-exception-crash-expected.txt
    A 
LayoutTests/navigation-api/navigation-navigate-state-clone-exception-crash.html
    A 
LayoutTests/navigation-api/navigation-reload-state-clone-exception-crash-expected.txt
    A 
LayoutTests/navigation-api/navigation-reload-state-clone-exception-crash.html
    M Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp

  Log Message:
  -----------
  Cherry-pick 318836@main (37cfccb3c6c9). 
https://bugs.webkit.org/show_bug.cgi?id=321250

    Fix crash from double-consuming the pending exception in 
DeferredPromise::reject() during Navigation reload()/navigate() error handling
    https://bugs.webkit.org/show_bug.cgi?id=321250
    rdar://183911429

    Reviewed by Rupin Mittal.

    Navigation::createErrorResult() rejects both the committed and finished 
promises with the same Exception. When that exception carries 
ExceptionCode::ExistingExceptionError — the
    sentinel meaning "the real JS exception is already sitting on the VM's 
exception scope" — DeferredPromise::reject() pulled the value straight off 
scope.exception() and called
    scope.clearException() as a side effect. That works for the first reject() 
call, but clears the exception before the second call runs, so it finds nothing 
there: an assert in
    debug/ASan builds, a null-pointer read of Exception::m_value in release 
builds — either way, a crash on every reload()/navigate() whose state argument 
throws during
    structured-clone.

    The fix reuses the exceptionObject out-parameter that's already threaded 
through both reject() calls (the same parameter the plain-ExceptionCode branch 
a few lines below already
    uses to build the DOMException once and share it across calls). On the 
first call, if exceptionObject is still empty, it extracts the value from the 
exception scope, clears it, and
    caches the result in exceptionObject; on the second call, exceptionObject 
is already populated, so it skips touching the exception scope entirely and 
just rejects with the cached
    value. This matches the pattern already used elsewhere in Navigation.cpp 
(rejectFinishedPromise, which precomputes a DOMException once and passes it to 
both promise rejections),
    and it satisfies the spec requirement that committed and finished reject 
with the identical error value — which a "swallow and fall back to a generic 
error" fix would not have.

    Tests: navigation-api/navigation-navigate-state-clone-exception-crash.html
           navigation-api/navigation-reload-state-clone-exception-crash.html

    * 
LayoutTests/navigation-api/navigation-navigate-state-clone-exception-crash-expected.txt:
 Added.
    * 
LayoutTests/navigation-api/navigation-navigate-state-clone-exception-crash.html:
 Added.
    * 
LayoutTests/navigation-api/navigation-reload-state-clone-exception-crash-expected.txt:
 Added.
    * 
LayoutTests/navigation-api/navigation-reload-state-clone-exception-crash.html: 
Added.
    * Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp:
    (WebCore::DeferredPromise::reject):

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

Canonical link: https://commits.webkit.org/317695.74@webkitglib/2.54


  Commit: abd16f7c6829960df159123fedd823eabacd4594
      
https://github.com/WebKit/WebKit/commit/abd16f7c6829960df159123fedd823eabacd4594
  Author: Carlos Garcia Campos <[email protected]>
  Date:   2026-08-09 (Sun, 09 Aug 2026)

  Changed paths:
    M Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations
    M Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp

  Log Message:
  -----------
  Cherry-pick 318692@main (e04f9dd61dc4). 
https://bugs.webkit.org/show_bug.cgi?id=321077

    Crash in AccessibilityMenuListPopup::menuListOptionAccessibilityObject
    https://bugs.webkit.org/show_bug.cgi?id=321077

    Reviewed by Tyler Wilcock.

    Null check AXCache we get from document and return early if it's nullptr.

    * Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp:
    (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject 
const):
    * Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations:

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

Canonical link: https://commits.webkit.org/317695.75@webkitglib/2.54


  Commit: 206d9afe94771a46e91eaeacf8ce44d14ff8cd14
      
https://github.com/WebKit/WebKit/commit/206d9afe94771a46e91eaeacf8ce44d14ff8cd14
  Author: Carlos Alberto Lopez Perez <[email protected]>
  Date:   2026-08-09 (Sun, 09 Aug 2026)

  Changed paths:
    M Source/cmake/WebKitCommon.cmake
    M Tools/Scripts/make-dist

  Log Message:
  -----------
  Cherry-pick 318773@main (aa6c61fcb002). 
https://bugs.webkit.org/show_bug.cgi?id=321266

Unreviewed backport.

    [GTK][WPE][CMake] Do not allow to build with make, require ninja instead.
    https://bugs.webkit.org/show_bug.cgi?id=321266

    Reviewed by Carlos Garcia Campos.

    Currently for building GTK or WPE there are two ways: use the build-webkit 
script
    or use CMake directly. The build-webkit script is only intended for webkit
    developers, for production releases or users of webkit the idea is to use 
cmake
    directly.

    The problem is that we have a split on how WebKit is built. With 
build-webkit
    ninja is used by default, but when using cmake directly it uses whatever 
cmake
    generator has as default (make usually) and that is causing issues because 
of
    build errors due to dependencies between targets, ninja has its own 
dependency
    graph, but plain makefiles don't.

    And this causes issues when someone tries to use make because no one usually
    tests the make build.

    This patch makes ninja mandatory for GTK and WPE ports and also changes the
    make-dist script to use it.

    * Source/cmake/WebKitCommon.cmake:
    * Tools/Scripts/make-dist:
    (Distcheck.configure):
    (Distcheck.build):
    (Distcheck.install):

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

Canonical link: https://commits.webkit.org/317695.76@webkitglib/2.54


  Commit: 552a4d6d6d1c9e5b36b2474c30d6cb4e25ffcbff
      
https://github.com/WebKit/WebKit/commit/552a4d6d6d1c9e5b36b2474c30d6cb4e25ffcbff
  Author: Fujii Hironori <[email protected]>
  Date:   2026-08-09 (Sun, 09 Aug 2026)

  Changed paths:
    M Source/cmake/WebKitMacros.cmake

  Log Message:
  -----------
  Cherry-pick 318630@main (4bfeff8c67ad). 
https://bugs.webkit.org/show_bug.cgi?id=321081

    [CMake 4.4][WPE] _WEBKIT_TARGET_LINK_FRAMEWORK reports "Unknown arguments 
specified" error
    https://bugs.webkit.org/show_bug.cgi?id=321081

    Reviewed by Adrian Perez de Castro.

    CMake 4.4 reports the following error for WPE.

    > -- Using platform-specific CMakeLists: 
/run/build/webkitwpe/Source/JavaScriptCore/shell/PlatformWPE.cmake
    > CMake Error at Source/cmake/WebKitMacros.cmake:554 (if):
    >   if given arguments:
    >
    >     "(" "NOT" "_linked_into" ")" "OR" "(" "JavaScriptCore" "STREQUAL" ")" 
"OR" "(" "NOT" "IN_LIST" "jsc_FRAMEWORKS" ")"
    >
    >   Unknown arguments specified
    > Call Stack (most recent call first):
    >   Source/cmake/WebKitMacros.cmake:756 (_WEBKIT_TARGET_LINK_FRAMEWORK)
    >   Source/JavaScriptCore/shell/CMakeLists.txt:126 (WEBKIT_EXECUTABLE)

    Replaced `${_linked_into}` with `_linked_into`.

    * Source/cmake/WebKitMacros.cmake(_WEBKIT_TARGET_LINK_FRAMEWORK):

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

Canonical link: https://commits.webkit.org/317695.77@webkitglib/2.54


Compare: https://github.com/WebKit/WebKit/compare/c6d83c190967...552a4d6d6d1c

To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to