[webkit-changes] [WebKit/WebKit] 858c12: Use RefPtr and WeakPtr with WebPageProxy in more p...
EWS
noreply at github.com
Sat Dec 10 04:03:03 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 858c1233fb2f5c3e4b714915d984d975c961b2da
https://github.com/WebKit/WebKit/commit/858c1233fb2f5c3e4b714915d984d975c961b2da
Author: David Kilzer <ddkilzer at apple.com>
Date: 2022-12-10 (Sat, 10 Dec 2022)
Changed paths:
M Source/WebKit/UIProcess/API/APIFrameInfo.cpp
M Source/WebKit/UIProcess/API/APIFrameInfo.h
M Source/WebKit/UIProcess/API/C/WKPage.cpp
M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp
M Source/WebKit/UIProcess/Automation/WebAutomationSession.h
M Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm
M Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
M Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
M Source/WebKit/UIProcess/HighPerformanceGraphicsUsageSampler.cpp
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.cpp
M Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
M Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp
M Source/WebKit/UIProcess/VisitedLinkStore.cpp
M Source/WebKit/UIProcess/WebGeolocationManagerProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPermissionControllerProxy.cpp
M Source/WebKit/UIProcess/WebPermissionControllerProxy.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/UIProcess/WebURLSchemeTask.cpp
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
Log Message:
-----------
Use RefPtr and WeakPtr with WebPageProxy in more places
https://bugs.webkit.org/show_bug.cgi?id=248912
<rdar://103087074>
Reviewed by Geoffrey Garen.
Replace uses of raw pointers for WebPageProxy with RefPtr<> and
WeakPtr<>. Started by addressing a FIXME comment in
WebProcessProxy.h to make WebPageProxyMap use a WeakPtr<>, then
continued pulling "the thread" to change other uses of raw
pointers.
Most changes below are the result of changing a few methods to
return RefPtr<> instead of a raw pointer and to add nullptr
checks. WebProcessProxy::pages() was changed to return
Vector<RefPtr<>> instead of an iterator since most of the code
used the iterator to create a Vector<RefPtr<>> anyway, or should
have been doing that anyway.
* Source/WebKit/UIProcess/API/APIFrameInfo.cpp:
(API::FrameInfo::create):
(API::FrameInfo::FrameInfo):
* Source/WebKit/UIProcess/API/APIFrameInfo.h:
- Change parameters to take a RefPtr<>&& since the instance
variable was a RefPtr<>, too.
* Source/WebKit/UIProcess/API/C/WKPage.cpp:
(WKPageCopyRelatedPages):
* Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::webPageProxyForHandle):
- Change turn return RefPtr<> instead of raw pointer.
(WebKit::WebAutomationSession::getBrowsingContexts):
(WebKit::WebAutomationSession::getBrowsingContext):
(WebKit::WebAutomationSession::closeBrowsingContext):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::setWindowFrameOfBrowsingContext):
(WebKit::WebAutomationSession::waitForNavigationToComplete):
(WebKit::WebAutomationSession::maximizeWindowOfBrowsingContext):
(WebKit::WebAutomationSession::hideWindowOfBrowsingContext):
(WebKit::WebAutomationSession::navigateBrowsingContext):
(WebKit::WebAutomationSession::goBackInBrowsingContext):
(WebKit::WebAutomationSession::goForwardInBrowsingContext):
(WebKit::WebAutomationSession::reloadBrowsingContext):
(WebKit::WebAutomationSession::evaluateJavaScriptFunction):
(WebKit::WebAutomationSession::resolveChildFrameHandle):
(WebKit::WebAutomationSession::resolveParentFrameHandle):
(WebKit::WebAutomationSession::computeElementLayout):
(WebKit::WebAutomationSession::getComputedRole):
(WebKit::WebAutomationSession::getComputedLabel):
(WebKit::WebAutomationSession::selectOptionElement):
(WebKit::WebAutomationSession::isShowingJavaScriptDialog):
(WebKit::WebAutomationSession::dismissCurrentJavaScriptDialog):
(WebKit::WebAutomationSession::acceptCurrentJavaScriptDialog):
(WebKit::WebAutomationSession::messageOfCurrentJavaScriptDialog):
(WebKit::WebAutomationSession::setUserInputForCurrentJavaScriptPrompt):
(WebKit::WebAutomationSession::setFilesForInputFileUpload):
(WebKit::WebAutomationSession::getAllCookies):
(WebKit::WebAutomationSession::deleteSingleCookie):
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
(WebKit::WebAutomationSession::generateTestReport):
(WebKit::WebAutomationSession::performMouseInteraction):
(WebKit::WebAutomationSession::performKeyboardInteractions):
(WebKit::WebAutomationSession::performInteractionSequence):
(WebKit::WebAutomationSession::cancelInteractionSequence):
(WebKit::WebAutomationSession::takeScreenshot):
* Source/WebKit/UIProcess/Automation/WebAutomationSession.h:
* Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:
(WebKit::WebAutomationSession::inspectBrowsingContext):
* Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::accessType const):
(WebKit::WebPasteboardProxy::determineDataOwner const):
* Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::transformHandlesToObjects):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::didCreateContextForVisibilityPropagation):
(WebKit::GPUProcessProxy::statusBarWasTapped):
* Source/WebKit/UIProcess/HighPerformanceGraphicsUsageSampler.cpp:
(WebKit::HighPerformanceGraphicsUsageSampler::timerFired):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::negotiatedLegacyTLS):
(WebKit::NetworkProcessProxy::didNegotiateModernTLS):
(WebKit::NetworkProcessProxy::triggerBrowsingContextGroupSwitchForNavigation):
(WebKit::NetworkProcessProxy::logDiagnosticMessage):
(WebKit::NetworkProcessProxy::logDiagnosticMessageWithResult):
(WebKit::NetworkProcessProxy::logDiagnosticMessageWithValue):
(WebKit::NetworkProcessProxy::resourceLoadDidSendRequest):
(WebKit::NetworkProcessProxy::resourceLoadDidPerformHTTPRedirection):
(WebKit::NetworkProcessProxy::resourceLoadDidReceiveChallenge):
(WebKit::NetworkProcessProxy::resourceLoadDidReceiveResponse):
(WebKit::NetworkProcessProxy::resourceLoadDidCompleteWithError):
(WebKit::NetworkProcessProxy::requestStorageAccessConfirm):
(WebKit::NetworkProcessProxy::didCommitCrossSiteLoadWithDataTransferFromPrevalentResource):
(WebKit::NetworkProcessProxy::testProcessIncomingSyncMessagesWhenWaitingForSyncReply):
* Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.cpp:
(WebKit::PerActivityStateCPUUsageSampler::loggingTimerFired):
(WebKit::PerActivityStateCPUUsageSampler::pageForLogging const):
- Change turn return RefPtr<> instead of raw pointer.
* Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm:
(WebKit::RemoteLayerTreeDisplayLinkClient::displayLinkFired):
* Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::didPostMessage):
* Source/WebKit/UIProcess/VisitedLinkStore.cpp:
(WebKit::VisitedLinkStore::addVisitedLinkHashFromPage):
* Source/WebKit/UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::startUpdatingWithProxy):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::forMostVisibleWebPageIfAny):
(WebKit::WebPageProxy::~WebPageProxy):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::nonEphemeralWebPageProxy):
- Change turn return RefPtr<> instead of raw pointer.
(WebKit::WebPageProxy::createNewPage):
- Avoid a use-after-move by getting WebPageProxy* from
originatingFrameInfo->page() to call
page->lastNavigationWasAppInitiated().
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPermissionControllerProxy.cpp:
(WebKit::WebPermissionControllerProxy::query):
(WebKit::WebPermissionControllerProxy::mostReasonableWebPageProxy const):
- Change turn return RefPtr<> instead of raw pointer.
* Source/WebKit/UIProcess/WebPermissionControllerProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::globalPages): Add.
- Implement convenience method in place of calling
`globalPageMap().values()` and converting to a
Vector<RefPtr<>> structure.
(WebKit::WebProcessProxy::pages const):
- Move implementation to source file since it requires the full
class definition of WebPageProxy, and WebProcessProxy.h only
predeclares WebPageProxy as a class since each class refers to
the other class.
- Change return type from a value iterator to Vector<RefPtr<>>
since the code that called this was doing that anyway (or
should have been doing that).
(WebKit::WebProcessProxy::forWebPagesWithOrigin):
(WebKit::WebProcessProxy::allowedFirstPartiesForCookies):
(WebKit::WebProcessProxy::shouldSendPendingMessage):
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::webPage):
- Change turn return RefPtr<> instead of raw pointer.
(WebKit::WebProcessProxy::audioCapturingWebPage):
- Change turn return RefPtr<> instead of raw pointer.
(WebKit::WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed):
(WebKit::WebProcessProxy::notifyWebsiteDataScanForRegistrableDomainsFinished):
(WebKit::WebProcessProxy::notifyWebsiteDataDeletionForRegistrableDomainsFinished):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::gpuProcessDidFinishLaunching):
(WebKit::WebProcessProxy::gpuProcessExited):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didBecomeResponsive):
(WebKit::WebProcessProxy::willChangeIsResponsive):
(WebKit::WebProcessProxy::didChangeIsResponsive):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::didDestroyFrame):
(WebKit::WebProcessProxy::windowServerConnectionStateChanged):
(WebKit::WebProcessProxy::didChangeThrottleState):
(WebKit::WebProcessProxy::updateAudibleMediaAssertions):
(WebKit::WebProcessProxy::logDiagnosticMessageForResourceLimitTermination):
(WebKit::WebProcessProxy::didExceedCPULimit):
(WebKit::WebProcessProxy::createSpeechRecognitionServer):
(WebKit::WebProcessProxy::muteCaptureInPagesExcept):
* Source/WebKit/UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::pages const): Deleted.
* Source/WebKit/UIProcess/WebURLSchemeTask.cpp:
(WebKit::WebURLSchemeTask::willPerformRedirection):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getAllStorageAccessEntries):
Canonical link: https://commits.webkit.org/257681@main
More information about the webkit-changes
mailing list