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

Reply via email to