Changeset 268612 in webkit
- Timestamp:
- Oct 16, 2020 3:20:58 PM (4 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 1 added
- 1 deleted
- 12 edited
- 13 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/CMakeLists.txt
r268605 r268612 124 124 GPUProcess/GPUProcess 125 125 126 GPUProcess/graphics/RemoteRenderingBackend Proxy126 GPUProcess/graphics/RemoteRenderingBackend 127 127 128 128 GPUProcess/media/RemoteAudioDestinationManager … … 216 216 WebProcess/GPU/GPUProcessConnection 217 217 218 WebProcess/GPU/graphics/RemoteRenderingBackend 218 WebProcess/GPU/graphics/RemoteRenderingBackendProxy 219 219 220 220 WebProcess/GPU/media/MediaPlayerPrivateRemote -
trunk/Source/WebKit/ChangeLog
r268608 r268612 1 2020-10-16 Said Abou-Hallawa <sabouhallawa@apple.com> 2 3 [GPU Process] Exchange RemoteImageBuffer and RemoteImageBufferProxy 4 https://bugs.webkit.org/show_bug.cgi?id=217809 5 6 Reviewed by Simon Fraser. 7 8 The names of the GPU rendering classes have been confusing. RemoteImageBuffer 9 should be the real object in the GPU Process because it owns the backend. 10 And RemoteImageBufferProxy should be a proxy to this object in the Web 11 Process. So we are going to exchange the following classes: 12 13 -- RemoteImageBuffer <-> RemoteImageBufferProxy 14 -- RemoteRenderingBackend <-> RemoteRenderingBackendProxy 15 -- RemoteImageBufferMessageHandler <-> RemoteImageBufferMessageHandlerProxy 16 17 * CMakeLists.txt: 18 * DerivedSources-input.xcfilelist: 19 * DerivedSources.make: 20 * GPUProcess/GPUConnectionToWebProcess.cpp: 21 (WebKit::GPUConnectionToWebProcess::createRenderingBackend): 22 (WebKit::GPUConnectionToWebProcess::releaseRenderingBackend): 23 * GPUProcess/GPUConnectionToWebProcess.h: 24 * GPUProcess/graphics/PlatformRemoteImageBuffer.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h. 25 * GPUProcess/graphics/RemoteImageBuffer.h: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferProxy.h. 26 (WebKit::RemoteImageBuffer::create): 27 (WebKit::RemoteImageBuffer::RemoteImageBuffer): 28 (WebKit::RemoteImageBuffer::~RemoteImageBuffer): 29 (WebKit::RemoteImageBuffer::apply): 30 * GPUProcess/graphics/RemoteImageBufferMessageHandler.cpp: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp. 31 (WebKit::RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler): 32 (WebKit::RemoteImageBufferMessageHandler::createBackend): 33 (WebKit::RemoteImageBufferMessageHandler::commitFlushContext): 34 * GPUProcess/graphics/RemoteImageBufferMessageHandler.h: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h. 35 (WebKit::RemoteImageBufferMessageHandler::backend): 36 * GPUProcess/graphics/RemoteRenderingBackend.cpp: Renamed from Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.cpp. 37 (WebKit::RemoteRenderingBackend::create): 38 (WebKit::RemoteRenderingBackend::RemoteRenderingBackend): 39 (WebKit::RemoteRenderingBackend::~RemoteRenderingBackend): 40 (WebKit::RemoteRenderingBackend::messageSenderConnection const): 41 (WebKit::RemoteRenderingBackend::messageSenderDestinationID const): 42 (WebKit::RemoteRenderingBackend::createImageBuffer): 43 (WebKit::RemoteRenderingBackend::releaseRemoteResource): 44 (WebKit::RemoteRenderingBackend::getImageData): 45 (WebKit::RemoteRenderingBackend::flushImageBufferDrawingContext): 46 (WebKit::RemoteRenderingBackend::flushImageBufferDrawingContextAndCommit): 47 (WebKit::RemoteRenderingBackend::gpuConnectionToWebProcess const): 48 * GPUProcess/graphics/RemoteRenderingBackend.h: Renamed from Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.h. 49 (WebKit::RemoteRenderingBackend::renderingBackendIdentifier const): 50 * GPUProcess/graphics/RemoteRenderingBackend.messages.in: Renamed from Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in. 51 * GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp: 52 * Sources.txt: 53 * WebKit.xcodeproj/project.pbxproj: 54 * WebProcess/GPU/graphics/PlatformRemoteImageBufferProxy.h: Renamed from Source/WebKit/GPUProcess/graphics/PlatformRemoteImageBufferProxy.h. 55 * WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp: Removed. 56 * WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.cpp: Added. 57 (WebKit::RemoteImageBufferMessageHandlerProxy::RemoteImageBufferMessageHandlerProxy): 58 (WebKit::RemoteImageBufferMessageHandlerProxy::~RemoteImageBufferMessageHandlerProxy): 59 (WebKit::RemoteImageBufferMessageHandlerProxy::getImageData const): 60 (WebKit::RemoteImageBufferMessageHandlerProxy::waitForCreateImageBufferBackend): 61 (WebKit::RemoteImageBufferMessageHandlerProxy::waitForCommitImageBufferFlushContext): 62 (WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContext): 63 (WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContextAndWaitCommit): 64 (WebKit::RemoteImageBufferMessageHandlerProxy::commitFlushContext): 65 * WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h. 66 (WebKit::RemoteImageBufferMessageHandlerProxy::remoteResourceIdentifier const): 67 (WebKit::RemoteImageBufferMessageHandlerProxy::isPendingFlush const): 68 * WebProcess/GPU/graphics/RemoteImageBufferProxy.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteImageBuffer.h. 69 (WebKit::RemoteImageBufferProxy::create): 70 (WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy): 71 (WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy): 72 (WebKit::RemoteImageBufferProxy::putImageData): 73 * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.cpp. 74 (WebKit::RemoteRenderingBackendProxy::create): 75 (WebKit::RemoteRenderingBackendProxy::RemoteRenderingBackendProxy): 76 (WebKit::RemoteRenderingBackendProxy::~RemoteRenderingBackendProxy): 77 (WebKit::RemoteRenderingBackendProxy::messageSenderConnection const): 78 (WebKit::RemoteRenderingBackendProxy::messageSenderDestinationID const): 79 (WebKit::RemoteRenderingBackendProxy::waitForCreateImageBufferBackend): 80 (WebKit::RemoteRenderingBackendProxy::waitForCommitImageBufferFlushContext): 81 (WebKit::RemoteRenderingBackendProxy::createImageBuffer): 82 (WebKit::RemoteRenderingBackendProxy::releaseRemoteResource): 83 (WebKit::RemoteRenderingBackendProxy::createImageBufferBackend): 84 (WebKit::RemoteRenderingBackendProxy::commitImageBufferFlushContext): 85 * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.h. 86 (WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const): 87 * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in. 88 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 89 (WebKit::WebChromeClient::ensureRemoteRenderingBackendProxy const): 90 (WebKit::WebChromeClient::createImageBuffer const): 91 (WebKit::WebChromeClient::ensureRemoteRenderingBackend const): Deleted. 92 * WebProcess/WebCoreSupport/WebChromeClient.h: 93 1 94 2020-10-16 Eric Carlson <eric.carlson@apple.com> 2 95 -
trunk/Source/WebKit/DerivedSources-input.xcfilelist
r268605 r268612 21 21 $(PROJECT_DIR)/GPUProcess/GPUConnectionToWebProcess.messages.in 22 22 $(PROJECT_DIR)/GPUProcess/GPUProcess.messages.in 23 $(PROJECT_DIR)/GPUProcess/graphics/RemoteRenderingBackend Proxy.messages.in23 $(PROJECT_DIR)/GPUProcess/graphics/RemoteRenderingBackend.messages.in 24 24 $(PROJECT_DIR)/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in 25 25 $(PROJECT_DIR)/GPUProcess/media/RemoteAudioDestinationManager.messages.in … … 128 128 $(PROJECT_DIR)/WebProcess/FullScreen/WebFullScreenManager.messages.in 129 129 $(PROJECT_DIR)/WebProcess/GPU/GPUProcessConnection.messages.in 130 $(PROJECT_DIR)/WebProcess/GPU/graphics/RemoteRenderingBackend .messages.in130 $(PROJECT_DIR)/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in 131 131 $(PROJECT_DIR)/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in 132 132 $(PROJECT_DIR)/WebProcess/GPU/media/RemoteAudioDestinationProxy.messages.in -
trunk/Source/WebKit/DerivedSources.make
r268605 r268612 170 170 WebProcess/Databases/IndexedDB/WebIDBConnectionToServer \ 171 171 WebProcess/GPU/GPUProcessConnection \ 172 WebProcess/GPU/graphics/RemoteRenderingBackend \172 WebProcess/GPU/graphics/RemoteRenderingBackendProxy \ 173 173 WebProcess/GPU/webrtc/LibWebRTCCodecs \ 174 174 WebProcess/GPU/webrtc/SampleBufferDisplayLayer \ … … 223 223 PluginProcess/PluginProcess \ 224 224 GPUProcess/GPUConnectionToWebProcess \ 225 GPUProcess/graphics/RemoteRenderingBackend Proxy\225 GPUProcess/graphics/RemoteRenderingBackend \ 226 226 GPUProcess/webrtc/LibWebRTCCodecsProxy \ 227 227 GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager \ -
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
r267427 r268612 48 48 #include "RemoteMediaResourceManager.h" 49 49 #include "RemoteMediaResourceManagerMessages.h" 50 #include "RemoteRenderingBackend.h" 50 51 #include "RemoteSampleBufferDisplayLayerManager.h" 51 52 #include "RemoteSampleBufferDisplayLayerManagerMessages.h" … … 278 279 void GPUConnectionToWebProcess::createRenderingBackend(RenderingBackendIdentifier renderingBackendIdentifier) 279 280 { 280 auto addResult = m_remoteRenderingBackend ProxyMap.ensure(renderingBackendIdentifier, [&]() {281 return RemoteRenderingBackend Proxy::create(*this, renderingBackendIdentifier);281 auto addResult = m_remoteRenderingBackendMap.ensure(renderingBackendIdentifier, [&]() { 282 return RemoteRenderingBackend::create(*this, renderingBackendIdentifier); 282 283 }); 283 284 ASSERT_UNUSED(addResult, addResult.isNewEntry); … … 286 287 void GPUConnectionToWebProcess::releaseRenderingBackend(RenderingBackendIdentifier renderingBackendIdentifier) 287 288 { 288 bool found = m_remoteRenderingBackend ProxyMap.remove(renderingBackendIdentifier);289 bool found = m_remoteRenderingBackendMap.remove(renderingBackendIdentifier); 289 290 ASSERT_UNUSED(found, found); 290 291 } -
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
r267427 r268612 32 32 #include "MessageReceiverMap.h" 33 33 #include "RemoteAudioSessionIdentifier.h" 34 #include "RemoteRenderingBackendProxy.h"35 34 #include "RenderingBackendIdentifier.h" 36 35 #include <WebCore/LibWebRTCEnumTraits.h> … … 55 54 class RemoteMediaResourceManager; 56 55 class RemoteMediaSessionHelperProxy; 56 class RemoteRenderingBackend; 57 57 class RemoteSampleBufferDisplayLayerManager; 58 58 class UserMediaCaptureManagerProxy; … … 179 179 #endif 180 180 181 using RemoteRenderingBackend ProxyMap = HashMap<RenderingBackendIdentifier, std::unique_ptr<RemoteRenderingBackendProxy>>;182 RemoteRenderingBackend ProxyMap m_remoteRenderingBackendProxyMap;181 using RemoteRenderingBackendMap = HashMap<RenderingBackendIdentifier, std::unique_ptr<RemoteRenderingBackend>>; 182 RemoteRenderingBackendMap m_remoteRenderingBackendMap; 183 183 184 184 #if ENABLE(ENCRYPTED_MEDIA) -
trunk/Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.h
r268611 r268612 36 36 37 37 template<typename BackendType> 38 class RemoteImageBuffer Proxy : public WebCore::ConcreteImageBuffer<BackendType>, public RemoteImageBufferMessageHandlerProxy, public WebCore::DisplayList::Replayer::Delegate {38 class RemoteImageBuffer : public WebCore::ConcreteImageBuffer<BackendType>, public RemoteImageBufferMessageHandler, public WebCore::DisplayList::Replayer::Delegate { 39 39 using BaseConcreteImageBuffer = WebCore::ConcreteImageBuffer<BackendType>; 40 40 using BaseConcreteImageBuffer::context; … … 42 42 43 43 public: 44 static auto create(const WebCore::FloatSize& size, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackend Proxy& remoteRenderingBackendProxy, WebCore::RemoteResourceIdentifier remoteResourceIdentifier)44 static auto create(const WebCore::FloatSize& size, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackend& remoteRenderingBackend, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) 45 45 { 46 return BaseConcreteImageBuffer::template create<RemoteImageBuffer Proxy>(size, resolutionScale, colorSpace, nullptr, remoteRenderingBackendProxy, remoteResourceIdentifier);46 return BaseConcreteImageBuffer::template create<RemoteImageBuffer>(size, resolutionScale, colorSpace, nullptr, remoteRenderingBackend, remoteResourceIdentifier); 47 47 } 48 48 49 RemoteImageBuffer Proxy(std::unique_ptr<BackendType>&& backend, RemoteRenderingBackendProxy& remoteRenderingBackendProxy, WebCore::RemoteResourceIdentifier remoteResourceIdentifier)49 RemoteImageBuffer(std::unique_ptr<BackendType>&& backend, RemoteRenderingBackend& remoteRenderingBackend, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) 50 50 : BaseConcreteImageBuffer(WTFMove(backend)) 51 , RemoteImageBufferMessageHandler Proxy(remoteRenderingBackendProxy, remoteResourceIdentifier)51 , RemoteImageBufferMessageHandler(remoteRenderingBackend, remoteResourceIdentifier) 52 52 { 53 53 createBackend(m_backend->logicalSize(), m_backend->backendSize(), m_backend->resolutionScale(), m_backend->colorSpace(), m_backend->createImageBufferBackendHandle()); 54 54 } 55 55 56 ~RemoteImageBuffer Proxy()56 ~RemoteImageBuffer() 57 57 { 58 58 // Unwind the context's state stack before destruction, since calls to restore may not have -
trunk/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandler.cpp
r268611 r268612 25 25 26 26 #include "config.h" 27 #include "RemoteImageBufferMessageHandler Proxy.h"27 #include "RemoteImageBufferMessageHandler.h" 28 28 29 29 #if ENABLE(GPU_PROCESS) 30 30 31 #include "RemoteRenderingBackend Messages.h"32 #include "RemoteRenderingBackendProxy .h"31 #include "RemoteRenderingBackend.h" 32 #include "RemoteRenderingBackendProxyMessages.h" 33 33 34 34 namespace WebKit { 35 35 using namespace WebCore; 36 36 37 RemoteImageBufferMessageHandler Proxy::RemoteImageBufferMessageHandlerProxy(RemoteRenderingBackendProxy& remoteRenderingBackendProxy, WebCore::RemoteResourceIdentifier remoteResourceIdentifier)38 : m_remoteRenderingBackend Proxy(remoteRenderingBackendProxy)37 RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler(RemoteRenderingBackend& remoteRenderingBackend, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) 38 : m_remoteRenderingBackend(remoteRenderingBackend) 39 39 , m_remoteResourceIdentifier(remoteResourceIdentifier) 40 40 { 41 41 } 42 42 43 void RemoteImageBufferMessageHandler Proxy::createBackend(const FloatSize& logicalSize, const IntSize& backendSize, float resolutionScale, ColorSpace colorSpace, ImageBufferBackendHandle handle)43 void RemoteImageBufferMessageHandler::createBackend(const FloatSize& logicalSize, const IntSize& backendSize, float resolutionScale, ColorSpace colorSpace, ImageBufferBackendHandle handle) 44 44 { 45 m_remoteRenderingBackend Proxy.send(Messages::RemoteRenderingBackend::CreateImageBufferBackend(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle), m_remoteResourceIdentifier), m_remoteRenderingBackendProxy.renderingBackendIdentifier());45 m_remoteRenderingBackend.send(Messages::RemoteRenderingBackendProxy::CreateImageBufferBackend(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle), m_remoteResourceIdentifier), m_remoteRenderingBackend.renderingBackendIdentifier()); 46 46 } 47 47 48 void RemoteImageBufferMessageHandler Proxy::commitFlushContext(ImageBufferFlushIdentifier flushIdentifier)48 void RemoteImageBufferMessageHandler::commitFlushContext(ImageBufferFlushIdentifier flushIdentifier) 49 49 { 50 m_remoteRenderingBackend Proxy.send(Messages::RemoteRenderingBackend::CommitImageBufferFlushContext(flushIdentifier, m_remoteResourceIdentifier), m_remoteRenderingBackendProxy.renderingBackendIdentifier());50 m_remoteRenderingBackend.send(Messages::RemoteRenderingBackendProxy::CommitImageBufferFlushContext(flushIdentifier, m_remoteResourceIdentifier), m_remoteRenderingBackend.renderingBackendIdentifier()); 51 51 } 52 52 -
trunk/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandler.h
r268611 r268612 42 42 namespace WebKit { 43 43 44 class RemoteRenderingBackend Proxy;44 class RemoteRenderingBackend; 45 45 46 class RemoteImageBufferMessageHandler Proxy{46 class RemoteImageBufferMessageHandler { 47 47 public: 48 virtual ~RemoteImageBufferMessageHandler Proxy() = default;48 virtual ~RemoteImageBufferMessageHandler() = default; 49 49 50 // Messages to be received. See RemoteRenderingBackend Proxy.messages.in.50 // Messages to be received. See RemoteRenderingBackend.messages.in. 51 51 virtual void flushDrawingContext(const WebCore::DisplayList::DisplayList&) = 0; 52 52 virtual void flushDrawingContextAndCommit(const WebCore::DisplayList::DisplayList&, ImageBufferFlushIdentifier) = 0; … … 54 54 55 55 protected: 56 RemoteImageBufferMessageHandler Proxy(RemoteRenderingBackendProxy&, WebCore::RemoteResourceIdentifier);56 RemoteImageBufferMessageHandler(RemoteRenderingBackend&, WebCore::RemoteResourceIdentifier); 57 57 58 58 // Messages to be sent. See RemoteRenderingBackend.messages.in. … … 60 60 void commitFlushContext(ImageBufferFlushIdentifier); 61 61 62 RemoteRenderingBackend Proxy& backend() { return m_remoteRenderingBackendProxy; }62 RemoteRenderingBackend& backend() { return m_remoteRenderingBackend; } 63 63 64 64 private: 65 RemoteRenderingBackend Proxy& m_remoteRenderingBackendProxy;65 RemoteRenderingBackend& m_remoteRenderingBackend; 66 66 WebCore::RemoteResourceIdentifier m_remoteResourceIdentifier; 67 67 }; -
trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
r268611 r268612 25 25 26 26 #include "config.h" 27 #include "RemoteRenderingBackend Proxy.h"27 #include "RemoteRenderingBackend.h" 28 28 29 29 #if ENABLE(GPU_PROCESS) 30 30 31 31 #include "GPUConnectionToWebProcess.h" 32 #include "PlatformRemoteImageBuffer Proxy.h"33 #include "RemoteRenderingBackend ProxyMessages.h"32 #include "PlatformRemoteImageBuffer.h" 33 #include "RemoteRenderingBackendMessages.h" 34 34 35 35 namespace WebKit { 36 36 using namespace WebCore; 37 37 38 std::unique_ptr<RemoteRenderingBackend Proxy> RemoteRenderingBackendProxy::create(GPUConnectionToWebProcess& gpuConnectionToWebProcess, RenderingBackendIdentifier renderingBackendIdentifier)38 std::unique_ptr<RemoteRenderingBackend> RemoteRenderingBackend::create(GPUConnectionToWebProcess& gpuConnectionToWebProcess, RenderingBackendIdentifier renderingBackendIdentifier) 39 39 { 40 return std::unique_ptr<RemoteRenderingBackend Proxy>(new RemoteRenderingBackendProxy(gpuConnectionToWebProcess, renderingBackendIdentifier));40 return std::unique_ptr<RemoteRenderingBackend>(new RemoteRenderingBackend(gpuConnectionToWebProcess, renderingBackendIdentifier)); 41 41 } 42 42 43 RemoteRenderingBackend Proxy::RemoteRenderingBackendProxy(GPUConnectionToWebProcess& gpuConnectionToWebProcess, RenderingBackendIdentifier renderingBackendIdentifier)43 RemoteRenderingBackend::RemoteRenderingBackend(GPUConnectionToWebProcess& gpuConnectionToWebProcess, RenderingBackendIdentifier renderingBackendIdentifier) 44 44 : m_gpuConnectionToWebProcess(makeWeakPtr(gpuConnectionToWebProcess)) 45 45 , m_renderingBackendIdentifier(renderingBackendIdentifier) 46 46 { 47 47 if (auto* gpuConnectionToWebProcess = m_gpuConnectionToWebProcess.get()) 48 gpuConnectionToWebProcess->messageReceiverMap().addMessageReceiver(Messages::RemoteRenderingBackend Proxy::messageReceiverName(), renderingBackendIdentifier.toUInt64(), *this);48 gpuConnectionToWebProcess->messageReceiverMap().addMessageReceiver(Messages::RemoteRenderingBackend::messageReceiverName(), renderingBackendIdentifier.toUInt64(), *this); 49 49 } 50 50 51 RemoteRenderingBackend Proxy::~RemoteRenderingBackendProxy()51 RemoteRenderingBackend::~RemoteRenderingBackend() 52 52 { 53 53 if (auto* gpuConnectionToWebProcess = m_gpuConnectionToWebProcess.get()) 54 gpuConnectionToWebProcess->messageReceiverMap().removeMessageReceiver(Messages::RemoteRenderingBackend Proxy::messageReceiverName(), m_renderingBackendIdentifier.toUInt64());54 gpuConnectionToWebProcess->messageReceiverMap().removeMessageReceiver(Messages::RemoteRenderingBackend::messageReceiverName(), m_renderingBackendIdentifier.toUInt64()); 55 55 } 56 56 57 IPC::Connection* RemoteRenderingBackend Proxy::messageSenderConnection() const57 IPC::Connection* RemoteRenderingBackend::messageSenderConnection() const 58 58 { 59 59 if (auto* gpuConnectionToWebProcess = m_gpuConnectionToWebProcess.get()) … … 62 62 } 63 63 64 uint64_t RemoteRenderingBackend Proxy::messageSenderDestinationID() const64 uint64_t RemoteRenderingBackend::messageSenderDestinationID() const 65 65 { 66 66 return m_renderingBackendIdentifier.toUInt64(); 67 67 } 68 68 69 void RemoteRenderingBackend Proxy::createImageBuffer(const FloatSize& logicalSize, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace, WebCore::RemoteResourceIdentifier remoteResourceIdentifier)69 void RemoteRenderingBackend::createImageBuffer(const FloatSize& logicalSize, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) 70 70 { 71 71 auto* gpuConnectionToWebProcess = m_gpuConnectionToWebProcess.get(); … … 79 79 80 80 if (renderingMode == RenderingMode::RemoteAccelerated) { 81 if (auto imageBuffer = AcceleratedRemoteImageBuffer Proxy::create(logicalSize, resolutionScale, colorSpace, *this, remoteResourceIdentifier)) {81 if (auto imageBuffer = AcceleratedRemoteImageBuffer::create(logicalSize, resolutionScale, colorSpace, *this, remoteResourceIdentifier)) { 82 82 m_imageBufferMessageHandlerMap.add(remoteResourceIdentifier, WTFMove(imageBuffer)); 83 83 return; … … 86 86 87 87 if (renderingMode == RenderingMode::RemoteAccelerated || renderingMode == RenderingMode::RemoteUnaccelerated) { 88 if (auto imageBuffer = UnacceleratedRemoteImageBuffer Proxy::create(logicalSize, resolutionScale, colorSpace, *this, remoteResourceIdentifier)) {88 if (auto imageBuffer = UnacceleratedRemoteImageBuffer::create(logicalSize, resolutionScale, colorSpace, *this, remoteResourceIdentifier)) { 89 89 m_imageBufferMessageHandlerMap.add(remoteResourceIdentifier, WTFMove(imageBuffer)); 90 90 return; … … 95 95 } 96 96 97 void RemoteRenderingBackend Proxy::releaseRemoteResource(RemoteResourceIdentifier remoteResourceIdentifier)97 void RemoteRenderingBackend::releaseRemoteResource(RemoteResourceIdentifier remoteResourceIdentifier) 98 98 { 99 99 // CreateImageBuffer message should have been received before this one. … … 102 102 } 103 103 104 void RemoteRenderingBackend Proxy::getImageData(WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect, RemoteResourceIdentifier remoteResourceIdentifier, CompletionHandler<void(IPC::ImageDataReference&&)>&& completionHandler)104 void RemoteRenderingBackend::getImageData(WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect, RemoteResourceIdentifier remoteResourceIdentifier, CompletionHandler<void(IPC::ImageDataReference&&)>&& completionHandler) 105 105 { 106 106 if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(remoteResourceIdentifier)) { … … 110 110 } 111 111 112 void RemoteRenderingBackend Proxy::flushImageBufferDrawingContext(const WebCore::DisplayList::DisplayList& displayList, RemoteResourceIdentifier remoteResourceIdentifier)112 void RemoteRenderingBackend::flushImageBufferDrawingContext(const WebCore::DisplayList::DisplayList& displayList, RemoteResourceIdentifier remoteResourceIdentifier) 113 113 { 114 114 if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(remoteResourceIdentifier)) … … 116 116 } 117 117 118 void RemoteRenderingBackend Proxy::flushImageBufferDrawingContextAndCommit(const WebCore::DisplayList::DisplayList& displayList, ImageBufferFlushIdentifier flushIdentifier, RemoteResourceIdentifier remoteResourceIdentifier)118 void RemoteRenderingBackend::flushImageBufferDrawingContextAndCommit(const WebCore::DisplayList::DisplayList& displayList, ImageBufferFlushIdentifier flushIdentifier, RemoteResourceIdentifier remoteResourceIdentifier) 119 119 { 120 120 if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(remoteResourceIdentifier)) … … 122 122 } 123 123 124 GPUConnectionToWebProcess* RemoteRenderingBackend Proxy::gpuConnectionToWebProcess() const124 GPUConnectionToWebProcess* RemoteRenderingBackend::gpuConnectionToWebProcess() const 125 125 { 126 126 return m_gpuConnectionToWebProcess.get(); -
trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h
r268611 r268612 33 33 #include "MessageReceiver.h" 34 34 #include "MessageSender.h" 35 #include "RemoteImageBufferMessageHandler Proxy.h"35 #include "RemoteImageBufferMessageHandler.h" 36 36 #include "RenderingBackendIdentifier.h" 37 37 #include <WebCore/ColorSpace.h> … … 53 53 class GPUConnectionToWebProcess; 54 54 55 class RemoteRenderingBackend Proxy55 class RemoteRenderingBackend 56 56 : public IPC::MessageSender 57 57 , private IPC::MessageReceiver { 58 58 public: 59 static std::unique_ptr<RemoteRenderingBackend Proxy> create(GPUConnectionToWebProcess&, RenderingBackendIdentifier);60 virtual ~RemoteRenderingBackend Proxy();59 static std::unique_ptr<RemoteRenderingBackend> create(GPUConnectionToWebProcess&, RenderingBackendIdentifier); 60 virtual ~RemoteRenderingBackend(); 61 61 62 62 RenderingBackendIdentifier renderingBackendIdentifier() const { return m_renderingBackendIdentifier; } … … 64 64 65 65 private: 66 RemoteRenderingBackend Proxy(GPUConnectionToWebProcess&, RenderingBackendIdentifier);66 RemoteRenderingBackend(GPUConnectionToWebProcess&, RenderingBackendIdentifier); 67 67 68 68 // IPC::MessageSender. … … 81 81 void getImageData(WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect, WebCore::RemoteResourceIdentifier, CompletionHandler<void(IPC::ImageDataReference&&)>&&); 82 82 83 using ImageBufferMessageHandlerMap = HashMap<WebCore::RemoteResourceIdentifier, std::unique_ptr<RemoteImageBufferMessageHandler Proxy>>;83 using ImageBufferMessageHandlerMap = HashMap<WebCore::RemoteResourceIdentifier, std::unique_ptr<RemoteImageBufferMessageHandler>>; 84 84 ImageBufferMessageHandlerMap m_imageBufferMessageHandlerMap; 85 85 WeakPtr<GPUConnectionToWebProcess> m_gpuConnectionToWebProcess; -
trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in
r268611 r268612 23 23 #if ENABLE(GPU_PROCESS) 24 24 25 messages -> RemoteRenderingBackend ProxyNotRefCounted {25 messages -> RemoteRenderingBackend NotRefCounted { 26 26 void CreateImageBuffer(WebCore::FloatSize logicalSize, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) 27 27 void FlushImageBufferDrawingContext(WebCore::DisplayList::DisplayList displayList, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) -
trunk/Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp
r266003 r268612 33 33 #include "RemoteCDMInstanceSessionMessages.h" 34 34 #include "SharedBufferCopy.h" 35 #include "WebCoreArgumentCoders.h" 35 36 36 37 namespace WebKit { -
trunk/Source/WebKit/Sources.txt
r268605 r268612 25 25 GPUProcess/GPUConnectionToWebProcess.cpp 26 26 GPUProcess/GPUProcessCreationParameters.cpp 27 GPUProcess/graphics/RemoteImageBufferMessageHandler Proxy.cpp28 GPUProcess/graphics/RemoteRenderingBackend Proxy.cpp27 GPUProcess/graphics/RemoteImageBufferMessageHandler.cpp 28 GPUProcess/graphics/RemoteRenderingBackend.cpp 29 29 GPUProcess/media/RemoteAudioSessionProxy.cpp 30 30 GPUProcess/media/RemoteAudioSessionProxyManager.cpp … … 558 558 WebProcess/GPU/GPUProcessConnection.cpp 559 559 WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp 560 WebProcess/GPU/graphics/RemoteImageBufferMessageHandler .cpp561 WebProcess/GPU/graphics/RemoteRenderingBackend .cpp560 WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.cpp 561 WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp 562 562 WebProcess/GPU/media/AudioTrackPrivateRemote.cpp 563 563 WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r268605 r268612 3907 3907 53CFBBC72224D1B000266546 /* TextCheckerCompletion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextCheckerCompletion.h; sourceTree = "<group>"; }; 3908 3908 53F3CAA5206C443E0086490E /* NetworkActivityTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkActivityTracker.cpp; sourceTree = "<group>"; }; 3909 5506409D2407160900AAE045 /* RemoteRenderingBackend .cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteRenderingBackend.cpp; sourceTree = "<group>"; };3910 5506409E2407160900AAE045 /* RemoteRenderingBackend .h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteRenderingBackend.h; sourceTree = "<group>"; };3909 5506409D2407160900AAE045 /* RemoteRenderingBackendProxy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteRenderingBackendProxy.cpp; sourceTree = "<group>"; }; 3910 5506409E2407160900AAE045 /* RemoteRenderingBackendProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteRenderingBackendProxy.h; sourceTree = "<group>"; }; 3911 3911 5506409F2407196A00AAE045 /* RenderingBackendIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RenderingBackendIdentifier.h; sourceTree = "<group>"; }; 3912 550640A0240719E100AAE045 /* RemoteRenderingBackend .messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteRenderingBackend.messages.in; sourceTree = "<group>"; };3913 550640A224071A6100AAE045 /* RemoteRenderingBackend Proxy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteRenderingBackendProxy.cpp; sourceTree = "<group>"; };3914 550640A324071A6100AAE045 /* RemoteRenderingBackend Proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteRenderingBackendProxy.h; sourceTree = "<group>"; };3915 550640A424071C2100AAE045 /* RemoteRenderingBackend Proxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteRenderingBackendProxy.messages.in; sourceTree = "<group>"; };3916 55AD09422408A02E00DE4D2F /* RemoteImageBuffer Proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferProxy.h; sourceTree = "<group>"; };3917 55AD09432408A0E600DE4D2F /* PlatformRemoteImageBuffer Proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformRemoteImageBufferProxy.h; sourceTree = "<group>"; };3912 550640A0240719E100AAE045 /* RemoteRenderingBackendProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteRenderingBackendProxy.messages.in; sourceTree = "<group>"; }; 3913 550640A224071A6100AAE045 /* RemoteRenderingBackend.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteRenderingBackend.cpp; sourceTree = "<group>"; }; 3914 550640A324071A6100AAE045 /* RemoteRenderingBackend.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteRenderingBackend.h; sourceTree = "<group>"; }; 3915 550640A424071C2100AAE045 /* RemoteRenderingBackend.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteRenderingBackend.messages.in; sourceTree = "<group>"; }; 3916 55AD09422408A02E00DE4D2F /* RemoteImageBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBuffer.h; sourceTree = "<group>"; }; 3917 55AD09432408A0E600DE4D2F /* PlatformRemoteImageBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformRemoteImageBuffer.h; sourceTree = "<group>"; }; 3918 3918 55AD09442408ABB300DE4D2F /* ImageBufferFlushIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageBufferFlushIdentifier.h; sourceTree = "<group>"; }; 3919 3919 570AB8F220AE3BD700B8BE87 /* SecKeyProxyStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SecKeyProxyStore.h; sourceTree = "<group>"; }; … … 4226 4226 71A676A522C62318007D6295 /* WKTouchActionGestureRecognizer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTouchActionGestureRecognizer.mm; path = ios/WKTouchActionGestureRecognizer.mm; sourceTree = "<group>"; }; 4227 4227 71FB810A2260627A00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebsiteSimulatedMouseEventsDispatchPolicy.h; sourceTree = "<group>"; }; 4228 7227800B2408BD7D007D376B /* PlatformRemoteImageBuffer .h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformRemoteImageBuffer.h; sourceTree = "<group>"; };4229 7227800C24097A02007D376B /* RemoteImageBufferMessageHandler .cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteImageBufferMessageHandler.cpp; sourceTree = "<group>"; };4230 7227800D24097A02007D376B /* RemoteImageBufferMessageHandler .h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferMessageHandler.h; sourceTree = "<group>"; };4231 722780112409906E007D376B /* RemoteImageBufferMessageHandler Proxy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteImageBufferMessageHandlerProxy.cpp; sourceTree = "<group>"; };4232 722780122409906E007D376B /* RemoteImageBufferMessageHandler Proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferMessageHandlerProxy.h; sourceTree = "<group>"; };4228 7227800B2408BD7D007D376B /* PlatformRemoteImageBufferProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformRemoteImageBufferProxy.h; sourceTree = "<group>"; }; 4229 7227800C24097A02007D376B /* RemoteImageBufferMessageHandlerProxy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteImageBufferMessageHandlerProxy.cpp; sourceTree = "<group>"; }; 4230 7227800D24097A02007D376B /* RemoteImageBufferMessageHandlerProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferMessageHandlerProxy.h; sourceTree = "<group>"; }; 4231 722780112409906E007D376B /* RemoteImageBufferMessageHandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteImageBufferMessageHandler.cpp; sourceTree = "<group>"; }; 4232 722780122409906E007D376B /* RemoteImageBufferMessageHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferMessageHandler.h; sourceTree = "<group>"; }; 4233 4233 727A7F342407857D004D2931 /* ImageBufferShareableIOSurfaceBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageBufferShareableIOSurfaceBackend.cpp; sourceTree = "<group>"; }; 4234 4234 727A7F352407857F004D2931 /* ImageBufferShareableIOSurfaceBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageBufferShareableIOSurfaceBackend.h; sourceTree = "<group>"; }; … … 4237 4237 727A7F38240788F0004D2931 /* PlatformImageBufferShareableBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformImageBufferShareableBackend.h; sourceTree = "<group>"; }; 4238 4238 727A7F39240788F1004D2931 /* ImageBufferBackendHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageBufferBackendHandle.h; sourceTree = "<group>"; }; 4239 727A7F492408AEE6004D2931 /* RemoteImageBuffer .h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBuffer.h; sourceTree = "<group>"; };4239 727A7F492408AEE6004D2931 /* RemoteImageBufferProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferProxy.h; sourceTree = "<group>"; }; 4240 4240 728E86EF1795188C0087879E /* WebColorPickerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebColorPickerMac.h; sourceTree = "<group>"; }; 4241 4241 728E86F01795188C0087879E /* WebColorPickerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebColorPickerMac.mm; sourceTree = "<group>"; }; … … 8142 8142 727A7F36240788F0004D2931 /* ImageBufferShareableBitmapBackend.h */, 8143 8143 727A7F38240788F0004D2931 /* PlatformImageBufferShareableBackend.h */, 8144 7227800B2408BD7D007D376B /* PlatformRemoteImageBuffer .h */,8145 72 7A7F492408AEE6004D2931 /* RemoteImageBuffer.h*/,8146 7227800 C24097A02007D376B /* RemoteImageBufferMessageHandler.cpp*/,8147 72 27800D24097A02007D376B /* RemoteImageBufferMessageHandler.h */,8148 5506409D2407160900AAE045 /* RemoteRenderingBackend .cpp */,8149 5506409E2407160900AAE045 /* RemoteRenderingBackend .h */,8150 550640A0240719E100AAE045 /* RemoteRenderingBackend .messages.in */,8144 7227800B2408BD7D007D376B /* PlatformRemoteImageBufferProxy.h */, 8145 7227800C24097A02007D376B /* RemoteImageBufferMessageHandlerProxy.cpp */, 8146 7227800D24097A02007D376B /* RemoteImageBufferMessageHandlerProxy.h */, 8147 727A7F492408AEE6004D2931 /* RemoteImageBufferProxy.h */, 8148 5506409D2407160900AAE045 /* RemoteRenderingBackendProxy.cpp */, 8149 5506409E2407160900AAE045 /* RemoteRenderingBackendProxy.h */, 8150 550640A0240719E100AAE045 /* RemoteRenderingBackendProxy.messages.in */, 8151 8151 5506409F2407196A00AAE045 /* RenderingBackendIdentifier.h */, 8152 8152 ); … … 8157 8157 isa = PBXGroup; 8158 8158 children = ( 8159 55AD09432408A0E600DE4D2F /* PlatformRemoteImageBuffer Proxy.h */,8160 722780112409906E007D376B /* RemoteImageBufferMessageHandlerProxy.cpp*/,8161 7227801 22409906E007D376B /* RemoteImageBufferMessageHandlerProxy.h*/,8162 55AD09422408A02E00DE4D2F /* RemoteImageBufferProxy.h */,8163 550640A224071A6100AAE045 /* RemoteRenderingBackend Proxy.cpp */,8164 550640A324071A6100AAE045 /* RemoteRenderingBackend Proxy.h */,8165 550640A424071C2100AAE045 /* RemoteRenderingBackend Proxy.messages.in */,8159 55AD09432408A0E600DE4D2F /* PlatformRemoteImageBuffer.h */, 8160 55AD09422408A02E00DE4D2F /* RemoteImageBuffer.h */, 8161 722780112409906E007D376B /* RemoteImageBufferMessageHandler.cpp */, 8162 722780122409906E007D376B /* RemoteImageBufferMessageHandler.h */, 8163 550640A224071A6100AAE045 /* RemoteRenderingBackend.cpp */, 8164 550640A324071A6100AAE045 /* RemoteRenderingBackend.h */, 8165 550640A424071C2100AAE045 /* RemoteRenderingBackend.messages.in */, 8166 8166 ); 8167 8167 path = graphics; -
trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.h
r268611 r268612 43 43 namespace WebKit { 44 44 45 class RemoteRenderingBackend ;45 class RemoteRenderingBackendProxy; 46 46 47 class RemoteImageBufferMessageHandler {47 class RemoteImageBufferMessageHandlerProxy { 48 48 public: 49 virtual ~RemoteImageBufferMessageHandler ();49 virtual ~RemoteImageBufferMessageHandlerProxy(); 50 50 51 51 WebCore::RemoteResourceIdentifier remoteResourceIdentifier() const { return m_remoteResourceIdentifier; } … … 57 57 58 58 protected: 59 RemoteImageBufferMessageHandler (const WebCore::FloatSize&, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace, RemoteRenderingBackend&);59 RemoteImageBufferMessageHandlerProxy(const WebCore::FloatSize&, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace, RemoteRenderingBackendProxy&); 60 60 61 61 virtual bool isBackendCreated() const = 0; … … 72 72 73 73 private: 74 WeakPtr<RemoteRenderingBackend > m_remoteRenderingBackend;74 WeakPtr<RemoteRenderingBackendProxy> m_remoteRenderingBackendProxy; 75 75 WebCore::RemoteResourceIdentifier m_remoteResourceIdentifier { WebCore::RemoteResourceIdentifier::generate() }; 76 76 -
trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h
r268611 r268612 28 28 #if ENABLE(GPU_PROCESS) 29 29 30 #include "RemoteImageBufferMessageHandler .h"30 #include "RemoteImageBufferMessageHandlerProxy.h" 31 31 #include <WebCore/DisplayListImageBuffer.h> 32 32 #include <WebCore/DisplayListItems.h> … … 38 38 39 39 template<typename BackendType> 40 class RemoteImageBuffer : public WebCore::DisplayList::ImageBuffer<BackendType>, public RemoteImageBufferMessageHandler{40 class RemoteImageBufferProxy : public WebCore::DisplayList::ImageBuffer<BackendType>, public RemoteImageBufferMessageHandlerProxy { 41 41 using BaseDisplayListImageBuffer = WebCore::DisplayList::ImageBuffer<BackendType>; 42 42 using BaseDisplayListImageBuffer::m_backend; … … 44 44 45 45 public: 46 static std::unique_ptr<RemoteImageBuffer > create(const WebCore::FloatSize& size, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackend& remoteRenderingBackend)46 static std::unique_ptr<RemoteImageBufferProxy> create(const WebCore::FloatSize& size, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackendProxy& remoteRenderingBackendProxy) 47 47 { 48 48 if (BackendType::calculateBackendSize(size, resolutionScale).isEmpty()) 49 49 return nullptr; 50 50 51 return std::unique_ptr<RemoteImageBuffer >(new RemoteImageBuffer(size, renderingMode, resolutionScale, colorSpace, remoteRenderingBackend));51 return std::unique_ptr<RemoteImageBufferProxy>(new RemoteImageBufferProxy(size, renderingMode, resolutionScale, colorSpace, remoteRenderingBackendProxy)); 52 52 } 53 53 54 ~RemoteImageBuffer ()54 ~RemoteImageBufferProxy() 55 55 { 56 56 flushDrawingContext(); … … 58 58 59 59 protected: 60 RemoteImageBuffer (const WebCore::FloatSize& size, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackend& remoteRenderingBackend)60 RemoteImageBufferProxy(const WebCore::FloatSize& size, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackendProxy& remoteRenderingBackendProxy) 61 61 : BaseDisplayListImageBuffer(size) 62 , RemoteImageBufferMessageHandler (size, renderingMode, resolutionScale, colorSpace, remoteRenderingBackend)62 , RemoteImageBufferMessageHandlerProxy(size, renderingMode, resolutionScale, colorSpace, remoteRenderingBackendProxy) 63 63 { 64 64 } … … 75 75 { 76 76 if (!m_backend) 77 const_cast<RemoteImageBuffer &>(*this).RemoteImageBufferMessageHandler::waitForCreateImageBufferBackend();77 const_cast<RemoteImageBufferProxy&>(*this).RemoteImageBufferMessageHandlerProxy::waitForCreateImageBufferBackend(); 78 78 return m_backend.get(); 79 79 } … … 81 81 RefPtr<WebCore::ImageData> getImageData(WebCore::AlphaPremultiplication outputFormat, const WebCore::IntRect& srcRect) const override 82 82 { 83 auto& displayList = const_cast<RemoteImageBuffer *>(this)->m_drawingContext.displayList();84 const_cast<RemoteImageBuffer *>(this)->RemoteImageBufferMessageHandler::flushDrawingContext(displayList);85 auto result = const_cast<RemoteImageBuffer *>(this)->RemoteImageBufferMessageHandler::getImageData(outputFormat, srcRect);83 auto& displayList = const_cast<RemoteImageBufferProxy*>(this)->m_drawingContext.displayList(); 84 const_cast<RemoteImageBufferProxy*>(this)->RemoteImageBufferMessageHandlerProxy::flushDrawingContext(displayList); 85 auto result = const_cast<RemoteImageBufferProxy*>(this)->RemoteImageBufferMessageHandlerProxy::getImageData(outputFormat, srcRect); 86 86 // getImageData is synchronous, which means we've already received the CommitImageBufferFlushContext message. 87 87 return result; … … 106 106 auto& displayList = m_drawingContext.displayList(); 107 107 if (displayList.itemCount()) 108 RemoteImageBufferMessageHandler ::flushDrawingContextAndWaitCommit(displayList);108 RemoteImageBufferMessageHandlerProxy::flushDrawingContextAndWaitCommit(displayList); 109 109 } 110 110 … … 114 114 auto& displayList = m_drawingContext.displayList(); 115 115 if (displayList.itemCount() >= DisplayListBatchSize) 116 RemoteImageBufferMessageHandler ::flushDrawingContext(displayList);116 RemoteImageBufferMessageHandlerProxy::flushDrawingContext(displayList); 117 117 } 118 118 }; -
trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
r268611 r268612 25 25 26 26 #include "config.h" 27 #include "RemoteRenderingBackend .h"27 #include "RemoteRenderingBackendProxy.h" 28 28 29 29 #if ENABLE(GPU_PROCESS) … … 31 31 #include "GPUConnectionToWebProcess.h" 32 32 #include "GPUProcessConnection.h" 33 #include "PlatformRemoteImageBuffer .h"33 #include "PlatformRemoteImageBufferProxy.h" 34 34 #include "RemoteRenderingBackendMessages.h" 35 35 #include "RemoteRenderingBackendProxyMessages.h" … … 40 40 using namespace WebCore; 41 41 42 std::unique_ptr<RemoteRenderingBackend > RemoteRenderingBackend::create()42 std::unique_ptr<RemoteRenderingBackendProxy> RemoteRenderingBackendProxy::create() 43 43 { 44 return std::unique_ptr<RemoteRenderingBackend >(new RemoteRenderingBackend());44 return std::unique_ptr<RemoteRenderingBackendProxy>(new RemoteRenderingBackendProxy()); 45 45 } 46 46 47 RemoteRenderingBackend ::RemoteRenderingBackend()47 RemoteRenderingBackendProxy::RemoteRenderingBackendProxy() 48 48 { 49 49 // Register itself as a MessageReceiver in the GPUProcessConnection. 50 50 IPC::MessageReceiverMap& messageReceiverMap = WebProcess::singleton().ensureGPUProcessConnection().messageReceiverMap(); 51 messageReceiverMap.addMessageReceiver(Messages::RemoteRenderingBackend ::messageReceiverName(), m_renderingBackendIdentifier.toUInt64(), *this);51 messageReceiverMap.addMessageReceiver(Messages::RemoteRenderingBackendProxy::messageReceiverName(), m_renderingBackendIdentifier.toUInt64(), *this); 52 52 53 // Create the RemoteRenderingBackend Proxy.53 // Create the RemoteRenderingBackend 54 54 send(Messages::GPUConnectionToWebProcess::CreateRenderingBackend(m_renderingBackendIdentifier), 0); 55 55 } 56 56 57 RemoteRenderingBackend ::~RemoteRenderingBackend()57 RemoteRenderingBackendProxy::~RemoteRenderingBackendProxy() 58 58 { 59 59 // Un-register itself as a MessageReceiver. … … 61 61 messageReceiverMap.removeMessageReceiver(*this); 62 62 63 // Release the RemoteRenderingBackend Proxy.63 // Release the RemoteRenderingBackend. 64 64 send(Messages::GPUConnectionToWebProcess::ReleaseRenderingBackend(m_renderingBackendIdentifier), 0); 65 65 } 66 66 67 IPC::Connection* RemoteRenderingBackend ::messageSenderConnection() const67 IPC::Connection* RemoteRenderingBackendProxy::messageSenderConnection() const 68 68 { 69 69 return &WebProcess::singleton().ensureGPUProcessConnection().connection(); 70 70 } 71 71 72 uint64_t RemoteRenderingBackend ::messageSenderDestinationID() const72 uint64_t RemoteRenderingBackendProxy::messageSenderDestinationID() const 73 73 { 74 74 return m_renderingBackendIdentifier.toUInt64(); 75 75 } 76 76 77 bool RemoteRenderingBackend ::waitForCreateImageBufferBackend()77 bool RemoteRenderingBackendProxy::waitForCreateImageBufferBackend() 78 78 { 79 79 Ref<IPC::Connection> connection = WebProcess::singleton().ensureGPUProcessConnection().connection(); 80 return connection->waitForAndDispatchImmediately<Messages::RemoteRenderingBackend ::CreateImageBufferBackend>(m_renderingBackendIdentifier, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);80 return connection->waitForAndDispatchImmediately<Messages::RemoteRenderingBackendProxy::CreateImageBufferBackend>(m_renderingBackendIdentifier, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives); 81 81 } 82 82 83 bool RemoteRenderingBackend ::waitForCommitImageBufferFlushContext()83 bool RemoteRenderingBackendProxy::waitForCommitImageBufferFlushContext() 84 84 { 85 85 Ref<IPC::Connection> connection = WebProcess::singleton().ensureGPUProcessConnection().connection(); 86 return connection->waitForAndDispatchImmediately<Messages::RemoteRenderingBackend ::CommitImageBufferFlushContext>(m_renderingBackendIdentifier, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);86 return connection->waitForAndDispatchImmediately<Messages::RemoteRenderingBackendProxy::CommitImageBufferFlushContext>(m_renderingBackendIdentifier, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives); 87 87 } 88 88 89 std::unique_ptr<ImageBuffer> RemoteRenderingBackend ::createImageBuffer(const FloatSize& size, ShouldAccelerate shouldAccelerate, float resolutionScale, ColorSpace colorSpace)89 std::unique_ptr<ImageBuffer> RemoteRenderingBackendProxy::createImageBuffer(const FloatSize& size, ShouldAccelerate shouldAccelerate, float resolutionScale, ColorSpace colorSpace) 90 90 { 91 91 if (shouldAccelerate == ShouldAccelerate::Yes) { 92 if (auto imageBuffer = AcceleratedRemoteImageBuffer ::create(size, RenderingMode::RemoteAccelerated, resolutionScale, colorSpace, *this)) {92 if (auto imageBuffer = AcceleratedRemoteImageBufferProxy::create(size, RenderingMode::RemoteAccelerated, resolutionScale, colorSpace, *this)) { 93 93 m_imageBufferMessageHandlerMap.add(imageBuffer->remoteResourceIdentifier(), imageBuffer.get()); 94 94 return imageBuffer; … … 96 96 } 97 97 98 if (auto imageBuffer = UnacceleratedRemoteImageBuffer ::create(size, RenderingMode::RemoteUnaccelerated, resolutionScale, colorSpace, *this)) {98 if (auto imageBuffer = UnacceleratedRemoteImageBufferProxy::create(size, RenderingMode::RemoteUnaccelerated, resolutionScale, colorSpace, *this)) { 99 99 m_imageBufferMessageHandlerMap.add(imageBuffer->remoteResourceIdentifier(), imageBuffer.get()); 100 100 return imageBuffer; … … 104 104 } 105 105 106 void RemoteRenderingBackend ::releaseRemoteResource(RemoteResourceIdentifier remoteResourceIdentifier)106 void RemoteRenderingBackendProxy::releaseRemoteResource(RemoteResourceIdentifier remoteResourceIdentifier) 107 107 { 108 108 // CreateImageBuffer message should have been received before this one. … … 111 111 } 112 112 113 void RemoteRenderingBackend ::createImageBufferBackend(const FloatSize& logicalSize, const IntSize& backendSize, float resolutionScale, ColorSpace colorSpace, ImageBufferBackendHandle handle, RemoteResourceIdentifier remoteResourceIdentifier)113 void RemoteRenderingBackendProxy::createImageBufferBackend(const FloatSize& logicalSize, const IntSize& backendSize, float resolutionScale, ColorSpace colorSpace, ImageBufferBackendHandle handle, RemoteResourceIdentifier remoteResourceIdentifier) 114 114 { 115 115 if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(remoteResourceIdentifier)) … … 117 117 } 118 118 119 void RemoteRenderingBackend ::commitImageBufferFlushContext(ImageBufferFlushIdentifier flushIdentifier, RemoteResourceIdentifier remoteResourceIdentifier)119 void RemoteRenderingBackendProxy::commitImageBufferFlushContext(ImageBufferFlushIdentifier flushIdentifier, RemoteResourceIdentifier remoteResourceIdentifier) 120 120 { 121 121 if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(remoteResourceIdentifier)) -
trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
r268611 r268612 32 32 #include "MessageReceiver.h" 33 33 #include "MessageSender.h" 34 #include "RemoteImageBufferMessageHandler .h"34 #include "RemoteImageBufferMessageHandlerProxy.h" 35 35 #include "RenderingBackendIdentifier.h" 36 36 #include <WebCore/ColorSpace.h> … … 44 44 namespace WebKit { 45 45 46 class RemoteRenderingBackend 46 class RemoteRenderingBackendProxy 47 47 : public IPC::MessageSender 48 48 , private IPC::MessageReceiver 49 , public CanMakeWeakPtr<RemoteRenderingBackend > {49 , public CanMakeWeakPtr<RemoteRenderingBackendProxy> { 50 50 public: 51 static std::unique_ptr<RemoteRenderingBackend > create();51 static std::unique_ptr<RemoteRenderingBackendProxy> create(); 52 52 53 ~RemoteRenderingBackend ();53 ~RemoteRenderingBackendProxy(); 54 54 55 55 RenderingBackendIdentifier renderingBackendIdentifier() const { return m_renderingBackendIdentifier; } … … 69 69 70 70 private: 71 RemoteRenderingBackend ();71 RemoteRenderingBackendProxy(); 72 72 73 73 // Messages to be received. … … 75 75 void commitImageBufferFlushContext(ImageBufferFlushIdentifier, WebCore::RemoteResourceIdentifier); 76 76 77 using ImageBufferMessageHandlerMap = HashMap<WebCore::RemoteResourceIdentifier, RemoteImageBufferMessageHandler *>;77 using ImageBufferMessageHandlerMap = HashMap<WebCore::RemoteResourceIdentifier, RemoteImageBufferMessageHandlerProxy*>; 78 78 ImageBufferMessageHandlerMap m_imageBufferMessageHandlerMap; 79 79 RenderingBackendIdentifier m_renderingBackendIdentifier { RenderingBackendIdentifier::generate() }; -
trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in
r268611 r268612 23 23 #if ENABLE(GPU_PROCESS) 24 24 25 messages -> RemoteRenderingBackend NotRefCounted {25 messages -> RemoteRenderingBackendProxy NotRefCounted { 26 26 void CreateImageBufferBackend(WebCore::FloatSize logicalSize, WebCore::IntSize backendSize, float resolutionScale, WebCore::ColorSpace colorSpace, WebKit::ImageBufferBackendHandle handle, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) 27 27 void CommitImageBufferFlushContext(WebKit::ImageBufferFlushIdentifier flushIdentifier, WebCore::RemoteResourceIdentifier remoteResourceIdentifier) -
trunk/Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
r259568 r268612 32 32 #include "GPUProcessConnection.h" 33 33 #include "LibWebRTCCodecsProxyMessages.h" 34 #include "WebCoreArgumentCoders.h" 34 35 #include "WebProcess.h" 35 36 #include <WebCore/LibWebRTCMacros.h> -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
r268116 r268612 40 40 #include "NetworkProcessConnection.h" 41 41 #include "PageBanner.h" 42 #include "RemoteRenderingBackend .h"42 #include "RemoteRenderingBackendProxy.h" 43 43 #include "UserData.h" 44 44 #include "WebColorChooser.h" … … 895 895 #if ENABLE(GPU_PROCESS) 896 896 897 RemoteRenderingBackend & WebChromeClient::ensureRemoteRenderingBackend() const898 { 899 if (!m_remoteRenderingBackend )900 m_remoteRenderingBackend = RemoteRenderingBackend::create();901 return *m_remoteRenderingBackend ;897 RemoteRenderingBackendProxy& WebChromeClient::ensureRemoteRenderingBackendProxy() const 898 { 899 if (!m_remoteRenderingBackendProxy) 900 m_remoteRenderingBackendProxy = RemoteRenderingBackendProxy::create(); 901 return *m_remoteRenderingBackendProxy; 902 902 } 903 903 … … 907 907 return nullptr; 908 908 909 return ensureRemoteRenderingBackend ().createImageBuffer(size, shouldAccelerate, resolutionScale, colorSpace);909 return ensureRemoteRenderingBackendProxy().createImageBuffer(size, shouldAccelerate, resolutionScale, colorSpace); 910 910 } 911 911 -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
r268116 r268612 38 38 namespace WebKit { 39 39 40 class RemoteRenderingBackend ;40 class RemoteRenderingBackendProxy; 41 41 class WebFrame; 42 42 class WebPage; … … 243 243 244 244 #if ENABLE(GPU_PROCESS) 245 RemoteRenderingBackend & ensureRemoteRenderingBackend() const;245 RemoteRenderingBackendProxy& ensureRemoteRenderingBackendProxy() const; 246 246 std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::ShouldAccelerate, WebCore::ShouldUseDisplayList, WebCore::RenderingPurpose, float resolutionScale, WebCore::ColorSpace) const final; 247 247 #endif … … 406 406 mutable bool m_cachedMainFrameHasVerticalScrollbar { false }; 407 407 #if ENABLE(GPU_PROCESS) 408 mutable std::unique_ptr<RemoteRenderingBackend > m_remoteRenderingBackend;408 mutable std::unique_ptr<RemoteRenderingBackendProxy> m_remoteRenderingBackendProxy; 409 409 #endif 410 410 WebPage& m_page;
Note: See TracChangeset
for help on using the changeset viewer.