Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0f3178a96a155969213af4be032bd6b2b0bc6a3b
https://github.com/WebKit/WebKit/commit/0f3178a96a155969213af4be032bd6b2b0bc6a3b
Author: Chris Dumez <[email protected]>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M Source/JavaScriptCore/API/JSRemoteInspectorServer.cpp
M Source/JavaScriptCore/b3/B3PhaseScope.cpp
M Source/JavaScriptCore/b3/B3Validate.cpp
M Source/JavaScriptCore/b3/B3Validate.h
M Source/JavaScriptCore/b3/air/AirPhaseScope.cpp
M Source/JavaScriptCore/b3/air/AirValidate.cpp
M Source/JavaScriptCore/b3/air/AirValidate.h
M Source/JavaScriptCore/b3/testb3.h
M Source/JavaScriptCore/b3/testb3_1.cpp
M Source/JavaScriptCore/b3/testb3_7.cpp
M Source/JavaScriptCore/bytecode/BytecodeDumper.cpp
M Source/JavaScriptCore/bytecode/ReduceWhitespace.cpp
M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
M Source/JavaScriptCore/dfg/DFGAbstractValue.cpp
M Source/JavaScriptCore/dfg/DFGAvailabilityMap.cpp
M Source/JavaScriptCore/dfg/DFGCFAPhase.cpp
M Source/JavaScriptCore/dfg/DFGCPSRethreadingPhase.cpp
M Source/JavaScriptCore/dfg/DFGClobberize.h
M Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
M Source/JavaScriptCore/dfg/DFGConstantHoistingPhase.cpp
M Source/JavaScriptCore/dfg/DFGDisassembler.cpp
M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
M Source/JavaScriptCore/dfg/DFGGraph.cpp
M Source/JavaScriptCore/dfg/DFGGraph.h
M Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.cpp
M Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp
M Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp
M Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
M Source/JavaScriptCore/dfg/DFGSSALoweringPhase.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
M Source/JavaScriptCore/dfg/DFGStaticExecutionCountEstimationPhase.cpp
M Source/JavaScriptCore/dfg/DFGValidateUnlinked.cpp
M Source/JavaScriptCore/dfg/DFGVarargsForwardingPhase.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
M
Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorConnectionClient.cpp
M
Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorConnectionClient.h
M Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp
M Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.h
M Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.h
M
Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp
M
Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocketEndpoint.h
M
Source/JavaScriptCore/inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp
M
Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
M Source/JavaScriptCore/profiler/ProfilerDatabase.cpp
M Source/JavaScriptCore/runtime/ConfigFile.cpp
M Source/JavaScriptCore/runtime/ConfigFile.h
M Source/JavaScriptCore/runtime/DumpContext.cpp
M Source/JavaScriptCore/runtime/DumpContext.h
M Source/JavaScriptCore/runtime/Error.cpp
M Source/JavaScriptCore/runtime/Error.h
M Source/JavaScriptCore/runtime/SamplingProfiler.cpp
M Source/JavaScriptCore/shell/playstation/TestShell.cpp
M Source/JavaScriptCore/tools/VMInspector.cpp
M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
M Source/JavaScriptCore/wasm/debugger/WasmExecutionHandler.cpp
M Source/WTF/wtf/Assertions.cpp
M Source/WTF/wtf/Assertions.h
M Source/WTF/wtf/DataLog.cpp
M Source/WTF/wtf/FilePrintStream.cpp
M Source/WTF/wtf/FilePrintStream.h
M Source/WTF/wtf/FileSystem.cpp
M Source/WTF/wtf/FileSystem.h
M Source/WTF/wtf/LogChannels.cpp
M Source/WTF/wtf/Logger.h
M Source/WTF/wtf/cf/FileSystemCF.cpp
M Source/WTF/wtf/glib/FileSystemGlib.cpp
M Source/WTF/wtf/playstation/FileSystemPlayStation.cpp
M Source/WTF/wtf/posix/FileSystemPOSIX.cpp
M Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
M Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp
M Source/WebCore/Modules/mediastream/RTCIceCandidateFields.cpp
M
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp
M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
M
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp
M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp
M
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp
M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp
M Source/WebCore/accessibility/AXLogger.h
M Source/WebCore/bindings/js/JSDOMAsyncIterator.h
M Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp
M Source/WebCore/bindings/js/JSDOMExceptionHandling.h
M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
M Source/WebCore/bindings/js/JSDOMOperation.h
M Source/WebCore/bindings/js/JSDOMOperationReturningPromise.h
M Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
M Source/WebCore/bindings/js/JSEventTargetCustom.h
M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
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/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/JSTestConditionalIncludes.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/JSTestDefaultToJSONCustomGetter.cpp
M
Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.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/JSTestDomainSecurity.cpp
M Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp
M Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp
M Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp
M
Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp
M Source/WebCore/bindings/scripts/test/JS/JSTestInterface.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/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/JSTestNamedAndIndexedSetterWithIdentifier.cpp
M
Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp
M
Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.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/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp
M
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.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/JSTestReadOnlyMapLike.cpp
M Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.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/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/JSTestTypedefs.cpp
M Source/WebCore/cssjit/SelectorCompiler.cpp
M Source/WebCore/html/MediaFragmentURIParser.cpp
M Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp
M Source/WebCore/platform/SharedBufferChunkReader.cpp
M Source/WebCore/platform/SharedBufferChunkReader.h
M Source/WebCore/platform/graphics/vulkan/VulkanTypes.cpp
M Source/WebCore/platform/graphics/vulkan/VulkanTypes.h
M Source/WebCore/platform/graphics/vulkan/VulkanUtilities.cpp
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
M Source/WebCore/platform/network/curl/CurlContext.cpp
M Source/WebCore/platform/network/curl/CurlContext.h
M Source/WebCore/platform/network/curl/PublicSuffixStoreCurl.cpp
M Source/WebCore/platform/video-codecs/cocoa/GPUVideoEncoder.mm
M Source/WebDriver/socket/HTTPServerSocket.cpp
M Source/WebDriver/socket/SessionHostSocket.cpp
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
M Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm
M Source/WebKit/Shared/API/c/cg/WKImageCG.cpp
M Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm
M Source/WebKit/Shared/Cocoa/SandboxInitialiationParametersCocoa.mm
M Source/WebKit/Shared/SandboxInitializationParameters.h
M Source/WebKit/Shared/glib/ProcessExecutablePathGLib.cpp
M Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm
M Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp
M Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp
M Source/WebKit/UIProcess/API/glib/WebKitAutomationSessionPrivate.h
M Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp
M Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabasePrivate.h
M Source/WebKit/UIProcess/API/glib/WebKitNavigationClient.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebViewPrivate.h
M Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp
M Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp
M Source/WebKit/UIProcess/API/gtk/WebKitScriptDialogImpl.cpp
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h
M Source/WebKit/UIProcess/BrowsingContextGroup.cpp
M Source/WebKit/UIProcess/Extensions/glib/WebExtensionContextGLib.cpp
M Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.h
M Source/WebKit/UIProcess/Inspector/glib/RemoteInspectorClient.cpp
M Source/WebKit/UIProcess/Inspector/gtk/RemoteWebInspectorUIProxyGtk.cpp
M Source/WebKit/UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp
M Source/WebKit/UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp
M Source/WebKit/UIProcess/Inspector/gtk/WebKitInspectorWindow.h
M Source/WebKit/UIProcess/Inspector/socket/RemoteInspectorClient.cpp
M Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
M Source/WebKit/UIProcess/gtk/Clipboard.h
M Source/WebKit/UIProcess/gtk/ClipboardGtk3.cpp
M Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp
M Source/WebKit/UIProcess/gtk/WebPasteboardProxyGtk.cpp
M Source/WebKit/UIProcess/linux/MemoryPressureMonitor.cpp
M Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
M Tools/DumpRenderTree/TestRunner.cpp
M Tools/DumpRenderTree/TestRunner.h
M Tools/DumpRenderTree/mac/TestRunnerMac.mm
M Tools/TestWebKitAPI/Helpers/JavaScriptTest.cpp
M Tools/TestWebKitAPI/Helpers/JavaScriptTest.h
M Tools/TestWebKitAPI/Helpers/mac/JavaScriptTestMac.mm
M Tools/TestWebKitAPI/Tests/WTF/Time.cpp
M Tools/TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm
M Tools/TestWebKitAPI/Tests/WebCore/Logging.cpp
M Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/FTP.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SOAuthorizationTests.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ServiceWorkerBasic.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestAutomationSession.cpp
M
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitWebExtensionContext.cpp
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestWebKitWebXR.cpp
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/Viewport.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/mac/MouseEventTests.mm
M Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp
M Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.h
M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
M Tools/WebKitTestRunner/StringFunctions.h
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/TestInvocation.cpp
M Tools/WebKitTestRunner/TestInvocation.h
M Tools/WebKitTestRunner/gtk/UIScriptControllerGtk.cpp
M Tools/WebKitTestRunner/ios/TestControllerIOS.mm
Log Message:
-----------
Reduce use of legacyCStringPointer() throughout the codebase
https://bugs.webkit.org/show_bug.cgi?id=325248
Reviewed by Mike Wyrzykowski.
Many functions still take a bare const char*, so callers holding a CString,
UTF8CString or ASCIILiteral have to unwrap it with legacyCStringPointer() and
the callee has to re-derive its length with strlen(). Retype these parameters
to say what they hold:
- CStringView for null-terminated UTF-8 strings that end up at a C API
(file paths, socket addresses, process names, B3/Air validation dumps,
DFG_CRASH / DFG_ASSERT messages, test names).
- ASCIILiteral for strings that are always literals (this-type error
interface/operation names in the bindings, FilePrintStream modes).
- StringView when the callee only compares or concatenates
(WTFLogChannelByName(), WTFInitializeLogChannelStatesFromString(),
makeThisTypeErrorMessage()).
This removes ~160 legacyCStringPointer() call sites. Remaining raw fprintf()
/ snprintf() calls with suppressed unsafe-buffer warnings in the touched code
are moved to SAFE_FPRINTF() / SAFE_SPRINTF(), and strstr() on disassembly in
testb3 becomes contains() on a span.
Values that only exist as a bare char* (public C/GLib API arguments,
WTFLogChannel::name, __FILE__ / __func__, fixed-size stack buffers) are
wrapped with CStringView::unsafeFromUTF8() at the boundary.
stringFromFileSystemRepresentation(const char*) is kept as an inline
forwarder for such callers.
No behavior change.
Canonical link: https://commits.webkit.org/321958@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications