Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 95a960a3ae94afa466bba4932de879236a178c12
https://github.com/WebKit/WebKit/commit/95a960a3ae94afa466bba4932de879236a178c12
Author: Chris Dumez <[email protected]>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M
Source/JavaScriptCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
M Source/JavaScriptCore/assembler/LinkBuffer.h
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
M Source/JavaScriptCore/dfg/DFGOSRExit.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/ftl/FTLLink.cpp
M Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
M Source/JavaScriptCore/ftl/FTLThunks.cpp
M Source/JavaScriptCore/heap/Heap.cpp
M Source/JavaScriptCore/jit/JIT.cpp
M Source/JavaScriptCore/jit/JITPlan.cpp
M Source/JavaScriptCore/jit/ThunkGenerators.cpp
M Source/JavaScriptCore/lol/LOLJIT.cpp
M Source/JavaScriptCore/runtime/ExceptionScope.h
M Source/JavaScriptCore/runtime/FuzzerPredictions.cpp
M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
M Source/JavaScriptCore/wasm/WasmPlan.cpp
M Source/JavaScriptCore/wasm/js/JSToWasm.cpp
M Source/WTF/wtf/Assertions.h
M Source/WTF/wtf/StdLibExtras.h
M Source/WTF/wtf/SystemTracing.h
M Source/WebCore/accessibility/AXTextMarker.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
M Source/WebCore/css/CSSSelector.cpp
M Source/WebCore/css/CSSStyleProperties.cpp
M Source/WebCore/css/parser/CSSParser.cpp
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/ScriptElement.cpp
M Source/WebCore/page/Performance.cpp
M Source/WebCore/platform/LocalizedStrings.cpp
M Source/WebCore/platform/LocalizedStrings.h
M Source/WebCore/platform/glib/UserAgentGLib.cpp
M Source/WebCore/platform/graphics/CodecUtilities.cpp
M Source/WebCore/style/StyleExtractor.cpp
M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
M Source/WebKit/UIProcess/Extensions/WebExtension.cpp
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp
M Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.cpp
M Source/WebKit/UIProcess/Extensions/glib/WebExtensionGLib.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/GetUserMedia.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WebPushDaemon.mm
M Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm
Log Message:
-----------
Reduce use of CString::legacyCStringPointer() in assertion and signpost macros
https://bugs.webkit.org/show_bug.cgi?id=324236
Reviewed by Mike Wyrzykowski.
Continues 321137@main, bringing legacyCStringPointer() call sites down from
1169 to 1066 by applying LOG_PRINTF_TYPE() to the remaining printf-style entry
points WebKit owns:
- ASSERT_WITH_MESSAGE and ASSERT_WITH_MESSAGE_UNUSED, which also covers
ASSERT_NOT_REACHED_WITH_MESSAGE and RELEASE_ASSERT_WITH_MESSAGE.
- The signpost leaves WTFEmitSignpost{Directly,Indirectly}WithType, which
covers every Emit/Begin/End x Always x TimeDelta/SpecificTime variant.
SystemTracing.h has to stay includable from C, so its StdLibExtras.h include
is behind #ifdef __cplusplus; the macros only ever expand from C++.
- WEB_UI_FORMAT_STRING and its CFSTRING/_KEY variants, in all four platform
branches.
- The FINALIZE_CODE family, which needed no macro change:
finalizeCodeWithDisassembly is already a variadic template, so converting its
pack in one place is enough.
The five NSLog() call sites become SAFE_WTFLOGALWAYS() instead. No new API is
needed: a format without %@ is forwarded to os_log_with_args() as well as
stderr on Cocoa, so WTFLogAlways() already reaches the system log.
Four signpost call sites read `message ? message.legacyCStringPointer() : ...`.
CString has no operator bool, so those arguments were never type-checked;
wrapping them exposes it and they now use isNull().
DFG_CRASH is left alone. Its `reason` is a const char* parameter rather than a
printf argument, and retyping it would mean touching the 174 call sites that
pass a bare literal. dataLogF() and PrintStream::printf() are also left alone:
SAFE_DATALOGF() applies the strict SAFE_PRINTF_TYPE and those call sites pass
raw const char* alongside, and PrintStream::printf() is a C-variadic member
whose callers would lose call-site format checking.
* Source/JavaScriptCore/assembler/LinkBuffer.h:
(JSC::LinkBuffer::finalizeCodeWithDisassembly):
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheCompiler::compile):
(JSC::InlineCacheCompiler::compileOneAccessCaseHandler):
* Source/JavaScriptCore/dfg/DFGOSRExit.cpp:
(JSC::DFG::JSC_DEFINE_NOEXCEPT_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileFunction):
* Source/JavaScriptCore/ftl/FTLLink.cpp:
(JSC::FTL::link):
* Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* Source/JavaScriptCore/ftl/FTLThunks.cpp:
(JSC::FTL::slowPathCallThunkGenerator):
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::clearConcurrentRetainedDataIfPossible):
* Source/JavaScriptCore/jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
* Source/JavaScriptCore/jit/JITPlan.cpp:
(JSC::JITPlan::beginSignpostImpl):
(JSC::JITPlan::endSignpostImpl):
* Source/JavaScriptCore/jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
* Source/JavaScriptCore/lol/LOLJIT.cpp:
(JSC::LOL::LOLJIT::privateCompileSlowCases):
* Source/JavaScriptCore/runtime/ExceptionScope.h:
(JSC::ExceptionScope::assertNoException):
(JSC::ExceptionScope::releaseAssertNoException):
(JSC::ExceptionScope::assertNoExceptionExceptTermination):
(JSC::ExceptionScope::releaseAssertNoExceptionExceptTermination):
* Source/JavaScriptCore/runtime/FuzzerPredictions.cpp:
(JSC::FuzzerPredictions::FuzzerPredictions):
* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::beginCompilerSignpost const):
(JSC::Wasm::Plan::endCompilerSignpost const):
* Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
(JSC::Wasm::RTT::jsToWasmICEntrypoint const):
* Source/WTF/wtf/Assertions.h:
* Source/WTF/wtf/SystemTracing.h:
* Source/WebCore/accessibility/AXTextMarker.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::queueChange):
(WebCore::AXIsolatedTree::queueAppendsAndRemovals):
(WebCore::AXIsolatedTree::applyCommittedChanges):
(WebCore::AXIsolatedTree::processQueuedNodeUpdates):
* Source/WebCore/css/CSSSelector.cpp:
(WebCore::CSSSelector::parsePseudoElementName):
* Source/WebCore/css/CSSStyleProperties.cpp:
(WebCore::lookupCSSPropertyFromIDLAttribute):
(WebCore::CSSStyleProperties::propertyValueForCamelCasedIDLAttribute):
(WebCore::CSSStyleProperties::setPropertyValueForCamelCasedIDLAttribute):
(WebCore::CSSStyleProperties::propertyValueForWebKitCasedIDLAttribute):
(WebCore::CSSStyleProperties::setPropertyValueForWebKitCasedIDLAttribute):
(WebCore::CSSStyleProperties::propertyValueForDashedIDLAttribute):
(WebCore::CSSStyleProperties::setPropertyValueForDashedIDLAttribute):
(WebCore::CSSStyleProperties::propertyValueForEpubCasedIDLAttribute):
(WebCore::CSSStyleProperties::setPropertyValueForEpubCasedIDLAttribute):
* Source/WebCore/css/parser/CSSParser.cpp:
(WebCore::validateUserAgentSheetSelector):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setReadyState):
* Source/WebCore/dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeClassicScript):
(WebCore::ScriptElement::registerImportMap):
* Source/WebCore/page/Performance.cpp:
(WebCore::Performance::measure):
* Source/WebCore/platform/LocalizedStrings.cpp:
(WebCore::imageTitle):
(WebCore::validationMessagePatternMismatchText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::captionStylePreviewWithProfileName):
* Source/WebCore/platform/LocalizedStrings.h:
* Source/WebCore/platform/glib/UserAgentGLib.cpp:
(WebCore::standardUserAgent):
* Source/WebCore/platform/graphics/CodecUtilities.cpp:
(WebCore::humanReadableStringFromCodecString):
* Source/WebCore/style/StyleExtractor.cpp:
(WebCore::Style::Extractor::propertyValueSerializationInStyle const):
* Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView scrollViewWillBeginDragging:]):
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(viewportArgumentsFromDictionary):
* Source/WebKit/UIProcess/Extensions/WebExtension.cpp:
(WebKit::WebExtension::createError):
(WebKit::WebExtension::populateDeclarativeNetRequestPropertiesIfNeeded):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp:
(WebKit::WebExtensionContext::processDisplayName):
(WebKit::WebExtensionContext::backgroundWebViewInspectionName):
* Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.cpp:
(WebKit::WebExtensionMatchPattern::WebExtensionMatchPattern):
* Source/WebKit/UIProcess/Extensions/glib/WebExtensionGLib.cpp:
(WebKit::WebExtension::resourceDataForPath):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setVirtualWalletBehaviorForTesting):
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondToRequests):
(TestWebKitAPI::HTTPServer::respondToHTTPMessagingRequests):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/GetUserMedia.mm:
(TestWebKitAPI::waitUntilCaptureState):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WebPushDaemon.mm:
(TestWebKitAPI::(WebPushDBuiltInTest, ShowAndGetNotifications)):
* Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setFocusStartsInputSessionPolicy):
Canonical link: https://commits.webkit.org/321291@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications