Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 29dee38886475f1b32dfc9c2281f68e51c5511ae
https://github.com/WebKit/WebKit/commit/29dee38886475f1b32dfc9c2281f68e51c5511ae
Author: David Kilzer <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M Source/JavaScriptCore/API/JSWeakObjectMapRefPrivate.cpp
M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.cpp
M Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp
M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
M Source/WTF/wtf/Ref.h
M Source/WTF/wtf/WorkQueue.h
M Source/WTF/wtf/generic/WorkQueueGeneric.cpp
M Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp
M
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp
M Source/WebCore/accessibility/AXCoreObject.cpp
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AccessibilityMathMLElement.cpp
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityScrollView.cpp
M Source/WebCore/animation/StyleOriginatedTimelinesController.cpp
M Source/WebCore/css/CSSKeyframeRule.cpp
M Source/WebCore/css/CSSPrimitiveValueMappings.h
M Source/WebCore/css/ShorthandSerializer.cpp
M Source/WebCore/css/StyleRule.cpp
M Source/WebCore/dom/DocumentFragment.cpp
M Source/WebCore/dom/DocumentFullscreen.cpp
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/FindRevealAlgorithms.cpp
M Source/WebCore/dom/StyledElement.cpp
M Source/WebCore/editing/TextIterator.cpp
M Source/WebCore/editing/VisibleUnits.cpp
M Source/WebCore/html/track/AudioTrackList.cpp
M Source/WebCore/html/track/TextTrackList.cpp
M Source/WebCore/html/track/VideoTrackList.cpp
M Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp
M Source/WebCore/loader/cache/CachedSVGFont.cpp
M Source/WebCore/page/DebugPageOverlays.cpp
M Source/WebCore/page/LocalFrame.cpp
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/platform/graphics/MediaResourceSniffer.cpp
M Source/WebCore/rendering/RenderCounter.cpp
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/Shared/WebBackForwardListFrameItem.cpp
M Source/WebKit/Shared/WebBackForwardListItem.cpp
M Source/WebKit/UIProcess/BrowsingContextGroup.cpp
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.cpp
M
Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm
M Source/WebKit/UIProcess/WebFrameProxy.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Tools/Scripts/webkitpy/style/checkers/cpp.py
M Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py
Log Message:
-----------
Adopt LIFETIME_BOUND for WTF::Ref
<https://bugs.webkit.org/show_bug.cgi?id=300560>
<rdar://162444456>
Reviewed by Geoffrey Garen.
Introduce Ref::unsafeGet() and Ref::unsafePtr() for pre-existing unsafe
uses.
Add a style checker to warn when unsafePtr() is used or when the code is
modified without fixing it.
* Source/JavaScriptCore/API/JSWeakObjectMapRefPrivate.cpp:
* Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.cpp:
(JSC::Wasm::FunctionIPIntMetadataGenerator::addSignature):
* Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp:
(JSC::Wasm::TypeDefinition::unrollSlow const):
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeExports):
* Source/WTF/wtf/Ref.h:
(WTF::Ref::ptrAllowingHashTableEmptyValue const):
(WTF::Ref::ptrAllowingHashTableEmptyValue):
(WTF::Ref::operator-> const):
(WTF::Ref::ptr const):
(WTF::Ref::unsafePtr const): Add.
(WTF::Ref::get const):
(WTF::Ref::unsafeGet const): Add.
(WTF::Ref::operator T& const):
- Add LIFETIME_BOUND to existing methods, and add unsafePtr() and
unsafeGet() for existing code until it is fixed.
* Source/WTF/wtf/WorkQueue.h:
(WTF::WorkQueueBase::m_runLoop):
- Switch from raw pointer to RefPtr.
* Source/WTF/wtf/generic/WorkQueueGeneric.cpp:
(WTF::WorkQueueBase::WorkQueueBase):
(WTF::WorkQueueBase::platformInitialize):
(WTF::WorkQueueBase::platformInvalidate):
- Update after changing m_runLoop to RefPtr.
* Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::createVersionChangeTransaction):
*
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::newRemoteTransceiver):
* Source/WebCore/accessibility/AXCoreObject.cpp:
(WebCore::AXCoreObject::nextInPreOrder):
(WebCore::AXCoreObject::deepestLastChildIncludingIgnored):
(WebCore::AXCoreObject::nextSiblingIncludingIgnored const):
(WebCore::AXCoreObject::nextUnignoredSibling const):
(WebCore::AXCoreObject::rowHeader):
(WebCore::AXCoreObject::activeDescendant const):
(WebCore::AXCoreObject::titleUIElement const):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::getOrCreate):
* Source/WebCore/accessibility/AccessibilityMathMLElement.cpp:
(WebCore::AccessibilityMathMLElement::mathRootIndexObject):
(WebCore::AccessibilityMathMLElement::mathNumeratorObject):
(WebCore::AccessibilityMathMLElement::mathDenominatorObject):
(WebCore::AccessibilityMathMLElement::mathUnderObject):
(WebCore::AccessibilityMathMLElement::mathOverObject):
(WebCore::AccessibilityMathMLElement::mathBaseObject):
(WebCore::AccessibilityMathMLElement::mathSubscriptObject):
(WebCore::AccessibilityMathMLElement::mathSuperscriptObject):
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::tableHeaderContainer):
(WebCore::AccessibilityNodeObject::disclosedByRow const):
* Source/WebCore/accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::addChildScrollbar):
* Source/WebCore/animation/StyleOriginatedTimelinesController.cpp:
(WebCore::StyleOriginatedTimelinesController::inactiveNamedTimeline):
(WebCore::StyleOriginatedTimelinesController::determineTreeOrder):
* Source/WebCore/css/CSSKeyframeRule.cpp:
(WebCore::StyleRuleKeyframe::mutableProperties):
* Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::TypeDeducingCSSValueMapper::operator const CSSPrimitiveValue& const):
* Source/WebCore/css/ShorthandSerializer.cpp:
(WebCore::ShorthandSerializer::serializeGridTemplate const):
* Source/WebCore/css/StyleRule.cpp:
(WebCore::StyleRule::mutableProperties):
(WebCore::StyleRulePage::mutableProperties):
(WebCore::StyleRuleFontFace::mutableProperties):
* Source/WebCore/dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::getElementById const):
* Source/WebCore/dom/DocumentFullscreen.cpp:
(WebCore::DocumentFullscreen::fullscreenElement const):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::createUserAgentShadowRoot):
* Source/WebCore/dom/FindRevealAlgorithms.cpp:
(WebCore::revealClosedDetailsAndHiddenUntilFoundAncestors):
* Source/WebCore/dom/StyledElement.cpp:
(WebCore::StyledElement::ensureMutableInlineStyle):
* Source/WebCore/editing/TextIterator.cpp:
(WebCore::TextIterator::node const):
* Source/WebCore/editing/VisibleUnits.cpp:
(WebCore::previousBoundary):
* Source/WebCore/html/track/AudioTrackList.cpp:
(WebCore::AudioTrackList::getTrackById const):
* Source/WebCore/html/track/TextTrackList.cpp:
(WebCore::TextTrackList::getTrackById const):
* Source/WebCore/html/track/VideoTrackList.cpp:
(WebCore::VideoTrackList::getTrackById const):
* Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::bindCanvas):
* Source/WebCore/loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::getSVGFontById const):
* Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::DebugPageOverlays::ensureRegionOverlayForPage):
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::userContentProvider const):
(WebCore::LocalFrame::userContentProvider):
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::needsPointerTouchCompatibility const):
* Source/WebCore/platform/graphics/MediaResourceSniffer.cpp:
(WebCore::MediaResourceSniffer::promise const):
* Source/WebCore/rendering/RenderCounter.cpp:
(WebCore::makeCounterNode):
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::webProcessConnection const):
* Source/WebKit/Shared/WebBackForwardListFrameItem.cpp:
(WebKit::WebBackForwardListFrameItem::rootFrame):
(WebKit::WebBackForwardListFrameItem::mainFrame):
* Source/WebKit/Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::navigatedFrameItem const):
* Source/WebKit/UIProcess/BrowsingContextGroup.cpp:
(WebKit::BrowsingContextGroup::remotePageInProcess):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm:
(WebKit::WebExtensionAction::fallbackAction const):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm:
(WebKit::WebExtensionController::websiteDataStore const):
* Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.cpp:
(WebKit::WebExtensionControllerConfiguration::defaultWebsiteDataStore const):
*
Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxyIOS::connectStateNodeLayers):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::rootFrame):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::webProcessProxyFromConnection const):
* Tools/Scripts/webkitpy/style/checkers/cpp.py:
(check_unsafe_get):
- Add check for use of unsafePtr().
(CppChecker):
- Rename runtime/unsafe_get to runtime/unsafe_get_ptr.
* Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_unsafe_get):
- Add tests.
Canonical link: https://commits.webkit.org/301385@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes