Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f2f2d21096a19620ea12dd3b520a5e32a737bb30
      
https://github.com/WebKit/WebKit/commit/f2f2d21096a19620ea12dd3b520a5e32a737bb30
  Author: Chris Dumez <[email protected]>
  Date:   2026-04-18 (Sat, 18 Apr 2026)

  Changed paths:
    M Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp
    M Source/WebCore/Modules/fetch/FetchBodyOwner.cpp
    M Source/WebCore/Modules/fetch/FetchBodySource.cpp
    M Source/WebCore/Modules/fetch/FetchRequest.cpp
    M Source/WebCore/Modules/filesystem/FileSystemFileHandle.cpp
    M Source/WebCore/Modules/filesystem/FileSystemWritableFileStream.cpp
    M Source/WebCore/Modules/mediastream/MediaStreamTrackProcessor.cpp
    M Source/WebCore/Modules/mediastream/RTCEncodedStreamProducer.cpp
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
    M Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp
    M Source/WebCore/Modules/mediastream/RTCRtpScriptTransform.cpp
    M Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp
    M Source/WebCore/Modules/mediastream/VideoTrackGenerator.cpp
    M Source/WebCore/Modules/streams/ReadableStream.cpp
    M Source/WebCore/Modules/streams/ReadableStreamBYOBReader.cpp
    M Source/WebCore/Modules/streams/ReadableStreamDefaultReader.cpp
    M Source/WebCore/Modules/streams/ReadableStreamToSharedBufferSink.cpp
    M Source/WebCore/Modules/streams/StreamPipeToUtilities.cpp
    M Source/WebCore/Modules/streams/StreamTeeUtilities.cpp
    M Source/WebCore/Modules/streams/StreamTransferUtilities.cpp
    M Source/WebCore/Modules/streams/TransformStream.cpp
    M Source/WebCore/Modules/streams/WritableStream.cpp
    M Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp
    M Source/WebCore/Modules/webtransport/DatagramByteSource.cpp
    M Source/WebCore/Modules/webtransport/DatagramSink.cpp
    M Source/WebCore/Modules/webtransport/WebTransport.cpp
    M 
Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamSource.cpp
    M Source/WebCore/Modules/webtransport/WebTransportDatagramsWritable.cpp
    M Source/WebCore/Modules/webtransport/WebTransportReceiveStreamSource.cpp
    M Source/WebCore/Modules/webtransport/WebTransportSendStreamSink.cpp
    M Source/WebCore/bindings/js/CommonVM.cpp
    M Source/WebCore/bindings/js/DOMWrapperWorld.h
    M Source/WebCore/bindings/js/IDBBindingUtilities.cpp
    M Source/WebCore/bindings/js/InternalReadableStream.cpp
    M Source/WebCore/bindings/js/InternalReadableStreamDefaultReader.cpp
    M Source/WebCore/bindings/js/InternalWritableStreamWriter.cpp
    M Source/WebCore/bindings/js/JSAbortSignalCustom.cpp
    M Source/WebCore/bindings/js/JSCSSRuleListCustom.cpp
    M Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
    M Source/WebCore/bindings/js/JSDOMAsyncIterator.h
    M Source/WebCore/bindings/js/JSDOMAttribute.h
    M Source/WebCore/bindings/js/JSDOMBuiltinConstructor.h
    M Source/WebCore/bindings/js/JSDOMBuiltinConstructorBase.cpp
    M Source/WebCore/bindings/js/JSDOMConstructorBase.h
    M Source/WebCore/bindings/js/JSDOMConvertBufferSource.h
    M Source/WebCore/bindings/js/JSDOMConvertDate.cpp
    M Source/WebCore/bindings/js/JSDOMConvertUnion.h
    M Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp
    M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
    M Source/WebCore/bindings/js/JSDOMGlobalObjectInlines.h
    M Source/WebCore/bindings/js/JSDOMIterator.h
    M Source/WebCore/bindings/js/JSDOMMapLike.h
    M Source/WebCore/bindings/js/JSDOMPromise.cpp
    M Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp
    M Source/WebCore/bindings/js/JSDOMSetLike.h
    M Source/WebCore/bindings/js/JSDOMWindowBase.cpp
    M Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
    M Source/WebCore/bindings/js/JSDOMWindowCustom.h
    M Source/WebCore/bindings/js/JSDOMWindowProperties.cpp
    M Source/WebCore/bindings/js/JSDOMWrapper.h
    M Source/WebCore/bindings/js/JSDOMWrapperCache.h
    M Source/WebCore/bindings/js/JSDeprecatedCSSOMValueCustom.cpp
    M Source/WebCore/bindings/js/JSDocumentCustom.cpp
    M Source/WebCore/bindings/js/JSErrorHandler.cpp
    M Source/WebCore/bindings/js/JSEventListener.cpp
    M Source/WebCore/bindings/js/JSEventTargetCustom.cpp
    M Source/WebCore/bindings/js/JSExecState.cpp
    M Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
    M Source/WebCore/bindings/js/JSHTMLElementCustom.cpp
    M Source/WebCore/bindings/js/JSIDBRecordCustom.cpp
    M Source/WebCore/bindings/js/JSIDBRequestCustom.cpp
    M Source/WebCore/bindings/js/JSIntersectionObserverCustom.cpp
    M Source/WebCore/bindings/js/JSKeyframeEffectCustom.cpp
    M Source/WebCore/bindings/js/JSLazyEventListener.cpp
    M Source/WebCore/bindings/js/JSLocationCustom.cpp
    M Source/WebCore/bindings/js/JSMutationObserverCustom.cpp
    M Source/WebCore/bindings/js/JSNodeCustom.cpp
    M Source/WebCore/bindings/js/JSNodeListCustom.cpp
    M Source/WebCore/bindings/js/JSObservableArray.cpp
    M Source/WebCore/bindings/js/JSOffscreenCanvasRenderingContext2DCustom.cpp
    M Source/WebCore/bindings/js/JSPaintRenderingContext2DCustom.cpp
    M Source/WebCore/bindings/js/JSPerformanceObserverCustom.cpp
    M Source/WebCore/bindings/js/JSPluginElementFunctions.cpp
    M Source/WebCore/bindings/js/JSPopStateEventCustom.cpp
    M Source/WebCore/bindings/js/JSResizeObserverCustom.cpp
    M Source/WebCore/bindings/js/JSShadowRealmGlobalScopeBase.cpp
    M Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp
    M Source/WebCore/bindings/js/JSUndoItemCustom.cpp
    M Source/WebCore/bindings/js/JSWebAnimationCustom.cpp
    M Source/WebCore/bindings/js/JSWindowProxy.cpp
    M Source/WebCore/bindings/js/JSWindowProxy.h
    M Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp
    M Source/WebCore/bindings/js/JSWorkletGlobalScopeBase.cpp
    M Source/WebCore/bindings/js/ScriptCachedFrameData.cpp
    M Source/WebCore/bindings/js/ScriptController.cpp
    M Source/WebCore/bindings/js/ScriptModuleLoader.cpp
    M Source/WebCore/bindings/js/SerializedScriptValue.cpp
    M Source/WebCore/bindings/js/StructuredClone.cpp
    M Source/WebCore/bindings/js/WebCoreJSClientData.cpp
    M Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp
    M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
    M Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSExposedStar.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestAsyncIterable.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestAsyncIterableWithoutFlags.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestAsyncKeyValueIterable.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestConditional.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestConditionalIncludes.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSON.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestDerivedDictionary.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestDerivedDictionary2.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestDomainSecurity.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestInheritedDictionary.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestInheritedDictionary2.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestNamespaceConst.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestNamespaceObject.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestOperationConditional.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestScheduledAction.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestTaggedWrapper.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSWorkerGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSWorkletGlobalScope.cpp
    M Source/WebCore/bridge/objc/WebScriptObject.mm
    M Source/WebCore/bridge/objc/objc_runtime.mm
    M Source/WebCore/bridge/objc/objc_utility.mm
    M Source/WebCore/bridge/runtime_array.cpp
    M Source/WebCore/bridge/runtime_method.cpp
    M Source/WebCore/bridge/runtime_object.cpp
    M Source/WebCore/css/CSSStyleSheetObservableArray.cpp
    M Source/WebCore/dom/AbortSignal.cpp
    M Source/WebCore/dom/DocumentMediaElement.cpp
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/Event.cpp
    M Source/WebCore/dom/MessageEvent.cpp
    M Source/WebCore/dom/MessagePort.cpp
    M Source/WebCore/dom/TrustedType.cpp
    M Source/WebCore/dom/UserGestureIndicator.cpp
    M Source/WebCore/domjit/DOMJITHelpers.h
    M Source/WebCore/fileapi/Blob.cpp
    M Source/WebCore/inspector/CommandLineAPIHost.cpp
    M Source/WebCore/inspector/CommandLineAPIModule.cpp
    M Source/WebCore/inspector/agents/page/PageAuditAgent.cpp
    M Source/WebCore/page/LocalDOMWindow.cpp
    M Source/WebCore/page/Navigation.cpp
    M Source/WebCore/page/NavigationTransition.cpp
    M Source/WebCore/page/WebKitNamespace.cpp
    M Source/WebCore/platform/mac/SerializedPlatformDataCueMac.mm
    M Source/WebCore/testing/Internals.cpp
    M Source/WebCore/testing/js/WebCoreTestSupport.cpp
    M Source/WebCore/workers/WorkerOrWorkletScriptController.cpp
    M Source/WebCore/workers/service/ExtendableMessageEvent.cpp
    M Source/WebCore/workers/service/FetchEvent.cpp
    M Source/WebCore/workers/service/InstallEvent.cpp
    M Source/WebCore/workers/service/ServiceWorkerRegistration.cpp
    M Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp
    M Source/WebCore/worklets/PaintWorkletGlobalScope.cpp
    M Tools/Scripts/webkitpy/style/checkers/cpp.py
    M Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py

  Log Message:
  -----------
  [WebCore] Adopt uncheckedDowncast instead of jsCast
https://bugs.webkit.org/show_bug.cgi?id=312668

Reviewed by Anne van Kesteren.

Replace all uses of jsCast in WebCore with uncheckedDowncast. This
unifies the casting system so that all type casts in WebCore go through
WTF's standard casting infrastructure.

Also update CodeGeneratorJS.pm so that generated bindings emit
uncheckedDowncast instead of jsCast, and add a check-webkit-style
rule to flag future uses of jsCast.

Where the original jsCast was a same-type cast (no-op), the cast is
simply removed. Where the original code used the *jsCast<T*>(&ref)
pattern, it is simplified to uncheckedDowncast<T>(ref) using the
reference overload.

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



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

Reply via email to