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