[webkit-changes] [WebKit/WebKit] b06c5b: Wrappers of r-value Ref/RefPtr should be RetainPtr...

Alex Christensen noreply at github.com
Mon Oct 23 17:58:19 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b06c5b6e37bf5af6279d85e1e9a9de34e4848a38
      https://github.com/WebKit/WebKit/commit/b06c5b6e37bf5af6279d85e1e9a9de34e4848a38
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-10-23 (Mon, 23 Oct 2023)

  Changed paths:
    M Source/WebKit/Shared/Cocoa/WKObject.h
    M Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKBackForwardList.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKContentRuleListStore.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKContentWorld.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKFrameInfo.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKOpenPanelParameters.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKFrameTreeNode.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKGeolocationPosition.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMatchPattern.mm
    M Source/WebKit/UIProcess/Cocoa/NavigationState.mm
    M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm
    M Source/WebKit/UIProcess/Inspector/Cocoa/InspectorExtensionDelegate.mm
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInCSSStyleDeclarationHandle.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm

  Log Message:
  -----------
  Wrappers of r-value Ref/RefPtr should be RetainPtr instead of autorelease
https://bugs.webkit.org/show_bug.cgi?id=263548
rdar://117369554

Reviewed by Simon Fraser.

It turns out they don't all need to go into the autoreleasepool.  Some of them can just use
RetainPtr::get and then deallocate the object immediately if it is not retained by the called
function.  Also, having adoptNS leakRef and autorelease on the same line is hard to tell a
regex how to reason about, so this makes our style easier to enforce.

* Source/WebKit/Shared/Cocoa/WKObject.h:
(WebKit::wrapper):
* Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm:
(WKPageLoadURLRequestReturningNavigation):
(WKPageLoadFileReturningNavigation):
* Source/WebKit/UIProcess/API/Cocoa/WKBackForwardList.mm:
(-[WKBackForwardList backList]):
(-[WKBackForwardList forwardList]):
* Source/WebKit/UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(+[WKContentRuleListStore storeWithURL:]):
(+[WKContentRuleListStore storeWithURLAndLegacyFilename:]):
* Source/WebKit/UIProcess/API/Cocoa/WKContentWorld.mm:
(+[WKContentWorld worldWithName:]):
* Source/WebKit/UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo _handle]):
(-[WKFrameInfo _parentFrameHandle]):
* Source/WebKit/UIProcess/API/Cocoa/WKOpenPanelParameters.mm:
(-[WKOpenPanelParameters _acceptedMIMETypes]):
(-[WKOpenPanelParameters _acceptedFileExtensions]):
(-[WKOpenPanelParameters _allowedFileExtensions]):
* Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:
(+[WKPreferences _features]):
(+[WKPreferences _internalDebugFeatures]):
(+[WKPreferences _experimentalFeatures]):
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _configuration]):
(-[WKProcessPool _downloadURLRequest:websiteDataStore:originatingWebView:]):
(-[WKProcessPool _resumeDownloadFromData:websiteDataStore:path:originatingWebView:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]):
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView loadSimulatedRequest:response:responseData:]):
(-[WKWebView loadFileRequest:allowingReadAccessToURL:]):
(-[WKWebView _mainFrame]):
(-[WKWebView _frames:]):
(-[WKWebView _frameTrees:]):
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
(-[WKWebView _loadRequest:shouldOpenExternalURLsPolicy:]):
(-[WKWebView _reloadWithoutContentBlockers]):
(-[WKWebView _reloadExpiredOnly]):
(-[WKWebView _sessionStateData]):
(-[WKWebView _restoreSessionState:andNavigate:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore defaultDataStore]):
(+[WKWebsiteDataStore nonPersistentDataStore]):
(+[WKWebsiteDataStore dataStoreForIdentifier:]):
(-[WKWebsiteDataStore _fetchDataRecordsOfTypes:withOptions:completionHandler:]):
(-[WKWebsiteDataStore _loadedSubresourceDomainsFor:completionHandler:]):
(-[WKWebsiteDataStore _getAllStorageAccessEntriesFor:completionHandler:]):
(-[WKWebsiteDataStore _configuration]):
(-[WKWebsiteDataStore _appBoundDomains:]):
(-[WKWebsiteDataStore _appBoundSchemes:]):
* Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(+[_WKApplicationManifest applicationManifestFromJSON:manifestURL:documentURL:]):
* Source/WebKit/UIProcess/API/Cocoa/_WKFrameTreeNode.mm:
(-[_WKFrameTreeNode info]):
* Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.mm:
(-[_WKResourceLoadInfo frame]):
(-[_WKResourceLoadInfo parentFrame]):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
(-[_WKWebAuthenticationAssertionResponse userHandle]):
(-[_WKWebAuthenticationAssertionResponse credentialID]):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMatchPattern.mm:
(+[_WKWebExtensionMatchPattern allURLsMatchPattern]):
(+[_WKWebExtensionMatchPattern allHostsAndSchemesMatchPattern]):
(+[_WKWebExtensionMatchPattern matchPatternWithString:]):
(+[_WKWebExtensionMatchPattern matchPatternWithScheme:host:path:]):
(-[_WKWebExtensionMatchPattern initWithString:error:]):
(-[_WKWebExtensionMatchPattern initWithScheme:host:path:error:]):
* Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::NavigationClient::didFailProvisionalNavigationWithError):
(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::NavigationClient::didCommitLoadForFrame):
(WebKit::NavigationState::NavigationClient::didFinishLoadForFrame):
(WebKit::NavigationState::NavigationClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::HistoryClient::didNavigateWithNavigationData):
* Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::decidePolicyForGeolocationPermissionRequest):
(WebKit::UIDelegate::UIClient::runBeforeUnloadConfirmPanel):
(WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
(WebKit::UIDelegate::UIClient::confirmPDFOpening):
(WebKit::UIDelegate::UIClient::runWebAuthenticationPanel):
* Source/WebKit/UIProcess/Inspector/Cocoa/InspectorExtensionDelegate.mm:
(WebKit::InspectorExtensionDelegate::InspectorExtensionClient::didShowExtensionTab):
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::selectAssertionResponse const):
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInCSSStyleDeclarationHandle.mm:
(+[WKWebProcessPlugInCSSStyleDeclarationHandle cssStyleDeclarationHandleWithJSValue:inContext:]):
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(+[WKWebProcessPlugInFrame lookUpFrameFromJSContext:]):
(+[WKWebProcessPlugInFrame lookUpContentFrameFromWindowOrFrameElement:]):
(-[WKWebProcessPlugInFrame hitTest:]):
(-[WKWebProcessPlugInFrame hitTest:options:]):
(-[WKWebProcessPlugInFrame childFrames]):
(-[WKWebProcessPlugInFrame handle]):
(-[WKWebProcessPlugInFrame _parentFrame]):
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm:
(-[WKWebProcessPlugInHitTestResult nodeHandle]):
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
(-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):
(-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]):
(-[WKWebProcessPlugInNodeHandle frame]):
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm:
(+[WKWebProcessPlugInRangeHandle rangeHandleWithJSValue:inContext:]):
(-[WKWebProcessPlugInRangeHandle frame]):
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
(+[WKWebProcessPlugInScriptWorld world]):
* Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

Canonical link: https://commits.webkit.org/269686@main




More information about the webkit-changes mailing list