{
  "commits": {
    "316766@main": {
      "author": "Qianlang Chen",
      "avatar": "https://www.gravatar.com/avatar/0fd54e904334f604739d0205aa6e2130?d=identicon\u0026s=64",
      "cl": "316766@main",
      "clUrl": "https://commits.webkit.org/316766@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=309222\n\nReviewed by BJ Burg.\n\nUnder Site Isolation the inspected page's process no longer hosts\nevery frame's CachedResourceLoader, and the per-WebProcess\nBackendResourceDataStore (the Site Isolation analog of\nNetworkResourcesData) lives in each WebContent process. As a result\nProxyingPageAgent::searchInResource and\nProxyingPageAgent::searchInResources were stubs that returned empty\narrays, so global search and single-resource search found nothing for\nany frame.\n\nThis implements both commands by fanning out to the WebContent\nprocesses that host the page's frames and aggregating the results in\nthe UIProcess, mirroring the patterns already established by\ngetResourceTree (cross-process resource aggregation) and\ngetResponseBody (requestId routing):\n\n  - searchInResources groups every WebFrameProxy by its hosting\n    process and asks each process to search its frames' cached\n    resources together with its BackendResourceDataStore (XHR/Fetch)\n    in one round trip, then aggregates with a CallbackAggregator. This\n    consolidates the legacy Page-\u003eNetwork searchOtherRequests\n    cross-agent call, since both data sources live in the same\n    WebProcess under Site Isolation. Results are de-duplicated by URL\n    so a resource that is both a CachedResource and a buffered network\n    entry is reported once. This is a deliberate change from the\n    legacy path, which double-counts such a resource -- once in\n    InspectorPageAgent's own frame walk and again in\n    searchOtherRequests, which reaches it through the entry's retained\n    CachedResource. Reporting it once is the intended behavior under\n    Site Isolation.\n\n  - searchInResource routes to a single process: the requestId branch\n    parses the process-qualified protocol requestId to reach the\n    owning process's data store, and the frame+URL branch parses the\n    process-qualified protocol frameId to reach the frame's hosting\n    process.\n\nBoth commands become asynchronous (matching getResourceTree); the\nlegacy WebCore InspectorPageAgent implementations adopt the\nasync-callback form and answer synchronously. Results travel over\ntyped IPC via Inspector::SearchMatch and Inspector::SearchResult,\nmirrors of the protocol types. BackendResourceDataStore entries now\ncarry a FrameIdentifier so XHR/Fetch search hits can be attributed to\nthe frame that originated them. Finally, the two protocol commands are\nmade available on the \"web-page\" target (the multiplexing backend\ntarget the Site Isolation frontend talks to), not just the legacy\n\"page\" target.\n\nTests: http/tests/site-isolation/inspector/page/search-in-resource-by-request-id-cross-origin-iframe.html\n       http/tests/site-isolation/inspector/page/search-in-resource-cross-origin-iframe.html\n       http/tests/site-isolation/inspector/page/search-in-resources-cross-origin-iframe.html\n\n* LayoutTests/http/tests/site-isolation/inspector/page/resources/fetch-body-with-json-string.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/page/resources/iframe-with-text-fetch.html: Added.\n* LayoutTests/http/tests/site-isolation/inspector/page/search-in-resource-by-request-id-cross-origin-iframe-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/page/search-in-resource-by-request-id-cross-origin-iframe.html: Added.\n* LayoutTests/http/tests/site-isolation/inspector/page/search-in-resource-cross-origin-iframe-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/page/search-in-resource-cross-origin-iframe.html: Added.\n* LayoutTests/http/tests/site-isolation/inspector/page/search-in-resources-cross-origin-iframe-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/page/search-in-resources-cross-origin-iframe.html: Added.\n* Source/JavaScriptCore/inspector/protocol/Page.json:\n* Source/WebCore/inspector/InspectorIdentifierRegistry.h:\n(Inspector::IdentifierRegistry::parseProtocolFrameId):\n* Source/WebCore/inspector/InspectorResourceUtilities.h:\n* Source/WebCore/inspector/agents/InspectorPageAgent.cpp:\n(WebCore::InspectorPageAgent::searchInResource):\n(WebCore::InspectorPageAgent::searchInResources):\n* Source/WebCore/inspector/agents/InspectorPageAgent.h:\n* Source/WebKit/Scripts/webkit/messages.py:\n(types_that_cannot_be_forward_declared):\n(headers_for_type):\n* Source/WebKit/Shared/InspectorPageTypes.serialization.in:\n* Source/WebKit/UIProcess/Inspector/Agents/ProxyingPageAgent.cpp:\n(Inspector::ProxyingPageAgent::searchInResource):\n(Inspector::ProxyingPageAgent::searchInResources):\n* Source/WebKit/UIProcess/Inspector/Agents/ProxyingPageAgent.h:\n* Source/WebKit/WebProcess/Inspector/BackendResourceDataStore.cpp:\n(WebKit::BackendResourceDataStore::resourceCreated):\n* Source/WebKit/WebProcess/Inspector/BackendResourceDataStore.h:\n(WebKit::BackendResourceDataStore::ResourceData::frameID const):\n(WebKit::BackendResourceDataStore::ResourceData::setFrameID):\n(WebKit::BackendResourceDataStore::forEach const):\n* Source/WebKit/WebProcess/Inspector/FrameNetworkAgentProxy.cpp:\n(WebKit::FrameNetworkAgentProxy::willSendRequest):\n(WebKit::FrameNetworkAgentProxy::willSendRequestOfType):\n(WebKit::FrameNetworkAgentProxy::didLoadResourceFromMemoryCache):\n* Source/WebKit/WebProcess/Inspector/WebInspectorBackend.cpp:\n(WebKit::convertSearchMatches):\n(WebKit::WebInspectorBackend::searchInRequest):\n(WebKit::WebInspectorBackend::searchInFrameResource):\n(WebKit::WebInspectorBackend::searchInFramesAndRequests):\n* Source/WebKit/WebProcess/Inspector/WebInspectorBackend.h:\n* Source/WebKit/WebProcess/Inspector/WebInspectorBackend.messages.in:\n\nCanonical link: https://commits.webkit.org/316766@main",
      "email": "qianlangchen@apple.com",
      "hash": "5b181eb9e164c0f6a82ee743963d97b8638da560",
      "subject": "Web Inspector: Site Isolation: Page domain searchInResource / searchInResources across processes"
    },
    "316767@main": {
      "author": "Alan Baradlay",
      "avatar": "https://www.gravatar.com/avatar/788d66417db806c567552cfa1ae89f77?d=identicon\u0026s=64",
      "cl": "316767@main",
      "clUrl": "https://commits.webkit.org/316767@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318445\n\nReviewed by Antti Koivisto.\n\nEach flex line used to have its flexible lengths (spec 9.7) resolved inside\nthe per-line layout loop, right before that line was laid out and placed.\nResolving a line's main sizes depends only on that line's items and its own\ncontainer inner main size -- never on another line's layout -- so it can just\nas well happen for every line up front.\n\nAdd computeMainSizeForFlexItems, which resolves each line's flexed main sizes\nand returns the resulting main-axis free space per line; the layout loop now\nconsumes that per-line free space instead of computing it.\n\nThis mirrors the LFC FlexLayout::layout shape, where main sizing is its own pass over all lines.\n\nNo change in behavior.\n\n* Source/WebCore/rendering/RenderFlexibleBox.h:\n* Source/WebCore/rendering/RenderFlexibleBox.cpp:\n(WebCore::RenderFlexibleBox::computeMainSizeForFlexItems):\n(WebCore::RenderFlexibleBox::layoutFlexLines):\n\nCanonical link: https://commits.webkit.org/316767@main",
      "email": "zalan@apple.com",
      "hash": "9d23badef003394e6ec78e18ac1272f45a609cb2",
      "subject": "[cleanup] Resolve every flex line's main sizes before laying out the lines"
    },
    "316768@main": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/208c05ac2decdf818a4a08ada568328e?d=identicon\u0026s=64",
      "cl": "316768@main",
      "clUrl": "https://commits.webkit.org/316768@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318830\nrdar://181643399\n\nReviewed by Brent Fulgham.\n\nUpstream commit: https://github.com/web-platform-tests/wpt/commit/a81c374533f4c46f3bb353ca3c84a5dc1adb8b87\n\n* LayoutTests/TestExpectations:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-anchor-nested-display.tentative.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-events-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-events.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-focus-overflow-visible-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-focus-overflow-visible.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-focus-previous-crash.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-hint-hierarchy-expected.txt: Added.\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-hint-hierarchy.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-command-edge-cases.tentative-expected.txt: Added.\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-command-edge-cases.tentative.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-hint-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-hint.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-open-in-beforetoggle-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-open-in-beforetoggle.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-remove-attribute-during-focusing-steps-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-remove-attribute-during-focusing-steps.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-nesting-anchor.tentative-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-nesting-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-nesting-hints-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-nesting-hints.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-types-with-hints-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-types-with-hints.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/resources/w3c-import.log:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/toggleevent-interface-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/toggleevent-interface.html:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/w3c-import.log:\n* LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/semantics/popovers/popover-focus-overflow-visible-expected.txt: Added.\n* LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-expected.txt.\n* LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/popovers/popover-hint-hierarchy-expected.txt: Added.\n* LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-command-edge-cases.tentative-expected.txt: Added.\n* LayoutTests/platform/wpe/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-light-dismiss-expected.txt.\n* LayoutTests/tests-options.json:\n\nCanonical link: https://commits.webkit.org/316768@main",
      "email": "ntim@apple.com",
      "hash": "9a440763507ba23681cc2668e822ab9a6caf9276",
      "subject": "Re-import html/semantics/popovers WPT"
    },
    "316769@main": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/38445f84fe28aa19bfeb1f59f6559532?d=identicon\u0026s=64",
      "cl": "316769@main",
      "clUrl": "https://commits.webkit.org/316769@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318309\nrdar://181101887\n\nReviewed by Ryosuke Niwa.\n\nlastDescendant() and firstDescendant() evaluated the child accessor\ntwice on every loop iteration: once in the while condition and again in\nthe loop body. Bind the result in the condition so the accessor is\ncalled once per step. This also removes the redundant null check on the\nwalker, which starts at `this` (non-null) and is only ever reassigned to\na non-null child.\n\nNo change in behavior.\n\n* Source/WebCore/dom/Node.cpp:\n(WebCore::Node::lastDescendant const):\n(WebCore::Node::firstDescendant const):\n\nCanonical link: https://commits.webkit.org/316769@main",
      "email": "ahmad.saleem792+github@gmail.com",
      "hash": "179a9b95449564c6598507566f68e08be882fa3c",
      "subject": "Node::lastDescendant()/firstDescendant() call lastChild()/firstChild() twice per iteration"
    },
    "316770@main": {
      "author": "Zak Ridouh",
      "avatar": "https://www.gravatar.com/avatar/d9b65ef530b9cbbfc6dff1ca158faace?d=identicon\u0026s=64",
      "cl": "316770@main",
      "clUrl": "https://commits.webkit.org/316770@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317455\nrdar://180075614\n\nReviewed by Pascoe.\n\nThe five WebProcessPlugIn-*.mm #include shims are emitted with file(WRITE),\nwhich rewrites them unconditionally each configure and bumps their mtime,\nforcing ninja to recompile all five and relink TestWebKitAPI.wkbundle on every no-op reconfigure.\n\nEmit each shim with file(CONFIGURE), which only rewrites the output when its\ncontents change, cutting post-reconfigure work from 8 build steps to 2 (5 recompiles + 1 link avoided).\n\n* Tools/TestWebKitAPI/PlatformMac.cmake:\n\nCanonical link: https://commits.webkit.org/316770@main",
      "email": "zakr@apple.com",
      "hash": "f00bf9555abc93c0d96e4c09fa36851e06c41e1b",
      "subject": "[CMake] Avoid rebuilding TestWebKitAPI WebProcessPlugIn shims on every reconfigure"
    },
    "316771@main": {
      "author": "Elliott Williams",
      "avatar": "https://www.gravatar.com/avatar/4086acbe078d65242df929cb51298130?d=identicon\u0026s=64",
      "cl": "316771@main",
      "clUrl": "https://commits.webkit.org/316771@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318791\n\nUnreviewed build fix.\n\nFix incorrect case in paths to the script that was added.\n\n* Source/WebKitLegacy/PlatformMac.cmake:\n\nCanonical link: https://commits.webkit.org/316771@main",
      "email": "emw@apple.com",
      "hash": "6f4853bb83c7c2f30238e8a229af810f115c63ee",
      "subject": "Follow-up to \"[CMake] Build WebKit headers to correct API/SPI location\""
    },
    "316772@main": {
      "author": "Dawn Morningstar",
      "avatar": "https://www.gravatar.com/avatar/9b791f3f02553608941e76bb5eecd471?d=identicon\u0026s=64",
      "cl": "316772@main",
      "clUrl": "https://commits.webkit.org/316772@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318912\nrdar://181747976\n\nReviewed by Jonathan Bedard.\n\n`git-webkit apply` picked a patch from a numbered list and then rendered\nits diff, which crashed on exactly the generated triage patches it targets:\ntheir format-patch `From` line carries the null SHA, and the HTML differ\ntried to resolve it as a commit in the checkout. Rework the interactive flow:\npresent a bug's patches in the order the tracker lists them, review the chosen\npatch as an HTML diff before applying it, and return to the menu when it is rejected.\nClosing the diff or pressing Enter accepts; answering 'n' rejects.\nA named patch is reviewed too. Once a patch is committed, open its\nmessage in the editor and offer to create a pull request.\n\n* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/apply.py:\n(Apply):\n(Apply.review):\n(Apply.select_patch):\n(Apply.edit_commit_message):\n(Apply.offer_pull_request):\n(Apply.main):\n* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/diff/diff.py:\n(DiffBase.add_line):\n* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/diff/html_diff.py:\n(__init__):\n(__exit__._wait_for_enter):\n* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/apply_unittest.py:\n(TestApply.test_select_patch_named_reviewed_when_interactive):\n(TestApply):\n(TestApply.test_select_patch_named_rejected_when_interactive_returns_none):\n(TestApply.test_select_patch_named_non_interactive_skips_review):\n(TestApply.test_select_patch_non_interactive_returns_single):\n(TestApply.test_select_patch_non_interactive_returns_first_in_tracker_order):\n(TestApply.test_select_patch_menu_preserves_tracker_order_and_defaults_to_first):\n(TestApply.test_select_patch_offers_every_variant_in_the_menu):\n(TestApply.test_select_patch_interactive_accepts_reviewed_patch):\n(TestApply.test_select_patch_interactive_single_rejected_returns_none):\n(TestApply.test_select_patch_interactive_reject_returns_to_menu):\n(TestApply.test_review_accepts_when_diff_accepted):\n(TestApply.test_review_rejects_when_diff_rejected):\n(TestApply.test_review_rejects_undownloadable_patch):\n(TestApply.test_offer_pull_request_invokes_pull_request_when_accepted):\n(TestApply.test_offer_pull_request_skips_when_declined):\n(TestApply.test_main_named_patch_rejected_reports_not_applied):\n(TestApply.test_main_reviews_and_opens_editor_when_interactive):\n(TestApply.test_main_creates_pull_request_when_accepted):\n(TestApply.test_main_skips_pull_request_when_declined):\n(TestApply.test_main_no_editor_when_not_committing):\n(TestApply.test_main_declined_review_is_not_applied):\n(TestApply.test_main_skips_review_and_editor_when_not_interactive):\n(TestApply.test_select_patch_single): Deleted.\n(TestApply.test_select_patch_prompts_with_preferred_default): Deleted.\n(TestApply.test_select_patch_defaults_to_first_when_none_preferred): Deleted.\n(TestApply.test_main_previews_diff_when_interactive): Deleted.\n(TestApply.test_main_skips_diff_when_not_interactive): Deleted.\n* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/diff_unittest.py: Added.\n(_Commit):\n(_Commit.__init__):\n(_Commit.__str__):\n(TestDiffBase):\n(TestDiffBase._from_line):\n(TestDiffBase._repo):\n(TestDiffBase.test_from_line_rewritten_when_hash_resolves):\n(TestDiffBase.test_from_line_falls_back_when_hash_unresolvable):\n(TestDiffBase.test_from_line_ignored_without_repository):\n\nCanonical link: https://commits.webkit.org/316772@main",
      "email": "morningstar@apple.com",
      "hash": "4087d3f231d5c4b52ffc8c5be1d3344a9d37ba36",
      "subject": "git-webkit apply should let you review and choose among a bug's attached patches"
    },
    "316773@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "316773@main",
      "clUrl": "https://commits.webkit.org/316773@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=247161\n\u003crdar://problem/101661656\u003e\n\nReviewed by Tim Nguyen.\n\n* Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:\n(WebCore::InspectorCSSAgent::layoutFlagsForNode):\n\n* LayoutTests/inspector/css/nodeLayoutFlagsChanged-Scrollable.html:\n* LayoutTests/inspector/css/nodeLayoutFlagsChanged-Scrollable-expected.txt:\n\nCanonical link: https://commits.webkit.org/316773@main",
      "email": "hi@devinrousso.com",
      "hash": "60b1a661632c6d0351d35db4bd6dd04fdadf65c9",
      "subject": "Web Inspector: Elements Tab: every \u003cinput\u003e has a Scroll badge"
    },
    "316774@main": {
      "author": "Kiet Ho",
      "avatar": "https://www.gravatar.com/avatar/d9058b37006dce1f55f91b8ccc82f9a3?d=identicon\u0026s=64",
      "cl": "316774@main",
      "clUrl": "https://commits.webkit.org/316774@main",
      "description": "rdar://177992045\nhttps://bugs.webkit.org/show_bug.cgi?id=315617\n\nReviewed by Simon Fraser.\n\ncomputeClippedRectInRootContentsSpace (in IntersectionObserver.cpp) works by\ncomputing the visible rect of an element in its frame, then recurses if the\nframe is another frame, up until it reaches the main frame. When crossing\nframe boundaries, it checks whether the current frame is same-origin to the\ntarget element, for applying scroll margin:\n\n    RefPtr rendererOrFrameSecurityOrigin = WTF::visit(WTF::makeVisitor(\n        [\u0026] (const RenderElement* renderer) { return Ref\u003cconst Frame\u003e(renderer-\u003eframe())-\u003eframeDocumentSecurityOrigin(); },\n        [\u0026] (const Frame* frame) { return frame-\u003eframeDocumentSecurityOrigin(); }\n    ), rendererOrFrame);\n\n    bool isSameOriginDomain = [\u0026] () {\n        if (rendererOrFrameSecurityOrigin)\n            return rendererOrFrameSecurityOrigin-\u003eisSameOriginDomain(targetSecurityOrigin);\n\n         return false;\n     }();\n     if (!isSameOriginDomain)\n         scrollMargin.reset();\n\nIf the parent frame's owner renderer is available, then\ncomputeClippedRectInRootContentsSpace is called with that owner renderer.\nThen renderer-\u003eframe() is the parent frame, and rendererOrFrameSecurityOrigin\nis the parent frame's security origin.\n\nIf the parent frame's owner renderer is not available (when Site Isolation\nis enabled and the parent frame is in another process), then\ncomputeClippedRectInRootContentsSpace is called with the Frame object of\nthe current frame instead. The intention is to use this as the proxy to\nthe frame's owner renderer. But in this case, rendererOrFrameSecurityOrigin\nwould be the frame's security origin, instead of the parent frame's.\n\nAs an example, in an page with nested iframes that look like this: (cross\nand same-origin are relative to main frame):\n\n(1) main \u003c- (2) cross-origin \u003c- (3) same-origin \u003c- (4) target element\n\nFirst computeClippedRectInRootContentsSpace is called on (4), then it's\ncalled on the (3)'s Frame object (because (3)'s owner renderer is in (2),\nwhich is cross-origin and out of process). We cross a cross-origin frame\nboundary, so we should not apply and propagate scroll margin. But because\nthe object being passed to computeClippedRectInRootContentsSpace is (3)'s\nFrame object, rendererOrFrameSecurityOrigin is the security origin of (3),\nwhich is also the security origin of (4), as (4) is in (3)\n\nFix this by getting the security origin from enclosingFrame instead, which is\nguaranteed to be the parent frame (aka the frame enclosing rendererOrFrame)\n\n* LayoutTests/platform/ios-site-isolation/TestExpectations:\n* LayoutTests/platform/mac-site-isolation/TestExpectations:\n* Source/WebCore/page/IntersectionObserver.cpp:\n(WebCore::computeClippedRectInRootContentsSpace):\n\nCanonical link: https://commits.webkit.org/316774@main",
      "email": "kiet.ho@apple.com",
      "hash": "9e93965484305236b05b2a0000b9bbee624017c3",
      "subject": "[Site Isolation] [intersection-observer] In Site Isolation mode, scroll margin can get applied to cross-origin frame"
    },
    "316775@main": {
      "author": "Brent Fulgham",
      "avatar": "https://www.gravatar.com/avatar/c6989a65afef0d015b55c65406e37ccc?d=identicon\u0026s=64",
      "cl": "316775@main",
      "clUrl": "https://commits.webkit.org/316775@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318814\nrdar://181632272\n\nUnreviewed revert.\n\nReverts two related commits, to be relanded together (see reland-patches/):\n- 316247@main (cc6164615e73) — GeneratedSerializers should include soft link headers last\n- 315611@main (798259bfdaae) — Further partition the generated serializer code to reduce build time\n\n* Source/WebKit/CMakeLists.txt:\n* Source/WebKit/DerivedSources-input.xcfilelist:\n* Source/WebKit/DerivedSources-output.xcfilelist:\n* Source/WebKit/DerivedSources.make:\n* Source/WebKit/Scripts/generate-serializers.py:\n(derive_bundle):\n(ConditionalHeader.__lt__):\n(generate_header):\n(generate_impl):\n(main):\n(_expand_bundles_with_shards): Deleted.\n(assign_shards): Deleted.\n(assign_shards.declaration_count): Deleted.\n(generate_extra_header): Deleted.\n(generate_extra_header.Decoder): Deleted.\n(generate_extra_header.Encoder): Deleted.\n(generate_extra_header.StreamConnectionEncoder): Deleted.\n* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp:\n* Source/WebKit/Scripts/webkit/tests/GeneratedSerializersExtra.h: Removed.\n* Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp:\n* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:\n* Source/WebKit/Shared/WebCoreArgumentCodersPlatform.serialization.in: Removed.\n* Source/WebKit/WebKit.xcodeproj/project.pbxproj:\n\nCanonical link: https://commits.webkit.org/316775@main",
      "email": "bfulgham@apple.com",
      "hash": "bc3a95ea607b8f4e155016c819e6a03ac8b612b9",
      "subject": "Revert serializer-code partitioning (315611@main and 316247@main)"
    },
    "316776@main": {
      "author": "Geoffrey Garen",
      "avatar": "https://www.gravatar.com/avatar/9f2ee1a184d00263dc68af055f15b697?d=identicon\u0026s=64",
      "cl": "316776@main",
      "clUrl": "https://commits.webkit.org/316776@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=313288\nrdar://175559104\n\nReviewed by Richard Robinson.\n\nSkip slow verification steps in at-desk and LLM-driven builds;\nkeep them in CI and Production builds.\n\nThis is worth about 2 minutes in a clean build, or an incremental\nbuild that touches headers or project files, or a build in which\nXcode gets confused about its dependency tracking.\n\nReplace the old OVERRIDE_* variables to turn off module verification and\nInstallAPI locally; this mechanism serves the same purpose.\n\n* Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:\n* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:\n* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:\n* Source/WTF/Configurations/WTF.xcconfig:\n* Source/WTF/WTF.xcodeproj/project.pbxproj:\n* Source/WebCore/Configurations/WebCore.xcconfig:\n* Source/WebCore/PAL/Configurations/PAL.xcconfig:\n* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:\n* Source/WebCore/WebCore.xcodeproj/project.pbxproj:\n* Source/WebGPU/Configurations/WebGPU.xcconfig:\n* Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig:\n* Source/WebKit/Configurations/Base.xcconfig:\n* Source/WebKit/Configurations/WebKit.xcconfig:\n* Source/WebKit/WebKit.xcodeproj/project.pbxproj:\n* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:\n* Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:\n* Source/bmalloc/Configurations/bmalloc.xcconfig:\n* Source/bmalloc/bmalloc.xcodeproj/project.pbxproj:\n\nCo-authored-by: Elliott Williams \u003cemw@apple.com\u003e\nCanonical link: https://commits.webkit.org/316776@main",
      "email": "ggaren@apple.com",
      "hash": "6cfa6948d6bdc9951dec77e362380d9c83828df7",
      "subject": "Add WK_ENABLE_SLOW_BUILD_VERIFICATION for slow build verification in CI and Production builds (2/2)"
    },
    "316777@main": {
      "author": "Yijia Huang",
      "avatar": "https://www.gravatar.com/avatar/5bc95a5f0a5fdfc107bbdec6979dae89?d=identicon\u0026s=64",
      "cl": "316777@main",
      "clUrl": "https://commits.webkit.org/316777@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318876\nrdar://181713374\n\nReviewed by Yusuke Suzuki.\n\nFixes five PYM correctness bugs and consolidates the helper layers to\nmatch the spec AOs.\n\nBugs fixed:\n1. PYM.toPlainDate({day: 0|negative|NaN|Infinity}) silently constrained\n   to day 1 instead of throwing RangeError.\n2. PYM.from({year: 275761, ...}) hit a debug assertion in PlainDate's\n   ctor because the range check ran after construction.\n3. Same ordering bug in PD.from ISO path via dateFromFields.\n4. Chinese M{n}L + {years:1} into a non-leap year constrained to M12\n   instead of the base month M{n}. setCalendarToMonthCode now uses the\n   codePointCompare early-stop that its siblings already use.\n5. Non-ISO PYM.from({era, eraYear}) without a month silently defaulted\n   to month 1 instead of throwing TypeError.\n\nRefactoring:\n- rejectObjectWithCalendarOrTimeZone renamed to isPartialTemporalObject\n  and rewritten to match the spec AO exactly. All six .with() call\n  sites converted.\n- Consolidated PYM.until/since into one static\n  differenceTemporalPlainYearMonth\u003cop\u003e template in the prototype file,\n  removing the four-layer pipeline.\n- Inlined single-caller helpers: PYM::with, PD::with, fromYearMonthString,\n  PD::toDay. Removed dead PD::toYearMonth.\n- Renamed AddOrSubtract template to addDurationToYearMonth and fixed\n  spec-step annotations across .with, .add/.subtract, and .until/.since.\n\nTest: JSTests/stress/temporal-plain-year-month.js\nCanonical link: https://commits.webkit.org/316777@main",
      "email": "yijia_huang@apple.com",
      "hash": "d3c7fd25598aededd644fbb22691f8789e3a5daa",
      "subject": "[JSC][Temporal] Fix PlainYearMonth bugs and simplify helpers"
    },
    "316778@main": {
      "author": "Qianlang Chen",
      "avatar": "https://www.gravatar.com/avatar/0fd54e904334f604739d0205aa6e2130?d=identicon\u0026s=64",
      "cl": "316778@main",
      "clUrl": "https://commits.webkit.org/316778@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318740\n\nReviewed by BJ Burg.\n\nFollow-up to the cold-load sourceMappingURL work, https://github.com/WebKit/WebKit/pull/68571.\nUnder Site Isolation, network events for cross-origin iframe resources\nare reported by FrameNetworkAgentProxy (WebProcess) to ProxyingNetworkAgent\n(UIProcess). A resource served from WebCore's in-memory cache does not\ngo through the willSendRequest/didReceiveResponse/didFinishLoading\nsequence; instead FrameNetworkAgentProxy::didLoadResourceFromMemoryCache\nfires once. That path previously synthesized requestWillBeSent +\nresponseReceived and forwarded no sourceMappingURL, so source maps for\nstylesheets served from the memory cache did not auto-link in the\nNetwork tab (they linked on the cold load but stopped once cached).\n\nFinish the memory-cache path so it mirrors the legacy Network agent\ninstead of the synthesized requestWillBeSent + responseReceived it\nemitted before. didLoadResourceFromMemoryCache has the CachedResource\nin hand, so the CSS sourceMappingURL is resolved there (CSS-only by\ndesign; scripts flow through the Debugger domain) and threaded through\nto ProxyingNetworkAgent, which now dispatches the real\nNetwork.requestServedFromMemoryCache event. The frontend already\nconsumes that event's sourceMapURL, so no frontend changes are needed;\nemitting the real event (rather than the synthesized pair) also gives\nmemory-cached cross-origin iframe resources a proper finished state and\nMemoryCache response-source classification under SI.\n\nTest: http/tests/site-isolation/inspector/network/cross-origin-iframe-network-memory-cache-source-map-url.html\n\n* LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-memory-cache-source-map-url-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/network/cross-origin-iframe-network-memory-cache-source-map-url.html: Added.\n* LayoutTests/http/tests/site-isolation/inspector/network/resources/stylesheet-with-source-map-header-cacheable.py: Added.\n* Source/WebCore/inspector/InspectorResourceUtilities.h:\n* Source/WebCore/loader/cache/CachedResource.h:\n* Source/WebKit/UIProcess/Inspector/Agents/ProxyingNetworkAgent.cpp:\n(Inspector::ProxyingNetworkAgent::requestServedFromMemoryCache):\n* Source/WebKit/UIProcess/Inspector/Agents/ProxyingNetworkAgent.h:\n* Source/WebKit/UIProcess/Inspector/Agents/ProxyingNetworkAgent.messages.in:\n* Source/WebKit/WebProcess/Inspector/FrameNetworkAgentProxy.cpp:\n(WebKit::FrameNetworkAgentProxy::didLoadResourceFromMemoryCache):\n\nCanonical link: https://commits.webkit.org/316778@main",
      "email": "qianlangchen@apple.com",
      "hash": "5ff5b2cf4386431d725cf5ad25a10442e21f3022",
      "subject": "[Site Isolation] Web Inspector: Network domain sourceMappingURL is not forwarded for memory-cached cross-origin iframe stylesheets"
    },
    "316779@main": {
      "author": "Rupin Mittal",
      "avatar": "https://www.gravatar.com/avatar/3e3de9845931d2dc844afb00056ec94e?d=identicon\u0026s=64",
      "cl": "316779@main",
      "clUrl": "https://commits.webkit.org/316779@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318923\nrdar://181754532\n\nReviewed by Brady Eidson.\n\nEnable the getAllRecords() API and IDBGetAllOptions by default by upgrading\nthe feature flag to be on in stable.\n\n* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:\n\nCanonical link: https://commits.webkit.org/316779@main",
      "email": "rupin@apple.com",
      "hash": "28dc5f8160cb2afcbe0594f21c2a379403ad769a",
      "subject": "Enable IndexedDBGetAllRecordsAndGetAllOptionsEnabled in Stable"
    },
    "316780@main": {
      "author": "Alex Christensen",
      "avatar": "https://www.gravatar.com/avatar/b087c5dfcb1233e80cad9105fd5a1ac6?d=identicon\u0026s=64",
      "cl": "316780@main",
      "clUrl": "https://commits.webkit.org/316780@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318907\nrdar://181742876\n\nReviewed by Rupin Mittal.\n\nThe RemoteMediaSessionProxy constructor was creating a new RemoteMediaSessionClientProxy, but that\nclient was not adopted so it was not owned so it will never be destroyed.  This adds ownership.\n\n* Source/WebCore/platform/audio/PlatformMediaSessionInterface.h:\n* Source/WebKit/UIProcess/Media/RemoteMediaSessionClientProxy.h:\n* Source/WebKit/UIProcess/Media/RemoteMediaSessionProxy.cpp:\n(WebKit::RemoteMediaSessionProxy::create):\n(WebKit::RemoteMediaSessionProxy::RemoteMediaSessionProxy):\n(WebKit::RemoteMediaSessionProxy::~RemoteMediaSessionProxy):\n* Source/WebKit/UIProcess/Media/RemoteMediaSessionProxy.h:\n\nCanonical link: https://commits.webkit.org/316780@main",
      "email": "achristensen@apple.com",
      "hash": "00c5301ecd88076bfa94075e6c1497fd8507495f",
      "subject": "Fix leak of RemoteMediaSessionClientProxy when site isolation or RemoteMediaSessionManager is enabled"
    },
    "316781@main": {
      "author": "Elliott Williams",
      "avatar": "https://www.gravatar.com/avatar/4086acbe078d65242df929cb51298130?d=identicon\u0026s=64",
      "cl": "316781@main",
      "clUrl": "https://commits.webkit.org/316781@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317899\n\nReviewed by Pascoe and Richard Robinson.\n\nBuilding for Apple platforms already produces executables in framework\nbundles, and some ancillary files like modules. Move all the headers\ninto the framework bundle, too, giving it proper structure that's\ncomparable to how our frameworks appear in the SDK.\n\nThis is a prerequisite for getting modules working without symlink\nhacks, and works towards an internal SDK build.\n\nIn the WebKitFS module, add a second kind of path variable.\nThe existing *_FRAMEWORK_HEADERS_DIR variable is the directory that a\ncompiler must search to be able to import framework headers. A new\n*_HEADER_DIR variable is the directory that actually contains the\nheaders. On Mac and iOS, the latter variable points inside the\nrespective framework bundle. So we end up with assignments like this:\n\n    # Linux, Windows ports\n    set(WebKit_FRAMEWORK_HEADERS_DIR \"${CMAKE_BINARY_DIR}/WebKit/Headers\")\n    set(WebKit_HEADERS_DIR \"${CMAKE_BINARY_DIR}/WebKit/Headers/WebKit\")\n\n    # Mac\n    set(WebKit_FRAMEWORK_HEADERS_DIR \"${CMAKE_BINARY_DIR}/WebKit/Headers\")\n    set(WebKit_HEADERS_DIR \"${CMAKE_BINARY_DIR}/WebKit.framework/Versions/A/Headers\")\n\n    # iOS, other embedded Apple platforms\n    set(WebKit_FRAMEWORK_HEADERS_DIR \"${CMAKE_BINARY_DIR}/WebKit/Headers\")\n    set(WebKit_HEADERS_DIR \"${CMAKE_BINARY_DIR}/WebKit.framework/Headers\")\n\nAdopt those variables across the codebase.\n\nIn the WEBKIT_FRAMEWORK macro library, add some initialization logic\nthat creates the framework bundle structure at configure time, for\ntargets that build as SHARED libraries. (All of the 1st-party libraries\nthat build SHARED are frameworks.) Have each of them emit a `-F` flag to\npopulate the framework search path. These will be coalesced into one\ncompiler argument for ~all compilation.\n\n* Source/JavaScriptCore/CMakeLists.txt:\n* Source/JavaScriptCore/PlatformIOS.cmake:\n* Source/ThirdParty/ANGLE/CMakeLists.txt:\n* Source/ThirdParty/ANGLE/include/CMakeLists.txt:\n* Source/WTF/wtf/CMakeLists.txt:\n* Source/WebCore/CMakeLists.txt:\n* Source/WebCore/PAL/pal/CMakeLists.txt:\n* Source/WebCore/PlatformCocoa.cmake:\n* Source/WebKit/CMakeLists.txt:\n* Source/WebKitLegacy/CMakeLists.txt:\n* Source/bmalloc/CMakeLists.txt:\n* Source/cmake/WebKitFS.cmake:\n* Source/cmake/WebKitMacros.cmake:\n* Tools/MiniBrowser/mac/CMakeLists.txt:\n* Tools/TestWebKitAPI/PlatformMac.cmake:\n\nCanonical link: https://commits.webkit.org/316781@main",
      "email": "emw@apple.com",
      "hash": "e405a58ab0957aac50705bd428703852f49dd8a1",
      "subject": "[CMake] Put headers inside of framework bundles"
    },
    "316782@main": {
      "author": "Yusuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/3455d9081295e3e740c1ffa901217d9b?d=identicon\u0026s=64",
      "cl": "316782@main",
      "clUrl": "https://commits.webkit.org/316782@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318899\nrdar://181734365\n\nReviewed by Keith Miller.\n\nThis patch reduces sizeof(Air::Inst) from 80 to 64.\n\n1. We stop using Vector\u003c\u003e in Air::Inst. And managing inline buffer and\n   allocated buffer inside Air::Inst. We stop modifying the underlying\n   Vector directly, and instead, Air::Inst shows setArgs interface,\n   which can be used to set arguments.\n2. Air::Inst exposes args as std::span instead of Vector.\n\nDoing so reduces the sizeof(Air::Inst). This is critical since Air's\ntime consumption is basically coming from iterating Air::Inst instances.\nSmaller and dense representation makes it cheaper.\n\nTests: Source/JavaScriptCore/b3/air/testair.cpp\n       Source/JavaScriptCore/b3/testb3_2.cpp\n       Source/JavaScriptCore/b3/testb3_6.cpp\n       Source/JavaScriptCore/b3/testb3_7.cpp\n\n* Source/JavaScriptCore/b3/B3CheckSpecial.cpp:\n(JSC::B3::CheckSpecial::Key::Key):\n(JSC::B3::CheckSpecial::hiddenBranch const):\n(JSC::B3::CheckSpecial::forEachArg):\n(JSC::B3::CheckSpecial::isValid):\n(JSC::B3::CheckSpecial::generate):\n* Source/JavaScriptCore/b3/B3LowerToAir.cpp:\n* Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp:\n(JSC::B3::PatchpointSpecial::forEachArg):\n(JSC::B3::PatchpointSpecial::isValid):\n(JSC::B3::PatchpointSpecial::generate):\n* Source/JavaScriptCore/b3/B3StackmapSpecial.cpp:\n(JSC::B3::StackmapSpecial::forEachArgImpl):\n(JSC::B3::StackmapSpecial::isValidImpl):\n(JSC::B3::StackmapSpecial::repsImpl):\n* Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp:\n(JSC::B3::Air::GenerateAndAllocateRegisters::generate):\n* Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp:\n* Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp:\n(JSC::B3::Air::Greedy::GreedyAllocator::buildLiveRanges):\n(JSC::B3::Air::Greedy::GreedyAllocator::validateCoalescing):\n(JSC::B3::Air::Greedy::GreedyAllocator::rewriteCoalescedTmps):\n(JSC::B3::Air::Greedy::GreedyAllocator::emitSpillCodeAndEnqueueNewTmps):\n(JSC::B3::Air::Greedy::GreedyAllocator::mayBeCoalescable):\n(JSC::B3::Air::Greedy::GreedyAllocator::assignRegisters):\n* Source/JavaScriptCore/b3/air/AirAllocateStackByGraphColoring.cpp:\n* Source/JavaScriptCore/b3/air/AirCCallSpecial.cpp:\n(JSC::B3::Air::CCallSpecial::forEachArg):\n(JSC::B3::Air::CCallSpecial::isValid):\n(JSC::B3::Air::CCallSpecial::generate):\n* Source/JavaScriptCore/b3/air/AirCCallingConvention.cpp:\n(JSC::B3::Air::buildCCall):\n* Source/JavaScriptCore/b3/air/AirCustom.cpp:\n(JSC::B3::Air::PatchCustom::isValidForm):\n(JSC::B3::Air::CCallCustom::isValidForm):\n(JSC::B3::Air::ShuffleCustom::isValidForm):\n(JSC::B3::Air::WasmBoundsCheckCustom::isValidForm):\n(JSC::B3::Air::WasmBoundsCheckCustom::generate):\n* Source/JavaScriptCore/b3/air/AirCustom.h:\n(JSC::B3::Air::PatchCustom::forEachArg):\n(JSC::B3::Air::PatchCustom::admitsStack):\n(JSC::B3::Air::PatchCustom::admitsExtendedOffsetAddr):\n(JSC::B3::Air::PatchCustom::shouldTryAliasingDef):\n(JSC::B3::Air::PatchCustom::isTerminal):\n(JSC::B3::Air::PatchCustom::hasNonArgEffects):\n(JSC::B3::Air::PatchCustom::hasNonArgNonControlEffects):\n(JSC::B3::Air::PatchCustom::generate):\n(JSC::B3::Air::CCallCustom::forEachArg):\n(JSC::B3::Air::ShuffleCustom::forEachArg):\n(JSC::B3::Air::EntrySwitchCustom::isValidForm):\n(JSC::B3::Air::WasmBoundsCheckCustom::forEachArg):\n* Source/JavaScriptCore/b3/air/AirEliminateDeadCode.cpp:\n(JSC::B3::Air::eliminateDeadCode):\n* Source/JavaScriptCore/b3/air/AirEmitShuffle.cpp:\n(JSC::B3::Air::createShuffle):\n* Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp:\n* Source/JavaScriptCore/b3/air/AirFixPartialRegisterStalls.cpp:\n* Source/JavaScriptCore/b3/air/AirInst.cpp:\n(JSC::B3::Air::Inst::jsHash const):\n(JSC::B3::Air::Inst::dump const):\n* Source/JavaScriptCore/b3/air/AirInst.h:\n(JSC::B3::Air::Inst::Inst):\n(JSC::B3::Air::Inst::operator=):\n(JSC::B3::Air::Inst::~Inst):\n(JSC::B3::Air::Inst::setArgs):\n(JSC::B3::Air::Inst::operator bool const):\n(JSC::B3::Air::Inst::forEachTmpFast):\n(JSC::B3::Air::Inst::argsData):\n(JSC::B3::Air::Inst::argsData const):\n(JSC::B3::Air::Inst::initializeArgsFrom):\n(JSC::B3::Air::Inst::moveArgsFrom):\n(JSC::B3::Air::Inst::destroyArgs):\n(JSC::B3::Air::Inst::kind): Deleted.\n(JSC::B3::Air::Inst::append): Deleted.\n* Source/JavaScriptCore/b3/air/AirInstInlines.h:\n(JSC::B3::Air::Inst::extraClobberedRegs):\n(JSC::B3::Air::Inst::extraEarlyClobberedRegs):\n(JSC::B3::Air::Inst::reportUsedRegisters):\n(JSC::B3::Air::Inst::admitsStack):\n(JSC::B3::Air::Inst::admitsExtendedOffsetAddr):\n(JSC::B3::Air::Inst::shouldTryAliasingDef):\n(JSC::B3::Air::isAddZeroExtend64Valid):\n(JSC::B3::Air::isAddSignExtend64Valid):\n(JSC::B3::Air::isShiftValid):\n(JSC::B3::Air::isX86DivHelperValid):\n(JSC::B3::Air::isX86MulHighHelperValid):\n(JSC::B3::Air::isAtomicStrongCASValid):\n(JSC::B3::Air::isBranchAtomicStrongCASValid):\n(JSC::B3::Air::isVectorSwizzle2Valid):\n* Source/JavaScriptCore/b3/air/AirLowerAfterRegAlloc.cpp:\n(JSC::B3::Air::lowerAfterRegAlloc):\n* Source/JavaScriptCore/b3/air/AirLowerStackArgs.cpp:\n(JSC::B3::Air::lowerStackArgs):\n* Source/JavaScriptCore/b3/air/AirOptimizeBlockOrder.cpp:\n(JSC::B3::Air::optimizeBlockOrder):\n* Source/JavaScriptCore/b3/air/AirOptimizePairedLoadStore.cpp:\n(JSC::B3::Air::tryStorePair):\n(JSC::B3::Air::optimizePairedLoadStore):\n* Source/JavaScriptCore/b3/air/AirPrintSpecial.cpp:\n(JSC::B3::Air::PrintSpecial::generate):\n* Source/JavaScriptCore/b3/air/AirPrintSpecial.h:\n(JSC::Printer::appendAirArg):\n(JSC::Printer::appendAirArgs):\n* Source/JavaScriptCore/b3/air/AirTmpWidth.cpp:\n(JSC::B3::Air::TmpWidth::recompute):\n* Source/JavaScriptCore/b3/air/AirUseCounts.h:\n(JSC::B3::Air::UseCounts::UseCounts):\n* Source/JavaScriptCore/b3/air/AirValidate.cpp:\n* Source/JavaScriptCore/b3/air/opcode_generator.rb:\n* Source/JavaScriptCore/b3/air/testair.cpp:\n* Source/JavaScriptCore/b3/testb3_2.cpp:\n(testTernarySubInstructionSelection):\n* Source/JavaScriptCore/b3/testb3_6.cpp:\n(testBranchBitAndImmFusion):\n* Source/JavaScriptCore/b3/testb3_7.cpp:\n(testOptimizeMaterialization):\n\nCanonical link: https://commits.webkit.org/316782@main",
      "email": "ysuzuki@apple.com",
      "hash": "71208eb12b5e44e08b3f7db2ada7a19addcce765",
      "subject": "[JSC] Make sizeof(Air::Inst) 64"
    },
    "316783@main": {
      "author": "Jetzel Espinal",
      "avatar": "https://www.gravatar.com/avatar/2edd78d5d9f2f2e2e695465277634921?d=identicon\u0026s=64",
      "cl": "316783@main",
      "clUrl": "https://commits.webkit.org/316783@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318742\nrdar://181542269\n\nUnreviewed test gardening.\n\n* TestExpectations/apitests:\n\nCanonical link: https://commits.webkit.org/316783@main",
      "email": "jespinal23@apple.com",
      "hash": "393f51bdff6f2e6c343a42b32950ae6816cf036b",
      "subject": "[GARDENING][iOS DEBUG]REGRESSION(315975@main): 3x TestWebKitAPI.WKWebExtensionAPICookies.* (api-tests) are constant crashes/timeout."
    },
    "316784@main": {
      "author": "Lauro Moura",
      "avatar": "https://www.gravatar.com/avatar/6157f52d61e04c2c63fe7ff668ba69b3?d=identicon\u0026s=64",
      "cl": "316784@main",
      "clUrl": "https://commits.webkit.org/316784@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=316798\n\nReviewed by BJ Burg.\n\nTo improve traceability, this commit adds RELEASE_LOG statements\ncovering the following areas of Source/WebDriver:\n\n- Browser startup and lifetime (for glib ports)\n- HTTP request and response\n- Driver-\u003eBrowser Automation.json commands and replies.\n\nThe added log statements cover mainly data like the request path, body\nsize, response status, and duration. The actual body with payload like\nfield values or JS code to be executed is omitted. For deeper\ninspection, the existing LOG() statements that inspect the actual\npayload are kept.\n\nWe opted for RELEASE_LOG instead of LOG due to the WebDriver-related\nchannels being low-volume in comparison to hotter ones internal to the\nbrowser. On top of that, it should be easier for reporters to provide\nrelease logs, helping get more useful bug reports.\n\nExample output:\n\nStarted WebSocket BiDi server with host local and port 60782\nStarted HTTP server with host local and port 60781\nHTTP request POST /session (body=303 bytes)\nSpawning local browser: /sdk/webkit/WebKitBuild/WPE/Release/bin/MiniBrowser with 2 argument(s)\nConnecting to RemoteInspector at 127.0.0.1:54821\nConnected to RemoteInspector at 127.0.0.1:54821 after 1 attempt(s)\n    SEND inspector #0001: Automation.createBrowsingContext (52 bytes)\n    RECV inspector #0001: ok\nHTTP response 200 in 196ms\nHTTP request POST /session/fbc9c527-945d-4030-852e-50c5f1852557/url (body=43 bytes)\n    SEND inspector #0002: Automation.resolveBrowsingContext (149 bytes)\n    RECV inspector #0002: ok\n    SEND inspector #0003: Automation.waitForNavigationToComplete (207 bytes)\n    RECV inspector #0003: ok\n    SEND inspector #0004: Automation.isShowingJavaScriptDialog (135 bytes)\n    RECV inspector #0004: ok\n    SEND inspector #0005: Automation.navigateBrowsingContext (212 bytes)\n    RECV inspector #0005: ok\nHTTP response 200 in 124ms\n\n* Source/WebDriver/SessionHost.cpp:\n(WebDriver::SessionHost::inspectorDisconnected):\n(WebDriver::SessionHost::sendCommandToBackend):\n(WebDriver::SessionHost::dispatchMessage):\n* Source/WebDriver/WebDriverService.cpp:\n(WebDriver::printUsageStatement):\n(WebDriver::WebDriverService::run):\n(WebDriver::WebDriverService::handleRequest):\n* Source/WebDriver/glib/SessionHostGlib.cpp:\n(WebDriver::SessionHost::launchBrowser):\n(WebDriver::SessionHost::connectToBrowser):\n(WebDriver::SessionHost::connectionDidClose):\n(WebDriver::SessionHost::setTargetList):\n\nCanonical link: https://commits.webkit.org/316784@main",
      "email": "lmoura@igalia.com",
      "hash": "a917f438fb1f8bca90b2d01a4440261d34bac180",
      "subject": "[WebDriver] Improve driver logging coverage"
    },
    "316785@main": {
      "author": "Sam Weinig",
      "avatar": "https://www.gravatar.com/avatar/354b409240f9fb3357f498c547423d96?d=identicon\u0026s=64",
      "cl": "316785@main",
      "clUrl": "https://commits.webkit.org/316785@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318870\n\nReviewed by Antti Koivisto.\n\nConverts `block-step-size`, `tab-size`,`row-gap`, `column-gap`, `background-size`,\n`border-image-outset`,  `border-image-width`, `mask-border-outset`, `mask-border-width`,\n`vertical-align`, `column-width` and `filter: blur()`.\n\nTests: imported/w3c/web-platform-tests/css/css-viewport/zoom/background-size.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/block-step-size.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/border-image-outset.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/column-gap.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/column-width.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/filters-blur.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/mask-border-outset.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/row-gap.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/tab-size.html\n       imported/w3c/web-platform-tests/css/css-viewport/zoom/vertical-align.html\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/background-size-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/background-size.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/block-step-size-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/block-step-size.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/border-image-outset-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/border-image-outset.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/column-gap-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/column-gap.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/column-width-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/column-width.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/filters-blur-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/filters-blur.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/mask-border-outset-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/mask-border-outset.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/background-size-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/block-step-size-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/border-image-outset-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/column-gap-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/column-width-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/filters-blur-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/mask-border-outset-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/row-gap-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/tab-size-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/reference/vertical-align-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/row-gap-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/row-gap.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/tab-size-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/tab-size.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/vertical-align-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/vertical-align.html: Added.\n* Source/WebCore/css/parser/CSSPropertyParserConsumer+Background.cpp:\n* Source/WebCore/css/parser/CSSPropertyParserConsumer+Filter.cpp:\n* Source/WebCore/css/values/backgrounds/CSSBorderImageOutset.h:\n* Source/WebCore/css/values/backgrounds/CSSBorderImageWidth.h:\n* Source/WebCore/css/values/filter-effects/CSSBlurFunction.h:\n* Source/WebCore/css/values/masking/CSSMaskBorderOutset.h:\n* Source/WebCore/css/values/masking/CSSMaskBorderWidth.h:\n* Source/WebCore/layout/formattingContexts/flex/FlexFormattingUtils.cpp:\n* Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.cpp:\n* Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.h:\n* Source/WebCore/layout/formattingContexts/inline/InlineLevelBoxInlines.h:\n* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:\n* Source/WebCore/layout/integration/grid/LayoutIntegrationGridLayout.cpp:\n* Source/WebCore/layout/integration/inline/InlineIteratorBoxModernPathInlines.h:\n* Source/WebCore/page/LocalFrameView.cpp:\n* Source/WebCore/rendering/BackgroundPainter.cpp:\n* Source/WebCore/rendering/LegacyInlineTextBox.cpp:\n* Source/WebCore/rendering/NinePieceImagePainter.cpp:\n* Source/WebCore/rendering/RenderBlockFlow.cpp:\n* Source/WebCore/rendering/RenderFlexibleBox.cpp:\n* Source/WebCore/rendering/RenderGrid.cpp:\n* Source/WebCore/rendering/RenderMultiColumnSet.cpp:\n* Source/WebCore/rendering/RenderText.cpp:\n* Source/WebCore/style/computed/StyleComputedStyle.cpp:\n* Source/WebCore/style/values/align/StyleGapGutter.h:\n* Source/WebCore/style/values/backgrounds/StyleBackgroundSize.h:\n* Source/WebCore/style/values/backgrounds/StyleBorderImageOutset.h:\n* Source/WebCore/style/values/backgrounds/StyleBorderImageWidth.h:\n* Source/WebCore/style/values/filter-effects/StyleBlurFunction.cpp:\n* Source/WebCore/style/values/filter-effects/StyleBlurFunction.h:\n* Source/WebCore/style/values/inline/StyleVerticalAlign.h:\n* Source/WebCore/style/values/masking/StyleMaskBorderOutset.h:\n* Source/WebCore/style/values/masking/StyleMaskBorderWidth.h:\n* Source/WebCore/style/values/multicol/StyleColumnWidth.h:\n* Source/WebCore/style/values/rhythm/StyleBlockStepSize.h:\n* Source/WebCore/style/values/text/StyleTabSize.cpp:\n* Source/WebCore/style/values/text/StyleTabSize.h:\n\nCanonical link: https://commits.webkit.org/316785@main",
      "email": "sam@webkit.org",
      "hash": "0715e8181b2f7117182d87de865acb7d9c746ca8",
      "subject": "[EvaluationTimeZoom] Convert more properties to evaluation time zoom"
    },
    "316786@main": {
      "author": "Abrar Rahman Protyasha",
      "avatar": "https://www.gravatar.com/avatar/fce5b3c4e9f3c59a4873e08c9f03c3b1?d=identicon\u0026s=64",
      "cl": "316786@main",
      "clUrl": "https://commits.webkit.org/316786@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318932\nrdar://181765921\n\nReviewed by Charlie Wolfe.\n\nAs the commit title says, we stopped needing this hook after we\nupstreamed advanced privacy protections for private browsing in Safari,\nc.f. webkit.org/b/257699.\n\n* Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:\n\nCanonical link: https://commits.webkit.org/316786@main",
      "email": "a_protyasha@apple.com",
      "hash": "2be7f1851b3d97a9e79ae8f2884f0b793c7b17bd",
      "subject": "Unnecessary WebKitAdditions hook in ResourceRequestCocoa"
    },
    "316787@main": {
      "author": "lilly",
      "avatar": "https://www.gravatar.com/avatar/d0533d52eeb271270df480f37629a407?d=identicon\u0026s=64",
      "cl": "316787@main",
      "clUrl": "https://commits.webkit.org/316787@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318934\nrdar://181767966\n\nReviewed by Tim Nguyen.\n\nReflects username change\n\n* metadata/contributors.json:\n\nCanonical link: https://commits.webkit.org/316787@main",
      "email": "173393835+cupidsity@users.noreply.github.com",
      "hash": "ad7a0ad63742aadf82d29dec24675fdf29c7c956",
      "subject": "Update self info in Contributors.json"
    },
    "316788@main": {
      "author": "Mike Wyrzykowski",
      "avatar": "https://www.gravatar.com/avatar/4b1bc9e238714f95e22d5d2454c07066?d=identicon\u0026s=64",
      "cl": "316788@main",
      "clUrl": "https://commits.webkit.org/316788@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318838\nrdar://181641249\n\nReviewed by Tim Nguyen.\n\nAccording to https://webkit.github.io/explainers/css-spatial/Overview.html#spatial-context-back:\n\"If this color is not opaque, it is first composited on top of Canvas.\"\n\nbut we just dropped the alpha channel.\n\nTest: model-element/model-element-background-color-visual.html\n\n* Source/WebCore/rendering/RenderLayerBacking.cpp:\n(WebCore::RenderLayerBacking::updateConfiguration):\n* LayoutTests/model-element/model-element-background-color-visual-expected.png: Added.\n* LayoutTests/model-element/model-element-background-color-visual-expected.txt: Added.\n* LayoutTests/model-element/model-element-background-color-visual.html: Added.\n\nCanonical link: https://commits.webkit.org/316788@main",
      "email": "mwyrzykowski@apple.com",
      "hash": "1d6c2352cb9e8a7c5c5627e7a5461f43b3768b07",
      "subject": "HTMLModelElement background color does not match spec text"
    },
    "316789@main": {
      "author": "Lauro Moura",
      "avatar": "https://www.gravatar.com/avatar/6157f52d61e04c2c63fe7ff668ba69b3?d=identicon\u0026s=64",
      "cl": "316789@main",
      "clUrl": "https://commits.webkit.org/316789@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318927\n\nUnreviewed test gardening.\n\nUpdate the leftover camel case names after the selenium import from\n276878@main, and cleanup some related stale expectations.\n\n* WebDriverTests/TestExpectations.json:\n\nCanonical link: https://commits.webkit.org/316789@main",
      "email": "lmoura@igalia.com",
      "hash": "eac5a70a2fc40d20ef76619f25970739e4c26d37",
      "subject": "[WebDriver] Gardening stale selenium expectations still using camelCase names"
    },
    "316790@main": {
      "author": "Sosuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/e63b87350fe19bdd9a30c7234eda45af?d=identicon\u0026s=64",
      "cl": "316790@main",
      "clUrl": "https://commits.webkit.org/316790@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318665\n\nReviewed by Yusuke Suzuki.\n\ncollectBoyerMooreInfoFromTerm bails out on any term with\nquantityMaxCount != 1, so patterns spelled with counted quantifiers\nlike /\\b\\d{3}-\\d{2}-\\d{4}\\b/ never get the unanchored fast-skip loop\nwhile the identical manual expansion /\\d\\d\\d-\\d\\d-\\d\\d\\d\\d/ does,\nmaking the common spelling ~10x slower on non-matching subjects.\n\nHandle fixed-count CharacterClass and PatternCharacter terms by adding\nthe character set at each of the quantityMaxCount consecutive\npositions. The expansion is capped by the BoyerMooreInfo length, and\ngreedy terms keep the previous behavior.\n\n    regexp-quantified-class-boyer-moore    69.7101+-1.0631    ^    6.4635+-0.1791    ^ definitely 10.7851x faster\n\nTests: JSTests/microbenchmarks/regexp-quantified-class-boyer-moore.js\n       JSTests/stress/regexp-boyer-moore-counted-quantifier.js\n\n* JSTests/microbenchmarks/regexp-quantified-class-boyer-moore.js: Added.\n(test):\n* JSTests/stress/regexp-boyer-moore-counted-quantifier.js: Added.\n(shouldBe):\n(slide):\n(never):\n* Source/JavaScriptCore/yarr/YarrJIT.cpp:\n\nCanonical link: https://commits.webkit.org/316790@main",
      "email": "sosuke@bun.sh",
      "hash": "7a764d7acc545eff4dcd690bbf1ae75c64a67796",
      "subject": "[JSC] Yarr should collect BM info for fixed-count terms"
    },
    "316791@main": {
      "author": "Sosuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/e63b87350fe19bdd9a30c7234eda45af?d=identicon\u0026s=64",
      "cl": "316791@main",
      "clUrl": "https://commits.webkit.org/316791@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318840\n\nReviewed by Keith Miller.\n\nArray#join's fast path resolves each rope element via view(), allocating a\nthrowaway flat StringImpl per element and copying the characters twice.\nThis patch makes the write loop use JSString::resolveToBuffer instead, which\nwalks rope fibers and writes into the preallocated result buffer without\nallocating. Since resolveToBuffer cannot throw, the per-element exception\nchecks are also gone.\n\n                                      baseline                  patched\n\njoin-template-literal-parts       64.6259+-0.7114     ^     41.6549+-0.8681        ^ definitely 1.5515x faster\n\nTests: JSTests/microbenchmarks/join-template-literal-parts.js\n       JSTests/stress/array-join-rope-elements.js\n\n* JSTests/microbenchmarks/join-template-literal-parts.js: Added.\n(build):\n* JSTests/stress/array-join-rope-elements.js: Added.\n(shouldBe):\n(test):\n* Source/JavaScriptCore/runtime/JSStringJoiner.cpp:\n(JSC::joinStrings):\n\nCanonical link: https://commits.webkit.org/316791@main",
      "email": "sosuke@bun.sh",
      "hash": "4e93b58dfd8e91ebdb3159fd872d98382cf8c563",
      "subject": "[JSC] `Array#join` should write rope elements directly into the result buffer"
    },
    "316792@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "316792@main",
      "clUrl": "https://commits.webkit.org/316792@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318563\n\nReviewed by Tim Nguyen.\n\n* Source/WebInspectorUI/UserInterface/Views/DataGrid.js:\n(WI.DataGrid.prototype.updateVisibleRows):\n* Source/WebInspectorUI/UserInterface/Views/Table.js:\n(WI.Table.prototype._updateVisibleRows):\n\nCanonical link: https://commits.webkit.org/316792@main",
      "email": "hi@devinrousso.com",
      "hash": "287518bc5d7dd0b630d78f3ba6ce649c2618c711",
      "subject": "Web Inspector: fix typos when updating virtualized `WI.DataGrid` and `WI.Table`"
    },
    "316793@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "316793@main",
      "clUrl": "https://commits.webkit.org/316793@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=271814\n\u003crdar://problem/125523969\u003e\n\nReviewed by Tim Nguyen.\n\n* Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:\n(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleSpreadsheetSelectorFieldWillNavigate):\n(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleSpreadsheetGroupingFieldWillNavigate):\n\nCanonical link: https://commits.webkit.org/316793@main",
      "email": "hi@devinrousso.com",
      "hash": "cc184b1f402ad2025702e2fa83567b3fe7753215",
      "subject": "Web Inspector: Editing a nested @media rule's media type from style details panel errs"
    },
    "316794@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "316794@main",
      "clUrl": "https://commits.webkit.org/316794@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318182\n\nReviewed by Tim Nguyen.\n\nAll of the following are not used anywhere in Web Inspector:\n- `CSS.CSSStyleAttribute`\n- `CSS.CSSStyleSheetHeader.title`\n- `CSS.CSSStyleSheetHeader.disabled`\n- `CSS.CSSStyleSheetBody`\n- `CSS.ShorthandEntry`\n- `CSS.CSSStyle.shorthandEntries`\n- `CSS.CSSStyle.width`\n- `CSS.CSSStyle.height`\n- `CSS.getStyleSheet`\n- `DOM.highlightFrame`\n- `DOM.focus`\n\n* Source/JavaScriptCore/inspector/protocol/CSS.json:\n* Source/WebCore/inspector/InspectorStyleSheet.h:\n* Source/WebCore/inspector/InspectorStyleSheet.cpp:\n(WebCore::InspectorStyle::buildObjectForStyle):\n(WebCore::InspectorStyle::styleWithProperties):\n(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):\n(WebCore::InspectorStyleSheet::buildObjectForStyle):\n(WebCore::InspectorStyle::shorthandValue const): Deleted.\n(WebCore::InspectorStyleSheet::buildObjectForStyleSheet): Deleted.\n(WebCore::InspectorStyleSheet::buildArrayForRuleList): Deleted.\n* Source/WebCore/inspector/agents/InspectorCSSAgent.h:\n* Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:\n(WebCore::InspectorCSSAgent::getStyleSheet): Deleted.\n* Source/WebCore/inspector/agents/frame/FrameCSSAgent.h:\n* Source/WebCore/inspector/agents/frame/FrameCSSAgent.cpp:\n(WebCore::FrameCSSAgent::getStyleSheet): Deleted.\n* LayoutTests/inspector/css/getMatchedStylesForNode-expected.txt:\n* LayoutTests/inspector/css/modify-with-cssom-expected.txt:\n* LayoutTests/inspector/css/setStyleText-expected.txt:\n* LayoutTests/http/tests/site-isolation/inspector/css/css-editing-commands-frame-target.html:\n* LayoutTests/http/tests/site-isolation/inspector/css/css-stylesheet-commands-frame-target.html:\n* LayoutTests/http/tests/site-isolation/inspector/css/css-stylesheet-commands-frame-target-expected.txt:\n* LayoutTests/http/tests/site-isolation/inspector/css/resources/frame-with-stylesheet.html:\n\n* Source/JavaScriptCore/inspector/protocol/DOM.json:\n* Source/WebCore/inspector/agents/InspectorDOMAgent.h:\n* Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:\n(WebCore::InspectorDOMAgent::highlightFrame): Deleted.\n(WebCore::InspectorDOMAgent::focus): Deleted.\n* Source/WebCore/inspector/agents/frame/FrameDOMAgent.h:\n* Source/WebCore/inspector/agents/frame/FrameDOMAgentStubs.cpp:\n(WebCore::FrameDOMAgent::highlightFrame): Deleted.\n(WebCore::FrameDOMAgent::focus): Deleted.\n* LayoutTests/inspector/dom/focus.html: Removed.\n* LayoutTests/inspector/dom/focus-expected.txt: Removed.\n\nCanonical link: https://commits.webkit.org/316794@main",
      "email": "hi@devinrousso.com",
      "hash": "1a159c20baced4015d48fb57d28bf0b82db7e1a4",
      "subject": "Web Inspector: remove unused protocol code"
    },
    "316795@main": {
      "author": "Vitor Roriz",
      "avatar": "https://www.gravatar.com/avatar/5dafdad90c36e85902302c3a586a531c?d=identicon\u0026s=64",
      "cl": "316795@main",
      "clUrl": "https://commits.webkit.org/316795@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318842\nrdar://181117694\n\nReviewed by Brent Fulgham.\n\nA GlyphBuffer cached in a FontCascadeFonts shaped text cache references its Fonts\nthrough weak pointers (308842@main). The simple text path keeps the system\nfallbacks it uses alive in FontCascadeFonts::glyphDataForSystemFallback, but the\ncomplex text path did not, so a Core Text fallback used only there had a single\nreference and FontCache::purgeInactiveFontData could destroy it while a cached\nshaped run still referenced it. Painting that run then dereferenced an expired\nweak pointer in FontCascade::drawGlyphBuffer. Therefore, retain those fallbacks\non the FontCascadeFonts the same way the simple path does.\n\n* Source/WebCore/platform/graphics/FontCascadeFonts.cpp:\n(WebCore::FontCascadeFonts::addSystemFallbackFont):\n* Source/WebCore/platform/graphics/FontCascadeFonts.h:\n* Source/WebCore/platform/graphics/coretext/ComplexTextControllerCoreText.mm:\n(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):\n* Tools/TestWebKitAPI/Tests/WebCore/FontCascade.cpp:\n(TestWebKitAPI::TEST):\n\nCanonical link: https://commits.webkit.org/316795@main",
      "email": "vitor.roriz@apple.com",
      "hash": "0082e68a004c11e97081c9dd39d6fe7df23ddd07",
      "subject": "Complex text path should retain the system fallback fonts it uses"
    },
    "316796@main": {
      "author": "Brady Eidson",
      "avatar": "https://www.gravatar.com/avatar/31bed81d6d8ef517f93b30add03f5651?d=identicon\u0026s=64",
      "cl": "316796@main",
      "clUrl": "https://commits.webkit.org/316796@main",
      "description": "rdar://181659133\nhttps://bugs.webkit.org/show_bug.cgi?id=318839\n\nReviewed by Richard Robinson.\n\nFeedback-based tweaks to these APIs to make them better for the platforms going forward.\n\nTest: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/JSHandle.mm\n\n* Source/WebKit/Modules/Internal/module.modulemap:\n* Source/WebKit/UIProcess/API/Cocoa/WKContentWorldConfiguration.h:\n* Source/WebKit/UIProcess/API/Cocoa/WKContentWorldConfiguration.mm:\n(-[WKContentWorldConfiguration isJSHandleCreationEnabled]):\n(-[WKContentWorldConfiguration isNodeSerializationEnabled]):\n(-[_WKContentWorldConfiguration allowNodeSerialization]):\n(-[WKContentWorldConfiguration jsHandleCreationEnabled]): Deleted.\n(-[WKContentWorldConfiguration nodeSerializationEnabled]): Deleted.\n* Source/WebKit/UIProcess/API/Cocoa/WKJSHandle.h:\n* Source/WebKit/UIProcess/API/Cocoa/WKJSHandle.mm:\n(-[WKJSHandle contentWorld]):\n(-[WKJSHandle getWindowProxyFrame:]):\n(-[_WKJSHandle world]):\n(-[_WKJSHandle windowFrameInfo:]):\n(-[WKJSHandle world]): Deleted.\n(-[WKJSHandle windowProxyFrameInfo:]): Deleted.\n* Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.h:\n* Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.mm:\n(-[WKUserContentController _addBuffer:dataSpan:name:contentWorld:]):\n(-[WKUserContentController addBuffer:name:contentWorld:]):\n(-[WKUserContentController _addDataSpan:name:contentWorld:]):\n* Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.swift: Added.\n(WKUserContentController.addBuffer(_:name:to:)):\n(WKUserContentController.removeBuffer(named:from:)):\n* Source/WebKit/UIProcess/API/Cocoa/WKUserContentControllerInternal.h:\n* Source/WebKit/UIProcess/API/Cocoa/_WKJSHandle.h:\n* Source/WebKit/WebKit.xcodeproj/project.pbxproj:\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/JSHandle.mm:\n(TestWebKitAPI::getWindowFrameInfo):\n\nCanonical link: https://commits.webkit.org/316796@main",
      "email": "beidson@apple.com",
      "hash": "c31a1d0a8671eff3023cf2610b3599b59117e286",
      "subject": "Small updates to new JavaScript APIs"
    },
    "316797@main": {
      "author": "Antoine Quint",
      "avatar": "https://www.gravatar.com/avatar/9b3ef1e754f8d994f21ff67c660cbbe6?d=identicon\u0026s=64",
      "cl": "316797@main",
      "clUrl": "https://commits.webkit.org/316797@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=312015\nrdar://174237729\n\nReviewed by Tim Nguyen.\n\nThere are no known regressions due to the enablement of the \"Threaded Time-based Animations\"\nflag, so we can enable this flag again (following previous attempts in 307441@main, 309137@main\nand 310988@main).\n\n* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:\n\nCanonical link: https://commits.webkit.org/316797@main",
      "email": "graouts@webkit.org",
      "hash": "4af953aa9bdff3282ec874e4e1436e6d3b3aa6bc",
      "subject": "[threaded-animations] enable \"Threaded Time-based Animations\" by default (take 3)"
    },
    "316798@main": {
      "author": "Ian Grunert",
      "avatar": "https://www.gravatar.com/avatar/6a676cf1bcb9ff83c6cd867a0e3a0fa4?d=identicon\u0026s=64",
      "cl": "316798@main",
      "clUrl": "https://commits.webkit.org/316798@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318862\n\nReviewed by Yusuke Suzuki.\n\n* metadata/contributors.json:\n\nCanonical link: https://commits.webkit.org/316798@main",
      "email": "ian.grunert@gmail.com",
      "hash": "9d2400c635473bd20271de738a7ce45ee692e0bf",
      "subject": "Add new e-mail for Ian Grunert"
    },
    "316799@main": {
      "author": "Carlos Garcia Campos",
      "avatar": "https://www.gravatar.com/avatar/8393f7e76d83c8a147cb852d8fb1a959?d=identicon\u0026s=64",
      "cl": "316799@main",
      "clUrl": "https://commits.webkit.org/316799@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318853\n\nReviewed by Nikolas Zimmermann.\n\nOtherwise we might end up using a format that is not supported by GdkDmabufTextureBuilder.\n\n* Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp:\n(WebKit::AcceleratedBackingStore::preferredBufferFormats):\n* Source/WebKit/UIProcess/gtk/Display.h:\n(WebKit::Display::gdkDisplay const):\n\nCanonical link: https://commits.webkit.org/316799@main",
      "email": "cgarcia@igalia.com",
      "hash": "d0e0b4f40d0ce607afc5d134228492a1a8478a31",
      "subject": "[GTK] Filter buffer formats using GdkDisplay DMABUF formats when using GdkDmabufTextureBuilder"
    },
    "316800@main": {
      "author": "Youenn Fablet",
      "avatar": "https://www.gravatar.com/avatar/0a9886e582a7aee1eb908eb59af36da4?d=identicon\u0026s=64",
      "cl": "316800@main",
      "clUrl": "https://commits.webkit.org/316800@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318784\nrdar://problem/181625049\n\nReviewed by Jer Noble.\n\nWhen a page starts to play video while the DOM audio session type is set to play-and-record, it may start with default mode instead of video chat mote.\nIn that case, it will quickly switch to video chat mode, but this may not always allow to trigger the video chat audio volume.\nTo make sure the video chat audio volume kicks in, we make sure that video chat mode is used whenever the DOM audio session type is set to play-and-record by web pages.\n\nManually tested via https://codepen.io/youennf/pen/dPNJBQY.\n\n* Source/WebCore/platform/audio/AudioSession.cpp:\n(WebCore::AudioSession::setCategoryOverride):\n\nCanonical link: https://commits.webkit.org/316800@main",
      "email": "youenn@apple.com",
      "hash": "ed34a6360dca86b6b87975ba9d76ea70832deb14",
      "subject": "[iOS] Setting DOMAudioSession type to play-and-record does not always trigger video chat volume"
    },
    "316801@main": {
      "author": "Aakash Jain",
      "avatar": "https://www.gravatar.com/avatar/e82e0cafeeac3a35b7e74206ebe4c536?d=identicon\u0026s=64",
      "cl": "316801@main",
      "clUrl": "https://commits.webkit.org/316801@main",
      "description": "rdar://181740464\nhttps://bugs.webkit.org/show_bug.cgi?id=318904\n\nReviewed by Ryan Haddad.\n\nEspecially this line appears in tooltip for most of the running PRs:\n\"Skipping applying patch since patch_id isn't provided\".\nThis is not really relevant and can be confusing to users.\n\n* Tools/CISupport/ews-build/events.py:\n\nCanonical link: https://commits.webkit.org/316801@main",
      "email": "aakash_jain@apple.com",
      "hash": "88b60e3e3e9ec79b43ee734fde935ed8c40f710c",
      "subject": "[ews] Remove extra patch related status strings from ews status-bubbles tooltip"
    },
    "316802@main": {
      "author": "Carlos Garcia Campos",
      "avatar": "https://www.gravatar.com/avatar/8393f7e76d83c8a147cb852d8fb1a959?d=identicon\u0026s=64",
      "cl": "316802@main",
      "clUrl": "https://commits.webkit.org/316802@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318942\n\nReviewed by Nikolas Zimmermann.\n\nThis might improve the playback that will only use operations that intersect with the canvas clip.\n\n* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp:\n(WebCore::SkiaPaintingEngine::record):\n* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h:\n* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp:\n(WebCore::CoordinatedBackingStoreProxy::updateIfNeeded):\n* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:\n(WebCore::CoordinatedPlatformLayer::record):\n* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h:\n\nCanonical link: https://commits.webkit.org/316802@main",
      "email": "cgarcia@igalia.com",
      "hash": "57a711ccfc4aa3f065e6bf9f68ae1f381b2939c1",
      "subject": "[Skia] Use a SkBBHFactory when recording if the SkPicture is going to be replayed more than once"
    },
    "316803@main": {
      "author": "Alan Baradlay",
      "avatar": "https://www.gravatar.com/avatar/788d66417db806c567552cfa1ae89f77?d=identicon\u0026s=64",
      "cl": "316803@main",
      "clUrl": "https://commits.webkit.org/316803@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318448\n\nReviewed by Antti Koivisto.\n\nlayoutAndPlaceFlexItems used to lay out each flex item (running the item's own layout)\nand then place it, one item at a time, inside the per-line loop.\nLaying an item out reads only its own resolved main size and dirty bits --\nnever another item or the container's running height -- so it can happen for\nevery item up front, the way FlexLayout::layout keeps item layout as its own phase, separate from placement.\n\nSplit it into layoutFlexItems (the child-layout pass) and placeFlexItems\n(measure, align, place). layoutFlexLines now lays out every item once up front\nand then places the lines. Cross-axis margin trimming, which has to run before\nan item is laid out, moves into its own trimCrossAxisMarginsForFlexItems pass\nahead of the layout pass, preserving the previous trim-then-layout order. The\nmultiline-column redistribution path re-lays-out then re-places its lines with\nthe same two calls.\n\nNo change in behavior.\n\n* Source/WebCore/rendering/RenderFlexibleBox.h:\n* Source/WebCore/rendering/RenderFlexibleBox.cpp:\n(WebCore::RenderFlexibleBox::distributeMainAxisFreeSpaceForMultilineColumnIfNeeded):\n(WebCore::RenderFlexibleBox::trimCrossAxisMarginsForFlexItems):\n(WebCore::RenderFlexibleBox::layoutFlexItems):\n(WebCore::RenderFlexibleBox::layoutFlexLines):\n(WebCore::RenderFlexibleBox::placeFlexItems):\n(WebCore::RenderFlexibleBox::layoutColumnReverse):\n(WebCore::RenderFlexibleBox::layoutAndPlaceFlexItems): Deleted.\n\nCanonical link: https://commits.webkit.org/316803@main",
      "email": "zalan@apple.com",
      "hash": "02bb8ceaac43c0f1d5b539e80a00d0604786c271",
      "subject": "[cleanup] Lay out all flex items before placing them"
    },
    "316804@main": {
      "author": "David Kilzer",
      "avatar": "https://www.gravatar.com/avatar/e228ffc7a792e70bf2d160563c18dcc6?d=identicon\u0026s=64",
      "cl": "316804@main",
      "clUrl": "https://commits.webkit.org/316804@main",
      "description": "\u003chttps://bugs.webkit.org/show_bug.cgi?id=318801\u003e\n\u003crdar://181623908\u003e\n\nUnreviewed build fix.\n\n316725@main attempted this fix with a using-declaration, but that does\nnot work: a using-declaration still resolves to the `operator bool`\ndeclared on the dependent template base `GenericTimeMixin`, which is\nwhat Swift's C++ interoperability importer mishandles.  Emitting a\nSwift module that imports a `GenericTimeMixin`-derived time class\ntherefore still fails with \"cannot convert ... to 'bool' without a\nconversion operator\".\n\nDeclare a genuine `operator bool` on each derived time class.  The\nimporter synthesizes the conversion correctly when the operator's\ndeclaring context is the non-dependent derived class; the base\noperator remains for all C++ callers.\n\nNo new tests since this change is not directly testable.\n\n* Source/WTF/wtf/ApproximateTime.h:\n(WTF::ApproximateTime::operator bool):\n* Source/WTF/wtf/ContinuousApproximateTime.h:\n(WTF::ContinuousApproximateTime::operator bool):\n* Source/WTF/wtf/ContinuousTime.h:\n(WTF::ContinuousTime::operator bool):\n* Source/WTF/wtf/MonotonicTime.h:\n(WTF::MonotonicTime::operator bool):\n* Source/WTF/wtf/ReducedResolutionSeconds.h:\n(WTF::ReducedResolutionSeconds::operator bool):\n* Source/WTF/wtf/UnbarrieredMonotonicTime.h:\n(WTF::UnbarrieredMonotonicTime::operator bool):\n* Source/WTF/wtf/WallTime.h:\n(WTF::WallTime::operator bool):\n\nCanonical link: https://commits.webkit.org/316804@main",
      "email": "ddkilzer@apple.com",
      "hash": "02595a72c0f838bcad5c8608033e680d7e8f8408",
      "subject": "Build fix: [WTF] GenericTimeMixin-derived time classes fail to build with Swift C++ interoperability"
    },
    "316805@main": {
      "author": "Youenn Fablet",
      "avatar": "https://www.gravatar.com/avatar/0a9886e582a7aee1eb908eb59af36da4?d=identicon\u0026s=64",
      "cl": "316805@main",
      "clUrl": "https://commits.webkit.org/316805@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318770\n\nReviewed by Jean-Yves Avenard.\n\nWe remove those files as they are no longer needed.\n\n* Source/WebCore/Headers.cmake:\n* Source/WebCore/Modules/mediastream/SFrameUtils.cpp: Removed.\n* Source/WebCore/Modules/mediastream/SFrameUtils.h: Removed.\n* Source/WebCore/Sources.txt:\n* Source/WebCore/WebCore.xcodeproj/project.pbxproj:\n\nCanonical link: https://commits.webkit.org/316805@main",
      "email": "youenn@apple.com",
      "hash": "9153996d3eba9457d5759fe618d2e10dcd89b6e6",
      "subject": "Remove SFrameUtils.h/.cpp"
    },
    "316806@main": {
      "author": "Sosuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/e63b87350fe19bdd9a30c7234eda45af?d=identicon\u0026s=64",
      "cl": "316806@main",
      "clUrl": "https://commits.webkit.org/316806@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318937\n\nReviewed by Yusuke Suzuki.\n\nLiteralParser's lexer already computes short integer JSON numbers as\nint32, but LiteralParserToken can only hold a double, so the lexer\nwidens the value to double and parsePrimitiveValue's jsNumber(double)\nre-derives its int32-ness through a double-\u003eint32-\u003edouble\nconvert-and-compare chain for every number.\n\nThis patch adds a TokNumberInt32 token type that carries the int32\nvalue in the token directly, so parsePrimitiveValue can box it with\njsNumber(int32_t). Negative zero keeps using TokNumber.\n\n                                 Baseline                  Patched\n\njson-parse-int32-array      275.3648+-3.7552     ^    260.3382+-2.3959        ^ definitely 1.0577x faster\n\nTests: JSTests/microbenchmarks/json-parse-int32-array.js\n       JSTests/stress/json-parse-number-int32-token.js\n\n* JSTests/microbenchmarks/json-parse-int32-array.js: Added.\n* JSTests/stress/json-parse-number-int32-token.js: Added.\n(shouldBe):\n(s.of.invalid.string_appeared_here.s.string_appeared_here.catch):\n* Source/JavaScriptCore/runtime/LiteralParser.cpp:\n(JSC::requires):\n(JSC::reviverMode\u003e::Lexer::lexNumber):\n(JSC::reviverMode\u003e::parsePrimitiveValue):\n(JSC::reviverMode\u003e::parse):\n* Source/JavaScriptCore/runtime/LiteralParser.h:\n\nCanonical link: https://commits.webkit.org/316806@main",
      "email": "sosuke@bun.sh",
      "hash": "d981384b263dcf7b8d6f247fc803fa9d34c7c449",
      "subject": "[JSC] Add `TokNumberInt32` token type to `LiteralParser` to remove number conversion overhead"
    },
    "316807@main": {
      "author": "Alan Baradlay",
      "avatar": "https://www.gravatar.com/avatar/788d66417db806c567552cfa1ae89f77?d=identicon\u0026s=64",
      "cl": "316807@main",
      "clUrl": "https://commits.webkit.org/316807@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318449\n\nReviewed by Antti Koivisto.\n\nplaceFlexItems ran two independent computations in a single per-item loop:\nmeasuring each item's cross size (building the line's cross extent and its\nbaseline sharing groups) and placing the item along the main axis. The two\nnever read each other's running state -- measurement looks only at cross-axis\ngeometry, placement only at the main axis.\n\nPull the measurement half out into hypotheticalCrossSizeForFlexItems, which\nreturns the line's cross extent and baseline sharing groups and grows the\nrow-flow container height as before. placeFlexItems calls it first and then\nruns a placement-only loop. totalMainExtent is still captured before the height\ngrows, and the main-axis auto-margin bookkeeping keeps its order, so nothing\ndownstream sees a difference. No change in behavior.\n\n* Source/WebCore/rendering/RenderFlexibleBox.h:\n* Source/WebCore/rendering/RenderFlexibleBox.cpp:\n(WebCore::RenderFlexibleBox::hypotheticalCrossSizeForFlexItems):\n(WebCore::RenderFlexibleBox::placeFlexItems):\n\nCanonical link: https://commits.webkit.org/316807@main",
      "email": "zalan@apple.com",
      "hash": "abfb9adbe94a006c9e86a51d0c65b9a12f08eb29",
      "subject": "[cleanup] Measure each flex line's cross size before placing its items"
    },
    "316808@main": {
      "author": "Simon Pena",
      "avatar": "https://www.gravatar.com/avatar/3dde875c8abcd38f7ddad8ab6c88df1c?d=identicon\u0026s=64",
      "cl": "316808@main",
      "clUrl": "https://commits.webkit.org/316808@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318352\n\nReviewed by Carlos Garcia Campos and Alejandro G. Castro.\n\nThe Cocoa API already lets an embedder choose the User Agent per\ntop-level navigation, applied through the navigation policy decision.\nThis expands the GLib public API for the same feature, driven with\nwebkit_policy_decision_use_with_policies(). This also removes\nwebkitWebSitePoliciesGetPoliciesData(), as it had no callers and, if\nused, would have dropped the new User Agent property.\n\nTest: Tools/TestWebKitAPI/Tests/WebKit/WKPage/glib/TestWebKitPolicyClient.cpp\n\n* Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.cpp:\n(webkitWebsitePoliciesGetProperty):\n(webkitWebsitePoliciesSetProperty):\n(webkit_website_policies_class_init):\n(webkit_website_policies_get_custom_user_agent):\n(webkitWebsitePoliciesGetPoliciesData): Deleted.\n* Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.h.in:\n* Source/WebKit/UIProcess/API/glib/WebKitWebsitePoliciesPrivate.h:\n* Tools/TestWebKitAPI/Tests/WebKit/WKPage/glib/TestWebKitPolicyClient.cpp:\n(serverCallback):\n(testCustomUserAgentPolicy):\n(beforeAll):\n\nCanonical link: https://commits.webkit.org/316808@main",
      "email": "spena@igalia.com",
      "hash": "718b0d312579fd8b1141a2e65e0616e2ce3bcd20",
      "subject": "[GLib] Add per-navigation custom User-Agent to WebKitWebsitePolicies"
    },
    "316809@main": {
      "author": "Simon Pena",
      "avatar": "https://www.gravatar.com/avatar/3dde875c8abcd38f7ddad8ab6c88df1c?d=identicon\u0026s=64",
      "cl": "316809@main",
      "clUrl": "https://commits.webkit.org/316809@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317657\n\nReviewed by Dan Glastonbury and Sergio Villar Senin.\n\nWhen enumerating OpenXR devices, an OpenXR instance is created and kept\nidle. If the page never starts a session, this instance is leaked, even\nafter the view is closed.\n\nDestroy the idle instance on teardown, adding a test and a mock OpenXR\nruntime to help verify creation / destruction parity.\n\n* Source/WebKit/UIProcess/XR/PlatformXRCoordinator.h:\n(WebKit::PlatformXRCoordinator::stopWhenIdle):\n* Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp:\n(WebKit::PlatformXRSystem::invalidate):\n* Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp:\n(WebKit::OpenXRCoordinator::stopWhenIdle):\n* Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.h:\n* Tools/TestWebKitAPI/Tests/WebKit/WKPage/glib/TestOpenXRInstanceLifecycle.cpp: Added.\n(mockEventCallback):\n(destroyWaitTimeout):\n(MockOpenXRControl::setEventCallback):\n(openMockOpenXRControl):\n(WebXRInstanceLifecycleTest::WebXRInstanceLifecycleTest):\n(WebXRInstanceLifecycleTest::terminateWebProcess):\n(WebXRInstanceLifecycleTest::waitForInstanceDestroyed):\n(testOpenXRInstanceReleasedOnTeardown):\n(beforeAll):\n(afterAll):\n* Tools/TestWebKitAPI/Tests/WebKit/WKPage/glib/TestWebKitWebXR.cpp:\n(testWebKitXRHitTest):\n(findFeature): Deleted.\n(relaxDMABufRequirement): Deleted.\n* Tools/TestWebKitAPI/Tests/WebKit/WKPage/glib/WebXRTestHelpers.h: Added.\n(relaxDMABufRequirement):\n* Tools/TestWebKitAPI/glib/CMakeLists.txt:\n* Tools/TestWebKitAPI/openxr-mock/MockOpenXRRuntime.cpp: Added.\n(mock_openxr_set_event_callback):\n(xrNegotiateLoaderRuntimeInterface):\n\nCanonical link: https://commits.webkit.org/316809@main",
      "email": "spena@igalia.com",
      "hash": "da5ff6caa5e892f109769af060b1e2e0761134e7",
      "subject": "[OpenXR] Instance is never released when no session is started"
    },
    "316811@main": {
      "author": "Rob Buis",
      "avatar": "https://www.gravatar.com/avatar/74fb5af173895d2a7814b0aed1238a39?d=identicon\u0026s=64",
      "cl": "316811@main",
      "clUrl": "https://commits.webkit.org/316811@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318943\n\nReviewed by Tim Nguyen.\n\nSupport block-ellipsis:no-ellipsis and not block-ellipsis:none, see:\nhttps://github.com/w3c/csswg-drafts/issues/12416#issuecomment-3206816925\n\n* LayoutTests/TestExpectations:\n* LayoutTests/fast/inline/pagination-and-css-line-clamp-crash.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid-expected.txt:\n* Source/WebCore/css/CSSProperties.json:\n* Source/WebCore/css/CSSValueKeywords.in:\n* Source/WebCore/css/parser/CSSPropertyParserCustom.h:\n(WebCore::CSS::PropertyParserCustom::consumeLineClampShorthand):\n* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:\n(WebCore::Layout::InlineDisplayLineBuilder::applyEllipsisIfNeeded):\n* Source/WebCore/style/values/overflow/StyleBlockEllipsis.cpp:\n(WebCore::Style::CSSValueConversion\u003cBlockEllipsis\u003e::operator):\n* Source/WebCore/style/values/overflow/StyleBlockEllipsis.h:\n(WebCore::Style::BlockEllipsis::BlockEllipsis):\n(WebCore::Style::BlockEllipsis::isNone const):\n(WebCore::Style::BlockEllipsis::switchOn const):\n\nCanonical link: https://commits.webkit.org/316811@main",
      "email": "rbuis@igalia.com",
      "hash": "81429b6842bef922b10daffc6ce5708881febbdc",
      "subject": "Support block-ellipsis:no-ellipsis"
    },
    "316812@main": {
      "author": "WebKit CI Build Triage",
      "avatar": "https://www.gravatar.com/avatar/e6ac53640d27e8fb7b0886aee0e20343?d=identicon\u0026s=64",
      "cl": "316812@main",
      "clUrl": "https://commits.webkit.org/316812@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318959\nrdar://181793625\n\nUnreviewed build fix.\n\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewSwiftOverlayTests.swift:\n\nCanonical link: https://commits.webkit.org/316812@main",
      "email": "noreply@webkit.org",
      "hash": "605786ae06a8ada565b2dff5d2fb8601c38353a1",
      "subject": "REGRESSION(316796@main): Cannot convert value of type 'Span\u003cUInt8\u003e' to expected argument type 'RawSpan'"
    },
    "316813@main": {
      "author": "Antti Koivisto",
      "avatar": "https://www.gravatar.com/avatar/07965eed55d4b41ea2b394599b17f7cd?d=identicon\u0026s=64",
      "cl": "316813@main",
      "clUrl": "https://commits.webkit.org/316813@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318952\nrdar://181806268\n\nReviewed by Alan Baradlay.\n\nhttps://drafts.csswg.org/css-values-5/#if-notation\n\n* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:\n\nFlip the switch.\n\nCanonical link: https://commits.webkit.org/316813@main",
      "email": "antti@apple.com",
      "hash": "f9b5b51095e8bb280bc053fb24eb70793f08a54a",
      "subject": "[css-values-5] Enable if() arbitrary substitution function by default"
    },
    "316814@main": {
      "author": "lilly",
      "avatar": "https://www.gravatar.com/avatar/d0533d52eeb271270df480f37629a407?d=identicon\u0026s=64",
      "cl": "316814@main",
      "clUrl": "https://commits.webkit.org/316814@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318926\nrdar://181757742\n\nReviewed by Simon Fraser.\n\nIntroduce BezierUtilities.{h,cpp} to house the geometry primitives needed\nfor bezier line intersection (to used by corner-shape rendering)\n\nNo implementation yet for new tests to be written\n\n* Source/WebCore/Sources.txt:\n* Source/WebCore/WebCore.xcodeproj/project.pbxproj:\n* Source/WebCore/platform/graphics/BezierUtilities.cpp: Added.\n(WebCore::intersectBezierAndLine):\n(WebCore::splitBezier):\n* Source/WebCore/platform/graphics/BezierUtilities.h: Added.\n\nCanonical link: https://commits.webkit.org/316814@main",
      "email": "173393835+cupidsity@users.noreply.github.com",
      "hash": "38bf55bc067a733bd9bedd2d852248875f595f35",
      "subject": "corner-shape: Add BezierUtilities stubs"
    },
    "316815@main": {
      "author": "lilly",
      "avatar": "https://www.gravatar.com/avatar/d0533d52eeb271270df480f37629a407?d=identicon\u0026s=64",
      "cl": "316815@main",
      "clUrl": "https://commits.webkit.org/316815@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318913\nrdar://181748050\n\nReviewed by Tim Nguyen.\n\nAdds new wpt tests for corner-shape scoop testing borders\n\n* LayoutTests/TestExpectations:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-scoop-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-scoop-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-scoop.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-superellipse-scoop-expected.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-superellipse-scoop-ref.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-superellipse-scoop.html: Added.\n\nCanonical link: https://commits.webkit.org/316815@main",
      "email": "173393835+cupidsity@users.noreply.github.com",
      "hash": "78d263b282f8b36b2c1f4af060b232b1085059dd",
      "subject": "corner-shape: add scoop tests"
    },
    "316816@main": {
      "author": "lilly",
      "avatar": "https://www.gravatar.com/avatar/d0533d52eeb271270df480f37629a407?d=identicon\u0026s=64",
      "cl": "316816@main",
      "clUrl": "https://commits.webkit.org/316816@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318922\nrdar://181754123\n\nReviewed by Simon Fraser.\n\nborderContourPath() only handled bevel and notch; other corner-shape values\nfall through to a sharp mitered vertex. This implements the two circular\ncases: round (superellipse(1)), an elliptical arc between the edge\ntangent points, centered on the corner's center of curvature. scoop\n(superellipse(-1)), the concave inverse, rendered by inverting the\ncorner (swap outer/center, negate curvature) to reuse the round arc code,\ncentered on the box's outer vertex. Border insets are handled per shape:\nround radii shrink by the border width, scoop radii grow by it (a scoop's\nborder bites deeper), with arc endpoints computed where the ellipse crosses\nthe inset edges.\n\nPasses tests written in another commit\n\n* Source/WebCore/platform/graphics/CornerShapeUtilities.cpp:\n* Source/WebCore/platform/graphics/GeometryUtilities.cpp:\n(WebCore::eccentricAngle):\n* Source/WebCore/platform/graphics/GeometryUtilities.h:\n\nCanonical link: https://commits.webkit.org/316816@main",
      "email": "173393835+cupidsity@users.noreply.github.com",
      "hash": "d3095f5cfe71aed87cd8fa46d122024fc6e9ad69",
      "subject": "corner-shape: Implement scoop and round corner shapes in CornerShapeUtilities"
    },
    "316817@main": {
      "author": "Elika Etemad",
      "avatar": "https://www.gravatar.com/avatar/55e113d03e0552e6df90ecbc15acd9b8?d=identicon\u0026s=64",
      "cl": "316817@main",
      "clUrl": "https://commits.webkit.org/316817@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318909\nrdar://181305647\n\nReviewed by Kiet Ho.\n\nUpdates m_adjustmentForViewport when removing viewport snapshot\nin AnchorScrollAdjuster::removeMatchingSnapshots() so that the\nvector and m_adjustmentForViewport remain in sync.\n\n* LayoutTests/fast/css/css-anchor-position/anchor-scroll-nested-chained-viewport-crash-expected.txt: Added.\n* LayoutTests/fast/css/css-anchor-position/anchor-scroll-nested-chained-viewport-crash.html: Added.\n* Source/WebCore/style/AnchorPositionEvaluator.cpp:\n(WebCore::AnchorScrollAdjuster::removeMatchingSnapshots):\n\nCanonical link: https://commits.webkit.org/316817@main",
      "email": "fantasai.bugs@inkedblade.net",
      "hash": "84565916779faa5f54b09bc075add03a779723c1",
      "subject": "Fix out-of-sync m_adjustmentForViewport after snapshot removal"
    },
    "316818@main": {
      "author": "Alan Baradlay",
      "avatar": "https://www.gravatar.com/avatar/788d66417db806c567552cfa1ae89f77?d=identicon\u0026s=64",
      "cl": "316818@main",
      "clUrl": "https://commits.webkit.org/316818@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318451\n\nReviewed by Antti Koivisto.\n\nlayoutFlexLines measured each line's cross size and placed that line's items in\none loop, so cross sizing and placement were interleaved line by line.\nMeasuring a line reads only the items' laid-out geometry, never their positions,\nand row-flow placement never reads the container height that measuring grows --\nso every line can be measured before any line is placed.\n\nMove the measurement loop into computeCrossSizeForFlexLines, which builds all\nthe line states (cross-axis offset, cross extent, baseline sharing groups) up\nfront. layoutFlexLines then runs a placement-only loop over those line states,\nand placeFlexItems drops its return value. This is the FlexLayout::layout shape,\nwhere line cross sizing is its own pass ahead of placement.\n\nNo change in behavior.\n\n* Source/WebCore/rendering/RenderFlexibleBox.h:\n* Source/WebCore/rendering/RenderFlexibleBox.cpp:\n(WebCore::RenderFlexibleBox::computeCrossSizeForFlexLines):\n(WebCore::RenderFlexibleBox::layoutFlexLines):\n(WebCore::RenderFlexibleBox::placeFlexItems):\n\nCanonical link: https://commits.webkit.org/316818@main",
      "email": "zalan@apple.com",
      "hash": "d1da8666babf1ef9236dbe54d59d0760067a6df8",
      "subject": "[cleanup] Compute all flex line cross sizes before placing any items"
    },
    "316819@main": {
      "author": "Qianlang Chen",
      "avatar": "https://www.gravatar.com/avatar/0fd54e904334f604739d0205aa6e2130?d=identicon\u0026s=64",
      "cl": "316819@main",
      "clUrl": "https://commits.webkit.org/316819@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318493\n\nReviewed by BJ Burg.\n\nUnder Site Isolation the per-WebProcess WebCore inspector agents\n(InspectorNetworkAgent / PageNetworkAgent) early-return from enable(), so\nthey no longer hold or apply the Network domain's extra request headers or\nthe resource-caching-disabled flag. The UIProcess ProxyingNetworkAgent, the\nonly Network agent active under Site Isolation, stubbed setExtraHTTPHeaders,\nsetResourceCachingDisabled, and setEmulatedConditions. This re-hosts that\nstate in the Site Isolation classes.\n\nsetEmulatedConditions is applied session-wide at the NetworkSession level,\nwhich is shared by every WebContent process of the page, so\nProxyingNetworkAgent (UIProcess) drives WebsiteDataStore directly with no\nIPC, mirroring the legacy WebInspectorUIProxy::setEmulatedConditions hop.\n\nsetExtraHTTPHeaders and setResourceCachingDisabled need the WebProcess, so\neach is a latch-and-fan-out on the UIProcess side: ProxyingNetworkAgent\nstores the value and sends it to every WebContent process, and re-sends it\nin enableInstrumentationForProcess() so processes that join later (process\nswaps, new cross-origin iframes) pick up the current value. In the\nWebProcess, WebInspectorBackend latches the value; the extra headers are\napplied to the mutable outgoing request in\nFrameNetworkAgentProxy::willSendRequest and willSendRequestOfType (each\nproxy holds a reference to the shared map), and the caching flag is applied\nto the process's Page.\n\nOn disable the latched state is reset in both processes, mirroring\nInspectorNetworkAgent::disable(): ProxyingNetworkAgent outlives frontend\ndisconnect/reconnect so it must not leak stale headers into a later\nfrontend, and WebInspectorBackend must clear the Page's\nresource-caching-disabled flag so it does not persist with no inspector\nattached.\n\nsetExtraHTTPHeaders and setEmulatedConditions were gated to the \"page\"\ntarget only, so they were not exposed on the \"web-page\" multiplexing target\nwhere ProxyingNetworkAgent lives; both now also list \"web-page\".\nsetResourceCachingDisabled was already ungated.\n\nsetEmulatedConditions cannot be layout-tested because\nENABLE_INSPECTOR_NETWORK_THROTTLING is disabled by default. Its test\ncase is guarded on InspectorBackend.hasCommand() so it self-enables\nonce network throttling ships.\n\nTests: http/tests/site-isolation/inspector/network/set-emulated-conditions-and-resource-caching-disabled.html\n       http/tests/site-isolation/inspector/network/set-extra-http-headers.html\n\n* LayoutTests/http/tests/site-isolation/inspector/network/resources/cacheable-resource.py: Added.\n* LayoutTests/http/tests/site-isolation/inspector/network/set-emulated-conditions-and-resource-caching-disabled-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/network/set-emulated-conditions-and-resource-caching-disabled.html: Added.\n* LayoutTests/http/tests/site-isolation/inspector/network/set-extra-http-headers-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/network/set-extra-http-headers.html: Added.\n* Source/JavaScriptCore/inspector/protocol/Network.json:\n* Source/WebKit/UIProcess/Inspector/Agents/ProxyingNetworkAgent.cpp:\n(Inspector::ProxyingNetworkAgent::enableInstrumentationForProcess):\n(Inspector::ProxyingNetworkAgent::disable):\n(Inspector::ProxyingNetworkAgent::setExtraHTTPHeaders):\n(Inspector::ProxyingNetworkAgent::setResourceCachingDisabled):\n(Inspector::ProxyingNetworkAgent::setEmulatedConditions):\n* Source/WebKit/UIProcess/Inspector/Agents/ProxyingNetworkAgent.h:\n* Source/WebKit/WebProcess/Inspector/FrameNetworkAgentProxy.cpp:\n(WebKit::FrameNetworkAgentProxy::FrameNetworkAgentProxy):\n(WebKit::FrameNetworkAgentProxy::willSendRequest):\n(WebKit::FrameNetworkAgentProxy::willSendRequestOfType):\n* Source/WebKit/WebProcess/Inspector/FrameNetworkAgentProxy.h:\n* Source/WebKit/WebProcess/Inspector/WebInspectorBackend.cpp:\n(WebKit::WebInspectorBackend::ensureNetworkInstrumentationForFrame):\n(WebKit::WebInspectorBackend::disableNetworkInstrumentation):\n(WebKit::WebInspectorBackend::setExtraHTTPHeaders):\n(WebKit::WebInspectorBackend::setResourceCachingDisabled):\n* Source/WebKit/WebProcess/Inspector/WebInspectorBackend.h:\n* Source/WebKit/WebProcess/Inspector/WebInspectorBackend.messages.in:\n\nCanonical link: https://commits.webkit.org/316819@main",
      "email": "qianlangchen@apple.com",
      "hash": "65ee250042a1b2c540c5aa68095410b1024ab47a",
      "subject": "[Site Isolation] Web Inspector: Network domain emulations/headers not forwarded to web process"
    },
    "316820@main": {
      "author": "Rupin Mittal",
      "avatar": "https://www.gravatar.com/avatar/3e3de9845931d2dc844afb00056ec94e?d=identicon\u0026s=64",
      "cl": "316820@main",
      "clUrl": "https://commits.webkit.org/316820@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318883\nrdar://181722573\n\nReviewed by Richard Robinson.\n\nThe flag should only be defined in one place. It should be on by default on\nApple platforms.\n\n* Source/WTF/wtf/PlatformEnable.h:\n* Source/WTF/wtf/PlatformEnableCocoa.h:\n* Source/WTF/wtf/PlatformHave.h:\n\nCanonical link: https://commits.webkit.org/316820@main",
      "email": "rupin@apple.com",
      "hash": "c02b104ceb37ec108c8967ed1de905d6368876a3",
      "subject": "Clean up ENABLE_COOKIE_STORE_API_BY_DEFAULT"
    },
    "316821@main": {
      "author": "Alex Christensen",
      "avatar": "https://www.gravatar.com/avatar/b087c5dfcb1233e80cad9105fd5a1ac6?d=identicon\u0026s=64",
      "cl": "316821@main",
      "clUrl": "https://commits.webkit.org/316821@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318910\nrdar://181743226\n\nReviewed by Simon Fraser.\n\n316670@main moved the instantiation of a CheckedPtr\u003cWebFullScreenManagerProxyClient\u003e to before an async call\nto WebPageProxy::nextPresentationUpdate, and the CheckedPtr is used after the call to nextPresentationUpdate.\nIf WebPageProxy::close is called before the next presentation update completes, then\nWebFullScreenManagerProxy::detachFromClient is called before DrawingAreaProxy::stopReceivingMessages\ncompletes everything waiting for a presentation update, which destroys the WebFullScreenManagerProxyClient\nwith an outstanding non-null CheckedPtr to it, which causes a crash.  This happens sometimes when running\nwhatever test WebKitTestRunner runs after fast/css/fullscreen-style-sharing-crash.html, causing the next test\nto crash.\n\nThe fix is to only make a CheckedPtr synchronously immediately before it is going to be used, and destroy\nthe CheckedPtr immediately synchronously after it is done being used to not give any other async task a chance\nto destroy the client with an outstanding CheckedPtr pointing to it.  Rather than setting client to nullptr,\nI use an additional scope to make it more clear that the scope of the CheckedPtr is important and to make it\nharder for future changes to re-introduce code paths that don't null out the CheckedPtr.\n\nWebFullScreenManagerProxy::enterFullScreen had the same issue before 316670@main, so the test run after\nfast/css/fullscreen-style-sharing-crash.html was already a flaky crash.  This should fix all such crashes,\nnew and old.\n\n* LayoutTests/platform/ios/TestExpectations:\n* LayoutTests/platform/mac-wk2/TestExpectations:\n* Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:\n(WebKit::WebFullScreenManagerProxy::enterFullScreen):\n(WebKit::WebFullScreenManagerProxy::exitFullScreen):\n(WebKit::WebFullScreenManagerProxy::convertFromRootViewToScreenCoordinates):\n(WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):\n(WebKit::WebFullScreenManagerProxy::beganExitFullScreen):\n* Tools/TestWebKitAPI/glib/TestExpectations.json:\n\nCanonical link: https://commits.webkit.org/316821@main",
      "email": "achristensen@apple.com",
      "hash": "8c372f6d3cc97bafda8c3860c9ae00e27d3c2ef3",
      "subject": "REGRESSION(316670@main): [iOS macOS release] fast/css/getComputedStyle-font-variant-shorthand-crash.html is flaky crash"
    },
    "316822@main": {
      "author": "Simon Lewis",
      "avatar": "https://www.gravatar.com/avatar/f354c01a964923e67771a097d7d2f084?d=identicon\u0026s=64",
      "cl": "316822@main",
      "clUrl": "https://commits.webkit.org/316822@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318930\nrdar://181763817\n\nReviewed by Keith Miller and David Kilzer.\n\nWEBKIT_TEST_ENABLE_SWIFT (Tools/TestWebKitAPI/PlatformMac.cmake) adds\nSwift sources to every Test* executable, which flips the link driver to swiftc.\nCMake's Swift executable link ignores CMAKE_EXE_LINKER_FLAGS, so -fsanitize=address\n(set in WebKitCompilerFlags.cmake:427) never reached the link line — C++ objects\nwere instrumented but the ASan runtime wasn't linked\n\n* Tools/TestWebKitAPI/PlatformMac.cmake:\n\nCanonical link: https://commits.webkit.org/316822@main",
      "email": "simon.lewis@apple.com",
      "hash": "87e9665224c3b53c84a8fbdb7516db26a1539515",
      "subject": "[CMake] Build fix for Mac ASan"
    },
    "316823@main": {
      "author": "lilly",
      "avatar": "https://www.gravatar.com/avatar/6f92b711483096db0247c16946fb3f29?d=identicon\u0026s=64",
      "cl": "316823@main",
      "clUrl": "https://commits.webkit.org/316823@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318920\nrdar://181753376\n\nReviewed by Simon Fraser.\n\nChanges existing dotProduct method from static in GeometryUtilities to use in CornerShapeUtilities\n\nPasses existing tests\n\n* Source/WebCore/platform/graphics/CornerShapeUtilities.cpp:\n* Source/WebCore/platform/graphics/GeometryUtilities.cpp:\n(WebCore::dotProduct):\n* Source/WebCore/platform/graphics/GeometryUtilities.h:\n\nCanonical link: https://commits.webkit.org/316823@main",
      "email": "173393835+codedbycupidity@users.noreply.github.com",
      "hash": "0c970238be640b404a1f0674bd64ded0d29e9d17",
      "subject": "corner-shape: update bevelAxisAlignedCorners to use dotProduct"
    },
    "316824@main": {
      "author": "Jetzel Espinal",
      "avatar": "https://www.gravatar.com/avatar/2edd78d5d9f2f2e2e695465277634921?d=identicon\u0026s=64",
      "cl": "316824@main",
      "clUrl": "https://commits.webkit.org/316824@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318967\nrdar://181822650\n\nUnreviewed test gardening.\n\n* TestExpectations/apitests:\n\nCanonical link: https://commits.webkit.org/316824@main",
      "email": "jespinal23@apple.com",
      "hash": "e864752ecedf0bebe7c2afd2872554ab51f7b652",
      "subject": "[GARDENING][iOS] TestWebKitAPI.DownloadProgress.PublishProgressOnPartialDownload (api-test) is a flaky failure."
    },
    "316825@main": {
      "author": "Sammy Gill",
      "avatar": "https://www.gravatar.com/avatar/715a3cfee5d85ee90ccfdaa2a4a7a5a3?d=identicon\u0026s=64",
      "cl": "316825@main",
      "clUrl": "https://commits.webkit.org/316825@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318933\nrdar://181767567\n\nReviewed by Vitor Roriz.\n\nThis type of content needs support for the second pass of track sizing so\ndisable it for now.\n\nCanonical link: https://commits.webkit.org/316825@main",
      "email": "sammy.gill@apple.com",
      "hash": "b6b21a71263f9e19356123ec604ca90519708ffa",
      "subject": "[GFC] Do not run GFC if grid item has child with aspect ratio"
    },
    "316826@main": {
      "author": "Dawn Morningstar",
      "avatar": "https://www.gravatar.com/avatar/9b791f3f02553608941e76bb5eecd471?d=identicon\u0026s=64",
      "cl": "316826@main",
      "clUrl": "https://commits.webkit.org/316826@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318972\nrdar://181827588\n\nUnreviewed build fix\n\n* Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.swift:\n(WKUserContentController.addBuffer(_:name:to:)):\n\nCanonical link: https://commits.webkit.org/316826@main",
      "email": "morningstar@apple.com",
      "hash": "70039f45f8bbf2c4af95d12f6e9856a7702dbcec",
      "subject": "fix the build after 316796@main"
    },
    "316827@main": {
      "author": "Ruthvik Konda",
      "avatar": "https://www.gravatar.com/avatar/bca33cefcce93017251a8fbc1204cdc4?d=identicon\u0026s=64",
      "cl": "316827@main",
      "clUrl": "https://commits.webkit.org/316827@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318820\nrdar://181635780\n\nReviewed by Mike Wyrzykowski.\n\n9 PlaceholderModelPlayer overrides (getCamera, setCamera, isPlayingAnimation,\nsetAnimationIsPlaying, isLoopingAnimation, setIsLoopingAnimation, animationDuration,\nanimationCurrentTime, and setAnimationCurrentTime) had empty bodies that returned\nwithout invoking their CompletionHandler. A CompletionHandler must be called exactly\nonce: dropping it trips the assertion in ~CompletionHandler() in debug builds, and in\nrelease leaves the corresponding JS promise unsettled.\n\nCall each handler with the same unavailable value already used by\nModelProcessModelPlayerProxy: std::nullopt for the optional getters and false for the\nboolean setters, so HTMLModelElement rejects the promise cleanly instead of hanging.\n\nDrop the NODELETE annotation from those nine declarations: invoking a CompletionHandler\nmay run destructors and free memory (it destroys the wrapped callable), which NODELETE\nasserts the function does not do, so the safer-cpp NoDeleteChecker flags it.\n\nNo new tests.\n\n* Source/WebCore/Modules/model-element/PlaceholderModelPlayer.cpp:\n(WebCore::PlaceholderModelPlayer::getCamera):\n(WebCore::PlaceholderModelPlayer::setCamera):\n(WebCore::PlaceholderModelPlayer::isPlayingAnimation):\n(WebCore::PlaceholderModelPlayer::setAnimationIsPlaying):\n(WebCore::PlaceholderModelPlayer::isLoopingAnimation):\n(WebCore::PlaceholderModelPlayer::setIsLoopingAnimation):\n(WebCore::PlaceholderModelPlayer::animationDuration):\n(WebCore::PlaceholderModelPlayer::animationCurrentTime):\n(WebCore::PlaceholderModelPlayer::setAnimationCurrentTime):\n* Source/WebCore/Modules/model-element/PlaceholderModelPlayer.h:\n\nCanonical link: https://commits.webkit.org/316827@main",
      "email": "rkonda2@apple.com",
      "hash": "d8a467a3231239387021498e1dfda32e543a9c94",
      "subject": "PlaceholderModelPlayer camera and animation methods do not call their completion handlers"
    },
    "316828@main": {
      "author": "Ruthvik Konda",
      "avatar": "https://www.gravatar.com/avatar/bca33cefcce93017251a8fbc1204cdc4?d=identicon\u0026s=64",
      "cl": "316828@main",
      "clUrl": "https://commits.webkit.org/316828@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318901\nrdar://181736245\n\nReviewed by Mike Wyrzykowski.\n\nunconfigure() assigned m_swapChain = nullptr twice. Because WebGPUPtr only\nreleases a non-null pointer, the first assignment performs the swap chain\nrelease and the second (after the state resets) is a no-op. Remove the no-op\nand keep the release in place, so release timing and destructor ordering are\nunchanged.\n\n* Source/WebCore/Modules/WebGPU/Implementation/WebGPUPresentationContextImpl.cpp:\n(WebCore::WebGPU::PresentationContextImpl::unconfigure):\n\nCanonical link: https://commits.webkit.org/316828@main",
      "email": "rkonda2@apple.com",
      "hash": "5f74cdf3ffdad8910e3913e7da282a3f307956cb",
      "subject": "[WebGPU] Remove duplicate no-op m_swapChain = nullptr in PresentationContextImpl::unconfigure"
    },
    "316829@main": {
      "author": "shierote",
      "avatar": "https://www.gravatar.com/avatar/82baf8deb3b5542e0c13f05bdf3c03ea?d=identicon\u0026s=64",
      "cl": "316829@main",
      "clUrl": "https://commits.webkit.org/316829@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=219735\n\nReviewed by Elika Etemad.\n\nAdd a testable feature flag for CSS Fonts 4 @font-face metric override\ndescriptors and register ascent-override, descent-override, and\nline-gap-override with the generated CSS parser.\n\nThis initial patch accepts normal and non-negative percentages in\n@font-face rules and preserves the parsed CSSOM descriptor values. The\nFontFace/CSSFontFaceDescriptors API plumbing and the font metrics\napplication will be handled in follow-up patches.\n\nTest: imported/w3c/web-platform-tests/css/css-fonts/parsing/font-face-metric-overrides.html\n\n* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-face-metric-overrides-expected.txt: Added expected results.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-face-metric-overrides.html:\nAdded WPT coverage for valid and invalid metric override descriptor values.\n* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:\nAdded the CSSFontFaceMetricOverrideDescriptorsEnabled feature flag.\n* Source/WebCore/css/CSSProperties.json:\nAdded gated @font-face descriptor definitions for ascent-override,\ndescent-override, and line-gap-override.\n\nCanonical link: https://commits.webkit.org/316829@main",
      "email": "32413673+shierote@users.noreply.github.com",
      "hash": "ab58f961d64a49182b54930a5bb5a78e80ea6e92",
      "subject": "Parse @font-face metric override descriptors behind a flag"
    },
    "316830@main": {
      "author": "Antoine Quint",
      "avatar": "https://www.gravatar.com/avatar/9b3ef1e754f8d994f21ff67c660cbbe6?d=identicon\u0026s=64",
      "cl": "316830@main",
      "clUrl": "https://commits.webkit.org/316830@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318906\nrdar://181742358\n\nReviewed by Sam Weinig and Tim Nguyen.\n\nThe animation-triggers spec adds two coordinate value properties: `timeline-trigger-name` and `timeline-trigger-source`.\n\n* LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/rendering/widgets/shadow-dom-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/scroll-animations/animation-trigger/parsing/timeline-trigger-name-parsing-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/scroll-animations/animation-trigger/parsing/timeline-trigger-shorthand.tentative-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/scroll-animations/animation-trigger/parsing/timeline-trigger-source-parsing.tentative-expected.txt:\n* LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:\n* Source/WebCore/Headers.cmake:\n* Source/WebCore/Sources.txt:\n* Source/WebCore/WebCore.xcodeproj/project.pbxproj:\n* Source/WebCore/css/CSSProperties.json:\n* Source/WebCore/css/scripts/process-css-properties.py:\n(StyleProperty.method_name_for_ensure_coordinated_value_list):\n(StyleProperty.method_name_for_get_coordinated_value_list):\n(StyleProperty.method_name_for_set_coordinated_value_list):\n(StyleProperty.method_name_for_initial_coordinated_value_list):\n(StyleProperty.type_name_for_coordinated_value_list):\n* Source/WebCore/style/StyleBuilderCustom.h:\n(WebCore::Style::forwardInheritedValue):\n* Source/WebCore/style/computed/StyleComputedStyleBase+GettersInlines.h:\n(WebCore::Style::ComputedStyleBase::timelineTriggers const):\n* Source/WebCore/style/computed/StyleComputedStyleBase+SettersInlines.h:\n(WebCore::Style::ComputedStyleBase::ensureTimelineTriggers):\n* Source/WebCore/style/computed/StyleComputedStyleBase.h:\n* Source/WebCore/style/computed/data/StyleNonInheritedRareData.cpp:\n(WebCore::Style::NonInheritedRareData::NonInheritedRareData):\n(WebCore::Style::NonInheritedRareData::operator== const):\n(WebCore::Style::NonInheritedRareData::dumpDifferences const):\n* Source/WebCore/style/computed/data/StyleNonInheritedRareData.h:\n* Source/WebCore/style/values/animation-triggers/StyleTimelineTrigger.cpp: Added.\n(WebCore::Style::TimelineTrigger::TimelineTrigger):\n(WebCore::Style::operator\u003c\u003c):\n* Source/WebCore/style/values/animation-triggers/StyleTimelineTrigger.h: Added.\n(WebCore::Style::TimelineTrigger::name const):\n(WebCore::Style::TimelineTrigger::initialName):\n(WebCore::Style::TimelineTrigger::initialSource):\n(WebCore::Style::TimelineTrigger::clone):\n(WebCore::Style::TimelineTrigger::isInitial const):\n(WebCore::Style::TimelineTrigger::TimelineTrigger):\n* Source/WebCore/style/values/animation-triggers/StyleTimelineTriggerName.h: Added.\n(WebCore::Style::TimelineTriggerName::isNone const):\n(WebCore::Style::TimelineTriggerName::isDashedIdentifier const):\n* Source/WebCore/style/values/animation-triggers/StyleTimelineTriggers.h: Added.\n\nCanonical link: https://commits.webkit.org/316830@main",
      "email": "graouts@webkit.org",
      "hash": "0952016520722f1bffc3e3524891bcb6bb08a3f3",
      "subject": "[animation-triggers] add parsing support for the `timeline-trigger-name` and `timeline-trigger-source` coordinated value list properties"
    },
    "316831@main": {
      "author": "Ryan Haddad",
      "avatar": "https://www.gravatar.com/avatar/b7d8cd2dec546cac2524e4b58181f9d5?d=identicon\u0026s=64",
      "cl": "316831@main",
      "clUrl": "https://commits.webkit.org/316831@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318921\nrdar://181753826\n\nReviewed by Aakash Jain.\n\nNow that revert and rollout route through git-webkit when USE_GIT_WEBKIT_REVERT is enabled,\nthe transitional `revert-with-pr alias` is redundant. Remove it and carry its capabilities into\nrevert/rollout.\n\nNote that this PR does not remove the code that supports the patch workflow, so we can\nswitch back to the old path on the server if workflow blocking regressions are encountered.\n\n* Tools/WebKitBot/src/WebKitBot.mjs:\n- Update the revert/rollout and dry-revert usage to document the bug-URL form and examples,\nand describe creating a pull request.\n- Remove the revert-with-pr command registration, revertWithPRCommand, and the \"revert-with-pr\" action case.\n- revertCommand: replace the usePR parameter with a usingGitWebkit local derived from USE_GIT_WEBKIT_REVERT,\nso bug-URL detection and the conflict/already-reverted handling apply whenever git-webkit is in use.\n- Drive-by: Drop the `--draft` argument to git-webkit, since this was a carryover from testing and development.\n\nCanonical link: https://commits.webkit.org/316831@main",
      "email": "ryanhaddad@apple.com",
      "hash": "6e586185f0f69b2b15925c51be9ac4f94464510d",
      "subject": "[webkit-bot] Drop the transitional revert-with-pr alias"
    },
    "316832@main": {
      "author": "Zak Ridouh",
      "avatar": "https://www.gravatar.com/avatar/d9b65ef530b9cbbfc6dff1ca158faace?d=identicon\u0026s=64",
      "cl": "316832@main",
      "clUrl": "https://commits.webkit.org/316832@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=268223\nrdar://122234600\n\nReviewed by Tim Nguyen.\n\nAdd dark mode support to the XML Document Viewer by declaring\ncolor-scheme: light dark on :root and using the light-dark() CSS\nfunction to provide adjusted colors for syntax highlighting. Dark\nmode colors are copied from the Web Inspector's dark theme to stay\nconsistent with existing syntax highlighting.\n\n* Source/WebCore/xml/XMLViewer.css:\n(:root):\n(div.header):\n(.comment):\n(.tag):\n(.attribute-name):\n(.attribute-value):\n\nCanonical link: https://commits.webkit.org/316832@main",
      "email": "zakr@apple.com",
      "hash": "b019fc2aabbed888a10facd7a123124068bebecf",
      "subject": "XML Document Viewer should respect dark mode"
    },
    "316833@main": {
      "author": "Nikolas Zimmermann",
      "avatar": "https://www.gravatar.com/avatar/83cbd636495835720e369cd589e3ca5e?d=identicon\u0026s=64",
      "cl": "316833@main",
      "clUrl": "https://commits.webkit.org/316833@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318962\n\nReviewed by Carlos Garcia Campos.\n\nSkia's GrContextOptions::fSharpenMipmappedTextures defaults to true, which makes the\nSkSL GLSL code generator append a negative LOD bias (kSharpenTexturesBias, -0.475) to\nevery mipmap-capable texture sample in the generated shaders. We don't use any mipmapping\nand thus can safely disable that option -- the bias sharpes nothing, yet it still turns\neach texture2D() into a LOD-computing lookup instead of a plain fetch,\nwhich is a slow-path on tiled GPUs such as those found on i.MX series\n(etnaviv+Vivante).\n\nNot testable in the CI.\n\n* Source/WebCore/platform/graphics/skia/PlatformDisplaySkia.cpp:\n(WebCore::SkiaGLContext::SkiaGLContext):\n\nCanonical link: https://commits.webkit.org/316833@main",
      "email": "nzimmermann@igalia.com",
      "hash": "e9f6a75a7f29ae62d7b1012f2f9672c11208cb77",
      "subject": "[WPE][Skia] The Skia based compositor is ~2x more expensive on Vivante/etnaviv due to fSharpenMipmappedTextures"
    },
    "316834@main": {
      "author": "Keith Miller",
      "avatar": "https://www.gravatar.com/avatar/bddc1595b29098429a6ce7c8bf4aced2?d=identicon\u0026s=64",
      "cl": "316834@main",
      "clUrl": "https://commits.webkit.org/316834@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318955\nrdar://181807313\n\nReviewed by Yusuke Suzuki.\n\nUpdate to the upstream Wasm WPT tests. Updated by running:\n\n./Tools/Scripts/import-w3c-tests --tip-of-tree web-platform-tests/wasm\n./Tools/Scripts/run-webkit-tests LayoutTests/imported/w3c/web-platform-tests/wasm --reset-results\n\nCanonical link: https://commits.webkit.org/316834@main",
      "email": "keith_miller@apple.com",
      "hash": "08feba7957df16a989305bf5e3c148a004e438a2",
      "subject": "[Wasm] Import Wasm WPT tests"
    },
    "316835@main": {
      "author": "Adrian Taylor",
      "avatar": "https://www.gravatar.com/avatar/d2acb8ad2e2670ff74ae0d65fb27014c?d=identicon\u0026s=64",
      "cl": "316835@main",
      "clUrl": "https://commits.webkit.org/316835@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318946\nrdar://181799895\n\nReviewed by Richard Robinson.\n\nThis enables a couple of Swift features which until now have only been enabled\non Apple internal builds, as they've needed the most recent Swift compiler\nfeatures. Specifically:\n- the WebKit IPC tests now also exercise a Swift message handler\n- this enables a Swift version of the Back Forward List.\n\nThis only enables it on OSX, not other Apple platforms, due to various API\nand modulemap problems that need to be resolved on the other platforms.\n\n* Source/WTF/wtf/PlatformEnable.h:\n* Source/WebKit/Configurations/WebKit.xcconfig:\n* Tools/TestWebKitAPI/Configurations/Base.xcconfig:\n\nCanonical link: https://commits.webkit.org/316835@main",
      "email": "adrian_taylor@apple.com",
      "hash": "e1e975431f36ccf9dc9350637674eb651baaadb1",
      "subject": "Enable Swift Back Forward List on OSX 26.5"
    },
    "316836@main": {
      "author": "Jetzel Espinal",
      "avatar": "https://www.gravatar.com/avatar/2edd78d5d9f2f2e2e695465277634921?d=identicon\u0026s=64",
      "cl": "316836@main",
      "clUrl": "https://commits.webkit.org/316836@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318978\nrdar://181835541\n\nUnreviewed test gardening.\n\n* TestExpectations/apitests:\n\nCanonical link: https://commits.webkit.org/316836@main",
      "email": "jespinal23@apple.com",
      "hash": "a2e0f6c9462dc724c4c6b14f12b56164d73d48ec",
      "subject": "[GARDENING][iOS] TestWebKitAPI.VisualViewport.RotationResize (api-test) is a flaky failure."
    },
    "316837@main": {
      "author": "Brent Fulgham",
      "avatar": "https://www.gravatar.com/avatar/c6989a65afef0d015b55c65406e37ccc?d=identicon\u0026s=64",
      "cl": "316837@main",
      "clUrl": "https://commits.webkit.org/316837@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317437\n\u003crdar://problem/179949639\u003e\n\nReviewed by Tim Nguyen.\n\nReland 316422@main after resolving the debug assertion that forced us to revert.\n\nThe Roland support site (static.roland.com) shows two magnifying glass icons in Safari's\nsearch field where Chrome shows only one.\n\nThe HTML is:\n\n  \u003cinput class=\"form-control\" type=\"search\" name=\"q\" results=\"10\" ...\u003e\n\nwith CSS `appearance: none` and a `background-image: url(search.svg)` that paints the\nsite's own magnifying glass. The legacy WebKit-only `results=N` attribute opts the input\ninto ::-webkit-search-results-button, which caused WebKit to paint a search icon.\n\nThe fix is to match Chrome and Firefox behavior by removing the `results=N` feature\nwhen WebKit is used for web browsing. We retain it for backwards compatibility with\napps that may depend on it.\n\nWe gate the deprecation on a Linked-On-Or-After check so we avoid changing behavior\nunexpectedly. Developers can re-enable the feature using the new feature flag.\n\nI have also rebaselined the tests that were not specifically testing this deprecated\nfeature, but had layout impact now that the deprecated decoration is no longer automatically\nadded to search fields.\n\nTest: fast/forms/search/search-results-attribute-disabled-by-default.html\n\n* LayoutTests/fast/forms/box-shadow-override.html:\n* LayoutTests/fast/forms/change-input-type-and-submit-form-crash.html:\n* LayoutTests/fast/forms/disabled-search-input.html:\n* LayoutTests/fast/forms/ios/form-control-refresh/search/search-decoration-appearance-expected-mismatch.html:\n* LayoutTests/fast/forms/ios/form-control-refresh/search/search-decoration-appearance.html:\n* LayoutTests/fast/forms/placeholder-position.html:\n* LayoutTests/fast/forms/search-abs-pos-cancel-button.html:\n* LayoutTests/fast/forms/search-field-buttons-do-not-have-focus-rings-expected.html:\n* LayoutTests/fast/forms/search-field-buttons-do-not-have-focus-rings.html:\n* LayoutTests/fast/forms/search-input-rtl.html:\n* LayoutTests/fast/forms/search-rtl.html:\n* LayoutTests/fast/forms/search-styled.html:\n* LayoutTests/fast/forms/search-transformed.html:\n* LayoutTests/fast/forms/search-zoomed.html:\n* LayoutTests/fast/forms/search/search-padding-cancel-results-buttons.html:\n* LayoutTests/fast/forms/search/search-recent-searches.html:\n* LayoutTests/fast/forms/search/search-results-attribute-disabled-by-default-expected.txt: Added.\n* LayoutTests/fast/forms/search/search-results-attribute-disabled-by-default.html: Added.\n* LayoutTests/fast/forms/search/search-results-hidden-crash.html:\n* LayoutTests/fast/forms/search/search-size-with-decorations.html:\n* LayoutTests/fast/replaced/width100percent-searchfield.html:\n* LayoutTests/imported/blink/fast/forms/search-popup-crasher.html:\n* LayoutTests/pdf/crash-with-embed-hidden.html:\n* LayoutTests/platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:\n* LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt:\n* LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:\n* LayoutTests/platform/gtk/fast/css/text-overflow-input-expected.txt:\n* LayoutTests/platform/gtk/fast/forms/control-restrict-line-height-expected.txt:\n* LayoutTests/platform/gtk/fast/forms/input-appearance-height-expected.txt:\n* LayoutTests/platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:\n* LayoutTests/platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:\n* LayoutTests/platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:\n* LayoutTests/platform/gtk/fast/forms/search-vertical-alignment-expected.txt:\n* LayoutTests/platform/gtk/fast/forms/searchfield-heights-expected.txt:\n* LayoutTests/platform/ios/fast/css/focus-ring-exists-for-search-field-expected.txt:\n* LayoutTests/platform/ios/fast/css/input-search-padding-expected.txt:\n* LayoutTests/platform/ios/fast/css/text-input-with-webkit-border-radius-expected.txt:\n* LayoutTests/platform/ios/fast/css/text-overflow-input-expected.txt:\n* LayoutTests/platform/ios/fast/forms/control-restrict-line-height-expected.txt:\n* LayoutTests/platform/ios/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:\n* LayoutTests/platform/ios/fast/forms/input-appearance-height-expected.txt:\n* LayoutTests/platform/ios/fast/forms/placeholder-pseudo-style-expected.txt:\n* LayoutTests/platform/ios/fast/forms/search-cancel-button-style-sharing-expected.txt:\n* LayoutTests/platform/ios/fast/forms/search-display-none-cancel-button-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/css/focus-ring-exists-for-search-field-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/css/text-input-with-webkit-border-radius-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/css/text-overflow-input-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/forms/control-restrict-line-height-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/forms/input-appearance-height-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/forms/placeholder-pseudo-style-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/forms/search-cancel-button-style-sharing-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/forms/search-display-none-cancel-button-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/forms/search-vertical-alignment-expected.txt:\n* LayoutTests/platform/mac-sequoia-wk2/fast/repaint/search-field-cancel-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/css/focus-ring-exists-for-search-field-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/css/text-input-with-webkit-border-radius-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/css/text-overflow-input-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/forms/input-appearance-height-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/forms/placeholder-pseudo-style-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/forms/search-cancel-button-style-sharing-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/forms/search-display-none-cancel-button-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/forms/search-vertical-alignment-expected.txt:\n* LayoutTests/platform/mac-wk2/fast/repaint/search-field-cancel-expected.txt:\n* LayoutTests/platform/mac/fast/forms/control-restrict-line-height-expected.txt:\n* LayoutTests/platform/wpe/fast/css/focus-ring-exists-for-search-field-expected.txt:\n* LayoutTests/platform/wpe/fast/css/input-search-padding-expected.txt:\n* LayoutTests/platform/wpe/fast/css/text-input-with-webkit-border-radius-expected.txt:\n* LayoutTests/platform/wpe/fast/css/text-overflow-input-expected.txt:\n* LayoutTests/platform/wpe/fast/forms/control-restrict-line-height-expected.txt:\n* LayoutTests/platform/wpe/fast/forms/input-appearance-height-expected.txt:\n* LayoutTests/platform/wpe/fast/forms/placeholder-pseudo-style-expected.txt:\n* LayoutTests/platform/wpe/fast/forms/search-cancel-button-style-sharing-expected.txt:\n* LayoutTests/platform/wpe/fast/forms/search-display-none-cancel-button-expected.txt:\n* LayoutTests/platform/wpe/fast/forms/search-vertical-alignment-expected.txt:\n* LayoutTests/platform/wpe/fast/forms/searchfield-heights-expected.txt:\n* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:\n* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:\n* Source/WebCore/html/HTMLInputElement.cpp:\n(WebCore::HTMLInputElement::attributeChanged):\n* Source/WebCore/html/SearchInputType.cpp:\n(WebCore::SearchInputType::createShadowSubtree):\n* Source/WebCore/rendering/RenderSearchField.cpp:\n(WebCore::RenderSearchField::showPopup):\n* Source/WebKit/Shared/WebPreferencesDefaultValues.cpp:\n(WebKit::defaultSearchInputResultsAttributeEnabled):\n* Source/WebKit/Shared/WebPreferencesDefaultValues.h:\n* Source/WebKit/UIProcess/Cocoa/WebPreferencesCocoa.mm:\n(WebKit::WebPreferences::platformInitializeStore):\n* Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.h:\n* Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.mm:\n(WebKit::defaultSearchInputResultsAttributeEnabled):\n\nCanonical link: https://commits.webkit.org/316837@main",
      "email": "bfulgham@apple.com",
      "hash": "2fa9993ac40a62d9529a164d6a5559b5f7d0d8a5",
      "subject": "roland.com: Double search icon in search field (works in Chrome)"
    },
    "316839@main": {
      "author": "Alan Baradlay",
      "avatar": "https://www.gravatar.com/avatar/788d66417db806c567552cfa1ae89f77?d=identicon\u0026s=64",
      "cl": "316839@main",
      "clUrl": "https://commits.webkit.org/316839@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318453\n\nReviewed by Antti Koivisto.\n\nlayoutFlexLines both sized the flex lines and, in a trailing loop, placed each\nline's items along the main axis, so main-axis alignment was fused into the\nsizing helper. That placement loop was the last thing it did, so running it\nright after layoutFlexLines returns is the same order.\n\nReturn the sizing result (the line states plus each line's remaining main-axis\nfree space) from layoutFlexLines and move the placement loop into its own\nhandleMainAxisAlignment phase called from performFlexLayout. The top level now\nreads sizing -\u003e main-axis alignment -\u003e cross-axis alignment, matching the\nFlexLayout::layout shape where main-axis alignment is a phase of its own.\n\nNo change in behavior.\n\n* Source/WebCore/rendering/RenderFlexibleBox.h:\n* Source/WebCore/rendering/RenderFlexibleBox.cpp:\n(WebCore::RenderFlexibleBox::performFlexLayout):\n(WebCore::RenderFlexibleBox::layoutFlexLines):\n(WebCore::RenderFlexibleBox::handleMainAxisAlignment):\n\nCanonical link: https://commits.webkit.org/316839@main",
      "email": "zalan@apple.com",
      "hash": "9c1fa85f1d7dbb734e3a801cb34a8c99cd4f2962",
      "subject": "[cleanup] Separate main-axis alignment from flex line sizing"
    },
    "316840@main": {
      "author": "Przemyslaw Gorszkowski",
      "avatar": "https://www.gravatar.com/avatar/e543ed682c6f99c866b01ca9bcbab360?d=identicon\u0026s=64",
      "cl": "316840@main",
      "clUrl": "https://commits.webkit.org/316840@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318851\n\nReviewed by Alicia Boya Garcia.\n\nAdd a new WPE-only feature `BackForwardCacheWithMediaEnabled` that allows\napplications to control whether pages containing audio or video elements\ncan be placed in the back/forward cache.\n\nWhen disabled, pages with media elements are excluded from the back/forward\ncache. This is particularly useful on low-end embedded devices with a limited\nnumber of hardware decoders, where keeping a suspended media pipeline alive in\nthe cache may prevent other pages from acquiring the decoder.\n\nThe feature is enabled by default (preserving existing behavior).\n\nTwo new WPE layout tests verify the behavior:\n- page-cache-video-media-disabled.html: verifies pages with media are not\n  cached when the feature is disabled.\n- page-cache-video-media-enabled.html: verifies pages with media can enter\n  and be restored from the back/forward cache when the feature is enabled.\n\nTests: platform/wpe/fast/history/page-cache-video-media-disabled.html\n       platform/wpe/fast/history/page-cache-video-media-enabled.html\n* LayoutTests/platform/wpe/fast/history/page-cache-video-media-disabled-expected.txt: Added.\n* LayoutTests/platform/wpe/fast/history/page-cache-video-media-disabled.html: Added.\n* LayoutTests/platform/wpe/fast/history/page-cache-video-media-enabled-expected.txt: Added.\n* LayoutTests/platform/wpe/fast/history/page-cache-video-media-enabled.html: Added.\n* LayoutTests/platform/wpe/fast/history/resources/page-cache-helper.html: Added.\n* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:\n* Source/WebCore/history/BackForwardCache.cpp:\n(WebCore::canCachePage):\n\nCanonical link: https://commits.webkit.org/316840@main",
      "email": "pgorszkowski@igalia.com",
      "hash": "e4d9fe534f0de95c0d9a97e688011d04aa07fc24",
      "subject": "[WPE] don't put page with multimedia to bfCache on low-end devices"
    },
    "316841@main": {
      "author": "Taher Ali",
      "avatar": "https://www.gravatar.com/avatar/e104800647d8c98b8c9dbe736b5e1751?d=identicon\u0026s=64",
      "cl": "316841@main",
      "clUrl": "https://commits.webkit.org/316841@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318973\nrdar://181828170\n\nReviewed by Simon Fraser.\n\ncssPropertyIdForSVGAttributeName() returns CSSPropertyInvalid (0) for\nunmapped attributes, so `!= CSSPropertyInvalid` is equivalent to `\u003e 0` and\nmatches the sentinel the switch already uses. Also renames propId to\npropertyID for consistency.\n\nNo behavior change.\n\n* Source/WebCore/svg/SVGElement.cpp:\n(WebCore::SVGElement::hasPresentationalHintsForAttribute const):\n(WebCore::SVGElement::collectPresentationalHintsForAttribute):\n(WebCore::SVGElement::svgAttributeChanged):\n\nCanonical link: https://commits.webkit.org/316841@main",
      "email": "taher_ali@apple.com",
      "hash": "b5d97d01d808d9f9056c521ecfc4704ec4783f02",
      "subject": "Use CSSPropertyInvalid sentinel instead of `\u003e 0` for SVG presentation attribute lookups"
    },
    "316844@main": {
      "author": "Dawn Morningstar",
      "avatar": "https://www.gravatar.com/avatar/9b791f3f02553608941e76bb5eecd471?d=identicon\u0026s=64",
      "cl": "316844@main",
      "clUrl": "https://commits.webkit.org/316844@main",
      "description": "Unreviewed build fix.\n* Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.swift:\n\nCanonical link: https://commits.webkit.org/316844@main",
      "email": "morningstar@apple.com",
      "hash": "237126ec614767f24efba821e464da1d6d6f88ca",
      "subject": "Fix a build issue after 316826@main"
    },
    "316845@main": {
      "author": "Cole Carley",
      "avatar": "https://www.gravatar.com/avatar/091dd5641909acc46e581355f491ed34?d=identicon\u0026s=64",
      "cl": "316845@main",
      "clUrl": "https://commits.webkit.org/316845@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318499\nrdar://181282877\n\nReviewed by Sammy Gill.\n\nTestPageHarness creates a headless WebCore::Page (with a LocalFrame,\nLocalFrameView, and Document) for unit testing WebCore code that\ndepends on layout, e.g. anything that needs a Document, Frame, or\nPage to operate on.\n\nBasic usage:\n\n     auto testPage = TestPageHarness::create();\n     testPage.loadHTML(\"\u003cp\u003eHello, world.\u003c/p\u003e\"_s);\n     SomeClassUnderTest instance(testPage.document());\n\nBy default, script, accelerated compositing, and media are disabled,\nand the viewport is 800x600. Pass a WebCore::TestPageOptions to\noverride these settings.\n\nCall loadHTML() again on an existing harness to load new content into\nthe same Page/Frame/Settings.\n\nYou can test behavior across multiple loads without paying for a new\nPage each time.\n\nNow, components/classes/functions that need a document, page, or\nframe can effectively be unit tested.\n\nThis pattern should be used in place of exposing internal structures\nvia Internals.idl. This is quicker and more ergonomic than a layout\ntest in this case.\n\nTests: Tools/TestWebKitAPI/Tests/WebCore/TestPageExample.cpp\n       Tools/TestWebKitAPI/Tests/WebCore/TestPageHarness.h\n       Tools/TestWebKitAPI/Tests/WebCore/TestPlatformStrategies.cpp\n       Tools/TestWebKitAPI/Tests/WebCore/TestPlatformStrategies.h\n\n* Source/WebCore/CMakeLists.txt:\n* Source/WebCore/Headers.cmake:\n* Source/WebCore/WebCore.xcodeproj/project.pbxproj:\n* Source/WebCore/editing/CachedMatchFinder.h:\n* Source/WebCore/loader/DocumentWriter.h:\n* Source/WebCore/page/LocalFrameView.h:\n* Source/WebCore/testing/TestPage.cpp: Added.\n(WebCore::createTestPage):\n(WebCore::loadHTMLIntoTestPage):\n* Source/WebCore/testing/TestPage.h: Added.\n(WebCore::createTestPage):\n* Tools/TestWebKitAPI/CMakeLists.txt:\n* Tools/TestWebKitAPI/PlatformMac.cmake:\n* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:\n* Tools/TestWebKitAPI/Tests/WebCore/CachedMatchFinder.cpp: Added.\n(TestWebKitAPI::TEST(CachedMatchFinder, CountMatchesFindsMatches)):\n* Tools/TestWebKitAPI/Tests/WebCore/TestPageHarness.h: Added.\n(TestWebKitAPI::TestPageHarness::create):\n(TestWebKitAPI::TestPageHarness::page):\n(TestWebKitAPI::TestPageHarness::frame):\n(TestWebKitAPI::TestPageHarness::document):\n(TestWebKitAPI::TestPageHarness::loadHTML):\n(TestWebKitAPI::TestPageHarness::TestPageHarness):\n* Tools/TestWebKitAPI/Tests/WebCore/TestPlatformStrategies.cpp: Added.\n(TestWebKitAPI::ensureTestPlatformStrategiesInstalled):\n* Tools/TestWebKitAPI/Tests/WebCore/TestPlatformStrategies.h: Added.\n\nCanonical link: https://commits.webkit.org/316845@main",
      "email": "ccarley2@apple.com",
      "hash": "eaf77a3bea205399e1e83395b5b20cc2fac8f347",
      "subject": "Add a test page for unit tests"
    },
    "316846@main": {
      "author": "Yijia Huang",
      "avatar": "https://www.gravatar.com/avatar/5bc95a5f0a5fdfc107bbdec6979dae89?d=identicon\u0026s=64",
      "cl": "316846@main",
      "clUrl": "https://commits.webkit.org/316846@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318977\nrdar://181832650\n\nReviewed by Yusuke Suzuki.\n\nFixes six PMD correctness bugs uncovered by a full audit against V8\nand temporal_rs.\n\nBugs fixed:\n.toPlainDate({era, eraYear}) threw TypeError on era-based calendars.\nRewrote handler to read era/eraYear/year per PrepareCalendarFields\n\u003cyear\u003e + CalendarExtraFields expansion.\n\nNon-ISO non-lunisolar .with()/.from() silently accepted disagreeing\nmonth + monthCode. Added consistency check in all three non-ISO\nbranches of dateFromFields/yearMonthFromFields/monthDayFromFields.\n\n`new PMD(6, 15, \"iso8601\", 275761)` was a debug-assert crash.\nPre-validate year+date before constructing ISO8601::PlainDate.\n\nNon-spec `argumentCount \u003c 2` guard preempted spec's\nToIntegerWithTruncation(undefined) -\u003e NaN -\u003e RangeError path.\n\nPMD.from({era, eraYear, month, day}) silently required monthCode.\nRelaxed check to accept era+eraYear; std::optional\u003cint32_t\u003e\nlocalYear matches temporal_rs's DateFields::try_from shape.\n\nPMD.from(nonISOPMD) silently dropped the source calendar because\nthe funcFrom fast-path called create() without setCalendarID().\nRemoved the redundant fast-path — PMD::from handles clone correctly.\n\nCleanups:\ninlined TemporalPlainMonthDay::with, fromMonthDayString, and\nPMD::toString(options) into sole callers. Removed dead\nplainMonthDayToPlainDate (core) and TemporalPlainDate::toYear.\n\nTests:\nJSTests/stress/temporal-plain-month-day.js\nSource/JavaScriptCore/API/tests/TemporalCoreTest.cpp\n\nCanonical link: https://commits.webkit.org/316846@main",
      "email": "yijia_huang@apple.com",
      "hash": "bdd3b71e35c2327ec2eeb82a52c1e86e7fbd0e3a",
      "subject": "[JSC][Temporal] Fix PlainMonthDay bugs and simplify helpers"
    },
    "316847@main": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/208c05ac2decdf818a4a08ada568328e?d=identicon\u0026s=64",
      "cl": "316847@main",
      "clUrl": "https://commits.webkit.org/316847@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318984\nrdar://181839626\n\nReviewed by Elika Etemad.\n\n* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:\n\nCanonical link: https://commits.webkit.org/316847@main",
      "email": "ntim@apple.com",
      "hash": "b837e9ecf2fa4517fcd08b4ba6407a5684f28149",
      "subject": "Enable CSS calc-mix() by default"
    },
    "316848@main": {
      "author": "Marta Darbinyan",
      "avatar": "https://www.gravatar.com/avatar/6143b3673258642a8b75585c768ccf10?d=identicon\u0026s=64",
      "cl": "316848@main",
      "clUrl": "https://commits.webkit.org/316848@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318879\nrdar://181717081\n\nUnreviewed test Gardening\n\nSkipping the entire webgl/ tests on Intel Release due to multiple crashes that broke EWS.\n\n* LayoutTests/platform/mac-wk2/TestExpectations:\n\nCanonical link: https://commits.webkit.org/316848@main",
      "email": "darbinyan@apple.com",
      "hash": "74a8ae174a8e7ce6a15c37b873cb9e851884351f",
      "subject": "[Gardening] REGRESSION(316606@main): [macOS x86_64] Multiple webgl tests are crashing"
    },
    "316849@main": {
      "author": "Jessica Lee",
      "avatar": "https://www.gravatar.com/avatar/fc717c99321d09f31fb9187418a8ffc5?d=identicon\u0026s=64",
      "cl": "316849@main",
      "clUrl": "https://commits.webkit.org/316849@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318917\nrdar://181067729\n\nReviewed by Pascoe.\n\nUnder duress, the main thread may not be able to service the async mock HID pipeline.\nBecause end-to-end authentication may not complete within the allotted 100ms timeout,\nincrease the timeout to 1000ms.\n\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid-internal-uv-pin-fallback.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid-internal-uv.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid-multiple-accounts.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid-no-credentials.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid-pin-auth-blocked-error.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid-pin-invalid-error-retry.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid-pin.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-get-assertion-hid.html:\n* Tools/TestWebKitAPI/Resources/cocoa/web-authentication-make-credential-hid.html:\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/_WKWebAuthenticationPanel.mm:\n(TestWebKitAPI::TEST(WebAuthenticationPanel, NoPanelHidSuccess)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, PanelHidSuccess1)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, PanelHidSuccess2)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, PanelTwice)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, PanelHidCtapNoCredentialsFound)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, FakePanelHidSuccess)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, NullPanelHidSuccess)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, PanelHidSuccessCancelNoCrash)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, PanelHidCtapNoCredentialsFoundCancelNoCrash)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, GetAssertionPin)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, GetAssertionInternalUV)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, GetAssertionInternalUVPinFallback)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, GetAssertionPinAuthBlockedError)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, GetAssertionPinInvalidErrorAndRetry)):\n(TestWebKitAPI::TEST(WebAuthenticationPanel, MultipleAccounts)):\n\nCanonical link: https://commits.webkit.org/316849@main",
      "email": "jlee53@apple.com",
      "hash": "1ef26dd11b96ecdc9566612caf9908a96c0fa3a4",
      "subject": "[iOS]TestWebKitAPI.WebAuthenticationPanel.PanelTwice is a flaky timeout."
    },
    "316850@main": {
      "author": "Alex Christensen",
      "avatar": "https://www.gravatar.com/avatar/b087c5dfcb1233e80cad9105fd5a1ac6?d=identicon\u0026s=64",
      "cl": "316850@main",
      "clUrl": "https://commits.webkit.org/316850@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318995\nrdar://181845306\n\nReviewed by Dean Jackson.\n\nThis should include him in https://github.com/WebKit/WebKit/graphs/contributors?all=1\n\n* metadata/contributors.json:\n\nCanonical link: https://commits.webkit.org/316850@main",
      "email": "achristensen@apple.com",
      "hash": "2a179ccca565155195a3c84f96725bc9b5dff80d",
      "subject": "Add andersca's github handle"
    },
    "316851@main": {
      "author": "Anthony Tarbinian",
      "avatar": "https://www.gravatar.com/avatar/ef46154a1a21c6a5ef593e952ebc62f4?d=identicon\u0026s=64",
      "cl": "316851@main",
      "clUrl": "https://commits.webkit.org/316851@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318911\nrdar://181744396\n\nReviewed by David Kilzer.\n\nAdd -fexperimental-bounds-safety-attributes flag which only runs when\n--enable-experimental-late-parse-attributes is passed into\nbuild-and-analyze.\n\nAlso demote unsafe-buffer-usage errors to warnings with\n-Wno-error=unsafe-buffer-usage\n\n* Tools/Scripts/build-and-analyze:\n(main):\n\nCanonical link: https://commits.webkit.org/316851@main",
      "email": "a_tarbinian@apple.com",
      "hash": "a0e6fdcd56c39ed5693f106b2af99a50fc7cbe28",
      "subject": "build-and-analyze: Add -fexperimental-bounds-safety-attributes flag"
    },
    "316852@main": {
      "author": "Elliott Williams",
      "avatar": "https://www.gravatar.com/avatar/4086acbe078d65242df929cb51298130?d=identicon\u0026s=64",
      "cl": "316852@main",
      "clUrl": "https://commits.webkit.org/316852@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318982\nrdar://181838487\n\nReviewed by Richard Robinson.\n\nOn Apple platforms, Swift modules need to load their underlying ObjC(++)\nmodule to access types. This flag does that.\n\nSo far, I think we have gotten by via letting the type information come\nthrough _other_ modules (such as WebKit_Internal), but once we start\nputting modulemaps into framework bundles in the build directory, this\nfails. And like all things clang modules, the build failure is\nintermittent because clang doesn't know to re-scan a framework bundle\nfor an added modulemap.\n\nFixes an intermittent error where WebKit swift code cannot find\nWKWebView.\n\nAlso , fix a build-time race condition by copying WebKit's Modules/\ncontent (modulemaps and crossimport metadata) *before* WebKit starts\ncompiling, same as headers.\n\n* Source/WebKit/PlatformMac.cmake:\n* Source/cmake/WebKitMacros.cmake:\n* Source/cmake/WebKitSwiftPrewarm.cmake:\n\nCanonical link: https://commits.webkit.org/316852@main",
      "email": "emw@apple.com",
      "hash": "dc2ddc4ef26a22dd9fd52dce92f4dbd470ba39c1",
      "subject": "[CMake][Swift] Use -import-underlying-module on Apple platforms"
    }
  },
  "date": "2026-07-09",
  "days": 1,
  "generatedAt": "2026-07-09T22:07:07Z",
  "markdown": "## Highlights\n- **Web Platform** CSS `calc-mix()` is now on by default, moving another CSS values primitive into the standard path for authors. [commit 316847@main](https://commits.webkit.org/316847@main)\n- **Web Platform** CSS `if()` arbitrary substitution is enabled by default, opening up more expressive conditional value composition in stylesheets. [commit 316813@main](https://commits.webkit.org/316813@main)\n- **Rendering** Threaded time-based animations are enabled by default again, a meaningful rendering pipeline shift with direct impact on animation smoothness and scheduling. [commit 316797@main](https://commits.webkit.org/316797@main)\n- **Web Platform** IndexedDB `getAllRecords()` and `getAllOptions` support is now enabled in Stable, making more of the newer IDB retrieval surface available by default. [commit 316779@main](https://commits.webkit.org/316779@main)\n- **Perf** JavaScriptCore speeds up numeric literal parsing by adding a dedicated `TokNumberInt32` token path to avoid extra number conversion work. [commit 316806@main](https://commits.webkit.org/316806@main)\n- **Perf** JavaScriptCore makes `Array#join` write rope elements directly into the result buffer, cutting avoidable string assembly overhead. [commit 316791@main](https://commits.webkit.org/316791@main)\n- **UI** XML documents now respect dark mode, fixing a long-standing mismatch in built-in document presentation. [commit 316832@main](https://commits.webkit.org/316832@main)\n- **Perf** WPE avoids putting multimedia pages into BFCache on low-end devices, trading cache hits for better memory and playback stability where resources are tight. [commit 316840@main](https://commits.webkit.org/316840@main)\n- **Build** Apple platform builds pick up `-import-underlying-module` for Swift, another step toward cleaner Swift and C++ interop in WebKit's build system. [commit 316852@main](https://commits.webkit.org/316852@main)\n\n## What landed by area\n\n### CSS and rendering\n- **Rendering** Flexbox layout cleanup continues with main-axis alignment split out from flex line sizing, making the algorithm easier to reason about and evolve. [commit 316839@main](https://commits.webkit.org/316839@main)\n- **Rendering** Another flexbox pass now computes all flex line cross sizes before item placement. [commit 316818@main](https://commits.webkit.org/316818@main)\n- **Rendering** Flex layout now measures each line's cross size before placing its items. [commit 316807@main](https://commits.webkit.org/316807@main)\n- **Rendering** Flex layout also lays out all flex items before placement, continuing the broader algorithm untangling. [commit 316803@main](https://commits.webkit.org/316803@main)\n- **Rendering** Yet another flexbox cleanup resolves every flex line's main sizes before laying out the lines. [commit 316767@main](https://commits.webkit.org/316767@main)\n- **Rendering** Grid fragmentation avoids running GFC when a grid item has a child with aspect ratio, preventing bad layout interactions. [commit 316825@main](https://commits.webkit.org/316825@main)\n- **Web Platform** Animation triggers gain parsing support for `timeline-trigger-name` and `timeline-trigger-source` coordinated value list properties. [commit 316830@main](https://commits.webkit.org/316830@main)\n- **Web Platform** `@font-face` metric override descriptors are now parsed behind a flag, plumbing in more font metric control without exposing it by default yet. [commit 316829@main](https://commits.webkit.org/316829@main)\n- **Web Platform** `block-ellipsis: no-ellipsis` support lands, filling out another corner of CSS overflow behavior. [commit 316811@main](https://commits.webkit.org/316811@main)\n- **Rendering** Corner shaping work adds scoop and round corner shapes in `CornerShapeUtilities`. [commit 316816@main](https://commits.webkit.org/316816@main)\n- **Rendering** Corner shaping also gets scoop tests to lock behavior down. [commit 316815@main](https://commits.webkit.org/316815@main)\n- **Rendering** Corner shaping groundwork adds `BezierUtilities` stubs for later geometry work. [commit 316814@main](https://commits.webkit.org/316814@main)\n- **Rendering** Corner shaping updates `bevelAxisAlignedCorners` to use `dotProduct`, a small but concrete geometry cleanup. [commit 316823@main](https://commits.webkit.org/316823@main)\n- **Rendering** Evaluation-time zoom conversion expands to more properties, continuing the push to evaluate zoom earlier and more consistently. [commit 316785@main](https://commits.webkit.org/316785@main)\n- **Rendering** SVG presentation attribute lookup stops using a fragile `\u003e 0` check and switches to the explicit `CSSPropertyInvalid` sentinel. [commit 316841@main](https://commits.webkit.org/316841@main)\n- **Rendering** `Node::lastDescendant()` and `firstDescendant()` stop redundantly calling child accessors twice per iteration. [commit 316769@main](https://commits.webkit.org/316769@main)\n- **UI** `HTMLModelElement` background color is adjusted to match spec text. [commit 316788@main](https://commits.webkit.org/316788@main)\n- **UI** A site fix addresses roland.com's doubled search icon in the search field. [commit 316837@main](https://commits.webkit.org/316837@main)\n- **Rendering** Complex text on paths now retains the system fallback fonts it needed, fixing a subtle text rendering correctness issue. [commit 316795@main](https://commits.webkit.org/316795@main)\n\n### JavaScriptCore, Wasm, and JS APIs\n- **V8** Temporal `PlainMonthDay` gets bug fixes and helper simplification in JSC's implementation. [commit 316846@main](https://commits.webkit.org/316846@main)\n- **V8** Temporal `PlainYearMonth` gets the same treatment, tightening correctness and reducing helper complexity. [commit 316777@main](https://commits.webkit.org/316777@main)\n- **V8** JSC's regexp engine Yarr now collects Boyer-Moore info for fixed-count terms, a targeted regexp optimization. [commit 316790@main](https://commits.webkit.org/316790@main)\n- **V8** `Air::Inst` is resized to 64 bytes, an internal JIT representation change with likely downstream codegen and cache-shape implications. [commit 316782@main](https://commits.webkit.org/316782@main)\n- **Web Platform** Small updates land for the new JavaScript APIs work, though the changelog title suggests this is mostly polish and follow-up wiring. [commit 316796@main](https://commits.webkit.org/316796@main)\n- **Web Platform** Wasm WPT tests are imported, expanding standards coverage for the WebAssembly implementation. [commit 316834@main](https://commits.webkit.org/316834@main)\n\n### Web Inspector, WebDriver, and developer tooling\n- **DevTools** Site Isolation mode now forwards Network domain emulations and headers to the web process, closing an inspection gap. [commit 316819@main](https://commits.webkit.org/316819@main)\n- **DevTools** Site Isolation also now forwards `sourceMappingURL` for memory-cached cross-origin iframe stylesheets. [commit 316778@main](https://commits.webkit.org/316778@main)\n- **DevTools** Page domain `searchInResource` and `searchInResources` now work across processes in Site Isolation mode. [commit 316766@main](https://commits.webkit.org/316766@main)\n- **DevTools** Editing a nested `@media` rule's media type from the style details panel is fixed. [commit 316793@main](https://commits.webkit.org/316793@main)\n- **DevTools** The Elements tab no longer slaps a Scroll badge onto every `\u003cinput\u003e`. [commit 316773@main](https://commits.webkit.org/316773@main)\n- **DevTools** Unused inspector protocol code is removed. [commit 316794@main](https://commits.webkit.org/316794@main)\n- **DevTools** Virtualized `WI.DataGrid` and `WI.Table` update paths get typo fixes. [commit 316792@main](https://commits.webkit.org/316792@main)\n- **DevTools** A new test page lands for unit tests. [commit 316845@main](https://commits.webkit.org/316845@main)\n- **DevTools** WebDriver improves driver logging coverage, useful for debugging automation failures. [commit 316784@main](https://commits.webkit.org/316784@main)\n- **DevTools** WebDriver cleans up stale Selenium expectations that still used camelCase names. [commit 316789@main](https://commits.webkit.org/316789@main)\n- **Build** `git-webkit apply` now lets you review and choose among a bug's attached patches instead of taking a single path. [commit 316772@main](https://commits.webkit.org/316772@main)\n- **Build** `webkit-bot` drops the transitional `revert-with-pr` alias. [commit 316831@main](https://commits.webkit.org/316831@main)\n- **UI** EWS status bubble tooltips lose extra patch-related status strings. [commit 316801@main](https://commits.webkit.org/316801@main)\n\n### Platform ports, graphics, and media\n- **GPU** WPE's Skia compositor avoids a costly `fSharpenMipmappedTextures` path on Vivante and etnaviv, where it was roughly doubling expense. [commit 316833@main](https://commits.webkit.org/316833@main)\n- **Perf** Skia recording now uses `SkBBHFactory` when a `SkPicture` will be replayed more than once. [commit 316802@main](https://commits.webkit.org/316802@main)\n- **GPU** GTK filters buffer formats against the display's DMABUF-supported formats when using `GdkDmabufTextureBuilder`. [commit 316799@main](https://commits.webkit.org/316799@main)\n- **Networking** GLib gains per-navigation custom User-Agent support in `WebKitWebsitePolicies`. [commit 316808@main](https://commits.webkit.org/316808@main)\n- **Media** A `RemoteMediaSessionClientProxy` leak is fixed when Site Isolation or `RemoteMediaSessionManager` is enabled. [commit 316780@main](https://commits.webkit.org/316780@main)\n- **Media** iOS fixes a case where setting `DOMAudioSession` to `play-and-record` did not always trigger video chat volume behavior. [commit 316800@main](https://commits.webkit.org/316800@main)\n- **GPU** OpenXR now releases its instance even if no session was ever started, fixing a lifecycle leak. [commit 316809@main](https://commits.webkit.org/316809@main)\n- **UI** `PlaceholderModelPlayer` camera and animation methods now reliably invoke their completion handlers. [commit 316827@main](https://commits.webkit.org/316827@main)\n- **Mobile** Swift Back Forward List is enabled on OSX 26.5. [commit 316835@main](https://commits.webkit.org/316835@main)\n- **Networking** An unnecessary `WebKitAdditions` hook is removed from `ResourceRequestCocoa`. [commit 316786@main](https://commits.webkit.org/316786@main)\n\n### Build, CI, and infrastructure\n- **Build** `build-and-analyze` adds `-fexperimental-bounds-safety-attributes`, pushing more safety annotation coverage into analysis builds. [commit 316851@main](https://commits.webkit.org/316851@main)\n- **Build** CMake now puts headers inside framework bundles. [commit 316781@main](https://commits.webkit.org/316781@main)\n- **Build** A follow-up fixes API and SPI header location handling after the CMake header bundling work. [commit 316771@main](https://commits.webkit.org/316771@main)\n- **Build** TestWebKitAPI WebProcessPlugIn shims stop rebuilding on every reconfigure. [commit 316770@main](https://commits.webkit.org/316770@main)\n- **Build** Mac ASan gets a CMake build fix. [commit 316822@main](https://commits.webkit.org/316822@main)\n- **Build** `GenericTimeMixin`-derived WTF time classes get a build fix for Swift C++ interoperability. [commit 316804@main](https://commits.webkit.org/316804@main)\n- **Build** `WK_ENABLE_SLOW_BUILD_VERIFICATION` is added for slow build verification in CI and production builds. [commit 316776@main](https://commits.webkit.org/316776@main)\n- **Build** `SFrameUtils.h/.cpp` is removed. [commit 316805@main](https://commits.webkit.org/316805@main)\n- **Build** A build issue after [commit 316826@main](https://commits.webkit.org/316826@main) is fixed quickly. [commit 316844@main](https://commits.webkit.org/316844@main)\n- **Build** Another build regression after [commit 316796@main](https://commits.webkit.org/316796@main) is fixed by addressing a `Span\u003cUInt8\u003e` to `RawSpan` mismatch. [commit 316812@main](https://commits.webkit.org/316812@main)\n- **Build** The immediate build break after [commit 316796@main](https://commits.webkit.org/316796@main) also gets a direct follow-up fix. [commit 316826@main](https://commits.webkit.org/316826@main)\n\n### Stability, tests, and regressions\n- **GPU** A regression causing multiple WebGL test crashes on macOS x86_64 is addressed in test gardening. [commit 316848@main](https://commits.webkit.org/316848@main)\n- **Mobile** `TestWebKitAPI.WebAuthenticationPanel.PanelTwice` is marked out as a flaky iOS timeout and handled accordingly. [commit 316849@main](https://commits.webkit.org/316849@main)\n- **Mobile** `VisualViewport.RotationResize` gets gardening for a flaky iOS API test failure. [commit 316836@main](https://commits.webkit.org/316836@main)\n- **Mobile** `DownloadProgress.PublishProgressOnPartialDownload` gets similar flaky-test handling on iOS. [commit 316824@main](https://commits.webkit.org/316824@main)\n- **Mobile** Three `WKWebExtensionAPICookies` iOS debug API tests are triaged for constant crashes and timeouts. [commit 316783@main](https://commits.webkit.org/316783@main)\n- **Rendering** A flaky crash in `getComputedStyle-font-variant-shorthand-crash.html` is addressed as a regression from [commit 316670@main](https://commits.webkit.org/316670@main). [commit 316821@main](https://commits.webkit.org/316821@main)\n- **Web Platform** Popovers WPT coverage is re-imported. [commit 316768@main](https://commits.webkit.org/316768@main)\n\n### Storage, isolation, and correctness fixes\n- **Web Platform** `ENABLE_COOKIE_STORE_API_BY_DEFAULT` cleanup lands, likely deleting dead gating around the now-default state. [commit 316820@main](https://commits.webkit.org/316820@main)\n- **Privacy** In Site Isolation mode, an `IntersectionObserver` scroll margin bug that could cross origin boundaries is fixed. [commit 316774@main](https://commits.webkit.org/316774@main)\n- **UI** A viewport adjustment bug after snapshot removal is fixed to keep `m_adjustmentForViewport` in sync. [commit 316817@main](https://commits.webkit.org/316817@main)\n\n## Reverts \u0026 Reapplies\n- **Refactor** Revert of serializer-code partitioning from [commit 315611@main](https://commits.webkit.org/315611@main) and [commit 316247@main](https://commits.webkit.org/316247@main), suggesting the earlier split caused enough fallout to back out for now. [commit 316775@main](https://commits.webkit.org/316775@main)",
  "repo": "webkit",
  "repoDisplay": "WebKit",
  "rollGroups": [
    {
      "name": "Unreviewed",
      "count": 4
    }
  ],
  "since": "2026-07-09",
  "totals": {
    "commits": 87,
    "features": 83,
    "rolls": 4
  },
  "until": "2026-07-09"
}