Branch: refs/heads/safari-7621.2.5.10-branch
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f32080739f018d5d4a56ccb3a848617946b76f5
      
https://github.com/WebKit/WebKit/commit/3f32080739f018d5d4a56ccb3a848617946b76f5
  Author: Mohsin Qureshi <mohs...@apple.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.1

Canonical link: https://commits.webkit.org/289651.427@safari-7621.2.5.10-branch


  Commit: a764eb66ded0888b957af516a47924e710c15bf4
      
https://github.com/WebKit/WebKit/commit/a764eb66ded0888b957af516a47924e710c15bf4
  Author: Razvan Caliman <rcali...@apple.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M Source/WebInspectorUI/UserInterface/Views/OverrideDeviceSettingsPopover.js

  Log Message:
  -----------
  Cherry-pick 3d0966402274. rdar://144707833

    Web Inspector: Update User Agent string overrides aligned with Safari 18.4
    https://bugs.webkit.org/show_bug.cgi?id=290920
    rdar://144707833

    Reviewed by Anne van Kesteren.

    * 
Source/WebInspectorUI/UserInterface/Views/OverrideDeviceSettingsPopover.js:
    (WI.OverrideDeviceSettingsPopover.prototype._createUserAgentSection):

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

Canonical link: https://commits.webkit.org/289651.428@safari-7621.2.5.10-branch


  Commit: 0cd88c9f5434c2feeb8576fe67eed955e320fb12
      
https://github.com/WebKit/WebKit/commit/0cd88c9f5434c2feeb8576fe67eed955e320fb12
  Author: Daniel Liu <danl...@umich.edu>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M Source/WebCore/bindings/js/SerializedScriptValue.cpp

  Log Message:
  -----------
  Cherry-pick 94ec0f4523cc. rdar://144781310

    Re-land missing exception checks
    https://bugs.webkit.org/show_bug.cgi?id=291290
    rdar://144781310

    Reviewed by Yijia Huang and Yusuke Suzuki.

    Re-land the exception checks added in 292722@main, but fixing some issues 
that
    occurred when running Debug layout tests.

    * Source/WebCore/bindings/js/SerializedScriptValue.cpp:
    (WebCore::CloneDeserializer::deserialize):
    (WebCore::SerializedScriptValue::create):
    (WebCore::SerializedScriptValue::deserialize):

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

Canonical link: https://commits.webkit.org/289651.429@safari-7621.2.5.10-branch


  Commit: 99909cc234681e5902a2b74ae7619cd89de71747
      
https://github.com/WebKit/WebKit/commit/99909cc234681e5902a2b74ae7619cd89de71747
  Author: Rob Buis <rb...@igalia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A LayoutTests/css3/masking/shared-clip-path-reference-crash-expected.txt
    A LayoutTests/css3/masking/shared-clip-path-reference-crash.html
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayer.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp

  Log Message:
  -----------
  Cherry-pick 441eda47158d. rdar://144407636

    Cherry-pick 289651.9@webkit-2025.2-embargoed (ff0112ba3d52). 
rdar://144407636

        ASAN_TRAP | WTF::HashTable::lookup; 
WebCore::LegacyRenderSVGResource::markForLayoutAndParentResourceInvalidation; 
WebCore::SVGResourcesCache::clientStyleChanged
        https://bugs.webkit.org/show_bug.cgi?id=288442

        Reviewed by Simon Fraser.

        LegacyRenderSVGResourceClipper.m_clipperMap is used to keep track of 
clipper data per client, the client
        can be a HTML element referencing the clipper by using the clip-path 
property. The registering for that is done
        in RenderLayer::setupClipPath but there is no code to deregister on 
HTML element removal, so the m_clipperMap
        keys will become a WeakRef with empty internal pointer for HTML 
elements, causing a RELEASE_ASSERT.

        To fix this, include deregistering code on RenderLayer destruction.

        * 
LayoutTests/css3/masking/shared-clip-path-reference-crash-expected.txt: Added.
        * LayoutTests/css3/masking/shared-clip-path-reference-crash.html: Added.
        * Source/WebCore/rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::removeClipperClientIfNeeded const):
        * Source/WebCore/rendering/RenderLayer.h:
        * 
Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp:
        (WebCore::LegacyRenderSVGResourceContainer::markClientForInvalidation):

        Canonical link: 
https://commits.webkit.org/289651.9@webkit-2025.2-embargoed

    Canonical link: https://commits.webkit.org/289651.427@safari-7621-branch

Canonical link: https://commits.webkit.org/289651.430@safari-7621.2.5.10-branch


  Commit: db05c9885349fb538f7ce8c0165d5563b10d600c
      
https://github.com/WebKit/WebKit/commit/db05c9885349fb538f7ce8c0165d5563b10d600c
  Author: Daniel Liu <danl...@umich.edu>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A JSTests/wasm/stress/array-get-large-i64-index.js
    M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp

  Log Message:
  -----------
  Cherry-pick 341845413761. rdar://149185657

    BBQJIT array operations should mask index to 32 bits
    https://bugs.webkit.org/show_bug.cgi?id=291506
    rdar://149185657

    Reviewed by Keith Miller.

    BBQ array operations (get/set) assume that the index passed
    in will be 32 bits. While this is correct by spec behavior,
    we do not check that the upper 32 bits of the value are set
    to zero, but use the value directly. This creates potential
    OOB opportunities, where we can influence the upper 32 bits
    of the pointer to index out of bounds. To fix this, we must
    mask off the upper 32 bits of the index value before it can
    be used in a load/store.

    * JSTests/wasm/stress/array-get-large-i64-index.js: Added.
    * Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp:
    (JSC::Wasm::BBQJITImpl::BBQJIT::addArrayGet):
    (JSC::Wasm::BBQJITImpl::BBQJIT::addArraySet):

    Canonical link: https://commits.webkit.org/289651.431@safari-7621-branch

Canonical link: https://commits.webkit.org/289651.431@safari-7621.2.5.10-branch


  Commit: bfcb45a246a91c86d2328bb3738fa52f201c8f46
      
https://github.com/WebKit/WebKit/commit/bfcb45a246a91c86d2328bb3738fa52f201c8f46
  Author: Brent Fulgham <bfulg...@apple.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/platform/glib/tables/mozilla/bugs/bug30332-1-expected.txt
    M LayoutTests/platform/glib/tables/mozilla/bugs/bug30332-2-expected.txt
    M LayoutTests/platform/glib/tables/mozilla/bugs/bug9879-1-expected.txt
    M 
LayoutTests/platform/glib/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt
    M LayoutTests/platform/ios/tables/mozilla/bugs/bug30332-1-expected.txt
    M LayoutTests/platform/ios/tables/mozilla/bugs/bug30332-2-expected.txt
    M LayoutTests/platform/ios/tables/mozilla/bugs/bug9879-1-expected.txt
    M 
LayoutTests/platform/ios/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt
    M LayoutTests/platform/mac/tables/mozilla/bugs/bug30332-1-expected.txt
    M LayoutTests/platform/mac/tables/mozilla/bugs/bug30332-2-expected.txt
    M LayoutTests/platform/mac/tables/mozilla/bugs/bug9879-1-expected.txt
    M 
LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt
    M Source/WebCore/html/HTMLTableCellElement.cpp

  Log Message:
  -----------
  Cherry-pick 7106a5905d11. rdar://149318862

    Unreviewed, reverting 288746@main (75a5507d4d8f)
    https://bugs.webkit.org/show_bug.cgi?id=291584
    rdar://149318862

    Exposes an underlying performance bug

    Reverted change:

        rowspan="0" results in different table layout than Firefox/Chrome
        https://bugs.webkit.org/show_bug.cgi?id=185341
        rdar://133910430
        288746@main (75a5507d4d8f)

    Canonical link: https://commits.webkit.org/289651.432@safari-7621-branch

Canonical link: https://commits.webkit.org/289651.432@safari-7621.2.5.10-branch


  Commit: 86426e4277ce94878044a07789cb09d73c12d43c
      
https://github.com/WebKit/WebKit/commit/86426e4277ce94878044a07789cb09d73c12d43c
  Author: Dan Robson <dtr_bugzi...@apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.2

Canonical link: https://commits.webkit.org/289651.433@safari-7621.2.5.10-branch


  Commit: 6f027e4046981b5f3d99571e3a33174b617e8cd4
      
https://github.com/WebKit/WebKit/commit/6f027e4046981b5f3d99571e3a33174b617e8cd4
  Author: Jean-Yves Avenard <j...@apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    A LayoutTests/media/content/test-vp9-yuv422p10.webm
    A LayoutTests/media/content/test-vp9-yuv422p10.webm.png
    A LayoutTests/media/media-vp9-yuv422p10-expected.html
    A LayoutTests/media/media-vp9-yuv422p10.html
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/mac-wk1/TestExpectations
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.cpp
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitUtilities.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitUtilities.mm
    M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp
    M Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.cpp

  Log Message:
  -----------
  Cherry-pick 0dec430870a0. rdar://148703791

    Some Steam webm videos don't play in Safari
    https://bugs.webkit.org/show_bug.cgi?id=291420
    rdar://148703791

    Reviewed by Jer Noble.

    Video was made of a vp9 10 bits video for which we don't have hardware 
decoder.
    In addition, the software video decoder only supported YUV 420 (NV12) in 
either 8 or 10 bits.
    We add support for YUV 422 in either 8 or 10 bits in both WebCodec and VP9 
macOS VideoToolbox plugin.
    YUV 422 8 bits will be converted to NV12 as libyuv doesn't provide the 
required utility.

    Added test.
    * LayoutTests/media/content/test-vp9-yuv422p10.webm: Added.
    * LayoutTests/media/content/test-vp9-yuv422p10.webm.png: Added.
    * LayoutTests/media/media-vp9-yuv422p10-expected.html: Added.
    * LayoutTests/media/media-vp9-yuv422p10.html: Added.
    * LayoutTests/platform/mac-wk1/TestExpectations:
    * 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.cpp:
    (webrtc::WebKitDecoderReceiver::initializeFromFormatDescription):
    (webrtc::WebKitDecoderReceiver::pixelBufferPool):
    (webrtc::WebKitDecoderReceiver::Decoded):
    * 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.h:
    * 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitUtilities.h:
    * 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitUtilities.mm:
    (webrtc::CopyVideoFrameToPixelBuffer):
    (webrtc::createPixelBufferFromFrameBuffer):
    * Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp:
    (WebCore::LibWebRTCVPXInternalVideoDecoder::createPixelBuffer):
    * Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.cpp:
    (WebCore::VideoFrameLibWebRTC::create):
    (WebCore::VideoFrameLibWebRTC::VideoFrameLibWebRTC):

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

Canonical link: https://commits.webkit.org/289651.434@safari-7621.2.5.10-branch


  Commit: f02385a04af9abbc61b280b19ce83e5f344cf401
      
https://github.com/WebKit/WebKit/commit/f02385a04af9abbc61b280b19ce83e5f344cf401
  Author: Said Abou-Hallawa <s...@apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    A Source/WebCore/PAL/pal/cocoa/LockdownModeCocoa.h
    A Source/WebCore/PAL/pal/cocoa/LockdownModeCocoa.mm
    R Source/WebCore/PAL/pal/cocoa/LockdownModeSoftLink.h
    R Source/WebCore/PAL/pal/cocoa/LockdownModeSoftLink.mm
    M Source/WebCore/platform/graphics/cg/UTIRegistry.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm
    M Source/WebKit/WebProcess/WebProcess.cpp

  Log Message:
  -----------
  Cherry-pick 69431ee57734. rdar://149401615

    REGRESSION(289593@main): Images are still restricted even after opting out 
pages from Lockdown Mode
    https://bugs.webkit.org/show_bug.cgi?id=291614#
    rdar://147500578

    Reviewed by Tim Horton.

    In 289593@main we made UTIRegistry call PAL::isLockdownModeEnabled() to 
detect
    whether the Lockdown Mode is enabled. But this function ends up calling the 
system
    LockdownModeLibrary. This does not take into consideration the opted out 
pages.
    So this causes the restricted images to be always restricted in Lockdown 
Mode.

    The fix is to used WebProcess::isLockdownModeEnabled() instead because this 
will
    return false when opting out the page. To propagate this to WebCore a 
getter and
    a setter for isLockdownModeEnabledForCurrentProcess will be added in PAL.

    UTIRegistry will call PAL::isLockdownModeEnabledForCurrentProcess() instead.

    * Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
    * Source/WebCore/PAL/pal/cocoa/LockdownModeCocoa.h: Renamed from 
Source/WebCore/PAL/pal/cocoa/LockdownModeSoftLink.h.
    * Source/WebCore/PAL/pal/cocoa/LockdownModeCocoa.mm: Renamed from 
Source/WebCore/PAL/pal/cocoa/LockdownModeSoftLink.mm.
    (PAL::isLockdownModeEnabled):
    (PAL::isLockdownModeEnabledForCurrentProcessCached):
    (PAL::isLockdownModeEnabledForCurrentProcess):
    (PAL::setLockdownModeEnabledForCurrentProcess):
    * Source/WebCore/platform/graphics/cg/UTIRegistry.mm:
    (WebCore::supportedImageTypes):
    (WebCore::setAdditionalSupportedImageTypes):
    (WebCore::allowableSupportedImageTypes):
    (WebCore::isLockdownModeEnabled): Deleted.
    * Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:
    * Source/WebKit/WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::initializeWebProcess):

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

Canonical link: https://commits.webkit.org/289651.435@safari-7621.2.5.10-branch


  Commit: 691795bc7806636b227395232205e27543528d04
      
https://github.com/WebKit/WebKit/commit/691795bc7806636b227395232205e27543528d04
  Author: Kiet Ho <kiet...@apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    A 
LayoutTests/http/tests/security/access-cssstylesheet-after-removing-from-document-expected.txt
    A 
LayoutTests/http/tests/security/access-cssstylesheet-after-removing-from-document.html
    A 
LayoutTests/http/tests/security/access-imported-cssstylesheet-after-removing-from-document-expected.txt
    A 
LayoutTests/http/tests/security/access-imported-cssstylesheet-after-removing-from-document.html
    M LayoutTests/http/tests/security/cannot-read-cssrules-redirect-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https-expected.txt
    M Source/WebCore/css/CSSImportRule.cpp
    M Source/WebCore/css/CSSStyleSheet.cpp
    M Source/WebCore/css/CSSStyleSheet.h
    M Source/WebCore/dom/ProcessingInstruction.cpp
    M Source/WebCore/html/HTMLLinkElement.cpp

  Log Message:
  -----------
  Cherry-pick be53cebfe0d9. rdar://148513087

    Tighten up cross-site access to CSSStyleSheet
    rdar://148513087
    https://bugs.webkit.org/show_bug.cgi?id=290992

    Reviewed by Youenn Fablet.

    CSSStyleSheet::canAccessRules() gates access to rules within
    CSSStyleSheet, depending on whether the JS code and stylesheet comes
    from the same origin.

    bool CSSStyleSheet::canAccessRules() const
    {
        if (m_isOriginClean)                      // (1)
            return m_isOriginClean.value();

        URL baseURL = m_contents->baseURL();      // (2)
        if (baseURL.isEmpty())
            return true;
        Document* document = ownerDocument();     // (3)
        if (!document)
            return true;                          // (4)
        return document->protectedSecurityOrigin()->canRequest(baseURL, 
OriginAccessPatternsForWebProcess::singleton()); // (5)
    }

    If CSSStyleSheet is constructed with an explicit same-origin flag, (which
    indicates the origin status of the JS code and stylesheet), that flag is
    used (1). Otherwise, it manually checks the origin:

    * get the base URL of the stylesheet (2)
    * get the document owner of the CSSStyleSheet
      (also the document that the JS code is in) (3)
    * check whether the JS code and the stylesheet is same-origin (5)

    There's a bug at (4) - it grants access if the CSSStyleSheet doesn't
    belong to a Document. Malicious JS code can manipulate a cross-origin
    CSSStyleSheet into this state:

    * If the CSSStyleSheet comes from HTMLLinkElement.sheet (<link 
rel="stylesheet">)
      or HTMLStyleElement.sheet (<style>), remove the <link> or <style> element
      from the document e.g using Node.removeChild
    * If it comes from CSSImportRule.styleSheet (@import), remove the
      stylesheet containing the @import rule from the document

    Following the removal, ownerDocument() returns nullptr, and access is
    granted. Fix this by changing (4) to return false instead.

    Unfortunately, many places in the codebase construct CSSStyleSheet
    without supplying the same-origin flag, instead relying on the
    fallback check. For those cases, this change introduces a regression
    where if a same-origin stylesheet is created without the same-origin
    flag, then is removed from the document, the fallback check will
    incorrectly deny access. Fix this by hunting down places that
    construct CSSStyleSheet and supply the flag if possible.

    Also fix CSSStyleSheet.{insert,delete}Rule to always check with
    canAccessRules() before allowing insertion/deletion.

    * 
LayoutTests/http/tests/security/access-cssstylesheet-after-removing-from-document-expected.txt:
 Added.
    * 
LayoutTests/http/tests/security/access-cssstylesheet-after-removing-from-document.html:
 Added.
    * 
LayoutTests/http/tests/security/access-imported-cssstylesheet-after-removing-from-document-expected.txt:
 Added.
    * 
LayoutTests/http/tests/security/access-imported-cssstylesheet-after-removing-from-document.html:
 Added.
    * 
LayoutTests/http/tests/security/cannot-read-cssrules-redirect-expected.txt:
        - Adjust expectation. This now matches Chrome's output.

    * 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https-expected.txt:
    * Source/WebCore/css/CSSImportRule.cpp:
    (WebCore::CSSImportRule::styleSheet const):
        - Supply same-origin flag when creating CSSStyleSheet if possible.

    * Source/WebCore/css/CSSStyleSheet.cpp:
    (WebCore::CSSStyleSheet::create):
        - Make ::create for @import rules take an optional same-origin flag.

    (WebCore::CSSStyleSheet::createInline):
        - Take an optional same-origin flag.

    (WebCore::CSSStyleSheet::canAccessRules const):
        - Deny access if the CSSStyleSheet does not belong to a Document.

    (WebCore::CSSStyleSheet::insertRule):
        - Deny access if not allowed (using canAccessRules())

    (WebCore::CSSStyleSheet::deleteRule):
        - Deny access if not allowed (using canAccessRules())

    * Source/WebCore/css/CSSStyleSheet.h:
    * Source/WebCore/dom/ProcessingInstruction.cpp:
    (WebCore::ProcessingInstruction::setCSSStyleSheet):
        - Supply same-origin flag when creating CSSStyleSheet.

    * Source/WebCore/html/HTMLLinkElement.cpp:
    (WebCore::HTMLLinkElement::initializeStyleSheet):
        - Always set the origin clean flag, regardless whether the fetch
          request is CORS or not.

    Canonical link: https://commits.webkit.org/289651.433@safari-7621-branch

Canonical link: https://commits.webkit.org/289651.436@safari-7621.2.5.10-branch


  Commit: 0370f4ea904fbc41fa9aa061e01e913c591df745
      
https://github.com/WebKit/WebKit/commit/0370f4ea904fbc41fa9aa061e01e913c591df745
  Author: Sihui Liu <sihui_...@apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M Source/WebCore/platform/network/ResourceResponseBase.cpp
    M Source/WebCore/platform/network/ResourceResponseBase.h

  Log Message:
  -----------
  Cherry-pick cdd407b46a54. rdar://148182167

    ResourceResponseData::proxyName is not properly isolated copied
    https://bugs.webkit.org/show_bug.cgi?id=291646
    rdar://148182167

    Reviewed by Chris Dumez.

    In existing implementation, ResourceResponseData::proxyName is not isolated 
copied or moved correctly at the places it
    is supposed to be, and this can be the cause of increasing crashes we saw 
in recent builds. Credits to Chris who found
    the issue.

    * Source/WebCore/platform/network/ResourceResponseBase.cpp:
    (WebCore::ResourceResponseData::isolatedCopy const):
    (WebCore::ResourceResponseBase::crossThreadData const):
    (WebCore::ResourceResponseBase::fromCrossThreadData):
    * Source/WebCore/platform/network/ResourceResponseBase.h:
    (WebCore::ResourceResponseBase::setProxyName):
    (WebCore::ResourceResponseBase::proxyName const):

    Canonical link: https://commits.webkit.org/289651.434@safari-7621-branch

Canonical link: https://commits.webkit.org/289651.437@safari-7621.2.5.10-branch


  Commit: 9f3822bac19a4af5b28755b98f0cfa082547c98b
      
https://github.com/WebKit/WebKit/commit/9f3822bac19a4af5b28755b98f0cfa082547c98b
  Author: Sihui Liu <sihui_...@apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/ImageAdapter.h
    M Source/WebCore/platform/graphics/ImageUtilities.h
    M Source/WebCore/platform/graphics/ShareableBitmap.cpp
    M Source/WebCore/platform/graphics/ShareableBitmap.h
    M Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  -----------
  Cherry-pick db75e4455949. rdar://143579665

    Make web process send ShareableBitmap instead of SharedBuffer for icon data
    https://bugs.webkit.org/show_bug.cgi?id=290873
    rdar://143579665

    Reviewed by Said Abou-Hallawa and Anne van Kesteren.

    In existing implementation of icon data generation, UI process sends image 
data to web process, and web process decodes
    image from data, generates images with different sizes, combines them into 
one ico image and sends back image data to UI
    process. To make the process more safe, this patch makes web process send 
images (bitmaps) with different sizes to UI
    process, and UI process is responsible for combining them into an ico image.

    * Source/WebCore/platform/graphics/ImageAdapter.h:
    (WebCore::ImageAdapter::image const):
    * Source/WebCore/platform/graphics/ImageUtilities.h:
    * Source/WebCore/platform/graphics/ShareableBitmap.cpp:
    (WebCore::ShareableBitmap::createFromImageDraw):
    * Source/WebCore/platform/graphics/ShareableBitmap.h:
    * Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp:
    (WebCore::createBitmapsFromNativeImage):
    (WebCore::createNativeImageFromSVGImage):
    (WebCore::createBitmapsFromSVGImage):
    (WebCore::createBitmapsFromImageData):
    (WebCore::createIconDataFromBitmaps):
    (WebCore::expandNativeImageToData): Deleted.
    (WebCore::expandSVGImageToData): Deleted.
    (WebCore::createIconDataFromImageData): Deleted.
    * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
    (WebKit::WebPageProxy::createIconDataFromImageData):
    * Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
    (WebKit::WebPage::createBitmapsFromImageData):
    (WebKit::WebPage::createIconDataFromImageData): Deleted.
    * Source/WebKit/WebProcess/WebPage/WebPage.h:
    * Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
    * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    * Tools/TestWebKitAPI/Tests/WebKit/icon-svg-16.tiff: Added.
    * Tools/TestWebKitAPI/Tests/WebKit/icon-svg-256.tiff: Added.
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/LoadAndDecodeImage.mm:
    (TestWebKitAPI::tiffRepresentation):
    (TestWebKitAPI::TEST(WebKit, CreateIconDataFromImageDataSVG)):

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

Canonical link: https://commits.webkit.org/289651.438@safari-7621.2.5.10-branch


  Commit: fa253abaa7d184bb7926d4f94012ac1710d40a26
      
https://github.com/WebKit/WebKit/commit/fa253abaa7d184bb7926d4f94012ac1710d40a26
  Author: Matthieu Dubet <m_du...@apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M Source/WebCore/css/CSSStyleRule.cpp
    M Source/WebCore/css/CSSStyleSheet.cpp

  Log Message:
  -----------
  Cherry-pick 79a886fb157b. rdar://147446595

    [CSS] Clear StyleSheetContents hasNestingRuleCache on any rule mutation
    https://bugs.webkit.org/show_bug.cgi?id=291695
    rdar://147446595

    Reviewed by Antti Koivisto.

    Currently only CSSStyleRule::insertRule() API clear the cache,
    however we can also insert a first StyleRuleWithNesting directly at the
    top level which will use CSSStyleSheet::insertRule() or
    inside a group rule (like @media) which would go
    through CSSGroupingRule::insertRule().

    We already have a mechanism to deal with any rule mutation 
(RuleMutationScope),
    let's use it to clear hasNestingRulesCache.

    * Source/WebCore/css/CSSStyleRule.cpp:
    (WebCore::CSSStyleRule::insertRule):
    * Source/WebCore/css/CSSStyleSheet.cpp:
    (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):

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


  Commit: a18a39af0bdd5977819f9d3db711eb031ab3920e
      
https://github.com/WebKit/WebKit/commit/a18a39af0bdd5977819f9d3db711eb031ab3920e
  Author: Mohsin Qureshi <mohs...@apple.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.3

Canonical link: https://commits.webkit.org/289651.440@safari-7621.2.5.10-branch


  Commit: 360b008dd71e25d3c7c9e29433fff6eddd922742
      
https://github.com/WebKit/WebKit/commit/360b008dd71e25d3c7c9e29433fff6eddd922742
  Author: Daniel Liu <danl...@umich.edu>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    A JSTests/wasm/stress/initialize-100k-functions.js
    A JSTests/wasm/stress/initialize-100k-functions.wasm
    M Source/JavaScriptCore/wasm/WasmFunctionCodeBlockGenerator.h
    M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.h
    M Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp

  Log Message:
  -----------
  Cherry-pick 16455b07fc9f. rdar://149554265

    Cherry-pick 2faf0a6395f4. rdar://149554409

        Clean up dead callee BitVector in LLInt/IPInt generators
        https://bugs.webkit.org/show_bug.cgi?id=291699
        rdar://149052721

        Reviewed by Yijia Huang.

        Previously, we used this BitVector to track external functions, but now 
it is no
        longer used by the code. We can remove this unnecessary allocation.

        * JSTests/wasm/stress/initialize-100k-functions.js: Added.
        (async main):
        * JSTests/wasm/stress/initialize-100k-functions.wasm: Added.
        * Source/JavaScriptCore/wasm/WasmFunctionCodeBlockGenerator.h:
        (JSC::Wasm::FunctionCodeBlockGenerator::tailCallSuccessors const):
        (JSC::Wasm::FunctionCodeBlockGenerator::takeCallees): Deleted.
        * Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.h:
        (JSC::Wasm::FunctionIPIntMetadataGenerator::takeCallees): Deleted.
        * Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp:
        (JSC::Wasm::IPIntGenerator::IPIntGenerator):
        (JSC::Wasm::IPIntGenerator::addCall):
        * Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:
        (JSC::Wasm::LLIntGenerator::LLIntGenerator):
        (JSC::Wasm::LLIntGenerator::addCall):

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


  Commit: 98f31781f76944687f355f2a565b1af5350afe9a
      
https://github.com/WebKit/WebKit/commit/98f31781f76944687f355f2a565b1af5350afe9a
  Author: Elijah Sawyers <esawy...@apple.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIPermissionsCocoa.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIPermissions.mm

  Log Message:
  -----------
  Cherry-pick 0ea6caec83cb. rdar://149249321

    permissions.getAll() is wrong if all hosts and URLs access was granted with 
implicit request
    https://bugs.webkit.org/show_bug.cgi?id=291757
    rdar://149249321

    Reviewed by Timothy Hatcher.

    Fix a bug where permissions.getAll() doesn't return the all hosts and URLs 
match
    pattern if access was granted through an implicit request.

    To fix this, if none of the match patterns in the manifest match all hosts 
and
    URLs, but access has been granted, return the match pattern.

    Wrote a new test to validate the fix.

    * 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIPermissionsCocoa.mm:
    (WebKit::WebExtensionContext::permissionsGetAll):
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIPermissions.mm:
    (TestWebKitAPI::TEST(WKWebExtensionAPIPermissions, 
ImplicitAllHostsAndURLsPermissions)):

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


  Commit: 4f4f4d8c66465f0485e294bae81a3d3a7096ded0
      
https://github.com/WebKit/WebKit/commit/4f4f4d8c66465f0485e294bae81a3d3a7096ded0
  Author: Marcus Plutowski <marcus_plutow...@apple.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M Source/JavaScriptCore/runtime/OptionsList.h

  Log Message:
  -----------
  [JSC] Disable DFG loop unrolling
https://bugs.webkit.org/show_bug.cgi?id=291852
rdar://147263376

Reviewed by Yijia Huang

This is known to cause compiler crashes; while a fix is in the pipeline,
we should disable it to prevent issues downstream.

* Source/JavaScriptCore/runtime/OptionsList.h:

Canonical link: https://commits.webkit.org/289651.443@safari-7621.2.5.10-branch


  Commit: 259e3b9ff0adf56f281000e38d559e5d102f30a8
      
https://github.com/WebKit/WebKit/commit/259e3b9ff0adf56f281000e38d559e5d102f30a8
  Author: Dan Robson <dtr_bugzi...@apple.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.4

Canonical link: https://commits.webkit.org/289651.444@safari-7621.2.5.10-branch


  Commit: e6e4c02585b10dd177e581188a84563f3c68e687
      
https://github.com/WebKit/WebKit/commit/e6e4c02585b10dd177e581188a84563f3c68e687
  Author: Ryosuke Niwa <rn...@webkit.org>
  Date:   2025-04-22 (Tue, 22 Apr 2025)

  Changed paths:
    M Source/WebCore/platform/network/cf/DNSResolveQueueCFNet.cpp

  Log Message:
  -----------
  Cherry-pick 59247a7628dd. rdar://149710049

    Crash in TimerBase::stopSlowCase() via 
DNSResolveQueueCFNet::performDNSLookup
    https://bugs.webkit.org/show_bug.cgi?id=291212

    Reviewed by Chris Dumez.

    The crash appears to be caused by DNSResolveQueueCFNet::performDNSLookup 
updating WebCore timer
    without grabbing WebThread lock. Speculatively fixed the crash by grabbing 
WebThread lock.

    * Source/WebCore/platform/network/cf/DNSResolveQueueCFNet.cpp:
    (WebCore::DNSResolveQueueCFNet::performDNSLookup):

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

Canonical link: https://commits.webkit.org/289651.445@safari-7621.2.5.10-branch


  Commit: bc6722fb83f6c32c03c2f9f936e0e7b60fe740e7
      
https://github.com/WebKit/WebKit/commit/bc6722fb83f6c32c03c2f9f936e0e7b60fe740e7
  Author: Dan Robson <dtr_bugzi...@apple.com>
  Date:   2025-04-22 (Tue, 22 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.5

Canonical link: https://commits.webkit.org/289651.446@safari-7621.2.5.10-branch


  Commit: b6e5e797e866e18548874342fd48cf74479adc85
      
https://github.com/WebKit/WebKit/commit/b6e5e797e866e18548874342fd48cf74479adc85
  Author: Dan Robson <dtr_bugzi...@apple.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.6

Canonical link: https://commits.webkit.org/289651.447@safari-7621.2.5.10-branch


  Commit: 7f85641cb0abc4f95a203f29aed1992ceada7b5b
      
https://github.com/WebKit/WebKit/commit/7f85641cb0abc4f95a203f29aed1992ceada7b5b
  Author: Dan Robson <dtr_bugzi...@apple.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.7

Canonical link: https://commits.webkit.org/289651.448@safari-7621.2.5.10-branch


  Commit: f1fba063ab6474a6d3076e8f5d3caadf2d953473
      
https://github.com/WebKit/WebKit/commit/f1fba063ab6474a6d3076e8f5d3caadf2d953473
  Author: Alex Christensen <achristen...@apple.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h
    M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm
    M Source/WTF/wtf/spi/darwin/dyldSPI.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Cherry-pick 9fa51266df3a. rdar://149887382

    Add linked-on-or-after check for WKNavigationAction.sourceFrame being never 
null
    rdar://149887382

    Reviewed by Wenson Hsieh.

    rdar://144600565 changed the nullness of WKNavigationAction.sourceFrame
    to make it never non-null as it is annotated in the header.  This was
    a change to become more correct, but it was also a change that broke
    bincompat with a few third party apps.  This restores existing behavior
    until the apps update.  I manually verified this fixes the app in the radar.

    * Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
    * Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm:
    (WTF::computeSDKAlignedBehaviors):
    * Source/WTF/wtf/spi/darwin/dyldSPI.h:
    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::decidePolicyForNavigationAction):

    Canonical link: https://commits.webkit.org/289651.461@safari-7621-branch

Canonical link: https://commits.webkit.org/289651.449@safari-7621.2.5.10-branch


  Commit: e4528821693f02b028300b45cbaa67623bbc708b
      
https://github.com/WebKit/WebKit/commit/e4528821693f02b028300b45cbaa67623bbc708b
  Author: Dan Robson <dtr_bugzi...@apple.com>
  Date:   2025-04-29 (Tue, 29 Apr 2025)

  Changed paths:
    M Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7621.2.5.10.8

Canonical link: https://commits.webkit.org/289651.450@safari-7621.2.5.10-branch


Compare: https://github.com/WebKit/WebKit/compare/3f32080739f0%5E...e4528821693f

To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to