source: webkit/trunk/Source/WebKit/UIProcess/DrawingAreaProxy.cpp

Last change on this file was 282882, checked in by Chris Dumez, 4 years ago

Drop makeRef() and use Ref { } instead
https://bugs.webkit.org/show_bug.cgi?id=230626

Reviewed by Alex Christensen.

Source/WebCore:

  • platform/audio/cocoa/AudioFileReaderCocoa.cpp:

(WebCore::AudioFileReader::demuxWebMData const):

Source/WebKit:

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::cacheNativeImage):

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

(WebKit::LibWebRTCCodecsProxy::createH264Decoder):
(WebKit::LibWebRTCCodecsProxy::createH265Decoder):
(WebKit::LibWebRTCCodecsProxy::createVP9Decoder):
(WebKit::LibWebRTCCodecsProxy::createEncoder):

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToPCMDatabaseIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking):

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::ResourceLoadStatisticsStore::updateCacheMaxAgeCap):
(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):
(WebKit::ResourceLoadStatisticsStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsStore::logTestingEvent):
(WebKit::ResourceLoadStatisticsStore::removeAllStorageAccess):

  • NetworkProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::findPendingDownloadLocation):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::SessionStorageQuotaManager::ensureOriginStorageQuotaManager):

  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::initialize):

  • NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.cpp:

(WebKit::PCM::Store::Store):
(WebKit::PCM::Store::insertPrivateClickMeasurement):
(WebKit::PCM::Store::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting):
(WebKit::PCM::Store::attributePrivateClickMeasurement):
(WebKit::PCM::Store::privateClickMeasurementToStringForTesting const):
(WebKit::PCM::Store::allAttributedPrivateClickMeasurement):
(WebKit::PCM::Store::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::PCM::Store::clearPrivateClickMeasurement):
(WebKit::PCM::Store::clearPrivateClickMeasurementForRegistrableDomain):
(WebKit::PCM::Store::clearExpiredPrivateClickMeasurement):
(WebKit::PCM::Store::clearSentAttribution):
(WebKit::PCM::Store::close):

  • NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:

(WebKit::ServiceWorkerSoftUpdateLoader::loadWithCacheEntry):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::from):

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::Cache::open):
(WebKit::CacheStorage::Cache::retrieveRecord):
(WebKit::CacheStorage::Cache::retrieveRecords):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::updateRecordToDisk):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::readRecordsList):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::retrieve):

  • NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp:

(WebKit::NetworkCache::IOChannel::readSyncInThread):

  • NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::clearStorageForTesting):

  • NetworkProcess/webrtc/NetworkMDNSRegister.cpp:

(WebKit::NetworkMDNSRegister::registerMDNSName):

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::NetworkRTCProvider):

  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:

(WebKit::NetworkRTCTCPSocketCocoa::NetworkRTCTCPSocketCocoa):

  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:

(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::processIncomingMessage):

  • Platform/IPC/HandleMessage.h:

(IPC::handleMessageSynchronous):
(IPC::handleMessageSynchronousWantsConnection):
(IPC::handleMessageAsync):
(IPC::handleMessageAsyncWantsConnection):

  • Platform/IPC/MessageReceiveQueues.h:
  • Platform/IPC/StreamServerConnection.h:

(IPC::StreamServerConnection<Receiver>::startReceivingMessages):

  • Platform/SharedMemory.cpp:

(WebKit::SharedMemory::createSharedBuffer const):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateSceneState):

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::~CompositingRunLoop):

  • UIProcess/API/APIContentWorld.cpp:

(API::ContentWorld::sharedWorldWithName):

  • UIProcess/API/Cocoa/WKDownload.mm:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _frames:]):

  • UIProcess/API/Cocoa/_WKDownload.mm:

(-[_WKDownload cancel]):

  • UIProcess/API/glib/WebKitDownload.cpp:

(webkit_download_cancel):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::getBrowsingContext):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::willShowJavaScriptDialog):
(WebKit::WebAutomationSession::simulateMouseInteraction):
(WebKit::WebAutomationSession::simulateWheelInteraction):
(WebKit::WebAutomationSession::performMouseInteraction):
(WebKit::WebAutomationSession::performKeyboardInteractions):
(WebKit::WebAutomationSession::takeScreenshot):

  • UIProcess/BackgroundProcessResponsivenessTimer.cpp:

(WebKit::BackgroundProcessResponsivenessTimer::setResponsive):

  • UIProcess/Cocoa/LegacyDownloadClient.mm:

(WebKit::LegacyDownloadClient::didReceiveAuthenticationChallenge):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::didReceiveAuthenticationChallenge):

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin):

  • UIProcess/Cocoa/WKSafeBrowsingWarning.mm:

(-[WKSafeBrowsingWarning initWithFrame:safeBrowsingWarning:completionHandler:]):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::beginSafeBrowsingCheck):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::DrawingAreaProxy):

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::registerExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::unregisterExtension):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::deleteWebsiteDataInUIProcessForRegistrableDomains):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::callObserverCallback):

  • UIProcess/ResponsivenessTimer.cpp:

(WebKit::ResponsivenessTimer::timerFired):
(WebKit::ResponsivenessTimer::stop):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::grantRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::updateStoredRequests):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::addProcessIfPossible):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::handleSynchronousMessage):
(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createSpeechRecognitionServer):
(WebKit::WebProcessProxy::ensureSpeechRecognitionRemoteRealtimeMediaSourceManager):

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::WebURLSchemeTask):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::beginAppBoundDomainCheck):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::networkProcessForSession):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):

  • WebProcess/EncryptedMedia/MediaKeySystemPermissionRequestManager.cpp:

(WebKit::MediaKeySystemPermissionRequestManager::sendMediaKeySystemRequest):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::RemoteResourceCacheProxy::recordFontUse):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionOnMainThreadWithLock):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):

  • WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:

(WebKit::UserMediaPermissionRequestManager::sendUserMediaRequest):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad):

  • WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp:

(WebKit::LibWebRTCNetworkManager::StartUpdating):
(WebKit::LibWebRTCNetworkManager::networksChanged):
(WebKit::LibWebRTCNetworkManager::networkProcessCrashed):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::cancelAndForgetLoader):

  • WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:

(WebKit::SpeechRecognitionRealtimeMediaSourceManager::createSource):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPC::visitedLinkStoreID):
(WebKit::IPCTestingAPI::JSMessageListener::didReceiveMessage):
(WebKit::IPCTestingAPI::JSMessageListener::willSendMessage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::requestStorageAccess):
(WebKit::WebPage::requestTextRecognition):

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::showEmojiPicker):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPlatformEditorState const):
(WebKit::isObscuredElement):
(WebKit::elementPositionInformation):
(WebKit::WebPage::focusTextInputContextAndPlaceCaret):
(WebKit::WebPage::animationDidFinishForElement):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacksIfNeeded):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureSpeechRecognitionRealtimeMediaSourceManager):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCheckingOfString):

Source/WTF:

  • wtf/Ref.h:
  • Property svn:eol-style set to native
File size: 3.8 KB
Line 
1/*
2 * Copyright (C) 2010-2018 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include "config.h"
27#include "DrawingAreaProxy.h"
28
29#include "DrawingAreaMessages.h"
30#include "DrawingAreaProxyMessages.h"
31#include "WebPageProxy.h"
32#include "WebProcessProxy.h"
33
34#if PLATFORM(COCOA)
35#include <wtf/MachSendRight.h>
36#endif
37
38namespace WebKit {
39using namespace WebCore;
40
41DrawingAreaProxy::DrawingAreaProxy(DrawingAreaType type, WebPageProxy& webPageProxy, WebProcessProxy& process)
42 : m_type(type)
43 , m_identifier(DrawingAreaIdentifier::generate())
44 , m_webPageProxy(webPageProxy)
45 , m_process(process)
46 , m_size(webPageProxy.viewSize())
47#if PLATFORM(MAC)
48 , m_viewExposedRectChangedTimer(RunLoop::main(), this, &DrawingAreaProxy::viewExposedRectChangedTimerFired)
49#endif
50{
51}
52
53DrawingAreaProxy::~DrawingAreaProxy()
54{
55 if (m_startedReceivingMessages)
56 process().removeMessageReceiver(Messages::DrawingAreaProxy::messageReceiverName(), m_identifier);
57}
58
59void DrawingAreaProxy::startReceivingMessages()
60{
61 m_startedReceivingMessages = true;
62 process().addMessageReceiver(Messages::DrawingAreaProxy::messageReceiverName(), m_identifier, *this);
63}
64
65bool DrawingAreaProxy::setSize(const IntSize& size, const IntSize& scrollDelta)
66{
67 if (m_size == size && scrollDelta.isZero())
68 return false;
69
70 m_size = size;
71 m_scrollOffset += scrollDelta;
72 sizeDidChange();
73 return true;
74}
75
76#if PLATFORM(COCOA)
77MachSendRight DrawingAreaProxy::createFence()
78{
79 return MachSendRight();
80}
81#endif
82
83IPC::Connection* DrawingAreaProxy::messageSenderConnection() const
84{
85 return process().connection();
86}
87
88bool DrawingAreaProxy::sendMessage(UniqueRef<IPC::Encoder>&& encoder, OptionSet<IPC::SendOption> sendOptions, std::optional<std::pair<CompletionHandler<void(IPC::Decoder*)>, uint64_t>>&& asyncReplyInfo)
89{
90 return process().sendMessage(WTFMove(encoder), sendOptions, WTFMove(asyncReplyInfo));
91}
92
93#if PLATFORM(MAC)
94void DrawingAreaProxy::didChangeViewExposedRect()
95{
96 if (!m_webPageProxy.hasRunningProcess())
97 return;
98
99 if (!m_viewExposedRectChangedTimer.isActive())
100 m_viewExposedRectChangedTimer.startOneShot(0_s);
101}
102
103void DrawingAreaProxy::viewExposedRectChangedTimerFired()
104{
105 if (!m_webPageProxy.hasRunningProcess())
106 return;
107
108 auto viewExposedRect = m_webPageProxy.viewExposedRect();
109 if (viewExposedRect == m_lastSentViewExposedRect)
110 return;
111
112 send(Messages::DrawingArea::SetViewExposedRect(viewExposedRect));
113 m_lastSentViewExposedRect = viewExposedRect;
114}
115#endif // PLATFORM(MAC)
116
117} // namespace WebKit
Note: See TracBrowser for help on using the repository browser.