Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: 71b801ce6146294598f75bcb683bfb62f09e99cc
      
https://github.com/WebKit/WebKit/commit/71b801ce6146294598f75bcb683bfb62f09e99cc
  Author: Ahmad Saleem <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp

  Log Message:
  -----------
  Cherry-pick 317026@main (986e5185e1c1). 
https://bugs.webkit.org/show_bug.cgi?id=319222

    IndexedDB getCount() truncates record counts above INT_MAX
    https://bugs.webkit.org/show_bug.cgi?id=319222
    rdar://182075709

    Reviewed by Chris Dumez.

    SQLiteIDBBackingStore::getCount() writes the record count into a
    uint64_t out-parameter, and SQLite's COUNT(*) is a 64-bit integer,
    but the result was read with columnInt(), which returns a 32-bit int.
    A count above INT_MAX would be truncated (and sign-extended into a
    bogus large value). Read the column with columnInt64() instead,
    matching uncheckedGetKeyGeneratorValue() just below it.

    No new tests; triggering truncation requires more than 2^31 records
    in a single object store, which is not practical to exercise in a
    test.

    * Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
    (WebCore::IDBServer::SQLiteIDBBackingStore::getCount):

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

Canonical link: https://commits.webkit.org/305877.979@webkitglib/2.52


  Commit: ff42e93a7314b5379d63f3975a0735fe1e1f133c
      
https://github.com/WebKit/WebKit/commit/ff42e93a7314b5379d63f3975a0735fe1e1f133c
  Author: Sabith Saheb <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Source/WebCore/loader/TextResourceDecoder.cpp

  Log Message:
  -----------
  Cherry-pick 317011@main (94ff9f23ee9c). 
https://bugs.webkit.org/show_bug.cgi?id=318680

    Off-by-one out-of-bounds read in KanjiCode::judge()
    https://bugs.webkit.org/show_bug.cgi?id=318680

    Reviewed by Chris Dumez.

    KanjiCode::judge() scans response bytes to guess a Japanese encoding
    during charset autodetection. Two branches guard the string[i + 1]
    lookahead with (string.size() - i >= 1), which is always true inside the
    while (i < string.size()) loop, so when the final byte (i == size - 1)
    falls in 0x81..0x9f or 0xfd..0xfe the code reads string[i + 1], one past
    the end of the span. string is a std::span and WebKit builds with
    hardened libc++, so this is caught as a safe release-assert crash, not a
    heap-buffer-overflow or a security bug. The sibling hiragana/katakana
    branches already use the correct (string.size() - i > 1) guard; this
    makes the two SJIS/EUC lead-byte branches match. Inputs that actually
    have a following byte take the same branch as before.

    * Source/WebCore/loader/TextResourceDecoder.cpp:
    (KanjiCode::judge):

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

Canonical link: https://commits.webkit.org/305877.980@webkitglib/2.52


  Commit: 77119d1d8af859354151b49ed5c8a357d6cac754
      
https://github.com/WebKit/WebKit/commit/77119d1d8af859354151b49ed5c8a357d6cac754
  Author: Carlos Alberto Lopez Perez <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Tools/Scripts/run-jsc-stress-tests

  Log Message:
  -----------
  Cherry-pick 316943@main (25eb2ef52e74). 
https://bugs.webkit.org/show_bug.cgi?id=319094

    [run-jsc-stress-tests] Should honor the env variable NUMBER_OF_PROCESSORS 
if set
    https://bugs.webkit.org/show_bug.cgi?id=319094

    Reviewed by Claudio Saavedra.

    This variable is commonly used on the bots to limit the number of parallel 
jobs.
    This script should honor it like the other webkit-related test scripts.
    run-jsc-stress-tests script is executed on the bots on the step jscore-test 
when
    it is executed via the main run-javascriptcore-tests script.

    * Tools/Scripts/run-jsc-stress-tests:

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

Canonical link: https://commits.webkit.org/305877.981@webkitglib/2.52


  Commit: 4a0627e66cea75c483aee3f6ae1f16ecfcfb3fad
      
https://github.com/WebKit/WebKit/commit/4a0627e66cea75c483aee3f6ae1f16ecfcfb3fad
  Author: Adrian Perez de Castro <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Source/WebCore/platform/gtk/po/pt_BR.po

  Log Message:
  -----------
  Cherry-pick 317131@main (c07665993686). 
https://bugs.webkit.org/show_bug.cgi?id=319282

    [GTK] Update Brazilian Portuguese (pt_BR.po) translation
    https://bugs.webkit.org/show_bug.cgi?id=319282

    Unreviewed.

    * Source/WebCore/platform/gtk/po/pt_BR.po:

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

Canonical link: https://commits.webkit.org/305877.982@webkitglib/2.52


  Commit: 24f406500bb92706dc8c320fde3f36ce9f2f9f09
      
https://github.com/WebKit/WebKit/commit/24f406500bb92706dc8c320fde3f36ce9f2f9f09
  Author: Ahmad Saleem <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Source/WebInspectorUI/UserInterface/Models/Color.js

  Log Message:
  -----------
  Cherry-pick 317047@main (aa596b0d59eb). 
https://bugs.webkit.org/show_bug.cgi?id=319241

    Web Inspector: crimson named color maps to wrong RGB value
    https://bugs.webkit.org/show_bug.cgi?id=319241
    rdar://182090064

    Reviewed by Abrar Rahman Protyasha and Devin Rousso.

    The `crimson` keyword was mapped to [237, 164, 61] (a dull orange)
    instead of its correct value #DC143C ([220, 20, 60]).

    * Source/WebInspectorUI/UserInterface/Models/Color.js:

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

Canonical link: https://commits.webkit.org/305877.983@webkitglib/2.52


  Commit: a3ed95996e868d81d6dd5750db2dc4d2b8cc8a32
      
https://github.com/WebKit/WebKit/commit/a3ed95996e868d81d6dd5750db2dc4d2b8cc8a32
  Author: Ahmad Saleem <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Source/WebCore/svg/SVGLengthContext.cpp

  Log Message:
  -----------
  Cherry-pick 317004@main (8256a3cb6c19). 
https://bugs.webkit.org/show_bug.cgi?id=318852

    Null-deref of documentElement() when resolving root-font-relative SVG 
lengths
    https://bugs.webkit.org/show_bug.cgi?id=318852
    rdar://181677854

    Reviewed by Taher Ali.

    SVGLengthContext::removeZoomFromFontOrRootFontRelativeLength() dereferenced
    Document::documentElement() without a null check when resolving a
    root-font-relative unit (e.g. rem/rlh). documentElement() can return null
    (document without a root element, or one being torn down), so this could
    crash during length/style resolution.

    The sibling helper rootRenderStyleForLengthResolving() already guards this
    exact access with `if (!rootElement || !rootElement->renderer())`. Guard
    documentElement() before reading its renderer, mirroring the sibling helper.

    * Source/WebCore/svg/SVGLengthContext.cpp:
    (WebCore::SVGLengthContext::removeZoomFromFontOrRootFontRelativeLength 
const):

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

Canonical link: https://commits.webkit.org/305877.984@webkitglib/2.52


  Commit: fe8ce1ffd41dcd96220cac38a8a2fa31fc430b7c
      
https://github.com/WebKit/WebKit/commit/fe8ce1ffd41dcd96220cac38a8a2fa31fc430b7c
  Author: Tyler Wilcock <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    A 
LayoutTests/accessibility/relations-update-during-node-removal-crash-expected.txt
    A LayoutTests/accessibility/relations-update-during-node-removal-crash.html
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h

  Log Message:
  -----------
  Cherry-pick 316915@main (62d7f19ba485). 
https://bugs.webkit.org/show_bug.cgi?id=318992

    AX: Null-pointer dereference rebuilding accessibility relations during node 
removal
    https://bugs.webkit.org/show_bug.cgi?id=318992
    rdar://181844005

    Reviewed by Chris Fleizach.

    During node teardown (e.g. a GC sweep destroying DOM nodes), 
AXObjectCache::remove(Node&)
    -> remove(AXID) -> AXIsolatedTree::queueNodeRemoval() computes the removed 
object's parent via
    parentInCoreTree() -> AccessibilityNodeObject::ownerParentObject(). When 
relations are dirty,
    that reaches owners() -> relatedObjects(AXRelation::OwnedBy) -> 
relatedObjectIDsFor(...,
    UpdateRelations::Yes), which synchronously runs updateRelationsIfNeeded(). 
Rebuilding relations
    walks the DOM and creates accessibility objects in the middle of node 
destruction, dereferencing
    a null pointer.

    Guard against this with an m_isRemovingNode flag set across remove(AXID). 
updateRelationsIfNeeded()
    returns early while it is set. queueNodeRemoval() already reads relations 
without updating them
    for its LabelFor lookup (UpdateRelations::No), so this is consistent with 
the existing intent.

    Reading the current (stale) relations during removal is also correct. The 
parent ID recorded by
    queueNodeRemoval() must match the isolated tree's m_nodeMap, which reflects 
the same last-built
    relations. A fresh rebuild would desync from it and make 
removeSubtreeFromNodeMap() bail.

    * 
LayoutTests/accessibility/relations-update-during-node-removal-crash-expected.txt:
 Added.
    * 
LayoutTests/accessibility/relations-update-during-node-removal-crash.html: 
Added.
    * Source/WebCore/accessibility/AXObjectCache.cpp:
    (WebCore::AXObjectCache::remove):
    (WebCore::AXObjectCache::updateRelationsIfNeeded):
    * Source/WebCore/accessibility/AXObjectCache.h:

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

Canonical link: https://commits.webkit.org/305877.985@webkitglib/2.52


  Commit: 2091b9a3d7e23d4a0e8817867623d01f90b72ad4
      
https://github.com/WebKit/WebKit/commit/2091b9a3d7e23d4a0e8817867623d01f90b72ad4
  Author: Brady Eidson <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

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

  Log Message:
  -----------
  Cherry-pick 316666@main (bff3064cc420). 
https://bugs.webkit.org/show_bug.cgi?id=318800

    Null check pageClient() inside WebPageProxy::didAttachToRunningProcess
    rdar://180575637
    https://bugs.webkit.org/show_bug.cgi?id=318800

    Reviewed by Rupin Mittal.

    Many, many pieces of PSON commit machinery null check pageClient(), which
    can legitimately become null.

    WebPageProxy::didAttachToRunningProcess missed such a check. Let's add it.

    Unable to reproduce, so no test.

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

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

Canonical link: https://commits.webkit.org/305877.986@webkitglib/2.52


  Commit: f8e73ca729116af05b52ac34df3182b407c11246
      
https://github.com/WebKit/WebKit/commit/f8e73ca729116af05b52ac34df3182b407c11246
  Author: Ryosuke Niwa <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations
    M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebCore/page/NavigateEvent.cpp

  Log Message:
  -----------
  Cherry-pick 316500@main (7b7429195b07). 
https://bugs.webkit.org/show_bug.cgi?id=313606

    Use-after-free in LocalFrameView::scrollToAnchorFragment via 
NavigateEvent:finish
    https://bugs.webkit.org/show_bug.cgi?id=313606

    Reviewed by Anne van Kesteren and Rupin Mittal.

    Deployed more smart pointers to fix the bug.

    Test: navigation-api/navigation-api-fragment-intercept-crash.html

    * 
LayoutTests/navigation-api/navigation-api-fragment-intercept-crash-expected.txt:
 Added.
    * LayoutTests/navigation-api/navigation-api-fragment-intercept-crash.html: 
Added.
    * 
LayoutTests/navigation-api/resources/navigation-api-fragment-intercept-crash-inner.html:
 Added.

    Originally-landed-as: 305413.777@safari-7624-branch (0e113df3124c). 
rdar://180428609
    Canonical link: https://commits.webkit.org/316500@main

Canonical link: https://commits.webkit.org/305877.987@webkitglib/2.52


  Commit: ab25e210be218861e75479a64d7cbaa366ce3ccd
      
https://github.com/WebKit/WebKit/commit/ab25e210be218861e75479a64d7cbaa366ce3ccd
  Author: Ahmad Saleem <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Source/WebCore/inspector/agents/InspectorCSSAgent.cpp

  Log Message:
  -----------
  Cherry-pick 316490@main (30dcf5d1c940). 
https://bugs.webkit.org/show_bug.cgi?id=318537

    [Web Inspector] Null InspectorStyleSheet dereference in 
InspectorCSSAgent::setActiveStyleSheetsForDocument when removing a stylesheet
    https://bugs.webkit.org/show_bug.cgi?id=318537
    rdar://181307890

    Reviewed by Devin Rousso.

    When processing removed stylesheets, InspectorCSSAgent dereferenced the
    result of m_cssStyleSheetToInspectorStyleSheet.get() without a null check
    to read id(), unlike its twin FrameCSSAgent::setActiveStyleSheetsForDocument
    which guards the same access. Add the missing null check to match.

    * Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:
    (WebCore::InspectorCSSAgent::setActiveStyleSheetsForDocument):

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

Canonical link: https://commits.webkit.org/305877.988@webkitglib/2.52


Compare: https://github.com/WebKit/WebKit/compare/9d11fa1a37e6...ab25e210be21

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

Reply via email to