{
  "commits": {
    "311203@main": {
      "author": "Elliott Williams",
      "avatar": "https://www.gravatar.com/avatar/4086acbe078d65242df929cb51298130?d=identicon\u0026s=64",
      "cl": "311203@main",
      "clUrl": "https://commits.webkit.org/311203@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317769\nrdar://180540685\n\nUnreviewed build fix. Put back the build rule that was partially\nreverted by https://commits.webkit.org/311203@main\n\n* Source/WTF/WTF.xcodeproj/project.pbxproj:\n\nCanonical link: https://commits.webkit.org/315762@main",
      "email": "emw@apple.com",
      "hash": "6a8469707668a1b334594518b57b9496da675cd1",
      "subject": "[Build] Fix WTF module cache invalidation regression"
    },
    "315710@main": {
      "author": "Mike Wyrzykowski",
      "avatar": "https://www.gravatar.com/avatar/4b1bc9e238714f95e22d5d2454c07066?d=identicon\u0026s=64",
      "cl": "315710@main",
      "clUrl": "https://commits.webkit.org/315710@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317660\nrdar://180421888\n\nReviewed by Simon Fraser.\n\nCalling .get() on a WeakRef which is nullptr will trigger a\ndebug assertion.\n\nWe proceeded to store the result in a RefPtr and then check\nthat result for nullptr, so effectively this change is a no-op\nbut it relied on UB as it would effectively assume:\n\n   if (RefPtr r = \u0026(*(nullptr)))\n\nevaluated to false, but that is UB in C++\n\n* Source/WebKit/WebProcess/Model/WebModelPlayer.mm:\n(WebKit::WebModelPlayer::load):\n(WebKit::WebModelPlayer::sizeDidChange):\n(WebKit::WebModelPlayer::scheduleUpdateIfNeeded):\n(WebKit::WebModelPlayer::updateScreenHeadroomFromPage):\n\nCanonical link: https://commits.webkit.org/315710@main",
      "email": "mwyrzykowski@apple.com",
      "hash": "ca1771c2c9764dfe8efefc4e12a389678e0be88a",
      "subject": "Model element: get() used in places where ptr() should be used"
    },
    "315711@main": {
      "author": "Abrar Rahman Protyasha",
      "avatar": "https://www.gravatar.com/avatar/fce5b3c4e9f3c59a4873e08c9f03c3b1?d=identicon\u0026s=64",
      "cl": "315711@main",
      "clUrl": "https://commits.webkit.org/315711@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317678\nrdar://180435490\n\nReviewed by Richard Robinson and Megan Gardner.\n\nAs the commit title reads, we adopt the effectIsInteractive API for the\nPDF HUD. In doing so, we also remove some WebKitAdditions indirections\nwe had introduced in the past.\n\n* Source/WTF/wtf/PlatformHave.h:\n* Source/WebKit/Configurations/WebKit.xcconfig:\n* Source/WebKit/DerivedSources-output.xcfilelist:\n* Source/WebKit/DerivedSources.make:\n* Source/WebKit/UIProcess/PDF/WKPDFHUDView.swift:\n(WKPDFHUDView.makeBarView):\n* Source/WebKit/WebKit.xcodeproj/project.pbxproj:\n\nCanonical link: https://commits.webkit.org/315711@main",
      "email": "a_protyasha@apple.com",
      "hash": "abe3691634a2b39d2f5f6682f628cac6c6162b5f",
      "subject": "[macOS Golden Gate] Adopt NSGlassEffectView.effectIsInteractive in WKPDFHUDView"
    },
    "315712@main": {
      "author": "Charlie Wolfe",
      "avatar": "https://www.gravatar.com/avatar/857b3b5ff3394c31fa2689310a93dbab?d=identicon\u0026s=64",
      "cl": "315712@main",
      "clUrl": "https://commits.webkit.org/315712@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317414\nrdar://180044065\n\nReviewed by Sihui Liu.\n\nThe attribution block guards on the \"attribution\" object but read its numeric value from the sibling\nlocal `allowedProtocolTypes` (the variable from the immediately preceding block) instead of\n`attribution`. As a result the decoded NSURLRequest carried the allowedProtocolTypes value as its\nNSURLRequestAttribution, or dropped attribution entirely when that value was out of range. Every\nother enum-decode block reads from its own object; read from `attribution` here too.\n\nTest: Tools/TestWebKitAPI/Tests/IPC/IPCSerialization.mm\n* Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.mm:\n(WebKit::CoreIPCNSURLRequest::CoreIPCNSURLRequest):\n* Tools/TestWebKitAPI/Tests/IPC/IPCSerialization.mm:\n(TEST(IPCSerialization, NSURLRequestAttribution)):\n\nCanonical link: https://commits.webkit.org/315712@main",
      "email": "charliew@apple.com",
      "hash": "32f57407f9537ac13b4a18a2593583a2dd40bc56",
      "subject": "CoreIPCNSURLRequest decodes the attribution enum from the wrong NSNumber"
    },
    "315713@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "315713@main",
      "clUrl": "https://commits.webkit.org/315713@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=243994\n\u003crdar://problem/99037335\u003e\n\nReviewed by Patrick Angle and Yusuke Suzuki.\n\nSymbolic Breakpoints already work with `NativeExecutable` by swapping the JIT thunk with an equivalent version that talks to the `Debugger`.\n\nSpecifically, there's a code pointer each on the `NativeJITCode` and `NativeExecutable`.\n\nIntrinsics, however, have an additional code pointer that must be swapped in `DirectJITCode`.\n\n* Source/JavaScriptCore/jit/JITCode.h:\n(JSC::JITCode::canSwapCodePtrWithArityCheckForDebugger const): Added.\n* Source/JavaScriptCore/jit/JITCode.cpp:\n(JSC::JITCode::swapCodePtrWithArityCheckForDebugger): Added.\n(JSC::JITCodeWithCodeRef::swapCodeRefForDebugger):\n(JSC::DirectJITCode::swapCodePtrWithArityCheckForDebugger): Added.\n* Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:\n(Inspector::ReplacedThunk::~ReplacedThunk):\n(Inspector::InspectorDebuggerAgent::didCreateNativeExecutable):\n\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-exact-case-insensitive.html: Added.\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-exact-case-insensitive-expected.txt: Added.\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-exact-case-sensitive.html: Added.\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-exact-case-sensitive-expected.txt: Added.\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-regex-case-insensitive.html: Added.\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-regex-case-insensitive-expected.txt: Added.\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-regex-case-sensitive.html: Added.\n* LayoutTests/inspector/debugger/symbolic-breakpoint-intrinsic-js-regex-case-sensitive-expected.txt: Added.\n\n* LayoutTests/inspector/debugger/symbolic-breakpoint-native-js-exact-case-insensitive.html:\n\nDrive-by: Fix incorrect symbol name.\nCanonical link: https://commits.webkit.org/315713@main",
      "email": "hi@devinrousso.com",
      "hash": "06ff018c22a0dfacae6584f2cc7d51568947ff6c",
      "subject": "Web Inspector: Debugger: symbolic breakpoints should work with intrinsic functions"
    },
    "315714@main": {
      "author": "Dana Estra",
      "avatar": "https://www.gravatar.com/avatar/bb57a3e383fc407cd4b341aeef87d877?d=identicon\u0026s=64",
      "cl": "315714@main",
      "clUrl": "https://commits.webkit.org/315714@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317674\nrdar://180431157\n\nReviewed by Eric Carlson.\n\nThis patch creates webvtt-ref.css and webvtt-test.css, which contain the css in common among\nwebvtt rendering tests. For now, only utilize it in basic.html. Adoption in more complex\ntests will come in future patches.\n\n* LayoutTests/imported/w3c/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/basic-expected.html:\n* LayoutTests/imported/w3c/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/basic-ref.html:\n* LayoutTests/imported/w3c/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/basic.html:\n* LayoutTests/imported/w3c/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/webvtt-ref.css: Added.\n(html):\n(body):\n(.video):\n(.cue):\n(.cue-background):\n(.i):\n(.b):\n(.u):\n(.ruby):\n(.rubyText):\n(.region):\n(.region-child):\n* LayoutTests/imported/w3c/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/webvtt-test.css: Added.\n(html):\n(body):\n(video):\n(::cue):\n\nCanonical link: https://commits.webkit.org/315714@main",
      "email": "destra@apple.com",
      "hash": "76ed4311400702157e21515a9ceae93f59ce4eee",
      "subject": "Write a common CSS file for WebVTT rendering WPT"
    },
    "315715@main": {
      "author": "Matthew Finkel",
      "avatar": "https://www.gravatar.com/avatar/656f8950aefb56f553c899418e06b351?d=identicon\u0026s=64",
      "cl": "315715@main",
      "clUrl": "https://commits.webkit.org/315715@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317610\nrdar://problem/180338343\n\nReviewed by Per Arne Vollan and Alex Christensen.\n\nThe adattributiond sandbox doesn't allow udp sockets, so reports can't be sent\nusing h3. This patch allows udp in the sandbox.\n\n* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in:\n\nCanonical link: https://commits.webkit.org/315715@main",
      "email": "m_finkel@apple.com",
      "hash": "587814c5e938feb59125ec779481a0e1e10704d3",
      "subject": "[cocoa] Allow udp in adattributiond sandbox"
    },
    "315716@main": {
      "author": "Chris Dumez",
      "avatar": "https://www.gravatar.com/avatar/a9f21fe3a8baf79b45f3c91572187bdc?d=identicon\u0026s=64",
      "cl": "315716@main",
      "clUrl": "https://commits.webkit.org/315716@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317191\nrdar://179709492\n\nReviewed by Darin Adler.\n\nFix case where early destruction of the Document could cause a use-after-free\nof the LazyLoadVideoObserver in LazyLoadVideoObserver::observe(), given\nthat the Document owns the LazyLoadVideoObserver.\n\nTest: fast/dom/lazy-video-clone-after-document-teardown-crash.html\n\nThe code change and test are based almost entirely on initial work\nfrom Kristian Monsen.\n\n* LayoutTests/fast/dom/lazy-video-clone-after-document-teardown-crash-expected.txt: Added.\n* LayoutTests/fast/dom/lazy-video-clone-after-document-teardown-crash.html: Added.\nAdd test coverage.\n\n* Source/WebCore/dom/Document.h:\nAdd LIFETIME_BOUND to the lazyLoadVideoObserver() getter as this would have\ncaught the unsafe code in LazyLoadVideoObserver::observe().\n\n* Source/WebCore/dom/Node.cpp:\n(WebCore::Node::cloneNode const):\nFix safer cpp issue here where we were failing to protect the Document.\nThis was caught by the new test also.\n\n* Source/WebCore/html/LazyLoadVideoObserver.cpp:\n(WebCore::LazyLoadVideoObserver::observe):\nMake sure we keep a Ref to the Document while we're using the LazyLoadVideoObserver.\nAlso hold the LazyLoadVideoObserver in a CheckedPtr for extra safety, especially\nsince Document::m_lazyLoadObserver is nullable.\n\n(WebCore::LazyLoadVideoObserver::intersectionObserver):\n* Source/WebCore/html/LazyLoadVideoObserver.h:\nMake LazyLoadVideoObserver CanMakeCheckedPtr for extra safety and to catch\nmore safer cpp violations.\n\nCanonical link: https://commits.webkit.org/315716@main",
      "email": "cdumez@apple.com",
      "hash": "b74177d136f16042be2d439314e66905ec725fba",
      "subject": "REGRESSION(314874@main): CRASH in LazyLoadVideoObserver::observe() after document teardown"
    },
    "315717@main": {
      "author": "Mike Wyrzykowski",
      "avatar": "https://www.gravatar.com/avatar/4b1bc9e238714f95e22d5d2454c07066?d=identicon\u0026s=64",
      "cl": "315717@main",
      "clUrl": "https://commits.webkit.org/315717@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317692\nrdar://180451184\n\nReviewed by Richard Robinson.\n\nCleanup some warnings.\n\n* Source/WebKit/GPUProcess/graphics/Model/ModelBridge.swift:\n* Source/WebKit/GPUProcess/graphics/Model/ModelUtils.swift:\n* Source/WebKit/GPUProcess/graphics/Model/USDModel+Deformation.swift:\n* Source/WebKit/GPUProcess/graphics/Model/USDModel.swift:\n\nCanonical link: https://commits.webkit.org/315717@main",
      "email": "mwyrzykowski@apple.com",
      "hash": "d393e73a54d9112f4ca85bd95d4c1f8f9f23f6af",
      "subject": "Fixup model warnings in Swift code"
    },
    "315718@main": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/38445f84fe28aa19bfeb1f59f6559532?d=identicon\u0026s=64",
      "cl": "315718@main",
      "clUrl": "https://commits.webkit.org/315718@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=182745\nrdar://37516619\n\nReviewed by Jer Noble.\n\nThe _updateControlsSize() method in MediaController used getBoundingClientRect()\nwith an inverse transform to compute untransformed control dimensions. This is\nmathematically incorrect for rotations: getBoundingClientRect() returns the\naxis-aligned bounding box of the rotated element, and inverse-transforming\nthat box's corners produces inflated dimensions (e.g. 450px instead of 300px\nfor a 300x150 element rotated 45 degrees).\n\nReplace the complex inverse-transform approach with offsetWidth/offsetHeight,\nwhich directly return the untransformed layout dimensions regardless of any\nCSS transform applied.\n\nAdditionally, notify the media controls when the CSS transform property changes\nby calling layoutSizeChanged() from RenderMedia::styleDidChange(), so the\ncontrols are resized when a transform is dynamically applied or changed.\n\n* Source/WebCore/Modules/modern-media-controls/media/media-controller.js:\n(MediaController.prototype._updateControlsSize):\n* Source/WebCore/rendering/RenderMedia.cpp:\n(WebCore::RenderMedia::styleDidChange):\n* LayoutTests/media/modern-media-controls/css/transformed-media-controls-update-expected.txt: Added.\n* LayoutTests/media/modern-media-controls/css/transformed-media-controls-update.html: Added.\n\nCanonical link: https://commits.webkit.org/315718@main",
      "email": "ahmad.saleem792+github@gmail.com",
      "hash": "f706c72da85c5041afe03dbff2968fd9a2d82171",
      "subject": "\u003caudio\u003e and \u003cvideo\u003e controls render strangely when rotated"
    },
    "315719@main": {
      "author": "Fady Farag",
      "avatar": "https://www.gravatar.com/avatar/0ac5127c69f90d0c57054173ae4c3108?d=identicon\u0026s=64",
      "cl": "315719@main",
      "clUrl": "https://commits.webkit.org/315719@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317337\nrdar://179964060\n\nUnreviewed test gardening.\n\n* LayoutTests/TestExpectations:\n\nCanonical link: https://commits.webkit.org/315719@main",
      "email": "com.webkit.iidmsa@gmail.com",
      "hash": "bdab8cb4d7fe3274433718f5d199808afacc201f",
      "subject": "[Gardening] Remove ambiguous `imported/w3c/web-platform-tests/svg/painting/reftests/non-scaling-stroke-non-uniform-scale.html` entry from Test Expectations"
    },
    "315720@main": {
      "author": "Charlie Wolfe",
      "avatar": "https://www.gravatar.com/avatar/857b3b5ff3394c31fa2689310a93dbab?d=identicon\u0026s=64",
      "cl": "315720@main",
      "clUrl": "https://commits.webkit.org/315720@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=316826\nrdar://179274782\n\nReviewed by Rupin Mittal.\n\nThe early-out had two bugs. The GPU clause compared against m_awaitedSharedPreferencesVersion, which\nis still 0 here, so it was always true; compare against the sharedPreferencesVersion parameter\ninstead. And the clauses were combined with || and omitted the Model process, so it could complete\nafter a single process caught up; use \u0026\u0026 and add the Model clause so it fires only once every\nprocess has synced.\n\n* Source/WebKit/UIProcess/WebProcessProxy.cpp:\n(WebKit::WebProcessProxy::waitForSharedPreferencesForWebProcessToSync):\n\nCanonical link: https://commits.webkit.org/315720@main",
      "email": "charliew@apple.com",
      "hash": "ee450e8742d8d330f540faba7e3e172032079ee5",
      "subject": "WebProcessProxy::waitForSharedPreferencesForWebProcessToSync ignores the requested version for the GPU process"
    },
    "315721@main": {
      "author": "Yusuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/3455d9081295e3e740c1ffa901217d9b?d=identicon\u0026s=64",
      "cl": "315721@main",
      "clUrl": "https://commits.webkit.org/315721@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317568\nrdar://180268857\n\nReviewed by Yijia Huang.\n\nDo optimization to Air::RegLiveness similar to WTF::Liveness.\nBecause of extremely tuned optimizations \u0026 early-def / late-def etc.\nhandling difference, we have a separate class from WTF::Liveness.\n\n* Source/JavaScriptCore/b3/air/AirRegLiveness.cpp:\n(JSC::B3::Air::RegLiveness::RegLiveness):\n\nCanonical link: https://commits.webkit.org/315721@main",
      "email": "ysuzuki@apple.com",
      "hash": "b8a7279030d05a9b80281941de7f8813c8064314",
      "subject": "[JSC] Air::RegLiveness should follow to the method of WTF::Liveness"
    },
    "315722@main": {
      "author": "Sosuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/e63b87350fe19bdd9a30c7234eda45af?d=identicon\u0026s=64",
      "cl": "315722@main",
      "clUrl": "https://commits.webkit.org/315722@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317479\n\nReviewed by Yusuke Suzuki.\n\nenterDictionaryIndexingMode() eagerly allocated an empty ArrayStorage +\nSparseArrayValueMap even for plain objects with no indexed properties\n(indexingType() == NonArray). This is unnecessary: once the caller's\nnon-extensible structure transition runs, indexingShouldBeSparse() becomes\ntrue and every indexed-write entry point already enters dictionary indexing\nlazily on demand.\n\nStaying NonArray also keeps hasIndexedProperties() false, so frozen plain\nobjects keep using the for-in enumerator cache and the Object.isFrozen /\nisSealed fast path.\n\nArrayClass is left on the existing path because JSArray code\n(setLengthWritable / pushInline / setLength) relies on\nenterDictionaryIndexingMode having allocated ArrayStorage.\n\n                                          baseline                  patched\n\nobject-freeze-blank                    0.5419+-0.0447     ^      0.3077+-0.0140        ^ definitely 1.7612x faster\nobject-seal-blank                      0.4859+-0.0229     ^      0.3171+-0.0238        ^ definitely 1.5321x faster\nobject-prevent-extensions-blank        0.5033+-0.0342     ^      0.2967+-0.0212        ^ definitely 1.6963x faster\nobject-freeze-blank-for-in             1.3237+-0.0580     ^      0.4573+-0.0244        ^ definitely 2.8947x faster\nobject-freeze-blank-is-frozen          1.3314+-0.0561     ^      0.4308+-0.0253        ^ definitely 3.0908x faster\nobject-freeze-blank-keys               1.4120+-0.0712     ^      0.4747+-0.0357        ^ definitely 2.9748x faster\n\nTests: JSTests/microbenchmarks/object-freeze-blank-for-in.js\n       JSTests/microbenchmarks/object-freeze-blank-is-frozen.js\n       JSTests/microbenchmarks/object-freeze-blank-keys.js\n       JSTests/microbenchmarks/object-freeze-blank.js\n       JSTests/microbenchmarks/object-prevent-extensions-blank.js\n       JSTests/microbenchmarks/object-seal-blank.js\n       JSTests/stress/object-integrity-blank-indexing.js\n\n* JSTests/microbenchmarks/object-freeze-blank-for-in.js: Added.\n(test):\n* JSTests/microbenchmarks/object-freeze-blank-is-frozen.js: Added.\n(test):\n* JSTests/microbenchmarks/object-freeze-blank-keys.js: Added.\n(test):\n* JSTests/microbenchmarks/object-freeze-blank.js: Added.\n(test):\n* JSTests/microbenchmarks/object-prevent-extensions-blank.js: Added.\n(test):\n* JSTests/microbenchmarks/object-seal-blank.js: Added.\n(test):\n* JSTests/stress/object-integrity-blank-indexing.js: Added.\n(shouldBe):\n(shouldThrow):\n(i.shouldThrow):\n(i.shouldBe):\n(indexingMode):\n(shouldBeNonArray):\n(shouldBeArrayStorage):\n(Object.freeze.get shouldBeArrayStorage):\n(Object.freeze):\n* Source/JavaScriptCore/runtime/JSObject.cpp:\n(JSC::JSObject::enterDictionaryIndexingMode):\n\nCanonical link: https://commits.webkit.org/315722@main",
      "email": "sosuke@bun.sh",
      "hash": "db8790f1137d8124d16cca8c6d244cc336357dda",
      "subject": "[JSC] `Object.freeze`/`seal`/`preventExtensions` should not allocate `ArrayStorage` for `NonArray` objects"
    },
    "315723@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "315723@main",
      "clUrl": "https://commits.webkit.org/315723@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317563\n\nReviewed by Alexey Proskuryakov.\n\nFunctions can be created on objects in three ways:\n```js\n{\n    a(x, y) {},\n    b: function(x, y) {},\n    c: (x, y) =\u003e {},\n}\n```\n\nPreviously, this would appear as the following:\n```js\n{\n    a: function() {},\n    b: function(x, y) {},\n    c: function() {},\n}\n```\n\n* Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js:\n(WI.ObjectTreePropertyTreeElement.prototype._functionParameterString):\n\nCanonical link: https://commits.webkit.org/315723@main",
      "email": "hi@devinrousso.com",
      "hash": "bfe2376ba1b894bc0d1bfe8ab592d5c87915f300",
      "subject": "Web Inspector: grab a formatted parameters string for object shorthand and arrow functions"
    },
    "315724@main": {
      "author": "Sosuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/e63b87350fe19bdd9a30c7234eda45af?d=identicon\u0026s=64",
      "cl": "315724@main",
      "clUrl": "https://commits.webkit.org/315724@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317627\n\nReviewed by Yusuke Suzuki.\n\naddStringReplacePrimordialChecks and friends emit up to eleven\nTryGetById+CheckIsConstant pairs to prove the RegExp receiver does not shadow\nexec/flags/.../@@replace. Fixup-inserted TryGetByIds carry no bytecode profile,\nso in FTL each one survives as an opaque IC patchpoint.\n\nregExpPrimordialPropertiesWatchpoint already guarantees RegExp.prototype is\nprimordial, so a single CheckStructure against the original RegExp structure is\nenough (matching RegExpObject::isSymbol*FastAndNonObservable). Fold the four\nhelpers into addRegExpPrimordialStructureCheck and add the missing BadCache bail\nto StringPrototypeReplace{,All}Intrinsic / RegExpSearchIntrinsic.\n\n                                                     prev                    patched\n\nregexp-prototype-symbol-match-primordial-check\n                                              129.4573+-1.9302     ^     80.9818+-1.7268        ^ definitely 1.5986x faster\nregexp-prototype-symbol-split-primordial-check\n                                               50.0416+-0.4732     ^     39.4040+-0.4457        ^ definitely 1.2700x faster\nstring-replace-regexp-primordial-check        156.3021+-1.5530     ^    102.9366+-0.8520        ^ definitely 1.5184x faster\n\nTests: JSTests/microbenchmarks/regexp-prototype-symbol-match-primordial-check.js\n       JSTests/microbenchmarks/regexp-prototype-symbol-split-primordial-check.js\n       JSTests/microbenchmarks/string-replace-regexp-primordial-check.js\n       JSTests/stress/string-replace-regexp-with-own-property.js\n\n* JSTests/microbenchmarks/regexp-prototype-symbol-match-primordial-check.js: Added.\n(match):\n* JSTests/microbenchmarks/regexp-prototype-symbol-split-primordial-check.js: Added.\n(split):\n* JSTests/microbenchmarks/string-replace-regexp-primordial-check.js: Added.\n(replace):\n* JSTests/stress/string-replace-regexp-with-own-property.js: Added.\n(replace):\n* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:\n(JSC::DFG::ByteCodeParser::handleIntrinsicCall):\n* Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:\n(JSC::DFG::FixupPhase::fixupNode):\n(JSC::DFG::FixupPhase::addRegExpPrimordialStructureCheck):\n(JSC::DFG::FixupPhase::addStringReplacePrimordialChecks): Deleted.\n(JSC::DFG::FixupPhase::addStringMatchAndSearchPrimordialChecks): Deleted.\n(JSC::DFG::FixupPhase::addRegExpSearchPrimordialChecks): Deleted.\n(JSC::DFG::FixupPhase::addRegExpMatchPrimordialChecks): Deleted.\n(JSC::DFG::FixupPhase::addRegExpSplitPrimordialChecks): Deleted.\n\nCanonical link: https://commits.webkit.org/315724@main",
      "email": "sosuke@bun.sh",
      "hash": "a46d2fe1b35a6aec5aa3451331d7036dfd3818af",
      "subject": "[JSC] Replace fixup-inserted RegExp primordial `TryGetById` chains with a single `CheckStructure`"
    },
    "315725@main": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/208c05ac2decdf818a4a08ada568328e?d=identicon\u0026s=64",
      "cl": "315725@main",
      "clUrl": "https://commits.webkit.org/315725@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317697\nrdar://180453690\n\nReviewed by Zak Ridouh.\n\nUpstream commit: https://github.com/web-platform-tests/wpt/commit/1010efa5b56d4ebc15db5438f37bae495cd454e7\n\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-computed-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/acos-asin-atan-atan2-computed.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/attr-all-types-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/attr-all-types.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/attr-css-wide-keywords-expected.txt: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/attr-css-wide-keywords.html: Added.\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/attr-cycle-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/attr-cycle.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/exp-log-compute-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/exp-log-compute.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-computed-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-computed.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/progress-computed-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/progress-computed.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/progress-invalid-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/progress-invalid.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/progress-serialize-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/progress-serialize.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/random-serialize.tentative-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/random-serialize.tentative.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/sin-cos-tan-computed-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/sin-cos-tan-computed.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/calc-sibling-function-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/calc-sibling-function-in-shadow-dom-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/calc-sibling-function-in-shadow-dom.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/calc-sibling-function-parsing-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/calc-sibling-function-parsing.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/calc-sibling-function.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/sibling-function-invalidation-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/sibling-function-invalidation.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/tree-counting/tree-scoped-sibling-function.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/update-subpixel-rem-unit-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/update-subpixel-rem-unit.html:\n* LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log:\n\nCanonical link: https://commits.webkit.org/315725@main",
      "email": "ntim@apple.com",
      "hash": "4fc1ee5ef9626761c661722d63107b873cdd1634",
      "subject": "Re-import css/css-values WPT"
    },
    "315726@main": {
      "author": "Charlie Wolfe",
      "avatar": "https://www.gravatar.com/avatar/857b3b5ff3394c31fa2689310a93dbab?d=identicon\u0026s=64",
      "cl": "315726@main",
      "clUrl": "https://commits.webkit.org/315726@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317435\nrdar://180062046\n\nReviewed by Ryan Reno.\n\nWhen CSP blocks a parser-inserted inline, use the parser's start column when reporting the\nSecurityPolicyViolationEvent instead of defaulting to column 1.\n\nhttps://www.w3.org/TR/CSP3/#should-block-inline\nhttps://www.w3.org/TR/CSP3/#report-violation\n\n* LayoutTests/imported/w3c/web-platform-tests/content-security-policy/securitypolicyviolation/blockeduri-inline-expected.txt:\n* Source/WebCore/dom/ScriptElement.cpp:\n(WebCore::ScriptElement::ScriptElement):\n(WebCore::ScriptElement::requestModuleScript):\n(WebCore::ScriptElement::executeClassicScript):\n(WebCore::ScriptElement::registerImportMap):\n(WebCore::ScriptElement::registerSpeculationRules):\n* Source/WebCore/dom/ScriptElement.h:\n* Source/WebCore/page/csp/ContentSecurityPolicy.cpp:\n(WebCore::ContentSecurityPolicy::allowInlineScript const):\n* Source/WebCore/page/csp/ContentSecurityPolicy.h:\n\nCanonical link: https://commits.webkit.org/315726@main",
      "email": "charliew@apple.com",
      "hash": "33fee5bcc422d6817f4f96b045fa0cef348f6a1d",
      "subject": "Report correct columnNumber for blocked inline scripts"
    },
    "315728@main": {
      "author": "Abrar Rahman Protyasha",
      "avatar": "https://www.gravatar.com/avatar/fce5b3c4e9f3c59a4873e08c9f03c3b1?d=identicon\u0026s=64",
      "cl": "315728@main",
      "clUrl": "https://commits.webkit.org/315728@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317711\nrdar://180467126\n\nUnreviewed build fix.\n\nThis patch addresses the following build failure:\n\n```\nSource/WebKit/UIProcess/API/Cocoa/WKWebView.h:750:30: error: 'NSRefreshController' is only available on macOS 27.0 or newer [-Werror,-Wunguarded-availability-new]\n```\n\nIt is possible to hit this issue when targeting downlevel macOS versions\nwhile building against a macOS 27 SDK. Since NSRefreshController is a\ntype new to macOS 27, we need to guard the API declaration behind the\nappropriate macOS minimum version guard.\n\n* Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:\n\nCanonical link: https://commits.webkit.org/315728@main",
      "email": "a_protyasha@apple.com",
      "hash": "0ff795923fb98e9c06a2ce2842ba039d9290a20e",
      "subject": "REGRESSION(315639@main): Broke macOS 27 builds with down-level deployment target (unguarded-availability-new)"
    },
    "315729@main": {
      "author": "Jer Noble",
      "avatar": "https://www.gravatar.com/avatar/6d2cde9be23b98223ca964cb3b7813a0?d=identicon\u0026s=64",
      "cl": "315729@main",
      "clUrl": "https://commits.webkit.org/315729@main",
      "description": "rdar://177565028\nhttps://bugs.webkit.org/show_bug.cgi?id=317696\n\nReviewed by Eric Carlson.\n\nDeactivating the AVAudioSession during AirPlay/CarPlay playback will tear down the connection,\nso avoid doing so if any existing session is currently performing \"external\" playback.\n\n* Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:\n(WebCore::MediaSessionManageriOS::sessionWillEndPlayback):\n\nCanonical link: https://commits.webkit.org/315729@main",
      "email": "jer.noble@apple.com",
      "hash": "4ab48f03d020ba64655cc1f2f58107237ef1c229",
      "subject": "[iOS] AirPlay/CarPlay sessions are torn down when pausing while casting device is locked"
    },
    "315730@main": {
      "author": "Alex Christensen",
      "avatar": "https://www.gravatar.com/avatar/b087c5dfcb1233e80cad9105fd5a1ac6?d=identicon\u0026s=64",
      "cl": "315730@main",
      "clUrl": "https://commits.webkit.org/315730@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317723\nrdar://180474559\n\nUnreviewed.\n\nA call to ComputedStyleBase::fontCascade() was added, so we need to include\nthe header that has its inline definition.\n\n* Source/WebCore/inspector/agents/frame/FrameCSSAgent.cpp:\n\nCanonical link: https://commits.webkit.org/315730@main",
      "email": "achristensen@apple.com",
      "hash": "4ee901683c9fae4a720ca9cfba270e3a9c34575c",
      "subject": "Fix build after 315703@main"
    },
    "315731@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "315731@main",
      "clUrl": "https://commits.webkit.org/315731@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317562\n\nReviewed by Alexey Proskuryakov.\n\nSeeing a repeated `: function(` just adds a ton of noise.\n\nFor example, this\n```js\n{\n    a: function() {},\n    b: function() {},\n    c: function() {},\n}\n```\nis much more repetitive than\n```js\n{\n    a() {},\n    b() {},\n    c() {},\n}\n```\n\n* Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js:\n(WI.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):\n(WI.ObjectTreePropertyTreeElement.prototype._functionPropertyString): Deleted.\n\nCanonical link: https://commits.webkit.org/315731@main",
      "email": "hi@devinrousso.com",
      "hash": "856d17b8d8dbfc40ea8e3bc28033ef6aceb17a6b",
      "subject": "Web Inspector: unnecessary colon in front of non-class function properties"
    },
    "315732@main": {
      "author": "Kimmo Kinnunen",
      "avatar": "https://www.gravatar.com/avatar/7f063a2c9e40666bfe998109608180b7?d=identicon\u0026s=64",
      "cl": "315732@main",
      "clUrl": "https://commits.webkit.org/315732@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317646\nrdar://180394611\n\nReviewed by Dan Glastonbury.\n\nRewrite the update script in python. Use different logic:\navoid git-filter-repo, avoid grafting. Instead import the\nSource/ThirdParty/ANGLE content as git tree object directly as the\nparent of the previously merged upstream version, and then merge\non top of that.\n\nAdds a \"vendoring\" feature where the script is able to import ANGLE\nthird party dependencies for that particular revision, synced by\ngclient sync, as files into WebKit version. This is used for few\ndirectories already. In the future commits, this will be used to sync\nDEQP tests.\n\nAdd few excludes of deleted directories that were missing.\n\n* Source/ThirdParty/ANGLE/additional_readme_paths.json: Removed.\n  Remove an unknown file, was added 7 years ago in 211867@main\n  but is not part of upstream or WebKit ANGLE.\n* Tools/Scripts/update-angle:\n\nCanonical link: https://commits.webkit.org/315732@main",
      "email": "kkinnunen@apple.com",
      "hash": "b8775a230ba808c69dd34295114aa65de54ecae5",
      "subject": "ANGLE: update-angle script does not support updating third party dependencies"
    },
    "315733@main": {
      "author": "Nathan Solomon",
      "avatar": "https://www.gravatar.com/avatar/511ed1e062e5bfec8adff762a004a148?d=identicon\u0026s=64",
      "cl": "315733@main",
      "clUrl": "https://commits.webkit.org/315733@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=315247\nrdar://177468274\n\nReviewed by Wenson Hsieh.\n\nOn iOS, WebPage::elementDidFocus runs layoutIfNeeded() from a JS click handler\ndispatched via simulateClick() in order to populate interactionRect for the\nElementDidFocus IPC. But, this is very expensive for form-heavy interactions.\nDefer the IPC to the next rendering update. elementDidFocus() now stores the\ngesture state into a member variable on WebPage,\nensures the next rendering update is scheduled, and then returns. Utilize\nthe fact that the next rendering update will already do layoutIfNeeded(). So when\nWebPage::updateRendering() runs during that next rendering update,\nPage::updateRendering() has already run its layout pass for the frame so we send the\nIPC message with correct geometry for the focused element while avoiding extra\nlayoutIfNeeded() calls for each user-gesture-driven focus that would fire before\nthe next rendering update. This also means we are now sending fewer IPC messages\nto the UI Process than before.\n\nRemove and update iOS-specific test baselines that captured existing failures caused by the\nextra layoutIfNeeded() in the iOS focus path. The exec-command\nbaselines had a FAIL for undo not clearing after .value\nassignment on input/textarea inside contenteditable. The content-visibility\nios baseline had an extra newline (for some currently unknown reason) now\nmatches the generic baseline that matches MacOS baseline as well.\n\n* LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-053-expected.txt: Removed.\n* LayoutTests/platform/ios/imported/w3c/web-platform-tests/editing/other/exec-command-with-text-editor.tentative_type=text-expected.txt:\n* LayoutTests/platform/ios/imported/w3c/web-platform-tests/editing/other/exec-command-with-text-editor.tentative_type=textarea-expected.txt:\n* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:\n(WebKit::WebPage::completeSyntheticClick):\n* Source/WebKit/WebProcess/WebPage/WebPage.cpp:\n(WebKit::WebPage::executeEditCommandWithCallback):\n(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):\n(WebKit::WebPage::updateRendering):\n(WebKit::WebPage::resetFocusedElementForFrame):\n(WebKit::WebPage::elementDidRefocus):\n(WebKit::WebPage::elementDidFocus):\n(WebKit::WebPage::elementDidBlur):\n* Source/WebKit/WebProcess/WebPage/WebPage.h:\n* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:\n(WebKit::WebPage::requestFocusedElementInformation):\n(WebKit::WebPage::focusedElementInformation):\n(WebKit::WebPage::focusedElementInformationWithoutLayout):\n(WebKit::WebPage::emitDeferredFocusedElementUpdate):\n(WebKit::WebPage::flushPendingFocusedElementUpdateIfNeeded):\n(WebKit::WebPage::focusTextInputContextAndPlaceCaret):\n\nCanonical link: https://commits.webkit.org/315733@main",
      "email": "nathan_solomon@apple.com",
      "hash": "64ee64bad41e5d511964c29b8ab00ee77269821a",
      "subject": "[iOS] Defer ElementDidFocus IPC to the next rendering update"
    },
    "315734@main": {
      "author": "Kimmo Kinnunen",
      "avatar": "https://www.gravatar.com/avatar/7f063a2c9e40666bfe998109608180b7?d=identicon\u0026s=64",
      "cl": "315734@main",
      "clUrl": "https://commits.webkit.org/315734@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317645\nrdar://180394533\n\nReviewed by Dan Glastonbury\n\nContains upstream commits:\nc0df1484701f Roll Chromium from 037bc7c789e0 to e23ff548502b (676 revisions)\n2cbd2792f24c Switch Win/x64/ASan to Starlark tests\n32c7e753c9a1 Remove legacy trace test specs\n6e13bfa97492 Vulkan: Fix memory corruption on OOM by resetting RenderPass\nbbbc5e2714a0 Switch trace builders to Starlark tests\nb55d2343a3ce Remove legacy Win/x86/Release test specs\n541bf2fe6ed2 Switch Android/arm64/Release to test trigger CAS\nd834231d9168 Switch Linux/x64/Perf to test trigger CAS\ne37d64daec93 Switch Win/x86/Release to Starlark tests\nb00bcdccc3bf Remove legacy Linux/x64/TSan test specs\n6ec313f9bb86 Switch Linux/x64/TSan to Starlark tests\n69608463edd0 Remove legacy Linux/x64/ASan test specs\n4fb60affdb6d Vulkan: Defer update pruning until image is valid\n18896f8c6d4b Switch Linux/x64/ASan to Starlark tests\n509140191e62 Fix missing orphanImage calls from bindTexImage\nb383ac5ff1f9 Reduce DrawElementsVariants test invocations\n7cae5e4c034f Roll VK-GL-CTS from 19358209a45b to 93834259e350 (1 revision)\n7f686e2e5478 Roll vulkan-deps from 4210d7fc52f6 to fac28bbc554e (10 revisions)\n1d4476ce0d64 Roll VK-GL-CTS from cf6266c9e9ef to 19358209a45b (20 revisions)\n3712f0005845 Roll Chromium from 3e534a722b84 to 037bc7c789e0 (612 revisions)\n28262f144abb Make compressed texture helpers more accessible\ne0cd17acab01 Simplify InternalFormat::getCompressedImageMinBlocks\n3cd891cb29c3 Enhance WebGL tests for compressed texture dimensions\n836636df1b06 Add more tests for WebGL unpack state validation\nae23e8e1704b Implement more palette format validation\n5d0b426d2c10 Increase end2end sharding on Win ASAN\n7a10e9158052 Roll vulkan-deps from a3449e478236 to 4210d7fc52f6 (29 revisions)\n248467475228 Roll Chromium from d13cd7076e05 to 3e534a722b84 (696 revisions)\n317ae3119bf1 Remove legacy Android/arm64/Perf test specs\n6f085e5c6cdb Suppress Win/ASan timeouts\n079361ffc8f3 Switch Android/arm64/Perf to Starlark tests\nfbde53cd170d Remove legacy Win/x64/Perf test specs\n79fba3f19a8d Switch Linux/x64/Release to test trigger CAS\n94b4aebe2037 Switch Win/x64/Release to test trigger CAS\n279de663a2d9 Vulkan: optimize out redundant mid-renderPass clears\n256ed252a843 Add more merge script deps\n7ed31165b1c1 Switch Win/x64/Perf to Starlark tests\n3dc671186ff6 Remove legacy Linux/x64/Perf test specs\n044a71cc3bc6 Metal: BaseInstanceOverflow fails validation\n2dd31b48a980 Revert \"Roll vulkan-deps from a3449e478236 to b261e80692b9 (14 revisions)\"\n5df1db7ad544 Switch Linux/x64/Perf to Starlark tests\nbc33846a61a5 Revert \"Fix flaky X11 tests\"\ne056c65fcf7e Roll SwiftShader from 5b0479bd2d15 to 2843cbcc714f (1 revision)\nc766bee31226 Roll vulkan-deps from a3449e478236 to b261e80692b9 (14 revisions)\n00bba4b92d23 Roll VK-GL-CTS from ac6a4202f637 to cf6266c9e9ef (5 revisions)\n274766d005bf Roll Chromium from 71f564d3738a to d13cd7076e05 (693 revisions)\n\nCanonical link: https://commits.webkit.org/315734@main",
      "email": "kkinnunen@apple.com",
      "hash": "a1772e514582f6b7c75c0f623982d53856d0c4fd",
      "subject": "Update ANGLE to 2026-06-23 (c0df1484701f94ca4d2993b05db287233b5900c6)"
    },
    "315735@main": {
      "author": "Youenn Fablet",
      "avatar": "https://www.gravatar.com/avatar/0a9886e582a7aee1eb908eb59af36da4?d=identicon\u0026s=64",
      "cl": "315735@main",
      "clUrl": "https://commits.webkit.org/315735@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317579\nrdar://168077744\n\nReviewed by Brandon Stewart and Jean-Yves Avenard.\n\nWe resync libwebrtc and do some small updates to WebCore code based on API changes.\n\n* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp:\n* Source/ThirdParty/libwebrtc/Source/webrtc: Resynced.\n* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:\n* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:\n* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.cpp:\n(WebCore::LibWebRTCRtpTransformableFrame::data const):\n(WebCore::LibWebRTCRtpTransformableFrame::setData):\n(WebCore::LibWebRTCRtpTransformableFrame::setOptions):\n* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.cpp:\n(WebCore::LibWebRTCVPXInternalVideoEncoder::OnFrameDropped):\n(WebCore::LibWebRTCVPXInternalVideoEncoder::OnDroppedFrame): Deleted.\n* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCMacros.h:\n* Source/WebCore/testing/MockLibWebRTCPeerConnection.h:\n\nCanonical link: https://commits.webkit.org/315735@main",
      "email": "youenn@apple.com",
      "hash": "43dabe2871e27cd944bccb71a0e150687ccb0e0a",
      "subject": "Resync libwebrtc up to M150"
    },
    "315736@main": {
      "author": "Jessica Lee",
      "avatar": "https://www.gravatar.com/avatar/fc717c99321d09f31fb9187418a8ffc5?d=identicon\u0026s=64",
      "cl": "315736@main",
      "clUrl": "https://commits.webkit.org/315736@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=304029\nrdar://166329314\n\nReviewed by Wenson Hsieh.\n\nWe shouldn't dispatch blur or focus events from Javascript when the window is in the background.\nThe events should only be dispatched when the page's focus controller indicates the window is focused.\n\nTests: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/BundleFormDelegate.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/FindInPage.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/FocusWebView.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/UserContentController.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKContentViewEditingActions.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewFirstResponderTests.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WritingSuggestions.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WritingTools.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/_WKInputDelegate.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/_WKWebAuthenticationPanel.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/AutocorrectionTestsIOS.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/FocusPreservationTests.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/KeyboardInputTestsIOS.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/ModalDialogDuringOverlappingFocus.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/ScrollViewScrollabilityTests.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/SelectionModifyByParagraphBoundary.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/UIWKInteractionViewProtocol.mm\n       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/WKWebViewAutofillTests.mm\n       Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm\n\n* LayoutTests/fast/forms/focus-option-control-on-page.html:\n* Source/WebCore/dom/Document.cpp:\n(WebCore::Document::setFocusedElement):\n* Source/WebKitLegacy/mac/WebView/WebView.mm:\n(-[WebView _setFocused:]):\n* Source/WebKitLegacy/mac/WebView/WebViewPrivate.h:\n* Tools/TestWebKitAPI/Helpers/cocoa/TestWKWebView.h:\n* Tools/TestWebKitAPI/Helpers/cocoa/TestWKWebView.mm:\n(-[TestWKWebView evaluateJavaScriptAndWaitForInputSessionToChange:inFrame:]):\n(-[TestWKWebView focusInWindow]):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/BundleFormDelegate.mm:\n(TEST(WebKit, WKWebProcessPlugInWithoutRegisteredCustomClass)):\n(TEST(WebKit, WKWebProcessPlugInWithRegisteredCustomClass)):\n(TEST(WebKit, WKWebProcessPlugInWithUnregisteredCustomClass)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/FindInPage.mm:\n(TEST(WebKit, ScrollToFoundRangeDoesNotFocusElement)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/FocusWebView.mm:\n(TestWebKitAPI::NoFocusEventsForBackgroundWindow)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:\n(TestWebKitAPI::(SiteIsolation, AdvanceFocusAcrossFrames)):\n(TestWebKitAPI::(SiteIsolation, SelectMultiplePickerLocationInCrossOriginIframe)):\n(TestWebKitAPI::(SiteIsolation, NoRedundantFocusPolicyCallbackAfterBlurAndRefocusInCrossOriginIframe)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/UserContentController.mm:\n(TEST(WKUserContentController, BeforeBlurEvent)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKContentViewEditingActions.mm:\n(TEST(WebKit, CaptureTextFromCamera)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewFirstResponderTests.mm:\n(-[FirstResponderTestingView initWithFrame:]):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WritingSuggestions.mm:\n(-[WritingSuggestionsWebAPIWKWebView focusElementAndEnsureEditorStateUpdate:]):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WritingTools.mm:\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/_WKInputDelegate.mm:\n(TEST(WebKit, FocusedElementInfo)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/_WKWebAuthenticationPanel.mm:\n(TestWebKitAPI::TEST(WebAuthenticationPanel, PanelTwice)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/AutocorrectionTestsIOS.mm:\n(TEST(AutocorrectionTests, FontAtCaretWhenUsingUICTFontTextStyle)):\n(TEST(AutocorrectionTests, AutocorrectionContextDoesNotIncludeNewlineInTextField)):\n(TEST(AutocorrectionTests, MultiWordAutocorrectionFromStartOfText)):\n(TEST(AutocorrectionTests, DoNotLearnCorrectionsAfterChangingInputTypeFromPassword)):\n(TEST(AutocorrectionTests, AutocorrectionContextBeforeAndAfterEditing)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/FocusPreservationTests.mm:\n(TestWebKitAPI::TEST(FocusPreservationTests, PreserveAndRestoreFocus)):\n(TestWebKitAPI::TEST(FocusPreservationTests, UserCanDismissInputViewRegardlessOfFocusPreservationCount)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/KeyboardInputTestsIOS.mm:\n(webViewWithAutofocusedInput):\n(TestWebKitAPI::TEST(KeyboardInputTests, AsyncFocusRequiresStrongPasswordAssistanceAfterBlurNoStartSession)):\n(TestWebKitAPI::TEST(KeyboardInputTests, NewUndoGroupClosesPreviousTypingCommand)):\n(TestWebKitAPI::TEST(KeyboardInputTests, EditableWebViewRequiresKeyboardWhenFirstResponder)):\n(TestWebKitAPI::TEST(KeyboardInputTests, CharactersAroundCaretSelection)):\n(TestWebKitAPI::TEST(KeyboardInputTests, HasTextAfterFocusingTextField)):\n(TestWebKitAPI::TEST(KeyboardInputTests, SetConversationContext)):\n(TestWebKitAPI::TEST(KeyboardInputTests, DeviceEIDAndIMEIAutoFill)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/ModalDialogDuringOverlappingFocus.mm:\n(TestWebKitAPI::TEST(ModalDialogDuringOverlappingFocus, AlertNotDeferredAfterFIFOAsyncFocusCompletions)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/ScrollViewScrollabilityTests.mm:\n(TestWebKitAPI::webViewWithAutofocusedInput):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/SelectionModifyByParagraphBoundary.mm:\n(TEST(SelectionTests, ModifyByParagraphBoundary)):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/UIWKInteractionViewProtocol.mm:\n(TestWebKitAPI::TEST(UIWKInteractionViewProtocol, SelectPositionAtPointInFocusedElementStartsInputSession)):\n(TestWebKitAPI::setUpEditableWebViewAndWaitForInputSession):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/WKWebViewAutofillTests.mm:\n(TestWebKitAPI::TEST(WKWebViewAutoFillTests, AutoFillRequiresInputSession)):\n(TestWebKitAPI::TEST(WKWebViewAutoFillTests, AutoFillPreservesTextSuggestion)):\n* Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm:\n(runTestWithInputType):\n\nCanonical link: https://commits.webkit.org/315736@main",
      "email": "jlee53@apple.com",
      "hash": "2c871431bb18397f559c8dcfa3488e7e80609965",
      "subject": "[macOS] Extraneous focus event makes TestWebKitAPI.WebKit2TextFieldBeginAndEditEditingTest.TextFieldDidBeginAndEndEditingEventsInReadOnlyField flaky"
    },
    "315737@main": {
      "author": "Patrick Griffis",
      "avatar": "https://www.gravatar.com/avatar/2233c3a857004b126158572af9fe36f7?d=identicon\u0026s=64",
      "cl": "315737@main",
      "clUrl": "https://commits.webkit.org/315737@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317668\n\nReviewed by Carlos Garcia Campos.\n\n* Source/WebCore/html/FallbackPopupMenu.cpp:\n(WebCore::applyMenuStyle):\n\nCanonical link: https://commits.webkit.org/315737@main",
      "email": "pgriffis@igalia.com",
      "hash": "7f69f30c8af2a95f0cfe69dad3dedf23d321465b",
      "subject": "[WPE] Fix popup menu sometimes having transparent background"
    },
    "315738@main": {
      "author": "Youenn Fablet",
      "avatar": "https://www.gravatar.com/avatar/0a9886e582a7aee1eb908eb59af36da4?d=identicon\u0026s=64",
      "cl": "315738@main",
      "clUrl": "https://commits.webkit.org/315738@main",
      "description": "rdar://180436315\nhttps://bugs.webkit.org/show_bug.cgi?id=317736\n\nReviewed by Chris Dumez.\n\nWhen delaying the creation of the service worker to create a web process for it,\nthere is a risk that the corresponding registration may be removed (unregistration/website data store cleanup).\nIn that case, we would not find the registration in SWServer::installContextData.\nIn this case, we return early and we log a message.\n\n* Source/WebCore/workers/service/server/SWServer.cpp:\n(WebCore::SWServer::installContextData):\n\nCanonical link: https://commits.webkit.org/315738@main",
      "email": "youenn@apple.com",
      "hash": "fd20d272538eec0ce1b759e60fa99cc701ab22a9",
      "subject": "Installing a service worker may fail when its registration is cleared while the context is created"
    },
    "315739@main": {
      "author": "Jean-Yves Avenard",
      "avatar": "https://www.gravatar.com/avatar/509313899deeb9262fad8f5e04093f5b?d=identicon\u0026s=64",
      "cl": "315739@main",
      "clUrl": "https://commits.webkit.org/315739@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317728\nrdar://180481278\n\nReviewed by Youenn Fablet.\n\nIn 315691@main, we moved the checks for buffered ranges into the MediaSourcePrivate.\nAll those methods were gated on the readyState being everything but \"Closed\".\nHowever, when the MediaSourcePrivate lives in the GPU process, the readyState\nwas never set and kept its initial value: \"Closed\". This issue didn't matter\nbefore because nothing on the GPU process side relied on the readyState value.\n\nWe plumb the readyState update.\n\nMediaSourcePrivateRemote \u0026 Co should be removed ; it's becoming too hard\nto maintain now that MediaContainment is the default and the GPU process\npath is no longer properly tested.\n\nTest: media/media-source/media-source-seek-complete-gpu.html\n\n* LayoutTests/media/media-source/media-source-seek-complete-gpu.html: Added.\n* LayoutTests/platform/mac/media/media-source/media-source-seek-complete-gpu-expected.txt: Added.\n* Source/WebCore/Modules/mediasource/MediaSource.h: MediaSource.h isn't a global header and can't be used from WebKit.\nso we move the readyState enum to MediaSourcePrivate.h.\n* Source/WebCore/platform/graphics/MediaSourcePrivate.h:\n* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:\n(WebKit::RemoteMediaSourceProxy::setReadyState):\n* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h:\n* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.messages.in:\n* Source/WebKit/Scripts/webkit/messages.py:\n(headers_for_type):\n* Source/WebKit/Shared/WebCoreArgumentCodersMedia.serialization.in:\n* Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:\n(WebKit::MediaSourcePrivateRemote::setReadyState):\n* Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h:\n\nCanonical link: https://commits.webkit.org/315739@main",
      "email": "jya@apple.com",
      "hash": "4b6c349e5ea44901d3fab98f14cb1f6a901c512e",
      "subject": "[315691@main] With MediaContainment off, YouTube seeking never completes"
    },
    "315740@main": {
      "author": "Carlos Garcia Campos",
      "avatar": "https://www.gravatar.com/avatar/8393f7e76d83c8a147cb852d8fb1a959?d=identicon\u0026s=64",
      "cl": "315740@main",
      "clUrl": "https://commits.webkit.org/315740@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317740\n\nReviewed by Nikolas Zimmermann.\n\nIt was removed when batched painting was introduced in 314626@main\nbecause the canvas is no longer transformed when tiles are added to the\nimage set, but we could save the canvas an apply the transform to early\nreject tiles that are offscreen.\n\n* Source/WebCore/platform/graphics/skia/SkiaBackingStore.cpp:\n(WebCore::SkiaBackingStore::buildImageSet const):\n* Source/WebCore/platform/graphics/skia/SkiaBackingStore.h:\n* Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.cpp:\n(WebCore::SkiaCompositingLayerImageSetBatch::addImageSet):\n\nCanonical link: https://commits.webkit.org/315740@main",
      "email": "cgarcia@igalia.com",
      "hash": "9f5890620d83ad6749a4cf5f39ce3cc91249af4d",
      "subject": "[GTK][WPE] Skia compositor: bring back the quick reject for offscreen tiles"
    },
    "315741@main": {
      "author": "Simon Pena",
      "avatar": "https://www.gravatar.com/avatar/3dde875c8abcd38f7ddad8ab6c88df1c?d=identicon\u0026s=64",
      "cl": "315741@main",
      "clUrl": "https://commits.webkit.org/315741@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=316990\n\nReviewed by Patrick Griffis.\n\nRaise the libsoup session idle-connection timeout from the 60s default\nto 115s. Keeping idle connections in the pool longer avoids a full\nTCP+TLS reconnect when navigating back to a recently-used origin within\na browsing session. This matches Firefox's default\n(network.http.keep-alive.timeout = 115); Chrome keeps used idle sockets\nfor 300s.\n\nNo new tests, behavior change is a timeout tuning value.\n\n* Source/WebCore/platform/network/soup/SoupNetworkSession.cpp:\n(WebCore::SoupNetworkSession::SoupNetworkSession):\n\nCanonical link: https://commits.webkit.org/315741@main",
      "email": "spena@igalia.com",
      "hash": "db4d5fc97b32c4f0f3d0a7405af76c9c663c24ea",
      "subject": "[GTK][WPE] Increase the libsoup idle connection timeout to 115 seconds"
    },
    "315742@main": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/38445f84fe28aa19bfeb1f59f6559532?d=identicon\u0026s=64",
      "cl": "315742@main",
      "clUrl": "https://commits.webkit.org/315742@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317524\nrdar://180202939\n\nReviewed by Youenn Fablet and Philippe Normand.\n\nThis patch aligns WebKit with Gecko / Firefox and Blink / Chromium.\n\nA buffer-backed VideoFrame is laid out for its coded size, with visibleRect only\ncropping the output. But createI420/createI420A/createNV12 derived each chroma\nplane's offset from the visible output height instead of the coded plane height,\nso a frame whose codedHeight exceeds visibleRect.height (e.g. coded 1920x1088\nshown as 1920x1080, or 320x196 shown as 320x180) read the bottom Y rows as chroma,\nproducing a chroma offset. Use the coded plane height (sourceHeight /\ndestinationOffset) for the offsets; the output size and crop are unchanged\n\n* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-copyTo.any.js:\n(promise_test.async t):\n* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-copyTo.any-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-copyTo.any.worker-expected.txt:\n* Source/WebCore/platform/graphics/cv/VideoFrameCV.mm:\n(WebCore::VideoFrame::createNV12):\n(WebCore::VideoFrame::createI420):\n(WebCore::VideoFrame::createI420A):\n* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:\n(WebCore::VideoFrame::createI420):\n(WebCore::VideoFrame::createI420A):\n\nCanonical link: https://commits.webkit.org/315742@main",
      "email": "ahmad.saleem792+github@gmail.com",
      "hash": "f33b8d6144a591f1142eaad35d4dd115bc4f0338",
      "subject": "ArrayBuffer-backed I420/NV12 VideoFrame with codedHeight larger than visibleRect.height renders chroma offset"
    },
    "315743@main": {
      "author": "Antti Koivisto",
      "avatar": "https://www.gravatar.com/avatar/07965eed55d4b41ea2b394599b17f7cd?d=identicon\u0026s=64",
      "cl": "315743@main",
      "clUrl": "https://commits.webkit.org/315743@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317732\nrdar://179185452\n\nReviewed by Alan Baradlay.\n\nAdd more release asserts to verify correctness.\n\n* Source/WebCore/style/RuleSet.cpp:\n(WebCore::Style::RuleSet::~RuleSet):\n* Source/WebCore/style/RuleSet.h:\n* Source/WebCore/style/RuleSetBuilder.cpp:\n(WebCore::Style::m_shrinkToFit):\n(WebCore::Style::RuleSetBuilder::~RuleSetBuilder):\n* Source/WebCore/style/StyleScope.cpp:\n(WebCore::Style::Scope::updateActiveStyleSheets):\n\nCanonical link: https://commits.webkit.org/315743@main",
      "email": "antti@apple.com",
      "hash": "80b437e79772e634bfa67dae653aa211eb7eb2a9",
      "subject": "Add asserts against re-entrancy during RuleSet building"
    },
    "315744@main": {
      "author": "Michael Catanzaro",
      "avatar": "https://www.gravatar.com/avatar/213b4484d2078dbdd03dcd3256564c2c?d=identicon\u0026s=64",
      "cl": "315744@main",
      "clUrl": "https://commits.webkit.org/315744@main",
      "description": "Unreviewed.\n\nCanonical link: https://commits.webkit.org/315744@main",
      "email": "mcatanzaro@gnome.org",
      "hash": "0dc7de7e7a2d24fa4efb61ebef518e7d2308c236",
      "subject": "Update my codeowners configuration"
    },
    "315745@main": {
      "author": "Marcus Plutowski",
      "avatar": "https://www.gravatar.com/avatar/0dc4fa1c337348e333de44505752edb8?d=identicon\u0026s=64",
      "cl": "315745@main",
      "clUrl": "https://commits.webkit.org/315745@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317687\nrdar://problem/180447990\n\nReviewed by Yusuke Suzuki.\n\nConsumers of libpas, e.g. bmalloc, must explicitly call the\ninline-only allocation fast-path if they want to be able to allocate\nwith minimal latency. If that fails, then they are expected to call into\nthe slow path. This is more complicated than if libpas presented a\nsingle try_allocate function, but that complexity is paid for by the\nadditional flexibility, as evidenced by pathways like the Gigacage and\nother auxiliary heaps, as the fast-path of the main heap can be\npreserved while still allowing callers to allocate from other heaps.\n\nThis patch applies the same approach to the deallocation pathway.\nThis has not previously been necessary, but is important for the ongoing\nrefactor of our MTE implementation, and for the Sequestered Heap\nthereafter. In particular, we want to be able to preserve the fastest\nfast-path on the deallocation side (i.e. the TLC-present\nsmall-segregated free-to-scavenger) while still allowing the caller to\ne.g. try freeing objects from multiple different candidate heaps.\nThis is not necessary for auxiliary heaps because they share megapage\ntables and can thus participate in the same pas_deallocate lookup chain,\nbut distinct pas_heaps do not.\n\nI intend to build on this patch with another one which will incorporate\nthe tagged-bmalloc-heap into our normal allocation paths. As with the\nGigacage today, the bmalloc layer will dispatch to either the normal\nbmalloc_heap or the tagged_bmalloc_heap; on the deallocation side,\nbmalloc's free will first try calling pas_deallocate_inline_only with\nthe untagged pas_heap_config, then if that fails fall back to the MTE\none, and finally to the casual case.\n\n* Source/bmalloc/libpas/src/libpas/bmalloc_heap.c:\n(bmalloc_deallocate_casual):\n* Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h:\n(bmalloc_deallocate_inline):\n* Source/bmalloc/libpas/src/libpas/pas_deallocate.h:\n(pas_try_deallocate_inline_only):\n(pas_try_deallocate_casual_case):\n(pas_deallocate_casual_case):\n(pas_try_deallocate):\n(pas_try_deallocate_impl): Deleted.\n\nCanonical link: https://commits.webkit.org/315745@main",
      "email": "marcus_plutowski@apple.com",
      "hash": "dbed4f5203d9dab0131c4687d6b87a87a932d5c8",
      "subject": "[libpas] Split pas_deallocate into inline-only and casual variants"
    },
    "315746@main": {
      "author": "Wenson Hsieh",
      "avatar": "https://www.gravatar.com/avatar/c8fba82556fd4988c78bd3a0aee2a44e?d=identicon\u0026s=64",
      "cl": "315746@main",
      "clUrl": "https://commits.webkit.org/315746@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317689\nrdar://180449831\n\nReviewed by Abrar Rahman Protyasha.\n\nBe a bit more forgiving, in the case where the agent provides both a search string (`text`) and a\ntarget container `node` when attempting to scroll; if the target `node` doesn't contain the target\ntext, fall back to searching the rest of the document, from the target node. In practice, if the\ntext extraction looks like this:\n\n```\nbutton uid=2742 Edit\nShopping Preference\nPreference\nNot Set\nbutton uid=2743 Edit\nEmail \u0026 Password\nEmail Preferences\n```\n\n...and the agent wants to scroll to 'Email \u0026 Password', it occasionally issues something like\n`scroll(node='2743', text='Email \u0026 Password')` which fails because the Edit button doesn't\nliterally contain the target text. Address this by giving text in the target node priority, but\nautomatically fall back to searching from the target node onwards if the search text is not found.\n\nTest: TextExtractionTests.ScrollToRevealFallsBackToFullDocumentWhenNodeMisses\n\n* Source/WebCore/page/text-extraction/TextExtraction.cpp:\n(WebCore::TextExtraction::scrollToReveal):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/TextExtractionTests.mm:\n(TestWebKitAPI::ScrollToRevealFallsBackToFullDocumentWhenNodeMisses)):\n(TestWebKitAPI::ClickInteractionWhileInBackground)): Deleted.\n\nCanonical link: https://commits.webkit.org/315746@main",
      "email": "wenson_hsieh@apple.com",
      "hash": "a558e183c53fc32f9e6f3fff2215eae973f5ae79",
      "subject": "[Text Extraction] `scroll` should search the rest of the document if the target text isn't contained in the given node"
    },
    "315747@main": {
      "author": "Geoffrey Garen",
      "avatar": "https://www.gravatar.com/avatar/9f2ee1a184d00263dc68af055f15b697?d=identicon\u0026s=64",
      "cl": "315747@main",
      "clUrl": "https://commits.webkit.org/315747@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=312701\nrdar://175099661\n\nReviewed by David Kilzer.\n\nAs dictated by SaferCPP.\n\nCanonical link: https://commits.webkit.org/315747@main",
      "email": "ggaren@apple.com",
      "hash": "49480340a1042ac7f482a3b0960ed3da3be1d4be",
      "subject": "[SaferCPP] Fixed uncounted local and argument warnings in Source/WebCore"
    },
    "315748@main": {
      "author": "Alejandro G. Castro",
      "avatar": "https://www.gravatar.com/avatar/c8c6e17acbdf0549b05d6f7fc2c1c4dc?d=identicon\u0026s=64",
      "cl": "315748@main",
      "clUrl": "https://commits.webkit.org/315748@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317744\n\nReviewed by Carlos Garcia Campos.\n\nA directly composited image is drawn in SkiaCompositingLayer::paintContents()\nwith an SkShader whose local matrix was computed from the contents tile size\nand phase only, ignoring the contents rect origin. When the layer is partially\nclipped (for instance an element positioned partly offscreen) the contents rect\nhas a non-zero, negative origin, so the kRepeat shader sampled the wrong region\nof the image and the layer was painted as an opaque rectangle instead of the\nimage's actual shape.\n\nAnchor the pattern at the contents rect origin, matching both the non-tiled\ndrawImageRect() path below it and the TextureMapper implementation. It is a\nno-op when the contents rect origin is zero.\n\nAdded a new layout test:\n  - compositing/patterns/direct-pattern-compositing-offscreen.html\n\n* LayoutTests/compositing/patterns/direct-pattern-compositing-offscreen-expected.html: Added.\n* LayoutTests/compositing/patterns/direct-pattern-compositing-offscreen.html: Added.\n* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp:\n(WebCore::SkiaCompositingLayer::paintContents):\n\nCanonical link: https://commits.webkit.org/315748@main",
      "email": "alex@igalia.com",
      "hash": "14dfefc6795a38c665aaa22ec596ae1e887c3dd2",
      "subject": "[GTK][WPE] Skia Compositor: directly composited image is painted as a solid rectangle when partially offscreen"
    },
    "315749@main": {
      "author": "Marta Darbinyan",
      "avatar": "https://www.gravatar.com/avatar/6143b3673258642a8b75585c768ccf10?d=identicon\u0026s=64",
      "cl": "315749@main",
      "clUrl": "https://commits.webkit.org/315749@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317753\nrdar://180525304\n\nUnreviewed test gardening\n\n* LayoutTests/platform/ios/TestExpectations:\n\nCanonical link: https://commits.webkit.org/315749@main",
      "email": "darbinyan@apple.com",
      "hash": "8fb21d25cf23b088d4254daae5eaa97d272a1fb0",
      "subject": "[Gardening]: [iOS] imported/w3c/web-platform-tests/content-security-policy/sandbox/meta-element.sub.html is failing in EWS"
    },
    "315750@main": {
      "author": "lilly",
      "avatar": "https://www.gravatar.com/avatar/6f92b711483096db0247c16946fb3f29?d=identicon\u0026s=64",
      "cl": "315750@main",
      "clUrl": "https://commits.webkit.org/315750@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317453\nrdar://180074651\n\nReviewed by Simon Fraser.\n\nThis change implements both: cornerCurvaturesFromStyle now reads the\nfour curvature values from BorderData, and hasNonRoundCornerShape()\nreturns true when any corner has both a non-round curvature and a non-zero\nradius — a zero-radius corner has no curve to shape so the check correctly\nskips it. Also updates the private path-building helpers to take pre-computed\nFloatRoundedRect parameters so each caller pixel-snaps once and passes\nthe result through, avoiding redundant snapping.\n\nPasses existing tests\n\n* Source/WebCore/rendering/BorderShape.cpp:\n(WebCore::cornerCurvaturesFromStyle):\n(WebCore::BorderShape::hasNonRoundCornerShape const):\n(WebCore::BorderShape::pathForOuterRoundedRect const):\n(WebCore::BorderShape::pathForInnerRoundedRect const):\n(WebCore::BorderShape::pathForOuterCornerShape const):\n(WebCore::BorderShape::pathForInnerCornerShape const):\n(WebCore::BorderShape::pathForOuterShape const):\n(WebCore::BorderShape::pathForInnerShape const):\n(WebCore::BorderShape::addOuterShapeToPath const):\n(WebCore::BorderShape::addInnerShapeToPath const):\n(WebCore::BorderShape::pathForBorderArea const):\n(WebCore::BorderShape::clipToOuterShape const):\n(WebCore::BorderShape::clipToInnerShape const):\n(WebCore::BorderShape::clipOutOuterShape const):\n(WebCore::BorderShape::clipOutInnerShape const):\n(WebCore::BorderShape::fillOuterShape const):\n(WebCore::BorderShape::fillInnerShape const):\n(WebCore::BorderShape::fillRectWithInnerHoleShape const):\n* Source/WebCore/rendering/BorderShape.h:\n\nCanonical link: https://commits.webkit.org/315750@main",
      "email": "173393835+codedbycupidity@users.noreply.github.com",
      "hash": "de288df8b7d08c4ed4eea9d2021ab20df5164e6b",
      "subject": "BorderShape: implement corner-shape dispatch and eliminate redundant pixel snapping in path helpers"
    },
    "315751@main": {
      "author": "Marta Darbinyan",
      "avatar": "https://www.gravatar.com/avatar/6143b3673258642a8b75585c768ccf10?d=identicon\u0026s=64",
      "cl": "315751@main",
      "clUrl": "https://commits.webkit.org/315751@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317756\nrdar://180527870\n\nUnreviewed test gardening\n\n* LayoutTests/platform/ios/TestExpectations:\n\nCanonical link: https://commits.webkit.org/315751@main",
      "email": "darbinyan@apple.com",
      "hash": "72bb72222bda0a761b6ba4f79fc116928a793d55",
      "subject": "[Gardening][iOS] imported/w3c/web-platform-tests/css/selectors/user-valid.html is flaky in EWS"
    },
    "315752@main": {
      "author": "Nipun Shukla",
      "avatar": "https://www.gravatar.com/avatar/9a13a8579ea8334d608108813da41a71?d=identicon\u0026s=64",
      "cl": "315752@main",
      "clUrl": "https://commits.webkit.org/315752@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317618\nrdar://178665935\n\nReviewed by Chris Dumez.\n\nPreviously, stopping a document didn't remove its MutationObservers from\nthe shared WindowEventLoop's observer sets, so an observer left parked there\nwith a pending mutation record keeps its target nodes, and therefore the\nwhole document, alive forever.\n\nThis is resolved by draining a stopped context's MutationObservers from those\nsets in Document::stopActiveDOMObjects().\n\nTest: fast/dom/MutationObserver/no-document-leak.html\n\n* LayoutTests/fast/dom/MutationObserver/no-document-leak-expected.txt: Added.\n* LayoutTests/fast/dom/MutationObserver/no-document-leak.html: Added.\n* LayoutTests/fast/dom/MutationObserver/resources/no-document-leak-frame.html: Added.\n* Source/WebCore/dom/Document.cpp:\n(WebCore::Document::stopActiveDOMObjects):\n* Source/WebCore/dom/WindowEventLoop.cpp:\n(WebCore::WindowEventLoop::removeMutationObserversForContext):\n* Source/WebCore/dom/WindowEventLoop.h:\n\nCanonical link: https://commits.webkit.org/315752@main",
      "email": "nipun_shukla@apple.com",
      "hash": "cffe1bb496638c3ba8ceb32be54023e52e0b8513",
      "subject": "Document leak in MutationObserver"
    },
    "315753@main": {
      "author": "Roberto Rodriguez",
      "avatar": "https://www.gravatar.com/avatar/45f4995b936231d4893f38e70cbc4805?d=identicon\u0026s=64",
      "cl": "315753@main",
      "clUrl": "https://commits.webkit.org/315753@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317686\nrdar://180447621\n\nReviewed by Anne van Kesteren.\n\nA frame-ancestors directive in a report-only policy should report violations without blocking the frame.\nCurrently, no reports are sent because when parsing a report-only policy, WebKit discards the frame-ancestors\ndirective. As a result, the violation is never detected or reported. This followed CSP Level 2 spec 7.7\n(https://www.w3.org/TR/CSP2/#directive-frame-ancestors) which required report-only frame-ancestors to be ignored.\nThis is no longer present in CSP Level 3 spec 6.4.2 (https://www.w3.org/TR/CSP3/#directive-frame-ancestors).\n\nFix by storing the frame-ancestors directive when parsing a report-only policy instead of discarding it. Once\nit is stored, the existing checks in ContentSecurityPolicy::allPoliciesAllow find the violation and report it,\nbut not enforce it, allowing the frame to load.\n\n* LayoutTests/http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-in-report-only-ignored-expected.txt: Removed.\n* LayoutTests/http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-in-report-only-ignored.html: Removed.\n* LayoutTests/imported/w3c/web-platform-tests/content-security-policy/frame-ancestors/report-only-frame.sub-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/content-security-policy/reporting/report-frame-ancestors-with-x-frame-options.sub-expected.txt:\n* Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp:\n(WebCore::ContentSecurityPolicyDirectiveList::addDirective):\n\nCanonical link: https://commits.webkit.org/315753@main",
      "email": "roberto_rodriguez2@apple.com",
      "hash": "dc55580d736adcfaf04bb4cd944937481258936d",
      "subject": "CSP report-only frame-ancestors is ignored instead of being reported"
    },
    "315754@main": {
      "author": "Diego Pino Garcia",
      "avatar": "https://www.gravatar.com/avatar/e8cce88637f1a6e79155e8371e24b2e8?d=identicon\u0026s=64",
      "cl": "315754@main",
      "clUrl": "https://commits.webkit.org/315754@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317751\n\nUnreviewed build fix.\n\nSet explicit cast for variable 'uri_to_id' from type 'absl::string' to\n'std::string' since GCC fails to deduce the expected pair type.\n\n* Source/ThirdParty/libwebrtc/Source/webrtc/call/payload_type_picker.cc:\n\nCanonical link: https://commits.webkit.org/315754@main",
      "email": "dpino@igalia.com",
      "hash": "0f5a12e43c0e1cfef3ce2b240cf971730c8def7a",
      "subject": "[LibWebRTC][GCC] Fix build failure after M150 update"
    },
    "315755@main": {
      "author": "Andy Estes",
      "avatar": "https://www.gravatar.com/avatar/643f10f01b26fd94d03482a2013b2ea0?d=identicon\u0026s=64",
      "cl": "315755@main",
      "clUrl": "https://commits.webkit.org/315755@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317763\nrdar://180510695\n\nUnreviewed build fix.\n\n* Source/WebCore/testing/cocoa/WebMockMediaDeviceRoute.mm:\n\nCanonical link: https://commits.webkit.org/315755@main",
      "email": "aestes@apple.com",
      "hash": "19f8c48aef9f8d147321446eb2651bd4ad0792ac",
      "subject": "Fix the iOS Simulator build"
    },
    "315756@main": {
      "author": "Yusuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/3455d9081295e3e740c1ffa901217d9b?d=identicon\u0026s=64",
      "cl": "315756@main",
      "clUrl": "https://commits.webkit.org/315756@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317635\nrdar://180381307\n\nReviewed by Keith Miller.\n\nNow B3::BasicBlock and DFG::BasicBlock has similar shape. So we can\neasily share SSACalculator with them. This patch moves DFGSSACalculator\nfrom JSC to WTF and use them from DFG and B3. This is following to the\nsimilar manner in WTF::Liveness unification.\n\nSince we moved all logic in B3::SSACalculator, it also brings path\ncompression to WTF::SSACalculator. Previously DFG::SSACalculator didn't\nhave that.\n\n* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:\n* Source/JavaScriptCore/Sources.txt:\n* Source/JavaScriptCore/b3/B3SSACalculator.cpp: Removed.\n* Source/JavaScriptCore/b3/B3SSACalculator.h:\n(JSC::B3::SSACalculatorAdapter::SSACalculatorAdapter):\n(JSC::B3::SSACalculatorAdapter::cfg const):\n(JSC::B3::SSACalculatorAdapter::dominators):\n(JSC::B3::SSACalculatorAdapter::dumpValue):\n(JSC::B3::SSACalculator::Variable::index const): Deleted.\n(JSC::B3::SSACalculator::Variable::Variable): Deleted.\n(JSC::B3::SSACalculator::Def::variable const): Deleted.\n(JSC::B3::SSACalculator::Def::block const): Deleted.\n(JSC::B3::SSACalculator::Def::value const): Deleted.\n(JSC::B3::SSACalculator::Def::Def): Deleted.\n(JSC::B3::SSACalculator::variable): Deleted.\n(JSC::B3::SSACalculator::computePhis): Deleted.\n(): Deleted.\n(JSC::B3::SSACalculator::reachingDefAtHead): Deleted.\n* Source/JavaScriptCore/dfg/DFGSSACalculator.cpp: Removed.\n* Source/JavaScriptCore/dfg/DFGSSACalculator.h:\n(JSC::DFG::SSACalculatorAdapter::SSACalculatorAdapter):\n(JSC::DFG::SSACalculatorAdapter::cfg const):\n(JSC::DFG::SSACalculatorAdapter::dominators):\n(JSC::DFG::SSACalculatorAdapter::dumpValue):\n(JSC::DFG::SSACalculator::Variable::index const): Deleted.\n(JSC::DFG::SSACalculator::Variable::Variable): Deleted.\n(JSC::DFG::SSACalculator::Def::variable const): Deleted.\n(JSC::DFG::SSACalculator::Def::block const): Deleted.\n(JSC::DFG::SSACalculator::Def::value const): Deleted.\n(JSC::DFG::SSACalculator::Def::Def): Deleted.\n(JSC::DFG::SSACalculator::variable): Deleted.\n(JSC::DFG::SSACalculator::computePhis): Deleted.\n(): Deleted.\n(JSC::DFG::SSACalculator::reachingDefAtHead): Deleted.\n* Source/WTF/WTF.xcodeproj/project.pbxproj:\n* Source/WTF/wtf/CMakeLists.txt:\n* Source/WTF/wtf/SSACalculator.h: Copied from Source/JavaScriptCore/dfg/DFGSSACalculator.h.\n(WTF::SSACalculator::SSACalculator):\n(WTF::SSACalculator::reset):\n(WTF::SSACalculator::Variable::index const):\n(WTF::SSACalculator::Variable::dump const):\n(WTF::SSACalculator::Variable::dumpVerbose const):\n(WTF::SSACalculator::Variable::Variable):\n(WTF::SSACalculator::Def::variable const):\n(WTF::SSACalculator::Def::block const):\n(WTF::SSACalculator::Def::value const):\n(WTF::SSACalculator::Def::dump const):\n(WTF::SSACalculator::Def::Def):\n(WTF::SSACalculator::newVariable):\n(WTF::SSACalculator::newDef):\n(WTF::SSACalculator::variable):\n(WTF::SSACalculator::computePhis):\n(WTF::SSACalculator::nonLocalReachingDef):\n(WTF::SSACalculator::reachingDefAtHead):\n(WTF::SSACalculator::reachingDefAtTail):\n(WTF::SSACalculator::dump const):\n(WTF::SSACalculator::ensureDominanceFrontiers):\n\nCanonical link: https://commits.webkit.org/315756@main",
      "email": "ysuzuki@apple.com",
      "hash": "6a65eda545cb21c09ca54b0994b266a56b4661be",
      "subject": "[JSC] Unify SSACalculator"
    },
    "315757@main": {
      "author": "Anthony Tarbinian",
      "avatar": "https://www.gravatar.com/avatar/ef46154a1a21c6a5ef593e952ebc62f4?d=identicon\u0026s=64",
      "cl": "315757@main",
      "clUrl": "https://commits.webkit.org/315757@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317694\nrdar://180450971\n\nReviewed by David Kilzer.\n\nTo fix an issue with inconsistent Swift PCM files,\nenable the -fexperimental-late-parse-attributes in the\nbuild-and-analyze script when compiler caching is disabled.\n\nAlso add plumbing to Makefile.shared to pass along\nOTHER_SWIFT_FLAGS from make to the compiler (mirrors OTHER_CFLAGS).\n\n* Makefile.shared:\n* Tools/Scripts/build-and-analyze:\n(main):\n\nCanonical link: https://commits.webkit.org/315757@main",
      "email": "a_tarbinian@apple.com",
      "hash": "c998d7a54ec8752502d0f781ad48525db21616f6",
      "subject": "Enable -fexperimental-late-parse-attributes on build-and-analyze with compiler caching disabled"
    },
    "315758@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "315758@main",
      "clUrl": "https://commits.webkit.org/315758@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=294908\n\u003crdar://problem/154766890\u003e\n\nReviewed by Qianlang Chen.\n\n* Source/WebInspectorUI/UserInterface/Models/LoggingChannel.js:\n(WI.LoggingChannel.prototype.set level): Added.\n* Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js:\n(WI.SettingsTabContentView.prototype._createConsoleSettingsView):\nModify the actual model object when changing instead of just invoking `Console.setLoggingChannelLevel`.\n\n* Source/WebInspectorUI/UserInterface/Controllers/ConsoleManager.js:\n(WI.ConsoleManager.prototype.initializeTarget):\nInvoke `Console.setLoggingChannelLevel` for each new `WI.Target` based on the current saved value.\n\nCanonical link: https://commits.webkit.org/315758@main",
      "email": "hi@devinrousso.com",
      "hash": "51c7591a14137e0426162a388d52fa77bcf08ed9",
      "subject": "Web Inspector: Media Logging setting does not persist across page loads"
    },
    "315759@main": {
      "author": "Roberto Rodriguez",
      "avatar": "https://www.gravatar.com/avatar/45f4995b936231d4893f38e70cbc4805?d=identicon\u0026s=64",
      "cl": "315759@main",
      "clUrl": "https://commits.webkit.org/315759@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317614\nrdar://180342503\n\nReviewed by Anne van Kesteren.\n\nWhen content that's already loaded navigates to a #fragment of the same page, no new fetch\ntakes place, so CSP should not be checked against it. WebKit currently does, reporting a\nviolation and cancelling the navigation.\n\nFix by skipping the CSP check for same-document navigations, so changing only a URL's fragment\nis no longer treated as a new load. Cross-document loads remain checked as before.\n\n* LayoutTests/imported/w3c/web-platform-tests/content-security-policy/frame-src/frame-src-cross-origin-same-document-navigation.window-expected.txt:\n* Source/WebCore/loader/FrameLoader.cpp:\n(WebCore::FrameLoader::loadURL):\n(WebCore::FrameLoader::loadWithDocumentLoader):\n* Source/WebCore/loader/PolicyChecker.cpp:\n(WebCore::PolicyChecker::checkNavigationPolicy):\n* Source/WebCore/loader/PolicyChecker.h:\n\nCanonical link: https://commits.webkit.org/315759@main",
      "email": "roberto_rodriguez2@apple.com",
      "hash": "34ec6930288c2a21d0c70b2bbcb5006438d26cc0",
      "subject": "Same-page navigations should not be checked against CSP"
    },
    "315760@main": {
      "author": "Anand Srinivasan",
      "avatar": "https://www.gravatar.com/avatar/84643a20c269974c2df6681742daf0a4?d=identicon\u0026s=64",
      "cl": "315760@main",
      "clUrl": "https://commits.webkit.org/315760@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317695\nrdar://178997662\n\nReviewed by Sosuke Suzuki and Yusuke Suzuki.\n\nJSC::JSArray::fastFlat crashes if the flattened array exceeds the\nmaximum length of the vector holding it. This patch changes it to return\nnull and bail out to the slow path in JSC::arrayProtoFuncFlat instead of\ncrashing.\n\nTest: JSTests/stress/array-prototype-flat-reentrant-mutation.js\n\n* JSTests/stress/array-prototype-flat-reentrant-mutation.js: Added.\n(try.array.Symbol.iterator):\n(catch):\n* Source/JavaScriptCore/runtime/JSArray.cpp:\n(JSC::JSArray::fastFlat):\n\nCanonical link: https://commits.webkit.org/315760@main",
      "email": "anand_srinivasan@apple.com",
      "hash": "77c66694dfbc3ff72754d5e533ade4dd7c13ab99",
      "subject": "Check if JSArray::fastFlat exceeds maximum legal length"
    },
    "315761@main": {
      "author": "Keith Miller",
      "avatar": "https://www.gravatar.com/avatar/bddc1595b29098429a6ce7c8bf4aced2?d=identicon\u0026s=64",
      "cl": "315761@main",
      "clUrl": "https://commits.webkit.org/315761@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317755\nrdar://180447615\n\nReviewed by Yijia Huang.\n\nRemove some dead code for hasDisableTZoneEntitlement checks. The\ncallback is set but never checked or called.\n\nNo new tests, dead code removal.\n\nCanonical link: https://commits.webkit.org/315761@main",
      "email": "keith_miller@apple.com",
      "hash": "074869732f70212de49196ecee0fbee34e3807dd",
      "subject": "[TZone] Remove dead hasDisableTZoneEntitlement callback"
    },
    "315763@main": {
      "author": "Elliott Williams",
      "avatar": "https://www.gravatar.com/avatar/4086acbe078d65242df929cb51298130?d=identicon\u0026s=64",
      "cl": "315763@main",
      "clUrl": "https://commits.webkit.org/315763@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317558\nrdar://180258838\n\nReviewed by Adrian Taylor and Geoffrey Garen.\n\nReimplement the headermap generation logic to be more closely aligned to\nhow Xcode does it, and simpler. This is needed to support copying (not\nsymlinking) headers into the build directory, which itself is needed to\npostprocess headers so that clients can use them properly. Works toward\ngetting the internal SDK working for macOS builds.\n\nKey changes:\n\n- Entries in headermaps map to headers in their *source* location, not\n  in the build directory.\n\n- Project headers (i.e. headers which are only used in-target and are\n  not installed) are tracked by new *_PROJECT_HEADERS variables, same as\n  in Xcode. They are used to generate a private headermap, used only by\n  the same target while it builds.\n\n  Right now, the PROJECT_HEADERS variables are minimal and only list\n  what is needed to make the build pass. Next step is to flesh out these\n  lists to contain all headers. At that time it will be possible to\n  remove most of the -I flags from compiler invocations for a modest\n  build perf boost.\n\n- Installed headers go to a public headermap, which supports\n  bracket-style lookups. Clients of a framework get its public headermap\n  added to their search paths, so they get faster lookup of that\n  framework's headers.\n\n- Headermaps are prepended to the compiler search paths, so that they\n  actually take precedence over the build directory.\n\n* CMakeLists.txt:\n* Source/JavaScriptCore/CMakeLists.txt:\n* Source/WebCore/CMakeLists.txt:\n* Source/WebCore/Headers.cmake:\n* Source/WebKit/CMakeLists.txt:\n* Source/WebKitLegacy/PlatformIOS.cmake:\n* Source/WebKitLegacy/PlatformMac.cmake:\n* Source/cmake/WebKitHeaderMap.cmake:\n* Source/cmake/WebKitMacros.cmake:\n* Tools/Scripts/generate-header-map: Removed.\n\nCanonical link: https://commits.webkit.org/315763@main",
      "email": "emw@apple.com",
      "hash": "6a66090fd9250f4debc8e0053c538ec8b69ceb94",
      "subject": "[CMake] Fix headermap generation and use it in more places"
    },
    "315764@main": {
      "author": "Qianlang Chen",
      "avatar": "https://www.gravatar.com/avatar/0fd54e904334f604739d0205aa6e2130?d=identicon\u0026s=64",
      "cl": "315764@main",
      "clUrl": "https://commits.webkit.org/315764@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=316876\n\nReviewed by BJ Burg.\n\nMove StyleSheetAction and subclasses out of InspectorCSSAgent's\nfile-private nested scope into InspectorStyleSheet.h, so\nFrameCSSAgent can construct and submit the same actions to its\nInspectorHistory when we later implement style-editing commands on\nframe targets.\n\nThese classes only depend on InspectorStyleSheet and InspectorHistory;\nthere is no agent-specific state, so the original nesting inside\nInspectorCSSAgent was incidental.\n\nAlso address safer-cpp issues by holding RefPtr on the stack whenever\nappropriate.\n\nNo new tests; no change in observable behavior.\n\n* Source/WebCore/inspector/InspectorStyleSheet.h:\n(WebCore::StyleSheetAction::StyleSheetAction):\n(isType):\n* Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:\n(WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction): Deleted.\n(): Deleted.\n(isType): Deleted.\n* Source/WebCore/inspector/agents/InspectorCSSAgent.h:\n\nCanonical link: https://commits.webkit.org/315764@main",
      "email": "qianlangchen@apple.com",
      "hash": "18e395f2099a4d939e4c1518bd316284498eccea",
      "subject": "[Site Isolation] Web Inspector: Make InspectorStyleSheet-related actions accessible for frame targets"
    },
    "315765@main": {
      "author": "Alex Christensen",
      "avatar": "https://www.gravatar.com/avatar/b087c5dfcb1233e80cad9105fd5a1ac6?d=identicon\u0026s=64",
      "cl": "315765@main",
      "clUrl": "https://commits.webkit.org/315765@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317680\nrdar://180438345\n\nReviewed by Pascoe.\n\nWhen opening pages with media with cmake minibrowser on macOS, I get crashes like this:\n\n*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[WK_RTCVideoCodecInfo nativeSdpVideoFormat]: unrecognized selector sent to instance\n\nThis is because we weren't even compiling nativeSdpVideoFormat.  As suggested by Simon Lewis,\nwe put the Private.mm files in their own library so that they are actually loaded by the linker,\nwhich otherwise continues to ignore them.\n\n* Source/ThirdParty/libwebrtc/CMakeLists.txt:\n* Source/WebCore/PlatformCocoa.cmake:\n\nCanonical link: https://commits.webkit.org/315765@main",
      "email": "achristensen@apple.com",
      "hash": "ce73b886a6e182bd1f9acaf0dda830e41172d804",
      "subject": "Fix NSInvalidArgumentException when running cmake MiniBrowser on sites with media"
    },
    "315766@main": {
      "author": "Claudio Saavedra",
      "avatar": "https://www.gravatar.com/avatar/376a6edb56b8e52de407ea171c869bcf?d=identicon\u0026s=64",
      "cl": "315766@main",
      "clUrl": "https://commits.webkit.org/315766@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317745\n\nReviewed by Nikolas Zimmermann.\n\nGCC 14 through 16 report mpark variant's index_ as used uninitialized when\nvalueless_by_exception()/index() inline into\nHashMap\u003cGenericHashKey\u003c...\u003e, ...\u003e::remove(), even though index_ is set by\nevery base constructor. This breaks --fatal-warnings builds (e.g. Ubuntu\n26.04 / GCC 15). Suppress -Wuninitialized around the two accessors on GCC;\nclang and GCC \u003c= 13 are unaffected.\n\n* Source/WTF/wtf/Variant.h:\n\nCanonical link: https://commits.webkit.org/315766@main",
      "email": "csaavedra@igalia.com",
      "hash": "73da1e5722c9c299034ea3d18d8ea8fa87e1f2b1",
      "subject": "Work around GCC 14+ false -Wuninitialized in Variant"
    },
    "315767@main": {
      "author": "Issac Roy",
      "avatar": "https://www.gravatar.com/avatar/dad994528f617bf59fe005077d0fa8f3?d=identicon\u0026s=64",
      "cl": "315767@main",
      "clUrl": "https://commits.webkit.org/315767@main",
      "description": "rdar://130129302\nhttps://bugs.webkit.org/show_bug.cgi?id=317460\n\nReviewed by Elliott Williams.\n\nWhen a pull-request is created or updated, automatically update the\nassociated Radar. Controlled by the `webkitscmpy.update-radar` config\nkey (default: true) and a `--update-radar` / `--no-update-radar` flag.\n\n* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:\n(PullRequest.parser): Add --update-radar / --no-update-radar argument.\n(PullRequest.create_pull_request): Update radar after PR is created or updated.\n* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:\n\nCanonical link: https://commits.webkit.org/315767@main",
      "email": "issacroy05@gmail.com",
      "hash": "02059fcf6f679bcabd3f4942458d9f2e107d6ecc",
      "subject": "[git-webkit] Auto-update Radar when uploading a pull-request"
    },
    "315768@main": {
      "author": "Marta Darbinyan",
      "avatar": "https://www.gravatar.com/avatar/6143b3673258642a8b75585c768ccf10?d=identicon\u0026s=64",
      "cl": "315768@main",
      "clUrl": "https://commits.webkit.org/315768@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317144\nrdar://179742370\n\nUnreviewed test gardening\n\n* TestExpectations/apitests:\n\nCanonical link: https://commits.webkit.org/315768@main",
      "email": "darbinyan@apple.com",
      "hash": "14623d45d67db9e0fe80214fefe3c68c05697f87",
      "subject": "[Gardening]: REGRESSION(315050@main):[macOS iOS] Two tests in TestWebKitAPI.WKHTTPCookieStore are constant failure"
    },
    "315770@main": {
      "author": "Geoffrey Garen",
      "avatar": "https://www.gravatar.com/avatar/9f2ee1a184d00263dc68af055f15b697?d=identicon\u0026s=64",
      "cl": "315770@main",
      "clUrl": "https://commits.webkit.org/315770@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317700\nrdar://180458028\n\nReviewed by David Kilzer.\n\nWaiting for CI is slow. This thingy runs at desk in like 15 seconds.\n\n* Tools/Scripts/analyze-safer-cpp: The new tool.\n\nCanonical link: https://commits.webkit.org/315770@main",
      "email": "ggaren@apple.com",
      "hash": "b50e3ac595e993d71bbec8f08a6331cfe1355ff6",
      "subject": "[SaferCPP] Introduce analyze-safer-cpp for at-desk SaferCPP evaluation"
    },
    "315772@main": {
      "author": "Qianlang Chen",
      "avatar": "https://www.gravatar.com/avatar/0fd54e904334f604739d0205aa6e2130?d=identicon\u0026s=64",
      "cl": "315772@main",
      "clUrl": "https://commits.webkit.org/315772@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=316843\n\nReviewed by BJ Burg.\n\nImplement setStyleText, setRuleSelector, setGroupingHeaderText, and\naddRule in FrameCSSAgent. These commands follow the same pattern as the\nexisting page target's agent, InspectorCSSAgent: resolve the style sheet\nby id, obtain the FrameDOMAgent's InspectorHistory, and dispatch the\ncorresponding Action subclass.\n\nTest: http/tests/site-isolation/inspector/css/css-editing-commands-frame-target.html\n\n* LayoutTests/http/tests/site-isolation/inspector/css/css-editing-commands-frame-target-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/css/css-editing-commands-frame-target.html: Added.\n* LayoutTests/http/tests/site-isolation/inspector/css/resources/frame-with-stylesheet.html:\n* Source/JavaScriptCore/inspector/protocol/CSS.json:\n* Source/WebCore/inspector/agents/frame/FrameCSSAgent.cpp:\n(WebCore::FrameCSSAgent::setStyleText):\n(WebCore::FrameCSSAgent::setRuleSelector):\n(WebCore::FrameCSSAgent::setGroupingHeaderText):\n(WebCore::FrameCSSAgent::addRule):\n\nCanonical link: https://commits.webkit.org/315772@main",
      "email": "qianlangchen@apple.com",
      "hash": "8fcf001e06ff956e91f565849ea8b1637705efd3",
      "subject": "[Site Isolation] Web Inspector: Implement style/rule editing CSS commands for frame targets"
    },
    "315773@main": {
      "author": "Marta Darbinyan",
      "avatar": "https://www.gravatar.com/avatar/6143b3673258642a8b75585c768ccf10?d=identicon\u0026s=64",
      "cl": "315773@main",
      "clUrl": "https://commits.webkit.org/315773@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=295419\nrdar://154970083\n\nUnreviewed test gardening\n\n* LayoutTests/platform/ios/TestExpectations:\n\nCanonical link: https://commits.webkit.org/315773@main",
      "email": "darbinyan@apple.com",
      "hash": "750cef81a09afa24c0666ae7762565b20ecca7d0",
      "subject": "[Gardening]: [ macOS wk2 ] loader/navigation-policy/should-open-external-urls/subframe-navigated-programatically-by-main-frame.html is a flakey text failure"
    },
    "315774@main": {
      "author": "Jean-Yves Avenard",
      "avatar": "https://www.gravatar.com/avatar/509313899deeb9262fad8f5e04093f5b?d=identicon\u0026s=64",
      "cl": "315774@main",
      "clUrl": "https://commits.webkit.org/315774@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317742\nrdar://180411019\n\nReviewed by Eric Carlson.\n\nPer spec, the `stalled`, `progress`, `suspend` events are controlled\nby the  resource fetch algorithm (#1) when the mode is `remote`.\nThe Media Source Extension override the resource fetch algorithm and set the\nmode as `local` (#2) in the resource fetch algorithm.\nAs such those media events can't be fired with MSE. MediaSource spec however\ndo mention that is is possible for an implementation to fire those events (#3)\nin a 10 years old note stating:\n\"An attached MediaSource does not use the remote mode steps in the resource\nfetch algorithm, so the media element will not fire \"suspend\" events.\nThough future versions of this specification will likely remove \"progress\"\nand \"stalled\" events from a media element with an attached MediaSource,\nuser agents conforming to this version of the specification may still fire\nthese two events as these [HTML] references changed after implementations\nof this specification stabilized.\"\n\nSome media-source web-platform-tests do test that no stalled or progress\nevent are fired (which both Firefox and Chrome pass indicating that they\ndo not fire the `progress` event either).\n\nA bug in the MediaPlayerPrivateRemote made it always fire the `progress`\nevent at regular interval as it never checked the MediaPlayerPrivate::supportsProgressMonitoring\nand so Safari used to fire this event at regular interval when using MSE.\nWhen MediaContainment was enabled, supportsProgressMonitoring override became\nfunctional again and MediaPlayerPrivateMediaSourceAVFObjC::supportsProgressMonitoring\nreturned false.\n\nUnifi.ui.com web player listen to the `progress` event to determine when\nto call `play()`, as no progress event is fired with MSE, play() wasn't called\nand so playback never started and only the first video frame was shown.\n\nWe add a quirk for ui.com that forces the `progress`, `suspend`, `stalled`\nevent to be fired. Note that `stalled` is fired often in this mode as\nit is fired if nothing has been downloaded for 3s. With MSE it is not uncommon\nto have the JS player only enqueue new content every 10s or so and media\nis progressing properly.\n\n1)https://html.spec.whatwg.org/multipage/media.html#concept-media-load-resource\n2)https://www.w3.org/TR/media-source-2/#mediasource-attach\n\nManually tested.\n\n* Source/WebCore/html/HTMLMediaElement.cpp:\n(WebCore::HTMLMediaElement::loadResource):\n* Source/WebCore/page/Quirks.cpp:\n* Source/WebCore/page/Quirks.h:\n* Source/WebCore/platform/graphics/MediaPlayer.h:\n* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:\n* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:\n(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsProgressMonitoring const):\n* Source/WebKit/Shared/WebCoreArgumentCodersMedia.serialization.in:\n\nCanonical link: https://commits.webkit.org/315774@main",
      "email": "jya@apple.com",
      "hash": "e59e5a3f448911f6f7eb31402640a5ec93d8358c",
      "subject": "unifi.ui.com: Security camera video playback not working in Safari, works in Chrome"
    },
    "315775@main": {
      "author": "Qianlang Chen",
      "avatar": "https://www.gravatar.com/avatar/0fd54e904334f604739d0205aa6e2130?d=identicon\u0026s=64",
      "cl": "315775@main",
      "clUrl": "https://commits.webkit.org/315775@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=314148\n\nReviewed by BJ Burg.\n\nRoute CSS commands and events through FrameCSSAgent for cross-origin\niframes, mirroring how FrameDOMAgent is already used in the frontend\nfor the DOM domain's commands and events. Cross-origin iframes now\ngo from no CSS support to partial support, while the main frame and\nsame-origin iframes continue to be handled by the page-target\nInspectorCSSAgent unchanged, with full support.\n\nRouting decisions key based on the existing `owningTarget` getter on\nDOMNode, introduced for FrameDOMAgent. When a DOMNode's owningTarget is\na FrameTarget, CSS commands for that node go to the frame's new\nCSSAgent; otherwise they fall back to the page target via\nWI.assumingMainTarget(). The same predicate is used to decide whether a\nstyleSheetAdded event came from a frame target's CSSObserver, in which\ncase the style sheet is recorded with `target.identifier + \":\" + rawId`\nas its map key to disambiguate from page-target identifiers.\n\nMost of the changes are mechanical owningTarget-based routing across\nCSSObserver, CSSManager, CSSStyleSheet, CSSGrouping, DOMNodeStyles,\nand DOMNode. The DOMNode `frame` getter now walks the parentNode chan:\nafter the iframe document is spliced into the page tree, the walk\nreaches the iframe element which does have its frame resolved,\nin a similar fashion to finding the owning target.\n\nOut of scope and tracked separately as follow-ups:\n\n- CSSObserver still drops nodeLayoutFlagsChanged and\n  nodeLayoutContextTypeChanged for FrameTargets, since those commands'\n  ownership needs to be reworked. (webkit.org/b/316844)\n\n- Style sheet entries for the main frame are duplicated in\n  WI.cssManager.styleSheets: the page target observes them via the\n  shared process, and the main frame's FrameCSSAgent observes them\n  again. With cross-origin-only routing, the main-frame FrameTarget's\n  entries waste memory and nothing reads them. A future cleanup can\n  either silence the duplicate observation in the backend or filter it\n  on the frontend, if not done as part of the page target's deprecation.\n  (webkit.org/b/317762)\n\n- Editing a CSS resource through the Sources tab is currently blocked\n  by Network/Page domain limitations: under SI, cross-origin iframe\n  resources cannot be loaded by the page target's NetworkAgent /\n  PageAgent. The CSS-side routing for setStyleSheetText is implemented\n  (CSSStyleSheet.handleCurrentRevisionContentChange uses the owning\n  target), but the path is unreachable end-to-end through the Sources\n  tab UI until more support on the networking side of cross-origin\n  inspection completes. (webkit.org/b/317760)\n\nTest: http/tests/site-isolation/inspector/css/css-frontend-routing-frame-target.html\n\n- Cover routing distinctions that tests in css-editing-commands-frame-target.html\n  can't verify.\n\n* LayoutTests/http/tests/site-isolation/inspector/css/css-frontend-routing-frame-target-expected.txt: Added.\n* LayoutTests/http/tests/site-isolation/inspector/css/css-frontend-routing-frame-target.html: Added.\n* Source/WebInspectorUI/UserInterface/Controllers/CSSManager.js:\n(WI.CSSManager):\n(WI.CSSManager.prototype.styleSheetForIdentifier):\n(WI.CSSManager.prototype.preferredInspectorStyleSheetForFrame):\n(WI.CSSManager.prototype.styleSheetChanged):\n(WI.CSSManager.prototype.styleSheetAdded):\n(WI.CSSManager.prototype.styleSheetRemoved):\n(WI.CSSManager.prototype._styleSheetKey):\n(WI.CSSManager.prototype._handleTargetRemoved):\n* Source/WebInspectorUI/UserInterface/Models/CSSGrouping.js:\n(WI.CSSGrouping.prototype.async setText):\n* Source/WebInspectorUI/UserInterface/Models/CSSStyleSheet.js:\n(WI.CSSStyleSheet):\n(WI.CSSStyleSheet.prototype.get owningTarget):\n(WI.CSSStyleSheet.prototype.requestContentFromBackend):\n* Source/WebInspectorUI/UserInterface/Models/DOMNode.js:\n(WI.DOMNode.prototype.get frame):\n(WI.DOMNode.prototype.setPseudoClassEnabled):\n(WI.DOMNode.prototype._markUndoableState):\n* Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js:\n(WI.DOMNodeStyles.prototype.refresh):\n(WI.DOMNodeStyles.prototype.addRule):\n(WI.DOMNodeStyles.prototype.changeStyleText):\n(WI.DOMNodeStyles.prototype._parseStyleDeclarationPayload):\n(WI.DOMNodeStyles.prototype._parseRulePayload):\n* Source/WebInspectorUI/UserInterface/Protocol/CSSObserver.js:\n(WI.CSSObserver.prototype.mediaQueryResultChanged):\n(WI.CSSObserver.prototype.styleSheetChanged):\n(WI.CSSObserver.prototype.styleSheetAdded):\n(WI.CSSObserver.prototype.styleSheetRemoved):\n\nCanonical link: https://commits.webkit.org/315775@main",
      "email": "qianlangchen@apple.com",
      "hash": "d12d6366d4fc3beb9af4d609cb4b01d0e4d43883",
      "subject": "[Site Isolation] Web Inspector: Use FrameCSSAgent in the frontend"
    },
    "315776@main": {
      "author": "Jonathan Bedard",
      "avatar": "https://www.gravatar.com/avatar/24548a6c84377efe7594acc92601e839?d=identicon\u0026s=64",
      "cl": "315776@main",
      "clUrl": "https://commits.webkit.org/315776@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317669\nrdar://180425640\n\nUnreviewed gardening.\n\n* LayoutTests/platform/ios/quicklook/word-expected.txt:\n* LayoutTests/platform/ios/quicklook/word-legacy-expected.txt:\n* LayoutTests/platform/ipad/quicklook/word-expected.txt:\n* LayoutTests/platform/ipad/quicklook/word-legacy-expected.txt:\n\nCanonical link: https://commits.webkit.org/315776@main",
      "email": "jbedard@apple.com",
      "hash": "29f04410461eb356f1d7a3f693297d98f81320df",
      "subject": "Regression(iOS 26.5): Baseline for quicklook changed"
    },
    "315777@main": {
      "author": "Antoine Quint",
      "avatar": "https://www.gravatar.com/avatar/9b3ef1e754f8d994f21ff67c660cbbe6?d=identicon\u0026s=64",
      "cl": "315777@main",
      "clUrl": "https://commits.webkit.org/315777@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317719\nrdar://180122972\n\nReviewed by Tim Nguyen.\n\nSince accelerated effects may be accessed both via the main thread and the scrolling thread on macOS,\nthe `TimingFunction` class should use `ThreadSafeRefCounted` like all the other ref-counted types used\nby `AcceleratedEffect` and `AcceleratedEffectValues`.\n\nThis fix was automatically suggested by an LLM during bug analysis, I validated its approach.\n\nTest: webanimations/threaded-animations/timing-function-threading-check.html\n\n* LayoutTests/webanimations/threaded-animations/timing-function-threading-check-expected.txt: Added.\n* LayoutTests/webanimations/threaded-animations/timing-function-threading-check.html: Added.\n* Source/WebCore/platform/animation/TimingFunction.h:\n\nCanonical link: https://commits.webkit.org/315777@main",
      "email": "graouts@webkit.org",
      "hash": "c541bf0a0086e9fd56e558450623062e7f085944",
      "subject": "[threaded-animations] webanimations/threaded-animations/fill-mode-adjustment-additive.html may crash under ASan"
    },
    "315778@main": {
      "author": "Lily Spiniolas",
      "avatar": "https://www.gravatar.com/avatar/b65cfeb51301399bd50e338bb2d7613e?d=identicon\u0026s=64",
      "cl": "315778@main",
      "clUrl": "https://commits.webkit.org/315778@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317628\nrdar://180066378\n\nReviewed by Wenson Hsieh.\n\nWith liquid glass adjustments, the page being scrolled to the top should no\nlonger be reason enough to enable a hard pocket with solid color. Remove\nthe check for relevant build configurations, and guard the new behavior\nwith a linked on or after check.\n\nUpdate ObscuredContentInsets.PreferSolidColorHardPocket accordingly.\n\nTest: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ObscuredContentInsets.mm\n\n* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:\n* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm:\n(WTF::computeSDKAlignedBehaviors):\n* Source/WebKit/UIProcess/mac/WebViewImpl.mm:\n(WebKit::WebViewImpl::updatePrefersSolidColorHardPocket):\n* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ObscuredContentInsets.mm:\n(TestWebKitAPI::TEST(ObscuredContentInsets, PreferSolidColorHardPocket)):\n\nCanonical link: https://commits.webkit.org/315778@main",
      "email": "lily_spiniolas@apple.com",
      "hash": "8ebfc19498318277b3f123b25db9dc3691974ecb",
      "subject": "Hard pocket with solid color should not be enabled solely due to page being scrolled to top"
    },
    "315779@main": {
      "author": "Basuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/5192a1151c7575317affb7a4633f8d63?d=identicon\u0026s=64",
      "cl": "315779@main",
      "clUrl": "https://commits.webkit.org/315779@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317044\nrdar://179526448\n\nReviewed by Sihui Liu.\n\nUnder UseUIProcessForBackForwardItemLoading, an iframe client redirect mutates\nHistoryItem in place inside the WebProcess. The per-field BackForwardUpdateItem\nIPC the mutation triggers races with the navigation commit at the UIProcess\nsink — identifier-mismatch drops leave the BF list child URL stale.\n\nMake UIProcess the authority for the iframe BF child FrameState update.\n\nWebProcess side. HistoryItemClient gains a new virtual\nignoreChangesForScopeDuringRedirect(LocalFrame\u0026) that callers wrap around the\nin-place HistoryItem replace; it returns a ScopeExit\u003cCompletionHandler\u003cvoid()\u003e\u003e\nthat runs its cleanup at the end of the caller's scope. The default returns\na no-op scope; WebKit's WebHistoryItemClient overrides it to delegate to the\nexisting ignoreChangesForScope() (flipping m_shouldIgnoreChanges) when\nuseUIProcessForBackForwardItemLoading is on and the frame is non-main,\nsuppressing the per-field BackForwardUpdateItem IPCs that would otherwise\nrace. WebCore does not check the WK2 flag itself — the process-model policy\nlives entirely on the WebKit side.\n\nUIProcess side. The DidCommitLoadForFrame IPC carries one new optional\nparameter: RefPtr\u003cFrameState\u003e redirectReplaceFrameState. WebProcess populates\nit (via toFrameState on the freshly-mutated HistoryItem) only when the commit\nis the iframe in-place replace; that condition is captured by a new\nFrameLoader::shouldReplaceHistoryItemInChildFrame() predicate so the\nmulti-condition check (loadType == RedirectWithLockedBackForwardList,\nnon-main frame, documentLoader-\u003eisClientRedirect()) lives next to the other\nrelated FrameLoader state. The recursive children of toFrameState are\nstripped at the sender; the UIProcess receiver MESSAGE_CHECKs that the\nincoming FrameState has no children before applying. didCommitLoadForFrame\napplies the FrameState via a new\nWebBackForwardList::replaceFrameStateForChild that calls\nWebBackForwardListFrameItem::setFrameState wholesale — every regenerated\nfield (urlString, originalURLString, documentSequenceNumber,\nitemSequenceNumber, navigationAPIKey, etc.) flows in one coherent payload\non the same IPC UIProcess already uses to drive its commit-time logic.\nm_children on the FrameItem is preserved (setFrameState clears the incoming\nchildren to avoid colliding with the FrameItem's own m_children store).\n\nThe Swift counterpart in WebBackForwardList.swift mirrors the C++ semantics.\nThe earlier urlString-only WebBackForwardListSwiftUtilities helper\n(replaceFrameItemURL) is removed — setFrameState is called directly.\n\nDrive-by: HistoryController::updateForRedirectWithLockedBackForwardList no\nlonger calls updateCurrentItem when m_frame-\u003epage() is null. The surrounding\nclient-redirect logic is page-aware and a page-less call had no observable\neffect (mutating an orphaned m_currentItem with no client-visible side\neffects).\n\nLayout-test regression coverage is added at\nLayoutTests/http/wpt/site-isolation/overlapping-navigations-and-traversals/cross-document-traversal-cross-document-traversal.html\nas a focused copy of the upstream WPT cluster test pinning both\nSiteIsolationEnabled=true and UseUIProcessForBackForwardItemLoading=true via\nthe webkit-test-runner header. Only the back-direction subtest is included\nhere; the other three subtests need the dead-frame skip follow-up to\nhttps://bugs.webkit.org/show_bug.cgi?id=317090 to avoid timing out, and are\nadded by that commit.\n\nWithout this fix, the back-direction subtest reports\n  FAIL ... assert_equals: first load event must be going back expected \"?1\" but got \"\"\nbecause the iframe URL update from the client redirect never reaches UIProcess.\n\nCovered by existing SiteIsolation.* API tests that exercise iframe URL\nrewriting under the flag (these continue to pass — they verify\nregression-freeness rather than demonstrating the fix; the API-test path\nenables UseUIProcessForBackForwardItemLoading automatically through\nWebProcessPool::createWebPage when SiteIsolation is on):\n  - CanGoBackAfterLoadingAndNavigatingFrame\n  - BackNavigationOverCrossSiteIframeWithoutBFCache\n  - NavigateNestedIframeSameOriginBackForward\n\n* LayoutTests/http/wpt/site-isolation/overlapping-navigations-and-traversals/cross-document-traversal-cross-document-traversal-expected.txt: Added.\n* LayoutTests/http/wpt/site-isolation/overlapping-navigations-and-traversals/cross-document-traversal-cross-document-traversal.html: Added.\n* Source/WebCore/history/HistoryItem.h:\n(WebCore::HistoryItemClient::ignoreChangesForScopeDuringRedirect):\n* Source/WebCore/loader/FrameLoader.h:\n* Source/WebCore/loader/FrameLoader.cpp:\n(WebCore::FrameLoader::shouldReplaceHistoryItemInChildFrame):\n* Source/WebCore/loader/HistoryController.cpp:\n(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):\n* Source/WebKit/UIProcess/ProvisionalPageProxy.h:\n* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:\n(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):\n* Source/WebKit/UIProcess/WebBackForwardList.h:\n* Source/WebKit/UIProcess/WebBackForwardList.cpp:\n(WebKit::WebBackForwardList::replaceFrameStateForChild):\n* Source/WebKit/UIProcess/WebBackForwardList.swift:\n* Source/WebKit/UIProcess/WebBackForwardListSwiftUtilities.h:\n* Source/WebKit/UIProcess/WebFrameProxy.h:\n* Source/WebKit/UIProcess/WebFrameProxy.cpp:\n(WebKit::WebFrameProxy::commitProvisionalFrame):\n* Source/WebKit/UIProcess/WebPageProxy.h:\n* Source/WebKit/UIProcess/WebPageProxy.cpp:\n(WebKit::WebPageProxy::commitProvisionalPage):\n(WebKit::WebPageProxy::didCommitLoadForFrame):\n* Source/WebKit/UIProcess/WebPageProxy.messages.in:\n* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:\n(WebKit::WebLocalFrameLoaderClient::dispatchDidCommitLoad):\n* Source/WebKit/WebProcess/WebPage/WebHistoryItemClient.h:\n* Source/WebKit/WebProcess/WebPage/WebHistoryItemClient.cpp:\n(WebKit::WebHistoryItemClient::ignoreChangesForScopeDuringRedirect):\n\nCanonical link: https://commits.webkit.org/315779@main",
      "email": "basuke@apple.com",
      "hash": "d4da139b10fcbc01fb1876b909bbadbf52c1cccb",
      "subject": "[Site Isolation] UIProcess authoritative for iframe client-redirect BF list updates under UseUIProcessForBackForwardItemLoading"
    },
    "315780@main": {
      "author": "Mike Wyrzykowski",
      "avatar": "https://www.gravatar.com/avatar/4b1bc9e238714f95e22d5d2454c07066?d=identicon\u0026s=64",
      "cl": "315780@main",
      "clUrl": "https://commits.webkit.org/315780@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=316867\nrdar://179295929\n\nReviewed by Cameron McCormack.\n\nNew API requires us to pass the node library to the initializer.\n\n* Source/WebKit/GPUProcess/graphics/Model/ModelBridge.swift:\n* Source/WebKit/GPUProcess/graphics/Model/ModelParameters.swift:\n* Source/WebKit/GPUProcess/graphics/Model/ModelRenderer.swift:\n* Source/WebKit/GPUProcess/graphics/Model/ModelUtils.swift:\n* Source/WebKit/GPUProcess/graphics/Model/USDModel+Deformation.swift:\n* Source/WebKit/GPUProcess/graphics/Model/USDModel.swift:\n(ShaderGraph.fromWKDescriptor(_:)):\n\nCanonical link: https://commits.webkit.org/315780@main",
      "email": "mwyrzykowski@apple.com",
      "hash": "ddae9979c27abe65abbe280cb60b2f70a7b00d56",
      "subject": "Adopt new ShaderGraph initializer"
    },
    "315781@main": {
      "author": "Marta Darbinyan",
      "avatar": "https://www.gravatar.com/avatar/6143b3673258642a8b75585c768ccf10?d=identicon\u0026s=64",
      "cl": "315781@main",
      "clUrl": "https://commits.webkit.org/315781@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=317783\nrdar://180552429\n\nUnreviewed test gardening\n\n* TestExpectations/apitests:\n\nCanonical link: https://commits.webkit.org/315781@main",
      "email": "darbinyan@apple.com",
      "hash": "494b145ff0a6990415a6ba4429c4ad600c1f6f2e",
      "subject": "[Gardening]: [iOS] TestWebKitAPI.SiteIsolation.FindStringSelectionSameOriginFrameBeforeWrap is flaky failure/crashes"
    }
  },
  "date": "2026-06-24",
  "days": 1,
  "generatedAt": "2026-06-29T19:19:12Z",
  "markdown": "## Highlights\n- **Build** Toolchain and infra work landed across SaferCPP, CMake, GCC 14, iOS Simulator, and module cache invalidation, cutting into a cluster of build breakages and analysis friction. [commit 315770@main](https://commits.webkit.org/315770@main) [commit 315763@main](https://commits.webkit.org/315763@main) [commit 315766@main](https://commits.webkit.org/315766@main) [commit 315755@main](https://commits.webkit.org/315755@main) [commit 311203@main](https://commits.webkit.org/311203@main)\n- **Security** CSP handling got sharper: same-page navigations are no longer checked against CSP, report-only frame-ancestors now reports correctly, and blocked inline scripts get accurate column numbers for debugging. [commit 315759@main](https://commits.webkit.org/315759@main) [commit 315753@main](https://commits.webkit.org/315753@main) [commit 315726@main](https://commits.webkit.org/315726@main)\n- **DevTools** Web Inspector made a real step toward Site Isolation with frame-target CSS editing support, while also fixing symbolic breakpoints, function property formatting, and media logging persistence. [commit 315775@main](https://commits.webkit.org/315775@main) [commit 315772@main](https://commits.webkit.org/315772@main) [commit 315764@main](https://commits.webkit.org/315764@main) [commit 315713@main](https://commits.webkit.org/315713@main) [commit 315758@main](https://commits.webkit.org/315758@main)\n- **Media** A dense batch of media fixes landed: Safari playback issues on unifi.ui.com, a YouTube seeking regression, AirPlay and CarPlay teardown on locked devices, VideoFrame chroma offset bugs, and rotated control rendering. [commit 315774@main](https://commits.webkit.org/315774@main) [commit 315739@main](https://commits.webkit.org/315739@main) [commit 315729@main](https://commits.webkit.org/315729@main) [commit 315742@main](https://commits.webkit.org/315742@main) [commit 315718@main](https://commits.webkit.org/315718@main)\n- **Rendering** Rendering work tightened both correctness and performance with BorderShape path cleanup, RuleSet re-entrancy asserts, and Skia compositor fixes for offscreen content on GTK and WPE. [commit 315750@main](https://commits.webkit.org/315750@main) [commit 315743@main](https://commits.webkit.org/315743@main) [commit 315748@main](https://commits.webkit.org/315748@main) [commit 315740@main](https://commits.webkit.org/315740@main)\n- **Web Platform** Service worker installation now survives a registration-clear race, text extraction scroll searches continue through the document, and WebVTT WPT coverage got a shared CSS baseline. [commit 315738@main](https://commits.webkit.org/315738@main) [commit 315746@main](https://commits.webkit.org/315746@main) [commit 315714@main](https://commits.webkit.org/315714@main)\n- **V8** JavaScriptCore picked up real engine work with a unified SSACalculator, tighter fastFlat bounds checking, leaner freeze and seal behavior for non-arrays, and a cleaner RegExp primordial path. [commit 315756@main](https://commits.webkit.org/315756@main) [commit 315760@main](https://commits.webkit.org/315760@main) [commit 315722@main](https://commits.webkit.org/315722@main) [commit 315724@main](https://commits.webkit.org/315724@main)\n- **Mobile** iOS and Cocoa behavior moved in a few user-visible corners: focus IPC is deferred to the next rendering update, QuickLook baselines changed on iOS 26.5, and WKPDFHUDView adopted interactive glass effects on macOS Golden Gate. [commit 315733@main](https://commits.webkit.org/315733@main) [commit 315776@main](https://commits.webkit.org/315776@main) [commit 315711@main](https://commits.webkit.org/315711@main)\n\n## What landed by area\n\n### Site Isolation and process model\n- **Security** UIProcess now authoritatively updates iframe client-redirect back-forward list state under UseUIProcessForBackForwardItemLoading, reducing cross-process navigation ambiguity. [commit 315779@main](https://commits.webkit.org/315779@main)\n- **DevTools** Web Inspector frontend switched to FrameCSSAgent for Site Isolation aware CSS inspection. [commit 315775@main](https://commits.webkit.org/315775@main)\n- **DevTools** Style and rule editing CSS commands now work for frame targets, closing a big inspector gap under Site Isolation. [commit 315772@main](https://commits.webkit.org/315772@main)\n- **DevTools** InspectorStyleSheet-related actions were made accessible for frame targets too, extending editing workflows across isolated frames. [commit 315764@main](https://commits.webkit.org/315764@main)\n- **Rendering** WebProcessProxy shared-preferences sync now respects the requested version for the GPU process. [commit 315720@main](https://commits.webkit.org/315720@main)\n\n### Web Inspector and developer experience\n- **DevTools** Media Logging settings now persist across page loads instead of resetting. [commit 315758@main](https://commits.webkit.org/315758@main)\n- **DevTools** Non-class function properties no longer get an unnecessary leading colon in Inspector UI. [commit 315731@main](https://commits.webkit.org/315731@main)\n- **DevTools** Inspector now captures formatted parameter strings for object shorthand and arrow functions, improving function display quality. [commit 315723@main](https://commits.webkit.org/315723@main)\n- **DevTools** Symbolic breakpoints now work with intrinsic functions in the debugger. [commit 315713@main](https://commits.webkit.org/315713@main)\n\n### Media, video, and WebRTC\n- **Media** Safari now handles unifi.ui.com security camera playback correctly where it previously failed. [commit 315774@main](https://commits.webkit.org/315774@main)\n- **Media** A regression that left YouTube seeking stuck when MediaContainment was off got fixed. [commit 315739@main](https://commits.webkit.org/315739@main)\n- **Mobile** AirPlay and CarPlay sessions no longer get torn down when pausing while the casting device is locked. [commit 315729@main](https://commits.webkit.org/315729@main)\n- **Media** ArrayBuffer-backed I420 and NV12 VideoFrame rendering no longer shows chroma offset when codedHeight exceeds visibleRect.height. [commit 315742@main](https://commits.webkit.org/315742@main)\n- **UI** Rotated audio and video controls render correctly again. [commit 315718@main](https://commits.webkit.org/315718@main)\n- **Build** LibWebRTC build fallout after the M150 update was fixed for GCC. [commit 315754@main](https://commits.webkit.org/315754@main)\n- **Networking** LibWebRTC was resynced up to M150. [commit 315735@main](https://commits.webkit.org/315735@main)\n- **UI** Running CMake MiniBrowser on media-heavy sites no longer throws an NSInvalidArgumentException. [commit 315765@main](https://commits.webkit.org/315765@main)\n\n### Rendering, CSS, and graphics\n- **Rendering** BorderShape now dispatches corner-shape handling directly and drops redundant pixel snapping in path helpers. [commit 315750@main](https://commits.webkit.org/315750@main)\n- **Rendering** RuleSet building now asserts against re-entrancy, guarding a subtle stylesheet construction hazard. [commit 315743@main](https://commits.webkit.org/315743@main)\n- **GPU** On GTK and WPE, directly composited images no longer paint as solid rectangles when partially offscreen. [commit 315748@main](https://commits.webkit.org/315748@main)\n- **Perf** The GTK and WPE Skia compositor brought back quick reject for offscreen tiles, trimming wasted work. [commit 315740@main](https://commits.webkit.org/315740@main)\n- **UI** WPE popup menus no longer sometimes render with a transparent background. [commit 315737@main](https://commits.webkit.org/315737@main)\n- **UI** Hard pocket with solid color is no longer enabled just because the page is scrolled to the top. [commit 315778@main](https://commits.webkit.org/315778@main)\n- **Web Platform** css/css-values WPT was re-imported to sync expectations with current spec behavior. [commit 315725@main](https://commits.webkit.org/315725@main)\n\n### JavaScriptCore, memory, and runtime\n- **V8** JSC unified SSACalculator internals, simplifying compiler analysis plumbing. [commit 315756@main](https://commits.webkit.org/315756@main)\n- **V8** JSArray::fastFlat now checks maximum legal length before proceeding, tightening runtime safety. [commit 315760@main](https://commits.webkit.org/315760@main)\n- **V8** RegExp primordial fixup chains now use a single CheckStructure instead of repeated TryGetById probes. [commit 315724@main](https://commits.webkit.org/315724@main)\n- **V8** Object.freeze, seal, and preventExtensions stop allocating ArrayStorage for NonArray objects. [commit 315722@main](https://commits.webkit.org/315722@main)\n- **V8** Air::RegLiveness was aligned with the WTF::Liveness approach. [commit 315721@main](https://commits.webkit.org/315721@main)\n- **Perf** libpas split pas_deallocate into inline-only and casual variants, a lower-level allocator cleanup with potential hot-path wins. [commit 315745@main](https://commits.webkit.org/315745@main)\n- **Privacy** A document leak in MutationObserver was fixed. [commit 315752@main](https://commits.webkit.org/315752@main)\n- **Refactor** TZone dropped a dead hasDisableTZoneEntitlement callback. [commit 315761@main](https://commits.webkit.org/315761@main)\n\n### Security, networking, and storage\n- **Security** Same-page navigations are no longer checked against CSP, aligning enforcement with expected navigation semantics. [commit 315759@main](https://commits.webkit.org/315759@main)\n- **Security** report-only frame-ancestors violations are now reported instead of silently ignored. [commit 315753@main](https://commits.webkit.org/315753@main)\n- **Security** Blocked inline scripts now report the correct columnNumber, which matters for both debugging and policy rollout. [commit 315726@main](https://commits.webkit.org/315726@main)\n- **Web Platform** Service worker installation no longer fails when registration state is cleared while the context is being created. [commit 315738@main](https://commits.webkit.org/315738@main)\n- **Networking** CoreIPCNSURLRequest no longer decodes the attribution enum from the wrong NSNumber. [commit 315712@main](https://commits.webkit.org/315712@main)\n- **Networking** GTK and WPE increased libsoup idle connection timeout to 115 seconds, likely reducing needless reconnect churn on longer-lived sessions. [commit 315741@main](https://commits.webkit.org/315741@main)\n- **Security** Cocoa adattributiond sandbox rules now allow UDP where needed. [commit 315715@main](https://commits.webkit.org/315715@main)\n\n### Apple platform UI and app behavior\n- **Mobile** iOS now defers ElementDidFocus IPC to the next rendering update, which should smooth focus timing and avoid re-entrancy weirdness. [commit 315733@main](https://commits.webkit.org/315733@main)\n- **Mobile** QuickLook baselines changed on iOS 26.5 and the regression was absorbed in platform expectations. [commit 315776@main](https://commits.webkit.org/315776@main)\n- **UI** WKPDFHUDView adopted NSGlassEffectView.effectIsInteractive on macOS Golden Gate. [commit 315711@main](https://commits.webkit.org/315711@main)\n- **Rendering** LazyLoadVideoObserver no longer crashes in observe() after document teardown. [commit 315716@main](https://commits.webkit.org/315716@main)\n- **Refactor** Model element call sites now use ptr() where ownership semantics require it instead of get(). [commit 315710@main](https://commits.webkit.org/315710@main)\n- **Refactor** ShaderGraph code adopted a new initializer. [commit 315780@main](https://commits.webkit.org/315780@main)\n- **Build** Swift model warnings were cleaned up. [commit 315717@main](https://commits.webkit.org/315717@main)\n\n### Build, tooling, and static analysis\n- **Build** SaferCPP got a new analyze-safer-cpp path for at-desk evaluation. [commit 315770@main](https://commits.webkit.org/315770@main)\n- **Build** WebCore uncounted local and argument warnings were fixed under SaferCPP analysis. [commit 315747@main](https://commits.webkit.org/315747@main)\n- **Build** CMake headermap generation was fixed and enabled in more places. [commit 315763@main](https://commits.webkit.org/315763@main)\n- **Build** WTF module cache invalidation regression was fixed. [commit 311203@main](https://commits.webkit.org/311203@main)\n- **Build** Variant now works around a GCC 14+ false -Wuninitialized warning. [commit 315766@main](https://commits.webkit.org/315766@main)\n- **Build** iOS Simulator builds are fixed again. [commit 315755@main](https://commits.webkit.org/315755@main)\n- **Build** A follow-up fixed build breakage after [commit 315703@main](https://commits.webkit.org/315703@main). [commit 315730@main](https://commits.webkit.org/315730@main)\n- **Build** macOS 27 down-level deployment builds were repaired after an unguarded availability regression. [commit 315728@main](https://commits.webkit.org/315728@main)\n- **Build** build-and-analyze now enables -fexperimental-late-parse-attributes when compiler caching is disabled. [commit 315757@main](https://commits.webkit.org/315757@main)\n- **Build** SaferCPP EWS was diagnosed as not building. [commit 315757@main](https://commits.webkit.org/315757@main)\n- **DevTools** git-webkit now auto-updates Radar when uploading a pull request. [commit 315767@main](https://commits.webkit.org/315767@main)\n- **GPU** The update-angle script now supports third-party dependency updates better by fixing a missing path in the workflow. [commit 315732@main](https://commits.webkit.org/315732@main)\n- **GPU** ANGLE was updated to the 2026-06-23 snapshot. [commit 315734@main](https://commits.webkit.org/315734@main)\n\n### Tests, WPT, and gardening\n- **A11y** Text extraction scroll now searches the rest of the document when the target text is not inside the given node. [commit 315746@main](https://commits.webkit.org/315746@main)\n- **Web Platform** WebVTT rendering WPT now shares a common CSS file, reducing duplicated test styling. [commit 315714@main](https://commits.webkit.org/315714@main)\n- **Build** An ambiguous non-scaling-stroke reftest expectation was removed from Test Expectations. [commit 315719@main](https://commits.webkit.org/315719@main)\n- **Build** A flaky iOS SiteIsolation find-string selection API test was quarantined and documented. [commit 315781@main](https://commits.webkit.org/315781@main)\n- **Build** A threaded animations ASan crash in fill-mode-adjustment-additive coverage was addressed. [commit 315777@main](https://commits.webkit.org/315777@main)\n- **Build** A flaky macOS WK2 navigation-policy text test was cleaned up. [commit 315773@main](https://commits.webkit.org/315773@main)\n- **Build** Two WKHTTPCookieStore TestWebKitAPI failures were fixed after a regression from [commit 315050@main](https://commits.webkit.org/315050@main). [commit 315768@main](https://commits.webkit.org/315768@main)\n- **Build** The imported WPT selectors user-valid test was handled for iOS EWS flakiness. [commit 315751@main](https://commits.webkit.org/315751@main)\n- **Build** An imported CSP sandbox meta-element WPT failure on iOS EWS was fixed. [commit 315749@main](https://commits.webkit.org/315749@main)\n- **Build** A flaky macOS read-only field focus event test was stabilized by addressing an extraneous focus event. [commit 315736@main](https://commits.webkit.org/315736@main)\n\n## Reverts \u0026 Reapplies",
  "repo": "webkit",
  "repoDisplay": "WebKit",
  "rollGroups": [
    {
      "name": "Unreviewed",
      "count": 3
    }
  ],
  "since": "2026-06-24",
  "totals": {
    "commits": 73,
    "features": 70,
    "rolls": 3
  },
  "until": "2026-06-24"
}