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

Reply via email to