{
  "commits": {
    "316518@main": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/38445f84fe28aa19bfeb1f59f6559532?d=identicon\u0026s=64",
      "cl": "316518@main",
      "clUrl": "https://commits.webkit.org/316518@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318608\nrdar://181402749\n\nReviewed by Abrar Rahman Protyasha.\n\nSeveral TextStream operator\u003c\u003c overloads emitted wrong strings due to\ncopy-paste errors, producing misleading logging output. These are debug-only\nstrings, so there is no behavior change.\n\n* Source/WebCore/rendering/style/RenderStyleConstants.cpp:\n(WebCore::operator\u003c\u003c):\n\nCanonical link: https://commits.webkit.org/316518@main",
      "email": "ahmad.saleem792+github@gmail.com",
      "hash": "a4e6363db4707922c4b17923b65516c67abd123b",
      "subject": "Fix incorrect debug-output strings in RenderStyleConstants.cpp operator\u003c\u003c overloads"
    },
    "316519@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "316519@main",
      "clUrl": "https://commits.webkit.org/316519@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=272916\n\u003crdar://problem/126707973\u003e\n\nReviewed by Keith Miller.\n\nDon't add a pause location for empty statements as there's nothing to execute.\n\n* Source/JavaScriptCore/parser/Parser.cpp:\n(JSC::Parser\u003cLexerType\u003e::parseStatement):\n\n* LayoutTests/inspector/debugger/breakpoint-empty-statement.html: Added.\n* LayoutTests/inspector/debugger/breakpoint-empty-statement-expected.txt: Added.\n* LayoutTests/inspector/debugger/resources/empty-statement.js: Added.\n\nCanonical link: https://commits.webkit.org/316519@main",
      "email": "hi@devinrousso.com",
      "hash": "3df7f122b6c75b2cc4f0e4dfb4022d2351d5bc8a",
      "subject": "Web Inspector: JavaScript breakpoint on a line with just a semicolon doesn't get triggered"
    },
    "316520@main": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/38445f84fe28aa19bfeb1f59f6559532?d=identicon\u0026s=64",
      "cl": "316520@main",
      "clUrl": "https://commits.webkit.org/316520@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318607\nrdar://181402256\n\nReviewed by Devin Rousso.\n\nDataLoader::create() takes its IDBKeyRange as an rvalue-reference and\nforwards it with WTF::move, and the sole call site passes an owned\ntemporary, but the private DataLoader constructor took the parameter by\nvalue. This forced a redundant move-construction of the parameter before\nit was moved into m_idbKeyRange. Take it by rvalue-reference for\nconsistency and to avoid the extra move.\n\n* Source/WebCore/inspector/agents/InspectorIndexedDBAgent.cpp:\n(WebCore::DataLoader::DataLoader):\n\nCanonical link: https://commits.webkit.org/316520@main",
      "email": "ahmad.saleem792+github@gmail.com",
      "hash": "2417e75e90ef6465ea092cae6095f5df58bd769e",
      "subject": "[Web Inspector] DataLoader constructor takes RefPtr\u003cIDBKeyRange\u003e by value instead of by rvalue-reference"
    },
    "316521@main": {
      "author": "Yusuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/3455d9081295e3e740c1ffa901217d9b?d=identicon\u0026s=64",
      "cl": "316521@main",
      "clUrl": "https://commits.webkit.org/316521@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=314612\nrdar://176852750\n\nReviewed by Justin Michaud.\n\nPropagate block's frequency correctly to the newly created\nblocks in B3LowerMacros (and B3MathExtras's graph generation).\n\n* Source/JavaScriptCore/b3/B3LowerMacros.cpp:\n* Source/JavaScriptCore/b3/B3MathExtras.cpp:\n\nCanonical link: https://commits.webkit.org/316521@main",
      "email": "ysuzuki@apple.com",
      "hash": "fd544a668a1b7f1b72dc9fe3b15a87693874687a",
      "subject": "[JSC] Propagate block's frequency in B3LowerMacros"
    },
    "316522@main": {
      "author": "Richard Robinson",
      "avatar": "https://www.gravatar.com/avatar/a0d2f862985ed0fd47887be66f5a3e4f?d=identicon\u0026s=64",
      "cl": "316522@main",
      "clUrl": "https://commits.webkit.org/316522@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318615\nrdar://181408485\n\nReviewed by Pascoe.\n\nclangd was reporting some incorrect diagnostics like \"called object type 'const char[75]' is not\na function or function pointer\", \"expected ')'\".\n\nThe root cause is a force-include ordering bug. WebKitPrefix.h ends by \"poisoning\" new/delete so\nthat accidental new/delete usage without config.h is caught. config.h is what #undefs that.\nWebKitPrefix.h is force-included by the frontend (via -Xclang -include via the PCH prefix header),\nbut the clangd config force-included config.h at the driver level (--include=config.h). The driver\ninjects its includes before frontend includes, so config.h's #undefs ran before the poison macros\nwere even defined. Force-including config.h also marked it as already-seen, so the body's own\n\nFix by (a) removing \"--include=config.h\" from the .mm/.m customizations, since that was pointless\nanyways since those files already include it, and (b) for headers, inject the include via the\nfrontend instead of the driver to fix the ordering issue.\n\n* Tools/clangd/clangd-config.yaml.tpl:\n\nCanonical link: https://commits.webkit.org/316522@main",
      "email": "richard_robinson2@apple.com",
      "hash": "fbd1ff7b1fa573f055c0d17af1133a7e8a30846d",
      "subject": "[CMake] clangd sometimes produces incorrect diagnostics for .mm, .m, and .h files"
    },
    "316523@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "316523@main",
      "clUrl": "https://commits.webkit.org/316523@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=285757\n\u003crdar://problem/143140659\u003e\n\nReviewed by Keith Miller.\n\n* Source/JavaScriptCore/runtime/VM.h:\n(JSC::VM::setAllowRedeclaringSymbols): Added.\n(JSC::VM::allowRedeclaringSymbols const): Added.\n* Source/JavaScriptCore/runtime/ProgramExecutable.cpp:\n(JSC::ProgramExecutable::initializeGlobalProperties):\n* Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp:\n(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):\n\n* Source/JavaScriptCore/jsc.cpp:\n(runInteractive):\nDrive-by: also add this for `jsc`.\n\n* LayoutTests/inspector/runtime/evaluate-CommandLineAPI.html:\n* LayoutTests/inspector/runtime/evaluate-CommandLineAPI-expected.txt:\n* LayoutTests/inspector/runtime/repl-redeclaration.html: Added.\n* LayoutTests/inspector/runtime/repl-redeclaration-expected.txt: Added.\n\nCanonical link: https://commits.webkit.org/316523@main",
      "email": "hi@devinrousso.com",
      "hash": "7c9b3a28260f813e33d0a601c4d00a957347905e",
      "subject": "Web Inspector: Allow redefinition of let and const in REPL"
    },
    "316524@main": {
      "author": "sakupi01",
      "avatar": "https://www.gravatar.com/avatar/8d503a3e38562191202cb37bf438cda6?d=identicon\u0026s=64",
      "cl": "316524@main",
      "clUrl": "https://commits.webkit.org/316524@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=284895\n\nReviewed by Tim Nguyen.\n\nChange CSS::CustomIdent's representation from a plain AtomString to\nVariant\u003cAtomString, IdentFunction\u003e, where IdentFunction models\n\u003cident()\u003e = ident( \u003cident-arg\u003e+ ), \u003cident-arg\u003e = \u003cstring\u003e | \u003cinteger\u003e | \u003cident\u003e\n(https://drafts.csswg.org/css-values-5/#ident). Arguments are stored\nunmerged so that the specified value serializes back in function form,\nas required by WPT. Resolution happens in ToStyle\u003cCSS::CustomIdent\u003e,\nwhich evaluates \u003cinteger\u003e arguments (including math functions) with\nBuilderState context and concatenates the argument codepoints.\n\nRemove CustomIdent::tryResolved(), as no call site needs eager\nresolution. The @counter-style/@view-transition descriptor converters\nuse only the plain identifier alternative, since ident() is invalid in\ndescriptors per the CSSWG resolution \"ident() is only valid within an\nelement context\" (https://github.com/w3c/csswg-drafts/issues/12219); a\nFIXME in consumeUnresolvedCustomIdent() records the parser-side\nrejection needed once ident() parsing lands.\nShorthandSerializer::valueIDIncludingCustomIdent() likewise checks only\nthe plain identifier alternative, because the animation-name\ndisambiguation is about lexical ambiguity of the serialized text, which\nthe ident() function form can never cause. The deprecated CSSOM string\naccessors return the plain identifier, falling back to the\nfunction-form serialization.\n\nNo behavior change: nothing constructs the new alternative yet. All\ncode that read CustomIdent's string directly was updated to handle the\nunresolved alternative explicitly.\nAlso add a CSSCustomIdentValue case to\nCSSValue::collectComputedStyleDependencies so that a future ident()\nwith computed-value-time dependencies is correctly rejected in\ncomputationally independent contexts (@property initial values).\n\n* Source/WebCore/css/CSSCounterStyleDescriptors.cpp:\n(WebCore::symbolFromCSSValue):\n(WebCore::fallbackNameFromCSSValue):\n(WebCore::extendsSystemAndFirstSymbolValueFromStyleProperties):\n* Source/WebCore/css/CSSCounterValue.cpp:\n(WebCore::CSSCounterValue::customCSSText):\n* Source/WebCore/css/CSSCustomIdentValue.cpp:\n(WebCore::CSSCustomIdentValue::stringValue):\n* Source/WebCore/css/CSSValue.cpp:\n(WebCore::CSSValue::collectComputedStyleDependencies):\n* Source/WebCore/css/CSSValueKeywords.in:\n* Source/WebCore/css/CSSViewTransitionRule.cpp:\n(WebCore::StyleRuleViewTransition::StyleRuleViewTransition):\n* Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp:\n(WebCore::DeprecatedCSSOMPrimitiveValue::getStringValue):\n(WebCore::DeprecatedCSSOMPrimitiveValue::getCounterValue):\n* Source/WebCore/css/ShorthandSerializer.cpp:\n(WebCore::ShorthandSerializer::valueIDIncludingCustomIdent):\n* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp:\n(WebCore::CSSCalc::serializeMathFunctionArguments):\n(WebCore::CSSCalc::serializeCalculationTree):\n* Source/WebCore/css/parser/CSSPropertyParserConsumer+Ident.cpp:\n(WebCore::CSSPropertyParserHelpers::consumeUnresolvedCustomIdent):\n(WebCore::CSSPropertyParserHelpers::consumeUnresolvedCustomIdentExcluding):\n(WebCore::CSSPropertyParserHelpers::consumeUnresolvedDashedIdent):\n* Source/WebCore/css/parser/CSSPropertyParserConsumer+ViewTransition.cpp:\n(WebCore::CSSPropertyParserHelpers::consumeViewTransitionTypes):\n* Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:\n(WebCore::CSSStyleValueFactory::reifyValue):\n* Source/WebCore/css/values/primitives/CSSCustomIdent.cpp:\n(WebCore::CSS::CustomIdent::isNull):\n(WebCore::CSS::CustomIdent::startsWith):\n(WebCore::CSS::CustomIdent::operator==):\n(WebCore::CSS::Serialize\u003cIdentFunctionIdent\u003e::operator()):\n(WebCore::CSS::Serialize\u003cCustomIdent\u003e::operator()):\n(WebCore::CSS::ComputedStyleDependenciesCollector\u003cCustomIdent\u003e::operator()):\n(WebCore::CSS::CSSValueChildrenVisitor\u003cCustomIdent\u003e::operator()):\n(WebCore::CSS::operator\u003c\u003c):\n(WebCore::CSS::add):\n* Source/WebCore/css/values/primitives/CSSCustomIdent.h:\n* Source/WebCore/style/StyleBuilder.cpp:\n(WebCore::Style::Builder::applyProperty):\n* Source/WebCore/style/values/primitives/StyleCustomIdent.cpp:\n(WebCore::Style::ToStyle\u003cCSS::CustomIdent\u003e::operator()):\n\nCanonical link: https://commits.webkit.org/316524@main",
      "email": "saku@email.sakupi01.com",
      "hash": "7f655a4e9f5df4f6278acbe61596f8e641b06d83",
      "subject": "Extend CSS::CustomIdent to support an unresolved ident() function alternative"
    },
    "316525@main": {
      "author": "Sosuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/e63b87350fe19bdd9a30c7234eda45af?d=identicon\u0026s=64",
      "cl": "316525@main",
      "clUrl": "https://commits.webkit.org/316525@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318596\n\nReviewed by Yusuke Suzuki.\n\nThe guards added in 316137@main stop writing when mapFn detaches or shrinks\nthe source/result typed array, but they consult @typedArrayLength before\n(or instead of) checking out-of-bounds-ness, and @typedArrayLength throws a\nTypeError for detached or out-of-bounds views. As a result,\n\n    const rab = new ArrayBuffer(32, { maxByteLength: 64 });\n    const source = new Int32Array(rab, 0, 8);\n    source[Symbol.iterator] = null;\n    Int32Array.from(source, (v, k) =\u003e { if (k === 4) rab.resize(16); return v; });\n\nthrows a TypeError where the spec requires Get/Set on the now out-of-bounds\nview to be silent. The same happens when mapFn detaches the result's buffer,\nwhere the intended @isDetached(result) operand was unreachable dead code.\n\nThis change adds a non-throwing @isTypedArrayOutOfBounds private function\nexposing JSArrayBufferView::isOutOfBounds() (the spec's\nIsArrayBufferViewOutOfBounds, which also covers detached views) and makes\nboth guards check it before calling @typedArrayLength.\n\nTest: JSTests/stress/typedarray-from-oob-not-detached.js\n\n* JSTests/stress/typedarray-from-oob-not-detached.js: Added.\n(shouldBe):\n(testResultShrunkOutOfBounds.FixedLengthOnResizable):\n(testResultShrunkOutOfBounds):\n(testResultDetached.ViewOnTransferableBuffer):\n(testResultDetached):\n* Source/JavaScriptCore/builtins/BuiltinNames.h:\n* Source/JavaScriptCore/builtins/TypedArrayConstructor.js:\n(from):\n* Source/JavaScriptCore/bytecode/LinkTimeConstant.h:\n* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:\n(JSC::JSGlobalObject::init):\n* Source/JavaScriptCore/runtime/JSTypedArrayViewPrototype.cpp:\n(JSC::JSC_DEFINE_HOST_FUNCTION):\n* Source/JavaScriptCore/runtime/JSTypedArrayViewPrototype.h:\n\nCanonical link: https://commits.webkit.org/316525@main",
      "email": "sosuke@bun.sh",
      "hash": "8f27e23da3f50ea65b0eac233f4a84069cf17459",
      "subject": "[JSC] `TypedArray.from()` spuriously throws when `mapFn` detaches or shrinks"
    },
    "316526@main": {
      "author": "Yusuke Suzuki",
      "avatar": "https://www.gravatar.com/avatar/3455d9081295e3e740c1ffa901217d9b?d=identicon\u0026s=64",
      "cl": "316526@main",
      "clUrl": "https://commits.webkit.org/316526@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318538\nrdar://181311597\n\nReviewed by Sosuke Suzuki.\n\nThis patch adds DFG RegExpExecSticky tailored path which handles sticky,\nbut not global RegExp, avoiding RegExp reload etc. by using watchpoint.\n\n* Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:\n(JSC::DFG::AbstractInterpreter\u003cAbstractStateType\u003e::executeEffects):\n* Source/JavaScriptCore/dfg/DFGClobberize.h:\n(JSC::DFG::clobberize):\n* Source/JavaScriptCore/dfg/DFGDoesGC.cpp:\n(JSC::DFG::doesGC):\n* Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:\n(JSC::DFG::FixupPhase::fixupNode):\n* Source/JavaScriptCore/dfg/DFGMayExit.cpp:\n* Source/JavaScriptCore/dfg/DFGNode.cpp:\n(JSC::DFG::Node::convertToRegExpExecStickyWithoutChecks):\n* Source/JavaScriptCore/dfg/DFGNode.h:\n(JSC::DFG::Node::hasHeapPrediction):\n(JSC::DFG::Node::hasCellOperand):\n* Source/JavaScriptCore/dfg/DFGNodeType.h:\n* Source/JavaScriptCore/dfg/DFGOperations.cpp:\n(JSC::DFG::JSC_DEFINE_JIT_OPERATION):\n* Source/JavaScriptCore/dfg/DFGOperations.h:\n* Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp:\n* Source/JavaScriptCore/dfg/DFGSafeToExecute.h:\n(JSC::DFG::safeToExecute):\n* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:\n* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:\n* Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:\n(JSC::DFG::SpeculativeJIT::compile):\n* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:\n(JSC::DFG::SpeculativeJIT::compile):\n* Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:\n(JSC::DFG::StrengthReductionPhase::handleNode):\n* Source/JavaScriptCore/ftl/FTLCapabilities.cpp:\n(JSC::FTL::canCompile):\n* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:\n(JSC::FTL::DFG::LowerDFGToB3::compileNode):\n(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):\n\nCanonical link: https://commits.webkit.org/316526@main",
      "email": "ysuzuki@apple.com",
      "hash": "0d5d36b5f94e2b3c92f3ac1787b6359141fa84f7",
      "subject": "[JSC] Add RegExpExecSticky DFG node"
    },
    "316527@main": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/38445f84fe28aa19bfeb1f59f6559532?d=identicon\u0026s=64",
      "cl": "316527@main",
      "clUrl": "https://commits.webkit.org/316527@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=318606\nrdar://181402358\n\nReviewed by Alan Baradlay.\n\nSecurityOrigin::create(protocol, host, port) computed a `decodedHost`\nlocal via PAL::decodeURLEscapeSequences(host) but never used it: the URL\nwas built from the raw `host` instead. The value has been discarded\nsince the local was introduced, with no observed effect, because\nURLParser::parseHostAndPort() already percent-decodes (and applies IDNA\nto) the host component for special schemes. Manually pre-decoding and\nre-embedding the host into a string to be reparsed would in fact be\nincorrect -- e.g. a \"%2F\" host would decode to \"/\" and corrupt the\nauthority -- so deferring decoding to the URL parser is the correct\nbehavior.\n\nDelete the dead store and the now-unused \u003cpal/text/TextEncoding.h\u003e\ninclude. No change in behavior.\n\n* Source/WebCore/page/SecurityOrigin.cpp:\n(WebCore::SecurityOrigin::create):\n\nCanonical link: https://commits.webkit.org/316527@main",
      "email": "ahmad.saleem792+github@gmail.com",
      "hash": "2706eb5a681558f5385b06356786b694a9a8c36e",
      "subject": "Remove dead decodeURLEscapeSequences() call in SecurityOrigin::create()"
    },
    "316528@main": {
      "author": "Jean-Yves Avenard",
      "avatar": "https://www.gravatar.com/avatar/509313899deeb9262fad8f5e04093f5b?d=identicon\u0026s=64",
      "cl": "316528@main",
      "clUrl": "https://commits.webkit.org/316528@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=303468\nrdar://165752722\n\nReviewed by Jer Noble and Philippe Normand.\n\nThe completion of a seek was assumed to occur once the MediaPlayerPrivate\nissued a timeChanged(). There was no specific tracking of a seek operation\nand we couldn't distinguish whichever came first: a seek completing or\nplayback reaching the end.\nThis lead to the `seeked` event often being fired after the `ended` event\nwhen we seeked to the end or after the end of the video contrary to the spec.\n\nWe now track each MediaPlayer's seeking operation by having\nMediaPlayer::seekToTarget returns a NativePromise.\nThe logic to issue the `seeked` event is now made to occur when this seeking\npromise is resolved.\n\nNote that the MediaPlayerPrivateAVFoundation isn't in full spec compliance\nhttps://html.spec.whatwg.org/multipage/media.html#seeking\nstep 12. Wait until the user agent has established whether or not the media data for the new playback position is available, and, if it is, until it has decoded enough data to play back that position.\nwhich would change the readyState accordingly\nfiring the seeked event being the last step:\nstep 17. Queue a media element task given the media element to fire an event named seeked at the element.\n\nstep 12 isn't happening, and the readyState doesn't change. This will be\nhandled in a future change and is tracked in webkit.org/b/303528\n\nFly-By: When the AVSampleBufferRenderSynchronizer started with a negative audio we used to\nrelease the startup gate immediately. As the time was negative the currentTime and effective rate were\nset at 0. The prevented the time from ever progressing until another operation was performed.\nWe now only release the startup gate when it has moved from 0 or the last seek time.\n\nRe-enabling test, covered by existing tests.\n\n* LayoutTests/platform/mac/TestExpectations:\n* Source/WebCore/html/HTMLMediaElement.cpp:\n(WebCore::HTMLMediaElement::setReadyState):\n(WebCore::HTMLMediaElement::seekTask):\n(WebCore::HTMLMediaElement::finishSeek):\n(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):\n(WebCore::HTMLMediaElement::mediaPlayerSeeked): Deleted.\n* Source/WebCore/html/HTMLMediaElement.h:\n* Source/WebCore/platform/LogMessages.in:\n* Source/WebCore/platform/graphics/MediaPlayer.cpp:\n(WebCore::MediaPlayer::seekToTarget):\n(WebCore::MediaPlayer::seeked): Deleted.\n(WebCore::MediaPlayer::seeking const): Deleted.\n* Source/WebCore/platform/graphics/MediaPlayer.h:\n* Source/WebCore/platform/graphics/MediaPlayerPrivate.h:\n* Source/WebCore/platform/graphics/MediaPlayerPrivateWirelessPlayback.cpp:\n(WebCore::MediaPlayerPrivateWirelessPlayback::seekToTarget):\n(WebCore::MediaPlayerPrivateWirelessPlayback::playbackPositionDidChange):\n* Source/WebCore/platform/graphics/MediaPlayerPrivateWirelessPlayback.h:\n* Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.mm:\n(WebCore::AudioVideoRendererAVFObjC::handleEffectiveRateChanged):\n* Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:\n(WebCore::MediaPlayerPrivateAVFoundation::seekToTarget):\n(WebCore::MediaPlayerPrivateAVFoundation::seekInternal):\n(WebCore::MediaPlayerPrivateAVFoundation::setReadyState):\n(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):\n(WebCore::MediaPlayerPrivateAVFoundation::resolveSeekPromiseIfNeeded):\n* Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:\n* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:\n* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:\n(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekToTarget):\n(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):\n(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::completeSeek):\n(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking const):\n* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:\n* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:\n* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:\n(WebCore::MediaPlayerPrivateWebM::seekToTarget):\n(WebCore::MediaPlayerPrivateWebM::completeSeek):\n(WebCore::MediaPlayerPrivateWebM::didProvideMediaDataForTrackId):\n* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:\n(WebCore::MediaPlayerPrivateGStreamer::seekToTarget):\n(WebCore::MediaPlayerPrivateGStreamer::prepareSeek):\n(WebCore::MediaPlayerPrivateGStreamer::timeChanged):\n(WebCore::MediaPlayerPrivateGStreamer::finishSeek):\n(WebCore::MediaPlayerPrivateGStreamer::didEnd):\n* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:\n* Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:\n(WebCore::MediaPlayerPrivateGStreamerMSE::seekToTarget):\n(WebCore::MediaPlayerPrivateGStreamerMSE::propagateReadyStateToPlayer):\n(WebCore::MediaPlayerPrivateGStreamerMSE::didPreroll):\n* Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:\n* Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:\n* Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:\n(WebCore::MediaPlayerPrivateMediaFoundation::seekToTarget):\n(WebCore::MediaPlayerPrivateMediaFoundation::onSessionStarted):\n(WebCore::MediaPlayerPrivateMediaFoundation::seeking const): Deleted.\n* Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:\n* Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:\n(WebCore::MockMediaPlayerMediaSource::seekToTarget):\n(WebCore::MockMediaPlayerMediaSource::seeking const): Deleted.\n* Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h:\n* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:\n(WebKit::timeUpdateData):\n(WebKit::RemoteMediaPlayerProxy::seekToTarget):\n(WebKit::RemoteMediaPlayerProxy::mediaPlayerSeeked): Deleted.\n* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h:\n* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in:\n* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:\n(WebKit::MediaPlayerPrivateRemote::seekToTarget):\n(WebKit::MediaPlayerPrivateRemote::seeked): Deleted.\n(WebKit::MediaPlayerPrivateRemote::seeking const): Deleted.\n* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:\n* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:\n\nCanonical link: https://commits.webkit.org/316528@main",
      "email": "jya@apple.com",
      "hash": "0f366de9b96d578965afac64a8db342121b91f0f",
      "subject": "imported/w3c/web-platform-tests/media-source/mediasource-seek-beyond-duration.html is a permanent failure"
    },
    "316529@main": {
      "author": "Devin Rousso",
      "avatar": "https://www.gravatar.com/avatar/c9e757d973342c773f107a94b70cb9cd?d=identicon\u0026s=64",
      "cl": "316529@main",
      "clUrl": "https://commits.webkit.org/316529@main",
      "description": "https://bugs.webkit.org/show_bug.cgi?id=306218\n\u003crdar://problem/169396940\u003e\n\nReviewed by Yusuke Suzuki.\n\n* Source/WebCore/bindings/js/ScriptModuleLoader.cpp:\n(WebCore::ScriptModuleLoader::notifyFinished):\n\n* LayoutTests/http/tests/security/module-incorrect-mime-types-expected.txt:\n* LayoutTests/http/tests/security/module-no-mime-type-expected.txt:\n* LayoutTests/platform/gtk/http/tests/security/module-no-mime-type-expected.txt:\n* LayoutTests/http/tests/wasm/wasm-esm-disabled-with-setting-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination.https-expected.txt:\n* LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination.https-expected.txt:\n* LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-dynamic-expected.txt:\n* LayoutTests/js/dom/modules/missing-exception-check-for-import.html:\n* LayoutTests/js/dom/modules/missing-exception-check-for-import-expected.txt:\n* LayoutTests/webaudio/worklet-crash-expected.txt:\n\nCanonical link: https://commits.webkit.org/316529@main",
      "email": "hi@devinrousso.com",
      "hash": "2833205e84d545e12f74cc83737b51913848cedb",
      "subject": "Web Inspector: No stack trace for mime type errors, very difficult to debug"
    },
    "316530@main": {
      "author": "Diego Pino Garcia",
      "avatar": "https://www.gravatar.com/avatar/e8cce88637f1a6e79155e8371e24b2e8?d=identicon\u0026s=64",
      "cl": "316530@main",
      "clUrl": "https://commits.webkit.org/316530@main",
      "description": "Gardened tests passing and crashes.\n\n* LayoutTests/platform/glib/TestExpectations:\n\nCanonical link: https://commits.webkit.org/316530@main",
      "email": "dpino@igalia.com",
      "hash": "b3d9e3b7f0081a5ea673a12e1256e9660f4e126b",
      "subject": "[GLIB] Unreviewed layout test gardening"
    }
  },
  "date": "2026-07-05",
  "days": 1,
  "generatedAt": "2026-07-05T22:05:16Z",
  "markdown": "## Highlights\n- **DevTools** Web Inspector now surfaces stack traces for MIME type errors, making broken resource loads much faster to debug. [commit 316529@main](https://commits.webkit.org/316529@main)\n- **V8** JavaScriptCore adds a dedicated DFG node for sticky RegExp exec, a compiler-side step toward better regexp execution. [commit 316526@main](https://commits.webkit.org/316526@main)\n- **Web Platform** `TypedArray.from()` no longer spuriously throws when `mapFn` detaches or shrinks the backing data, bringing edge-case behavior back in line with spec expectations. [commit 316525@main](https://commits.webkit.org/316525@main)\n- **UI** Web Inspector's REPL now allows redefinition of `let` and `const`, which makes iterative console experimentation behave more like developers expect. [commit 316523@main](https://commits.webkit.org/316523@main)\n- **Build** CMake fixes clangd confusion around `.mm`, `.m`, and `.h` files, which should cut down on bogus editor diagnostics in mixed Objective-C and Objective-C++ code. [commit 316522@main](https://commits.webkit.org/316522@main)\n- **Perf** JavaScriptCore now propagates block frequency in B3LowerMacros, improving optimization quality in lower-level compiler passes. [commit 316521@main](https://commits.webkit.org/316521@main)\n- **Web Platform** CSS `CustomIdent` now supports an unresolved `ident()` alternative, extending parser support for newer CSS value forms. [commit 316524@main](https://commits.webkit.org/316524@main)\n- **Security** WebKit removes a dead `decodeURLEscapeSequences()` call from `SecurityOrigin::create()`, shrinking obsolete URL-handling logic in a sensitive area. [commit 316527@main](https://commits.webkit.org/316527@main)\n\n## What landed by area\n\n### Web Inspector\n- **DevTools** Breakpoints now trigger on lines that contain only a semicolon, fixing a frustrating debugger blind spot. [commit 316519@main](https://commits.webkit.org/316519@main)\n- **Refactor** `DataLoader` in Web Inspector now takes `RefPtr\u003cIDBKeyRange\u003e` by value instead of rvalue reference, cleaning up ownership semantics in IndexedDB plumbing. [commit 316520@main](https://commits.webkit.org/316520@main)\n\n### JavaScriptCore\n- **Perf** JavaScriptCore propagates block frequency in `B3LowerMacros`, giving later optimization stages better execution-profile information. [commit 316521@main](https://commits.webkit.org/316521@main)\n\n### CSS and Rendering\n- **Rendering** Debug output strings in `RenderStyleConstants.cpp` operator overloads are corrected, which makes internal style dumps more trustworthy when diagnosing rendering issues. [commit 316518@main](https://commits.webkit.org/316518@main)\n\n### Media\n- **Media** A permanent failure in `media-source/mediasource-seek-beyond-duration.html` is addressed, reducing noise around Media Source test expectations. [commit 316528@main](https://commits.webkit.org/316528@main)\n\n### Infrastructure and Test Gardening\n- **Build** GLIB layout test gardening lands another round of unreviewed expectation maintenance to keep bots green. [commit 316530@main](https://commits.webkit.org/316530@main)\n\n## Reverts \u0026 Reapplies\n\nNo reverts, reapplies, or backed out changes in this window.",
  "repo": "webkit",
  "repoDisplay": "WebKit",
  "rollGroups": [],
  "since": "2026-07-05",
  "totals": {
    "commits": 13,
    "features": 13,
    "rolls": 0
  },
  "until": "2026-07-05"
}