Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: 7f9aac406e5b278abf7734e70e3eaa7a19dd2471
      
https://github.com/WebKit/WebKit/commit/7f9aac406e5b278abf7734e70e3eaa7a19dd2471
  Author: Charlie Wolfe <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    A 
LayoutTests/http/tests/resourceLoadStatistics/third-party-cookie-blocking-about-blank-popup-expected.txt
    A 
LayoutTests/http/tests/resourceLoadStatistics/third-party-cookie-blocking-about-blank-popup.html
    M Source/WebCore/loader/FrameLoader.cpp

  Log Message:
  -----------
  Cherry-pick 305413.366@safari-7624-branch (8acf8433e6be). 
https://bugs.webkit.org/show_bug.cgi?id=308445

    Block third-party cookies for requests from about:blank popups
    https://bugs.webkit.org/show_bug.cgi?id=308445
    rdar://168927271

    Reviewed by Matthew Finkel.

    When an about:blank popup made cross-origin requests, its 
firstPartyForCookies was set to about:blank,
    which has an empty registrable domain. 
thirdPartyCookieBlockingDecisionForRequest() returns
    ThirdPartyCookieBlockingDecision::None for empty domains, bypassing 
third-party cookie blocking.

    FrameLoader::updateFirstPartyForCookies() should inherit the opener's 
firstPartyForCookies when the main
    frame URL is an about:blank or other owner-inherited document.

    * 
LayoutTests/http/tests/resourceLoadStatistics/third-party-cookie-blocking-about-blank-popup-expected.txt:
 Added.
    * 
LayoutTests/http/tests/resourceLoadStatistics/third-party-cookie-blocking-about-blank-popup.html:
 Added.
    * Source/WebCore/loader/FrameLoader.cpp:
    (WebCore::FrameLoader::updateFirstPartyForCookies):

    Identifier: 305413.366@safari-7624-branch

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


  Commit: 49e38d5404ca6e014d68dfaa6545ab33ad261d17
      
https://github.com/WebKit/WebKit/commit/49e38d5404ca6e014d68dfaa6545ab33ad261d17
  Author: Sihui Liu <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WebCore/page/Frame.cpp
    M Source/WebCore/page/Frame.h
    M Source/WebKit/Shared/FrameInfoData.cpp
    M Source/WebKit/Shared/FrameInfoData.h
    M Source/WebKit/Shared/FrameInfoData.serialization.in
    M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm
    M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
    M 
Source/WebKit/UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm

  Log Message:
  -----------
  Cherry-pick 305413.367@safari-7624-branch (322ddc58184f). 
https://bugs.webkit.org/show_bug.cgi?id=308445

    Use requesting origin instead of active origin for DeviceOrientation 
permission request
    rdar://168597925

    Reviewed by Chris Dumez.

    The current implementation uses active origin (origin being navigating to) 
instead of requesting origin in permission
    prompt, and this might lead to permission being granted to a wrong origin.

    API test: DeviceOrientation.PermissionOriginDuringPendingNavigation

    * Source/WebCore/page/Frame.cpp:
    (WebCore::Frame::topOrigin const):
    * Source/WebCore/page/Frame.h:
    * Source/WebKit/Shared/FrameInfoData.cpp:
    (WebKit::legacyEmptyFrameInfo):
    * Source/WebKit/Shared/FrameInfoData.h:
    * Source/WebKit/Shared/FrameInfoData.serialization.in:
    * Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
    (WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
    * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
    (WebKit::ProvisionalPageProxy::cancel):
    * 
Source/WebKit/UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.cpp:
    (WebKit::WebDeviceOrientationAndMotionAccessController::shouldAllowAccess):
    * Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::navigationActionData const):
    * Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
    (WebKit::WebFrame::info const):
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
    ((DeviceOrientation, PermissionOriginDuringPendingNavigation)):

    Identifier: 305413.367@safari-7624-branch

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


  Commit: 60e6301e22c8516b50856d0d5b0619e0c741e6b4
      
https://github.com/WebKit/WebKit/commit/60e6301e22c8516b50856d0d5b0619e0c741e6b4
  Author: Roberto Rodriguez <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    A 
LayoutTests/http/tests/security/contentSecurityPolicy/path-traversal-bypass-with-percent-encoding-expected.txt
    A 
LayoutTests/http/tests/security/contentSecurityPolicy/path-traversal-bypass-with-percent-encoding.html
    M Source/WebCore/page/csp/ContentSecurityPolicySource.cpp
    M Source/WebCore/page/csp/ContentSecurityPolicySourceList.cpp

  Log Message:
  -----------
  Cherry-pick 305413.379@safari-7624-branch (e979e8c9cdc1). 
https://bugs.webkit.org/show_bug.cgi?id=308675

    Align ContentSecurityPolicySource::pathMatches() with CSP3 spec path 
matching algorithm
    https://bugs.webkit.org/show_bug.cgi?id=308675
    rdar://168933742

    Reviewed by Anne van Kesteren.

    WebKit's pathMatches() diverged from the CSP3 spec by percent-decoding
    the entire URL path as a flat string, then doing prefix/equality checks.
    This made it vulnerable to %2F..%2F path traversal bypasses.

    This change adopts the spec's algorithm (§ 6.7.2.12): split both paths
    on literal '/', percent-decode each segment, and compare corresponding
    pairs. This eliminates the vulnerability — %2F never produces a segment
    boundary, so sequences like %2F..%2F stay trapped in a single segment
    and won't match the expected path component.

    Test: 
http/tests/security/contentSecurityPolicy/path-traversal-bypass-with-percent-encoding.html

    * 
LayoutTests/http/tests/security/contentSecurityPolicy/path-traversal-bypass-with-percent-encoding-expected.txt:
 Added.
    * 
LayoutTests/http/tests/security/contentSecurityPolicy/path-traversal-bypass-with-percent-encoding.html:
 Added.
    * Source/WebCore/page/csp/ContentSecurityPolicySource.cpp:
    (WebCore::ContentSecurityPolicySource::pathMatches const):
    * Source/WebCore/page/csp/ContentSecurityPolicySourceList.cpp:
    (WebCore::ContentSecurityPolicySourceList::parsePath):

    Identifier: 305413.379@safari-7624-branch

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


  Commit: 6e172821747e972e3bd722b520d0bce3de56aac0
      
https://github.com/WebKit/WebKit/commit/6e172821747e972e3bd722b520d0bce3de56aac0
  Author: David Kilzer <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WebCore/workers/service/server/SWServer.cpp

  Log Message:
  -----------
  Cherry-pick 305413.383@safari-7624-branch (91ab7f0ce691). 
https://bugs.webkit.org/show_bug.cgi?id=308844

    SWServer::topLevelServiceWorkerClientFromPageIdentifier() crashes when maps 
are out-of-sync
    <https://bugs.webkit.org/show_bug.cgi?id=308844>
    <rdar://157943937>

    Reviewed by Brent Fulgham.

    A crash occurs in `topLevelServiceWorkerClientFromPageIdentifier()` when
    the Service Worker maps `m_clientIdentifiersPerOrigin` and `m_clientsById`
    become out-of-sync.  The function iterates over client identifiers from
    `m_clientIdentifiersPerOrigin` and calls `m_clientsById.find()` for each
    one, but never checks whether the result equals `m_clientsById.end()`
    before dereferencing it.

    Add an end-iterator check in 
`topLevelServiceWorkerClientFromPageIdentifier()`
    and use `continue` to skip missing clients (matching the pattern in
    `clientIsAppInitiatedForRegistrableDomain()`).

    Also replace the ASSERT-only guard in `serviceWorkerClientWithOriginByID()`
    with a proper end-iterator check that returns `std::nullopt` in release
    builds.

    No test since this is a race condition with no known steps to reproduce.

    * Source/WebCore/workers/service/server/SWServer.cpp:
    (WebCore::SWServer::serviceWorkerClientWithOriginByID):
    - Replace ASSERT-only check with end-iterator check returning
      std::nullopt.
    (WebCore::SWServer::topLevelServiceWorkerClientFromPageIdentifier):
    - Add end-iterator check with ASSERT_NOT_REACHED() to continue in order
      to skip missing clients.

    Identifier: 305413.383@safari-7624-branch

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


  Commit: 3807b6715c0e4edc800b91dcc4d4cee519531069
      
https://github.com/WebKit/WebKit/commit/3807b6715c0e4edc800b91dcc4d4cee519531069
  Author: Roberto Rodriguez <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    A 
LayoutTests/http/tests/security/contentSecurityPolicy/blob-url-inherits-multiple-csp-policies-expected.txt
    A 
LayoutTests/http/tests/security/contentSecurityPolicy/blob-url-inherits-multiple-csp-policies.html
    A 
LayoutTests/http/tests/security/contentSecurityPolicy/resources/create-blob-iframe.js
    A 
LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-multiple-csp-blob-iframe.py
    M 
LayoutTests/imported/w3c/web-platform-tests/trusted-types/inheriting-csp-for-local-schemes-expected.txt
    M Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.cpp

  Log Message:
  -----------
  Cherry-pick 305413.385@safari-7624-branch (a90148642299). 
https://bugs.webkit.org/show_bug.cgi?id=308906

    Fix CSP policy loss in blob: URL inheritance when page sends multiple CSP 
headers
    https://bugs.webkit.org/show_bug.cgi?id=308906
    rdar://168927377

    Reviewed by Anne van Kesteren.

    A page with two or more CSP headers correctly enforces those policies on
    itself, but blob: URLs it creates only see the last one. The policies
    are correctly captured in the policy container, but
    ContentSecurityPolicyResponseHeaders::addPolicyHeadersTo() writes them
    to the blob response using ResourceResponse::setHTTPHeaderField(), which
    overwrites policies rather than appending them together.

    Change to use ResourceResponse::addHTTPHeaderField() which
    comma-concatenates the values and preserves all CSP policies.

    Test: 
http/tests/security/contentSecurityPolicy/blob-url-inherits-multiple-csp-policies.html

    * 
LayoutTests/http/tests/security/contentSecurityPolicy/blob-url-inherits-multiple-csp-policies-expected.txt:
 Added.
    * 
LayoutTests/http/tests/security/contentSecurityPolicy/blob-url-inherits-multiple-csp-policies.html:
 Added.
    * 
LayoutTests/http/tests/security/contentSecurityPolicy/resources/create-blob-iframe.js:
 Added.
    * 
LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-multiple-csp-blob-iframe.py:
 Added.
    * 
LayoutTests/imported/w3c/web-platform-tests/trusted-types/inheriting-csp-for-local-schemes-expected.txt:
    * Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.cpp:
    (WebCore::ContentSecurityPolicyResponseHeaders::addPolicyHeadersTo const):

    Identifier: 305413.385@safari-7624-branch

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


  Commit: 4a8a90644cfc7a9a4b3cab13c4c0b49c53862787
      
https://github.com/WebKit/WebKit/commit/4a8a90644cfc7a9a4b3cab13c4c0b49c53862787
  Author: Aditya Keerthi <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    A 
LayoutTests/fast/forms/label/label-click-event-dispatch-untrusted-expected.txt
    A LayoutTests/fast/forms/label/label-click-event-dispatch-untrusted.html
    M Source/WebCore/dom/Element.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SwitchInputTests.mm

  Log Message:
  -----------
  Cherry-pick 305413.395@safari-7624-branch (2c99c891b64c). 
https://bugs.webkit.org/show_bug.cgi?id=309082

    Haptic feedback for <input type=checkbox switch> can be triggered with a 
programmatic click on an associated label
    https://bugs.webkit.org/show_bug.cgi?id=309082
    rdar://171635705

    Reviewed by Lily Spiniolas, Wenson Hsieh, and Abrar Rahman Protyasha.

    288403@main ensured that haptic feedback for <input type=checkbox switch> 
required
    user activation. However, it is also desired that haptics are only 
triggered for
    trusted events. This goal can currently be bypassed by calling `click()` on 
a label
    associated with the input. The result is that calling `click()` on the 
label,
    immediately following a user gesture, can allow for haptics to be 
programmatically
    triggered.

    The underlying issue is that untrusted click events on label elements become
    trusted click events on the associated control. This is because
    `Element::dispatchSimulatedClick` unconditionally sets 
`SimulatedClickSource::UserAgent`.
    While this is desirable for accessibility use cases, it is incorrect when 
the
    underlying event is untrusted.

    Fix by specifying `SimulatedClickSource::Bindings` if there is an underlying
    event and it is untrusted.

    Tests: fast/forms/label/label-click-event-dispatch-untrusted.html
           Tools/TestWebKitAPI/Tests/WebKitCocoa/SwitchInputTests.mm

    * 
LayoutTests/fast/forms/label/label-click-event-dispatch-untrusted-expected.txt: 
Added.
    * LayoutTests/fast/forms/label/label-click-event-dispatch-untrusted.html: 
Added.
    * Source/WebCore/dom/Element.cpp:
    (WebCore::Element::dispatchSimulatedClick):

    If there is an underlying event, the simulated click should be marked as 
from
    "bindings", making it untrusted. This change is not made to `simulateClick` 
itself
    since that is used by `Element::click()`, which has no underlying event and 
is
    always untrusted.

    * Tools/TestWebKitAPI/Tests/WebKitCocoa/SwitchInputTests.mm:
    (TEST(SwitchInputTests, HapticFeedbackOnClick)):

    Add a test to verify that haptics are still triggered for a trusted click.

    (TEST(SwitchInputTests, HapticFeedbackRequiresUserGestureAndTrustedEvent)):

    Update the `HapticFeedbackRequiresUserGesture` test to also perform a user
    gesture, and ensure haptics cannot be triggered programmatically.

    (TEST(SwitchInputTests, HapticFeedbackRequiresUserGesture)): Deleted.

    Identifier: 305413.395@safari-7624-branch

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


  Commit: 4cc26452c9a257db6d3539b144a2d6277398cb1d
      
https://github.com/WebKit/WebKit/commit/4cc26452c9a257db6d3539b144a2d6277398cb1d
  Author: David Kilzer <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm

  Log Message:
  -----------
  Cherry-pick 305413.397@safari-7624-branch (79f65b10f8d8). 
https://bugs.webkit.org/show_bug.cgi?id=309108

    WebPageProxy crash in dispatchSetObscuredContentInsets() and 
clearTextIndicatorWithAnimation()
    <https://bugs.webkit.org/show_bug.cgi?id=309108>
    <rdar://167427221>

    Reviewed by Anne van Kesteren.

    Crashes occur when a `WebPageProxy` object is destroyed when a `WeakPtr`
    is used to make a method call since it doesn't keep the object alive.

    Promote unsafe `WeakPtr<WebPageProxy>` usage to `RefPtr<WebPageProxy` to
    ensure the object stays alive for the duration of the method call.  Also
    promote `WeakPtr<WebProcessProxy>` in completion callbacks where the
    process object could be destroyed during sandbox extension processing.

    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::loadSimulatedRequest):
    (WebKit::WebPageProxy::loadAlternateHTML):
    (WebKit::WebPageProxy::reload):
    (WebKit::WebPageProxy::executeEditCommand):
    (WebKit::WebPageProxy::contextMenuItemSelected):
    * Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
    (WebKit::WebPageProxy::didPerformDictionaryLookup):
    (WebKit::WebPageProxy::scheduleSetObscuredContentInsetsDispatch):

    Identifier: 305413.397@safari-7624-branch

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


  Commit: 38e0495846f0bfbe71f8a0cf21c56e70f2061a5e
      
https://github.com/WebKit/WebKit/commit/38e0495846f0bfbe71f8a0cf21c56e70f2061a5e
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/JavaScriptCore/yarr/RegularExpression.cpp
    M Tools/TestWebKitAPI/CMakeLists.txt
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/JavaScriptCore/RegularExpression.cpp

  Log Message:
  -----------
  Cherry-pick 305413.398@safari-7624-branch (86cffcf010ab). 
https://bugs.webkit.org/show_bug.cgi?id=308707

    [JSC] YARR RegularExpression heap overflow - duplicate named capture groups
    https://bugs.webkit.org/show_bug.cgi?id=308707
    rdar://171240602

    Reviewed by Keith Miller.

    RegularExpression's offsets vector allocation size is incorrect: that
    formula was updated when named captures are added, but
    RegularExpression's computation was not updated correctly. This patch
    fixes it.

    Tests: Tools/TestWebKitAPI/CMakeLists.txt
           Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
           Tools/TestWebKitAPI/Tests/JavaScriptCore/RegularExpression.cpp

    * Source/JavaScriptCore/yarr/RegularExpression.cpp:
    (JSC::Yarr::RegularExpression::match const):
    * Tools/TestWebKitAPI/CMakeLists.txt:
    * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    * Tools/TestWebKitAPI/Tests/JavaScriptCore/RegularExpression.cpp: Added.
    (TestWebKitAPI::TEST(JavaScriptCore_RegularExpression, 
DuplicateNamedCaptureGroupSimple)):
    (TestWebKitAPI::TEST(JavaScriptCore_RegularExpression, 
DuplicateNamedCaptureGroupMultiple)):
    (TestWebKitAPI::TEST(JavaScriptCore_RegularExpression, 
DuplicateNamedCaptureGroupNoMatch)):
    (TestWebKitAPI::TEST(JavaScriptCore_RegularExpression, 
DuplicateNamedCaptureGroupSearchRev)):

    Identifier: 305413.398@safari-7624-branch

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


  Commit: 824d13f1f428de98f19fefb65880b0a3e3c1b47b
      
https://github.com/WebKit/WebKit/commit/824d13f1f428de98f19fefb65880b0a3e3c1b47b
  Author: Gerald Squelart <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WebCore/animation/StyleOriginatedTimelinesController.cpp

  Log Message:
  -----------
  Cherry-pick 305413.400@safari-7624-branch (a8304e8264d0). 
https://bugs.webkit.org/show_bug.cgi?id=308707

    StyleOriginatedTimelinesController::documentDidResolveStyle: Use removeIf
    rdar://171096572

    Reviewed by Tim Horton.

    To avoid invalidating the loop iterator by removing the current element,
    use HashMap::removeIf to correctly remove elements whose timeline have
    become empty.

    * Source/WebCore/animation/StyleOriginatedTimelinesController.cpp:
    (WebCore::StyleOriginatedTimelinesController::documentDidResolveStyle):

    Identifier: 305413.400@safari-7624-branch

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


  Commit: 5f2edbc0d76694e21300425e9b52bff23655ad84
      
https://github.com/WebKit/WebKit/commit/5f2edbc0d76694e21300425e9b52bff23655ad84
  Author: Gerald Squelart <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WebCore/platform/graphics/PixelBufferConversion.cpp

  Log Message:
  -----------
  Cherry-pick 305413.404@safari-7624-branch (790d8fc2d3b4). 
https://bugs.webkit.org/show_bug.cgi?id=308707

    Check Float16 buffer sizes before conversion
    rdar://169442684

    Reviewed by Mike Wyrzykowski.

    Check that Float16 buffers are large enough to fit the expected amount
    of data to be read/written by convertImagePixels() and subroutines.

    * Source/WebCore/platform/graphics/PixelBufferConversion.cpp:
    (WebCore::convertImagePixels):

    Identifier: 305413.404@safari-7624-branch

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


  Commit: b156190d9ea698c104e7df5cba288f05fb2017b4
      
https://github.com/WebKit/WebKit/commit/b156190d9ea698c104e7df5cba288f05fb2017b4
  Author: Timothy Hatcher <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm

  Log Message:
  -----------
  Cherry-pick 305413.426@safari-7624-branch (7f6a77dee81b). 
https://bugs.webkit.org/show_bug.cgi?id=309516

    Extension scripts/style sheets are injected into denied domains if Other 
Websites are set to allow.
    https://webkit.org/b/309516
    rdar://171724038

    Reviewed by Brian Weinstein.

    During Objective-C++ to C++ conversion, NSMutableSet's unionSet: (modifies 
in place) was incorrectly
    translated to HashSet::unionWith() (returns new set). Changed to addAll() 
to match original semantics.

    Test: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm
    * Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp:
    (WebKit::WebExtensionContext::addInjectedContent): Use addAll() instead of 
unionWith().
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm:
    (TestWebKitAPI::TEST(WKWebExtensionAPIScripting, 
ContentScriptsRespectDeniedMatchPatterns)): Added.

    Identifier: 305413.426@safari-7624-branch

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


  Commit: d68285a796d6f6dbafc0ba1f97539f3c6c174792
      
https://github.com/WebKit/WebKit/commit/d68285a796d6f6dbafc0ba1f97539f3c6c174792
  Author: Darryl Parkinson <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm
    M Tools/WebKitTestRunner/TestController.cpp
    M Tools/WebKitTestRunner/TestOptions.cpp
    M Tools/WebKitTestRunner/TestOptions.h

  Log Message:
  -----------
  Cherry-pick 305413.421@safari-7624-branch (44da09d437d9). 
https://bugs.webkit.org/show_bug.cgi?id=309516

    Gate AddOriginAccessAllowListEntry IPC behind AllowTestOnlyIPC
    rdar://171243270

    Reviewed by Charlie Wolfe and Ryosuke Niwa.

    Origin access allowlist IPC messages on NetworkConnectionToWebProcess
    modify a process-global allowlist with no validation, allowing a
    compromised WebContent process to bypass CORS for all connections.

    These messages are only used by TestRunner SPI. Gate them behind
    EnabledBy=AllowTestOnlyIPC so they are rejected unless the test-only
    flag is set.

    Test: Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm

    * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
    * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
    (AddOriginAccessAllowListEntryRequiresTestOnlyIPC)):
    (AddOriginAccessAllowListEntryAllowedWithTestOnlyIPC)):
    * Tools/WebKitTestRunner/TestController.cpp:
    (WTR::TestController::resetPreferencesToConsistentValues):
    * Tools/WebKitTestRunner/TestOptions.cpp:
    (WTR::TestOptions::defaults):
    (WTR::TestOptions::keyTypeMapping):
    * Tools/WebKitTestRunner/TestOptions.h:
    (WTR::TestOptions::allowTestOnlyOriginAccessAllowListIPC const):

    Identifier: 305413.421@safari-7624-branch

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


  Commit: 4e802b153d9bbd8e2b9c6578b22f0501a7690406
      
https://github.com/WebKit/WebKit/commit/4e802b153d9bbd8e2b9c6578b22f0501a7690406
  Author: Pascoe <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/VerifyUserGestureFromUIProcess.mm

  Log Message:
  -----------
  Cherry-pick 305413.427@safari-7624-branch (e7c824391cd2). 
https://bugs.webkit.org/show_bug.cgi?id=309184

    Same user gesture can be used for both opening a window and focussing 
previous one
    rdar://168506684
    https://bugs.webkit.org/show_bug.cgi?id=309184

    Reviewed by Ryosuke Niwa.

    chrome().focus() sends SetFocus(true) to the UIProcess with no user gesture
    context. A common client consuming the _WKUserInitiatedAction during popup
    creation (in createWebViewWithConfiguration) has no way to prevent a 
subsequent
    focus of an existing window from the same gesture — the focus path bypasses 
the
    consumed check entirely.

    To fix this, we plumb UserGestureTokenIdentifier through SetFocus and
    FocusRemoteFrame IPC so setFocus() can look up the API::UserInitiatedAction 
and
    skip the focus if already consumed.

    Test: 
Tools/TestWebKitAPI/Tests/WebKitCocoa/VerifyUserGestureFromUIProcess.mm

    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::setFocus):
    (WebKit::WebPageProxy::focusRemoteFrame):
    * Source/WebKit/UIProcess/WebPageProxy.h:
    * Source/WebKit/UIProcess/WebPageProxy.messages.in:
    * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
    (WebKit::WebChromeClient::focus):
    (WebKit::WebChromeClient::unfocus):
    * Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
    (WebKit::WebRemoteFrameClient::focus):
    (WebKit::WebRemoteFrameClient::unfocus):
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
    (TestWebKitAPI::TEST(SiteIsolation, PopunderPreventedByConsumedAction)):
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/VerifyUserGestureFromUIProcess.mm:
    (TestWebKitAPI::TEST(VerifyUserGesture, PopunderPreventedByConsumedAction)):

    Identifier: 305413.427@safari-7624-branch

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


  Commit: 2935a3518a2f62765b368d82ed77e4bcefb55ba6
      
https://github.com/WebKit/WebKit/commit/2935a3518a2f62765b368d82ed77e4bcefb55ba6
  Author: Youenn Fablet <[email protected]>
  Date:   2026-05-16 (Sat, 16 May 2026)

  Changed paths:
    M 
Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/libvpx/test/acm_random.h
    M 
Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/libvpx/test/encode_api_test.cc
    M 
Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c

  Log Message:
  -----------
  Cherry-pick 305413.428@safari-7624-branch (b29ab81cd8b0). 
https://bugs.webkit.org/show_bug.cgi?id=309184

    Potential 'overflow' issue committed to upstream libwebrtc
    rdar://171591550

    Reviewed by Jean-Yves Avenard.

    Cherry-picking of 
https://github.com/webmproject/libvpx/commit/ab5ec7a1852f634b81d29ade3c5fa74056498973,
 given WebKit uses that code path.

    Identifier: 305413.428@safari-7624-branch

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


Compare: https://github.com/WebKit/WebKit/compare/7be2e7352727...2935a3518a2f

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

Reply via email to