Branch: refs/heads/webkitglib/2.54
  Home:   https://github.com/WebKit/WebKit
  Commit: b37fadaddeee6bf216dd3d73d6472c14d67300af
      
https://github.com/WebKit/WebKit/commit/b37fadaddeee6bf216dd3d73d6472c14d67300af
  Author: Alex Christensen <[email protected]>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    A LayoutTests/http/tests/cache/memory-cache-partition-drift-expected.txt
    A LayoutTests/http/tests/cache/memory-cache-partition-drift.html
    A 
LayoutTests/http/tests/cache/resources/memory-cache-partition-drift-frame.html
    A LayoutTests/http/tests/cache/resources/no-store-font.py
    M Source/WebCore/loader/FrameLoader.h
    M Source/WebCore/page/LocalFrame.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Tools/TestWebKitAPI/SourcesCocoa.txt
    A Tools/TestWebKitAPI/Tests/WebKit/WKWebView/MemoryCachePartitioning.mm
    M Tools/WebKitTestRunner/TestController.cpp
    M Tools/WebKitTestRunner/TestOptions.cpp
    M Tools/WebKitTestRunner/TestOptions.h

  Log Message:
  -----------
  Cherry-pick 320474@main (0d58b764f34b). 
https://bugs.webkit.org/show_bug.cgi?id=323053

    Fix crash in MemoryCache::add after 315967@main
    https://bugs.webkit.org/show_bug.cgi?id=323053
    rdar://182493844

    Reviewed by Chris Dumez.

    _WKUserStyleSheet can be used to load a font very early in the document 
creation process.
    It was loading before the firstPartyForCookies was set, then later the 
firstPartyForCookies
    was being updated, which caused inconsistent state in the memory cache 
which hit the
    release assertion.

    This adds a missing call to updateFirstPartyForCookies to update earlier if 
necessary.
    The test also hit the debug assertion in 
FrameLoader::applyUserAgentIfNeeded because
    the user agent was null.  I move the user agent setting to earlier in the 
WebPage constructor
    to avoid calling initWithCoreMainFrame with a null user agent, which caused 
the debug assert.

    I added a layout test that hits the MemoryCache issue, but it doesn't hit 
the user agent
    issue, so I also added an API test that does.

    Tests: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/MemoryCachePartitioning.mm
           Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SecurityFlags.mm
           http/tests/cache/memory-cache-partition-drift.html

    * Source/WebCore/loader/FrameLoader.h:
    * Source/WebCore/page/LocalFrame.cpp:
    (WebCore::LocalFrame::setDocument):
    * Source/WebKit/WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::WebPage):
    (WebKit::m_allowsImmersiveEnvironments):
    * Tools/TestWebKitAPI/SourcesCocoa.txt:
    * Tools/TestWebKitAPI/Tests/WebKit/WKWebView/MemoryCachePartitioning.mm: 
Added.
    (TestWebKitAPI::TEST(MemoryCache, 
FontFromUserStyleSheetKeepsCachePartition)):
    * LayoutTests/http/tests/cache/memory-cache-partition-drift-expected.txt: 
Added.
    * LayoutTests/http/tests/cache/memory-cache-partition-drift.html: Added.
    * 
LayoutTests/http/tests/cache/resources/memory-cache-partition-drift-frame.html: 
Added.
    * LayoutTests/http/tests/cache/resources/no-store-font.py: Added.
    * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    * Tools/WebKitTestRunner/TestController.cpp:
    (WTR::TestController::resetPreferencesToConsistentValues):
    * Tools/WebKitTestRunner/TestOptions.cpp:
    (WTR::TestOptions::defaults):
    (WTR::TestOptions::keyTypeMapping):
    * Tools/WebKitTestRunner/TestOptions.h:
    (WTR::TestOptions::blockThirdPartyStorage const):

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

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



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

Reply via email to