Diff
Modified: branches/safari-610.1.6-branch/Source/WebCore/ChangeLog (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebCore/ChangeLog 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebCore/ChangeLog 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,146 +1,5 @@
2020-03-06 Alan Coon <[email protected]>
- Cherry-pick r257730. rdar://problem/60049340
-
- Implement the remote ImageBuffer
- https://bugs.webkit.org/show_bug.cgi?id=207221
-
- Patch by Said Abou-Hallawa <[email protected]> on 2020-03-02
- Reviewed by Jon Lee.
-
- Source/WebCore:
-
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/ConcreteImageBuffer.h:
- (WebCore::ConcreteImageBuffer::create):
- ConcreteImageBuffer::create returns the derived class which it creates.
-
- * platform/graphics/displaylists/DisplayList.h:
- This using statement gives compilation error when referencing DisplayList
- from WebKit.
-
- * platform/graphics/displaylists/DisplayListDrawingContext.h:
- RemoteImageBuffer inherits DisplayList::ImageBuffer so these methods
- need to be exported.
-
- * platform/graphics/displaylists/DisplayListImageBuffer.h:
- (WebCore::DisplayList::ImageBuffer::ImageBuffer):
- Make it possible for RemoteImageBuffer to be created with no backend. It
- will be created later when RemoteImageBufferProxy shares its backend with
- RemoteImageBuffer.
-
- Source/WebKit:
-
- RemoteImageBuffer and RemoteImageBufferProxy represent a single remote
- ImageBuffer. The back end should be created by RemoteImageBufferProxy in
- GPUProcess and shared with the RemoteImageBuffer in the WebProcess.
- Flushing the DrawingContext will be done in GPUProcess. But creating the
- native image out of the back end will be in GPUProcess.
-
- RemoteRenderingBackend and RemoteRenderingBackendProxy are central points
- for receiving and sending all the messages of the RemoteImageBuffer and
- RemoteImageBufferProxy.
-
- * GPUProcess/graphics/PlatformRemoteImageBufferProxy.h: Added.
- Defines the platform types of RemoteImageBufferProxy.
-
- * GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp: Added.
- (WebKit::RemoteImageBufferMessageHandlerProxy::RemoteImageBufferMessageHandlerProxy):
- (WebKit::RemoteImageBufferMessageHandlerProxy::createBackend):
- (WebKit::RemoteImageBufferMessageHandlerProxy::commitFlushContext):
- * GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h: Added.
- Manages sending and receiving the messages of RemoteImageBufferProxy
-
- * GPUProcess/graphics/RemoteImageBufferProxy.h: Added.
- (WebKit::RemoteImageBufferProxy::create):
- (WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
- It is responsible for creating a shared back end and replaying back drawing
- commands.
-
- * GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
- (WebKit::RemoteRenderingBackendProxy::createImageBuffer):
- (WebKit::RemoteRenderingBackendProxy::releaseImageBuffer):
- (WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContext):
- * GPUProcess/graphics/RemoteRenderingBackendProxy.h:
- (WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):
- * GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
- Handle or dispatch messages received from RemoteRenderingBackend.
-
- * Scripts/webkit/messages.py:
- * Sources.txt:
- * WebKit.xcodeproj/project.pbxproj:
- * WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h: Added.
-
- * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
- (WebKit::ImageBufferShareableBitmapBackend::create):
- * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- Although hostWindow isn't used, this is what ConcreteImageBuffer::create
- expects from the creator of the backend.
-
- * WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h: Added.
- Defines the platform types of RemoteImageBuffer.
-
- * WebProcess/GPU/graphics/RemoteImageBuffer.h: Added.
- (WebKit::RemoteImageBuffer::create):
- (WebKit::RemoteImageBuffer::RemoteImageBuffer):
- It is responsible for creating RemoteImageBufferProxy and performing the
- drawing commands in the GPUProcess.
-
- * WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp: Added.
- (WebKit::RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler):
- (WebKit::RemoteImageBufferMessageHandler::~RemoteImageBufferMessageHandler):
- (WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
- (WebKit::RemoteImageBufferMessageHandler::commitFlushContext):
- * WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h: Added.
- (WebKit::RemoteImageBufferMessageHandler::imageBufferIdentifier const):
- Manages sending and receiving the messages of RemoteImageBuffer.
-
- * WebProcess/GPU/graphics/RemoteRenderingBackend.cpp:
- (WebKit::RemoteRenderingBackend::createImageBuffer):
- (WebKit::RemoteRenderingBackend::releaseImageBuffer):
- (WebKit::RemoteRenderingBackend::createImageBufferBackend):
- (WebKit::RemoteRenderingBackend::commitImageBufferFlushContext):
- * WebProcess/GPU/graphics/RemoteRenderingBackend.h:
- (WebKit::RemoteRenderingBackend::renderingBackendIdentifier const):
- * WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in:
- Handle or dispatch messages received from RemoteRenderingBackendProxy.
-
- * WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:
- (WebKit::ImageBufferShareableIOSurfaceBackend::create):
- * WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h:
- Although hostWindow isn't used, this is what ConcreteImageBuffer::create
- expects from the creator of the backend.
-
- git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 2020-03-02 Said Abou-Hallawa <[email protected]>
-
- Implement the remote ImageBuffer
- https://bugs.webkit.org/show_bug.cgi?id=207221
-
- Reviewed by Jon Lee.
-
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/ConcreteImageBuffer.h:
- (WebCore::ConcreteImageBuffer::create):
- ConcreteImageBuffer::create returns the derived class which it creates.
-
- * platform/graphics/displaylists/DisplayList.h:
- This using statement gives compilation error when referencing DisplayList
- from WebKit.
-
- * platform/graphics/displaylists/DisplayListDrawingContext.h:
- RemoteImageBuffer inherits DisplayList::ImageBuffer so these methods
- need to be exported.
-
- * platform/graphics/displaylists/DisplayListImageBuffer.h:
- (WebCore::DisplayList::ImageBuffer::ImageBuffer):
- Make it possible for RemoteImageBuffer to be created with no backend. It
- will be created later when RemoteImageBufferProxy shares its backend with
- RemoteImageBuffer.
-
-2020-03-06 Alan Coon <[email protected]>
-
Cherry-pick r257805. rdar://problem/60107056
[CG] Change the UTI of the "WebP" image to be "com.google.webp"
Modified: branches/safari-610.1.6-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1747,9 +1747,6 @@
556C7C4B22123997009B06CA /* RenderingUpdateScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 556C7C4722123942009B06CA /* RenderingUpdateScheduler.h */; settings = {ATTRIBUTES = (Private, ); }; };
5576A5651D88A70800CCC04C /* ImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 5576A5631D88A70800CCC04C /* ImageFrame.h */; settings = {ATTRIBUTES = (Private, ); }; };
55A336F91D821E3C0022C4C7 /* ImageBackingStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 55A336F81D821E3C0022C4C7 /* ImageBackingStore.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 55AD093E2408963500DE4D2F /* DisplayListImageBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 72EA09F723FCCB3D008504A5 /* DisplayListImageBuffer.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 55AD09402408964000DE4D2F /* DisplayListDrawingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 72EA09F923FCCC6A008504A5 /* DisplayListDrawingContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 55AD09412408964A00DE4D2F /* ConcreteImageBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 72BAC3A723E17328008D741C /* ConcreteImageBuffer.h */; settings = {ATTRIBUTES = (Private, ); }; };
55AF14E61EAAC59B0026EEAA /* UTIRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 55AF14E41EAAC59B0026EEAA /* UTIRegistry.h */; settings = {ATTRIBUTES = (Private, ); }; };
55DCC52822407B2000C26E32 /* SVGPrimitiveList.h in Headers */ = {isa = PBXBuildFile; fileRef = 55DCC5252240749E00C26E32 /* SVGPrimitiveList.h */; settings = {ATTRIBUTES = (Private, ); }; };
55DCC52922407B2A00C26E32 /* SVGList.h in Headers */ = {isa = PBXBuildFile; fileRef = 55DCC523224073FE00C26E32 /* SVGList.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -29377,7 +29374,6 @@
F442C35923E3ADD200499582 /* CompositionHighlight.h in Headers */,
2DD5A7271EBEE47D009BA597 /* CompositionUnderline.h in Headers */,
7116E2CC1FED75DC00C06FDE /* ComputedEffectTiming.h in Headers */,
- 55AD09412408964A00DE4D2F /* ConcreteImageBuffer.h in Headers */,
FD31608F12B026F700C1A359 /* Cone.h in Headers */,
65C97AF308EA908800ACD273 /* config.h in Headers */,
2DAF343D1EA7E0F100382CD3 /* ConstantPropertyMap.h in Headers */,
@@ -29723,8 +29719,6 @@
112FB352239C23C40087054A /* DisplayInlineRect.h in Headers */,
6FB47E632277425A00C7BCB0 /* DisplayLineBox.h in Headers */,
0FE5FBD31C3DD51E0007A2CA /* DisplayList.h in Headers */,
- 55AD09402408964000DE4D2F /* DisplayListDrawingContext.h in Headers */,
- 55AD093E2408963500DE4D2F /* DisplayListImageBuffer.h in Headers */,
0FE5FBD51C3DD51E0007A2CA /* DisplayListItems.h in Headers */,
0FE5FBD71C3DD51E0007A2CA /* DisplayListRecorder.h in Headers */,
0FE5FBD91C3DD51E0007A2CA /* DisplayListReplayer.h in Headers */,
Modified: branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/ConcreteImageBuffer.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/ConcreteImageBuffer.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/ConcreteImageBuffer.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -34,7 +34,7 @@
class ConcreteImageBuffer : public ImageBuffer {
public:
template<typename ImageBufferType = ConcreteImageBuffer, typename... Arguments>
- static std::unique_ptr<ImageBufferType> create(const FloatSize& size, float resolutionScale, ColorSpace colorSpace, const HostWindow* hostWindow, Arguments&&... arguments)
+ static std::unique_ptr<ImageBuffer> create(const FloatSize& size, float resolutionScale, ColorSpace colorSpace, const HostWindow* hostWindow, Arguments&&... arguments)
{
auto backend = BackendType::create(size, resolutionScale, colorSpace, hostWindow);
if (!backend)
@@ -43,7 +43,7 @@
}
template<typename ImageBufferType = ConcreteImageBuffer, typename... Arguments>
- static std::unique_ptr<ImageBufferType> create(const FloatSize& size, const GraphicsContext& context, Arguments&&... arguments)
+ static std::unique_ptr<ImageBuffer> create(const FloatSize& size, const GraphicsContext& context, Arguments&&... arguments)
{
auto backend = BackendType::create(size, context);
if (!backend)
Modified: branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayList.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayList.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayList.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -177,7 +177,7 @@
return m_list[index].get();
}
- WEBCORE_EXPORT void clear();
+ void clear();
void removeItemsFromIndex(size_t);
size_t itemCount() const { return m_list.size(); }
@@ -251,3 +251,6 @@
WTF::TextStream& operator<<(WTF::TextStream&, const DisplayList::DisplayList&);
} // WebCore
+
+using WebCore::DisplayList::DisplayList;
+
Modified: branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayListDrawingContext.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayListDrawingContext.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayListDrawingContext.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -33,7 +33,7 @@
class DrawingContext {
public:
- WEBCORE_EXPORT DrawingContext(const FloatSize& logicalSize);
+ DrawingContext(const FloatSize& logicalSize);
GraphicsContext& context() const { return const_cast<DrawingContext&>(*this).m_context; }
DisplayList& displayList() { return m_displayList; }
@@ -40,8 +40,8 @@
const DisplayList& displayList() const { return m_displayList; }
const DisplayList* replayedDisplayList() const { return m_replayedDisplayList.get(); }
- WEBCORE_EXPORT void setTracksDisplayListReplay(bool);
- WEBCORE_EXPORT void replayDisplayList(GraphicsContext&);
+ void setTracksDisplayListReplay(bool);
+ void replayDisplayList(GraphicsContext&);
protected:
GraphicsContext m_context;
Modified: branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -52,11 +52,6 @@
{
}
- ImageBuffer(const FloatSize& size)
- : m_drawingContext(size)
- {
- }
-
~ImageBuffer()
{
flushDrawingContext();
Modified: branches/safari-610.1.6-branch/Source/WebKit/ChangeLog (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/ChangeLog 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/ChangeLog 2020-03-06 23:37:16 UTC (rev 258035)
@@ -91,250 +91,6 @@
(WebKit::WebsiteDataStore::itpStateWasExplicitlySet const):
(WebKit::WebsiteDataStore::useExplicitITPState):
-2020-03-06 Alan Coon <[email protected]>
-
- Cherry-pick r257845. rdar://problem/60049340
-
- WebChromeClient::createImageBuffer should not create a connection to GPU Process if page does not want remote rendering
- https://bugs.webkit.org/show_bug.cgi?id=208567
- rdar://problem/60020229
-
- Reviewed by Wenson Hsieh.
-
- Manually tested.
-
- * WebProcess/GPU/graphics/RemoteRenderingBackend.cpp:
- (WebKit::RemoteRenderingBackend::createImageBuffer):
- Minor refactoring to directly take a ShouldAccelerate instead of a RenderingMode.
- * WebProcess/GPU/graphics/RemoteRenderingBackend.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createImageBuffer const):
- In case page does not want to do remote rendering, do not create a remote image buffer.
- Instead, return null and let the caller create a local image buffer.
-
- git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 2020-03-04 Youenn Fablet <[email protected]>
-
- WebChromeClient::createImageBuffer should not create a connection to GPU Process if page does not want remote rendering
- https://bugs.webkit.org/show_bug.cgi?id=208567
- rdar://problem/60020229
-
- Reviewed by Wenson Hsieh.
-
- Manually tested.
-
- * WebProcess/GPU/graphics/RemoteRenderingBackend.cpp:
- (WebKit::RemoteRenderingBackend::createImageBuffer):
- Minor refactoring to directly take a ShouldAccelerate instead of a RenderingMode.
- * WebProcess/GPU/graphics/RemoteRenderingBackend.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createImageBuffer const):
- In case page does not want to do remote rendering, do not create a remote image buffer.
- Instead, return null and let the caller create a local image buffer.
-
-2020-03-06 Alan Coon <[email protected]>
-
- Cherry-pick r257730. rdar://problem/60049340
-
- Implement the remote ImageBuffer
- https://bugs.webkit.org/show_bug.cgi?id=207221
-
- Patch by Said Abou-Hallawa <[email protected]> on 2020-03-02
- Reviewed by Jon Lee.
-
- Source/WebCore:
-
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/ConcreteImageBuffer.h:
- (WebCore::ConcreteImageBuffer::create):
- ConcreteImageBuffer::create returns the derived class which it creates.
-
- * platform/graphics/displaylists/DisplayList.h:
- This using statement gives compilation error when referencing DisplayList
- from WebKit.
-
- * platform/graphics/displaylists/DisplayListDrawingContext.h:
- RemoteImageBuffer inherits DisplayList::ImageBuffer so these methods
- need to be exported.
-
- * platform/graphics/displaylists/DisplayListImageBuffer.h:
- (WebCore::DisplayList::ImageBuffer::ImageBuffer):
- Make it possible for RemoteImageBuffer to be created with no backend. It
- will be created later when RemoteImageBufferProxy shares its backend with
- RemoteImageBuffer.
-
- Source/WebKit:
-
- RemoteImageBuffer and RemoteImageBufferProxy represent a single remote
- ImageBuffer. The back end should be created by RemoteImageBufferProxy in
- GPUProcess and shared with the RemoteImageBuffer in the WebProcess.
- Flushing the DrawingContext will be done in GPUProcess. But creating the
- native image out of the back end will be in GPUProcess.
-
- RemoteRenderingBackend and RemoteRenderingBackendProxy are central points
- for receiving and sending all the messages of the RemoteImageBuffer and
- RemoteImageBufferProxy.
-
- * GPUProcess/graphics/PlatformRemoteImageBufferProxy.h: Added.
- Defines the platform types of RemoteImageBufferProxy.
-
- * GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp: Added.
- (WebKit::RemoteImageBufferMessageHandlerProxy::RemoteImageBufferMessageHandlerProxy):
- (WebKit::RemoteImageBufferMessageHandlerProxy::createBackend):
- (WebKit::RemoteImageBufferMessageHandlerProxy::commitFlushContext):
- * GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h: Added.
- Manages sending and receiving the messages of RemoteImageBufferProxy
-
- * GPUProcess/graphics/RemoteImageBufferProxy.h: Added.
- (WebKit::RemoteImageBufferProxy::create):
- (WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
- It is responsible for creating a shared back end and replaying back drawing
- commands.
-
- * GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
- (WebKit::RemoteRenderingBackendProxy::createImageBuffer):
- (WebKit::RemoteRenderingBackendProxy::releaseImageBuffer):
- (WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContext):
- * GPUProcess/graphics/RemoteRenderingBackendProxy.h:
- (WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):
- * GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
- Handle or dispatch messages received from RemoteRenderingBackend.
-
- * Scripts/webkit/messages.py:
- * Sources.txt:
- * WebKit.xcodeproj/project.pbxproj:
- * WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h: Added.
-
- * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
- (WebKit::ImageBufferShareableBitmapBackend::create):
- * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- Although hostWindow isn't used, this is what ConcreteImageBuffer::create
- expects from the creator of the backend.
-
- * WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h: Added.
- Defines the platform types of RemoteImageBuffer.
-
- * WebProcess/GPU/graphics/RemoteImageBuffer.h: Added.
- (WebKit::RemoteImageBuffer::create):
- (WebKit::RemoteImageBuffer::RemoteImageBuffer):
- It is responsible for creating RemoteImageBufferProxy and performing the
- drawing commands in the GPUProcess.
-
- * WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp: Added.
- (WebKit::RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler):
- (WebKit::RemoteImageBufferMessageHandler::~RemoteImageBufferMessageHandler):
- (WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
- (WebKit::RemoteImageBufferMessageHandler::commitFlushContext):
- * WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h: Added.
- (WebKit::RemoteImageBufferMessageHandler::imageBufferIdentifier const):
- Manages sending and receiving the messages of RemoteImageBuffer.
-
- * WebProcess/GPU/graphics/RemoteRenderingBackend.cpp:
- (WebKit::RemoteRenderingBackend::createImageBuffer):
- (WebKit::RemoteRenderingBackend::releaseImageBuffer):
- (WebKit::RemoteRenderingBackend::createImageBufferBackend):
- (WebKit::RemoteRenderingBackend::commitImageBufferFlushContext):
- * WebProcess/GPU/graphics/RemoteRenderingBackend.h:
- (WebKit::RemoteRenderingBackend::renderingBackendIdentifier const):
- * WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in:
- Handle or dispatch messages received from RemoteRenderingBackendProxy.
-
- * WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:
- (WebKit::ImageBufferShareableIOSurfaceBackend::create):
- * WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h:
- Although hostWindow isn't used, this is what ConcreteImageBuffer::create
- expects from the creator of the backend.
-
- git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 2020-03-02 Said Abou-Hallawa <[email protected]>
-
- Implement the remote ImageBuffer
- https://bugs.webkit.org/show_bug.cgi?id=207221
-
- Reviewed by Jon Lee.
-
- RemoteImageBuffer and RemoteImageBufferProxy represent a single remote
- ImageBuffer. The back end should be created by RemoteImageBufferProxy in
- GPUProcess and shared with the RemoteImageBuffer in the WebProcess.
- Flushing the DrawingContext will be done in GPUProcess. But creating the
- native image out of the back end will be in GPUProcess.
-
- RemoteRenderingBackend and RemoteRenderingBackendProxy are central points
- for receiving and sending all the messages of the RemoteImageBuffer and
- RemoteImageBufferProxy.
-
- * GPUProcess/graphics/PlatformRemoteImageBufferProxy.h: Added.
- Defines the platform types of RemoteImageBufferProxy.
-
- * GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp: Added.
- (WebKit::RemoteImageBufferMessageHandlerProxy::RemoteImageBufferMessageHandlerProxy):
- (WebKit::RemoteImageBufferMessageHandlerProxy::createBackend):
- (WebKit::RemoteImageBufferMessageHandlerProxy::commitFlushContext):
- * GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h: Added.
- Manages sending and receiving the messages of RemoteImageBufferProxy
-
- * GPUProcess/graphics/RemoteImageBufferProxy.h: Added.
- (WebKit::RemoteImageBufferProxy::create):
- (WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
- It is responsible for creating a shared back end and replaying back drawing
- commands.
-
- * GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
- (WebKit::RemoteRenderingBackendProxy::createImageBuffer):
- (WebKit::RemoteRenderingBackendProxy::releaseImageBuffer):
- (WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContext):
- * GPUProcess/graphics/RemoteRenderingBackendProxy.h:
- (WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):
- * GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
- Handle or dispatch messages received from RemoteRenderingBackend.
-
- * Scripts/webkit/messages.py:
- * Sources.txt:
- * WebKit.xcodeproj/project.pbxproj:
- * WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h: Added.
-
- * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
- (WebKit::ImageBufferShareableBitmapBackend::create):
- * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- Although hostWindow isn't used, this is what ConcreteImageBuffer::create
- expects from the creator of the backend.
-
- * WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h: Added.
- Defines the platform types of RemoteImageBuffer.
-
- * WebProcess/GPU/graphics/RemoteImageBuffer.h: Added.
- (WebKit::RemoteImageBuffer::create):
- (WebKit::RemoteImageBuffer::RemoteImageBuffer):
- It is responsible for creating RemoteImageBufferProxy and performing the
- drawing commands in the GPUProcess.
-
- * WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp: Added.
- (WebKit::RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler):
- (WebKit::RemoteImageBufferMessageHandler::~RemoteImageBufferMessageHandler):
- (WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
- (WebKit::RemoteImageBufferMessageHandler::commitFlushContext):
- * WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h: Added.
- (WebKit::RemoteImageBufferMessageHandler::imageBufferIdentifier const):
- Manages sending and receiving the messages of RemoteImageBuffer.
-
- * WebProcess/GPU/graphics/RemoteRenderingBackend.cpp:
- (WebKit::RemoteRenderingBackend::createImageBuffer):
- (WebKit::RemoteRenderingBackend::releaseImageBuffer):
- (WebKit::RemoteRenderingBackend::createImageBufferBackend):
- (WebKit::RemoteRenderingBackend::commitImageBufferFlushContext):
- * WebProcess/GPU/graphics/RemoteRenderingBackend.h:
- (WebKit::RemoteRenderingBackend::renderingBackendIdentifier const):
- * WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in:
- Handle or dispatch messages received from RemoteRenderingBackendProxy.
-
- * WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:
- (WebKit::ImageBufferShareableIOSurfaceBackend::create):
- * WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h:
- Although hostWindow isn't used, this is what ConcreteImageBuffer::create
- expects from the creator of the backend.
-
2020-03-04 Kocsen Chung <[email protected]>
Cherry-pick r257879. rdar://problem/60057110
Deleted: branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/PlatformRemoteImageBufferProxy.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/PlatformRemoteImageBufferProxy.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/PlatformRemoteImageBufferProxy.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include "PlatformImageBufferShareableBackend.h"
-#include "RemoteImageBufferProxy.h"
-
-namespace WebKit {
-
-using UnacceleratedRemoteImageBufferProxy = RemoteImageBufferProxy<UnacceleratedImageBufferShareableBackend>;
-using AcceleratedRemoteImageBufferProxy = RemoteImageBufferProxy<AcceleratedImageBufferShareableBackend>;
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Deleted: branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "RemoteImageBufferMessageHandlerProxy.h"
-
-#if ENABLE(GPU_PROCESS)
-
-#include "RemoteRenderingBackendMessages.h"
-#include "RemoteRenderingBackendProxy.h"
-
-namespace WebKit {
-using namespace WebCore;
-
-RemoteImageBufferMessageHandlerProxy::RemoteImageBufferMessageHandlerProxy(RemoteRenderingBackendProxy& remoteRenderingBackendProxy, ImageBufferIdentifier imageBufferIdentifier)
- : m_remoteRenderingBackendProxy(remoteRenderingBackendProxy)
- , m_imageBufferIdentifier(imageBufferIdentifier)
-{
-}
-
-void RemoteImageBufferMessageHandlerProxy::createBackend(const FloatSize& logicalSize, const IntSize& backendSize, float resolutionScale, ColorSpace colorSpace, ImageBufferBackendHandle handle)
-{
- m_remoteRenderingBackendProxy.send(Messages::RemoteRenderingBackend::CreateImageBufferBackend(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle), m_imageBufferIdentifier), m_remoteRenderingBackendProxy.renderingBackendIdentifier());
-}
-
-void RemoteImageBufferMessageHandlerProxy::commitFlushContext(ImageBufferFlushIdentifier flushIdentifier)
-{
- m_remoteRenderingBackendProxy.send(Messages::RemoteRenderingBackend::CommitImageBufferFlushContext(flushIdentifier, m_imageBufferIdentifier), m_remoteRenderingBackendProxy.renderingBackendIdentifier());
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Deleted: branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include "ImageBufferBackendHandle.h"
-#include "ImageBufferIdentifier.h"
-#include <WebCore/ColorSpace.h>
-#include <WebCore/DisplayList.h>
-#include <WebCore/FloatSize.h>
-
-namespace WebKit {
-
-class RemoteRenderingBackendProxy;
-
-class RemoteImageBufferMessageHandlerProxy {
-public:
- virtual ~RemoteImageBufferMessageHandlerProxy() = default;
-
- // Messages to be received. See RemoteRenderingBackendProxy.messages.in.
- virtual void flushDrawingContext(const WebCore::DisplayList::DisplayList&, ImageBufferFlushIdentifier) = 0;
-
-protected:
- RemoteImageBufferMessageHandlerProxy(RemoteRenderingBackendProxy&, ImageBufferIdentifier);
-
- // Messages to be sent. See RemoteRenderingBackend.messages.in.
- void createBackend(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& backendSize, float resolutionScale, WebCore::ColorSpace, ImageBufferBackendHandle);
- void commitFlushContext(ImageBufferFlushIdentifier);
-
-private:
- RemoteRenderingBackendProxy& m_remoteRenderingBackendProxy;
- ImageBufferIdentifier m_imageBufferIdentifier;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Deleted: branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferProxy.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferProxy.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteImageBufferProxy.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include "RemoteImageBufferMessageHandlerProxy.h"
-#include <WebCore/ConcreteImageBuffer.h>
-#include <WebCore/DisplayListReplayer.h>
-
-namespace WebKit {
-
-template<typename BackendType>
-class RemoteImageBufferProxy : public WebCore::ConcreteImageBuffer<BackendType>, public RemoteImageBufferMessageHandlerProxy {
- using BaseConcreteImageBuffer = WebCore::ConcreteImageBuffer<BackendType>;
- using BaseConcreteImageBuffer::m_backend;
-
-public:
- static auto create(const WebCore::FloatSize& size, float resolutionScale, ColorSpace colorSpace, RemoteRenderingBackendProxy& remoteRenderingBackendProxy, ImageBufferIdentifier imageBufferIdentifier)
- {
- return BaseConcreteImageBuffer::template create<RemoteImageBufferProxy>(size, resolutionScale, colorSpace, nullptr, remoteRenderingBackendProxy, imageBufferIdentifier);
- }
-
- RemoteImageBufferProxy(std::unique_ptr<BackendType>&& backend, RemoteRenderingBackendProxy& remoteRenderingBackendProxy, ImageBufferIdentifier imageBufferIdentifier)
- : BaseConcreteImageBuffer(WTFMove(backend))
- , RemoteImageBufferMessageHandlerProxy(remoteRenderingBackendProxy, imageBufferIdentifier)
- {
- createBackend(m_backend->logicalSize(), m_backend->backendSize(), m_backend->resolutionScale(), m_backend->colorSpace(), m_backend->createImageBufferBackendHandle());
- }
-
-private:
- using BaseConcreteImageBuffer::flushDrawingContext;
-
- void flushDrawingContext(const WebCore::DisplayList::DisplayList& displayList, ImageBufferFlushIdentifier flushIdentifier) override
- {
- if (displayList.itemCount()) {
- WebCore::DisplayList::Replayer replayer(BaseConcreteImageBuffer::context(), displayList);
- replayer.replay();
- }
- m_backend->flushContext();
- commitFlushContext(flushIdentifier);
- }
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Modified: branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.cpp (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.cpp 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.cpp 2020-03-06 23:37:16 UTC (rev 258035)
@@ -28,7 +28,6 @@
#if ENABLE(GPU_PROCESS)
-#include "PlatformRemoteImageBufferProxy.h"
#include "RemoteRenderingBackendProxyMessages.h"
namespace WebKit {
@@ -71,41 +70,34 @@
if (!gpuConnectionToWebProcess)
return;
- if (m_imageBufferMessageHandlerMap.contains(imageBufferIdentifier)) {
+ if (m_imageBufferMap.contains(imageBufferIdentifier)) {
ASSERT_NOT_REACHED();
return;
}
- if (renderingMode == RenderingMode::RemoteAccelerated) {
- if (auto imageBuffer = AcceleratedRemoteImageBufferProxy::create(logicalSize, resolutionScale, colorSpace, *this, imageBufferIdentifier)) {
- m_imageBufferMessageHandlerMap.add(imageBufferIdentifier, WTFMove(imageBuffer));
- return;
- }
- }
+ std::unique_ptr<ImageBuffer> imageBuffer;
- if (renderingMode == RenderingMode::RemoteAccelerated || renderingMode == RenderingMode::RemoteUnaccelerated) {
- if (auto imageBuffer = UnacceleratedRemoteImageBufferProxy::create(logicalSize, resolutionScale, colorSpace, *this, imageBufferIdentifier)) {
- m_imageBufferMessageHandlerMap.add(imageBufferIdentifier, WTFMove(imageBuffer));
- return;
- }
+ switch (renderingMode) {
+ case RenderingMode::RemoteAccelerated:
+ case RenderingMode::RemoteUnaccelerated:
+ // FIXME: create the remote ImageBuffer proxy.
+ default:
+ ASSERT_NOT_REACHED();
}
- ASSERT_NOT_REACHED();
+ if (!imageBuffer)
+ return;
+
+ m_imageBufferMap.add(imageBufferIdentifier, WTFMove(imageBuffer));
}
void RemoteRenderingBackendProxy::releaseImageBuffer(ImageBufferIdentifier imageBufferIdentifier)
{
// CreateImageBuffer message should have been received before this one.
- bool found = m_imageBufferMessageHandlerMap.remove(imageBufferIdentifier);
+ bool found = m_imageBufferMap.remove(imageBufferIdentifier);
ASSERT_UNUSED(found, found);
}
-void RemoteRenderingBackendProxy::flushImageBufferDrawingContext(const WebCore::DisplayList::DisplayList& displayList, ImageBufferFlushIdentifier flushIdentifier, ImageBufferIdentifier imageBufferIdentifier)
-{
- if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(imageBufferIdentifier))
- imageBuffer->flushDrawingContext(displayList, flushIdentifier);
-}
-
} // namespace WebKit
#endif // ENABLE(GPU_PROCESS)
Modified: branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -28,15 +28,13 @@
#if ENABLE(GPU_PROCESS)
#include "Connection.h"
-#include "ImageBufferFlushIdentifier.h"
#include "ImageBufferIdentifier.h"
#include "MessageReceiver.h"
#include "MessageSender.h"
-#include "RemoteImageBufferMessageHandlerProxy.h"
#include "RenderingBackendIdentifier.h"
#include <WebCore/ColorSpace.h>
-#include <WebCore/DisplayListItems.h>
#include <WebCore/FloatSize.h>
+#include <WebCore/ImageBuffer.h>
#include <WebCore/RenderingMode.h>
#include <wtf/HashMap.h>
#include <wtf/WeakPtr.h>
@@ -46,14 +44,12 @@
class GPUConnectionToWebProcess;
class RemoteRenderingBackendProxy
- : public IPC::MessageSender
+ : private IPC::MessageSender
, private IPC::MessageReceiver {
public:
static std::unique_ptr<RemoteRenderingBackendProxy> create(GPUConnectionToWebProcess&, RenderingBackendIdentifier);
virtual ~RemoteRenderingBackendProxy();
- RenderingBackendIdentifier renderingBackendIdentifier() const { return m_renderingBackendIdentifier; }
-
private:
RemoteRenderingBackendProxy(GPUConnectionToWebProcess&, RenderingBackendIdentifier);
@@ -64,13 +60,11 @@
// IPC::MessageReceiver
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
- // Messages to be received.
void createImageBuffer(const WebCore::FloatSize& logicalSize, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace, ImageBufferIdentifier);
void releaseImageBuffer(ImageBufferIdentifier);
- void flushImageBufferDrawingContext(const WebCore::DisplayList::DisplayList&, ImageBufferFlushIdentifier, ImageBufferIdentifier);
- using ImageBufferMessageHandlerMap = HashMap<ImageBufferIdentifier, std::unique_ptr<RemoteImageBufferMessageHandlerProxy>>;
- ImageBufferMessageHandlerMap m_imageBufferMessageHandlerMap;
+ using ImageBufferMap = HashMap<ImageBufferIdentifier, std::unique_ptr<WebCore::ImageBuffer>>;
+ ImageBufferMap m_imageBufferMap;
WeakPtr<GPUConnectionToWebProcess> m_gpuConnectionToWebProcess;
RenderingBackendIdentifier m_renderingBackendIdentifier;
};
Modified: branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in 2020-03-06 23:37:16 UTC (rev 258035)
@@ -25,7 +25,6 @@
messages -> RemoteRenderingBackendProxy NotRefCounted {
void CreateImageBuffer(WebCore::FloatSize logicalSize, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, WebKit::ImageBufferIdentifier imageBufferIdentifier)
void ReleaseImageBuffer(WebKit::ImageBufferIdentifier imageBufferIdentifier)
- void FlushImageBufferDrawingContext(WebCore::DisplayList::DisplayList displayList, WebKit::ImageBufferFlushIdentifier flushIdentifier, WebKit::ImageBufferIdentifier imageBufferIdentifier)
}
#endif // ENABLE(GPU_PROCESS)
Modified: branches/safari-610.1.6-branch/Source/WebKit/Scripts/webkit/messages.py (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/Scripts/webkit/messages.py 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/Scripts/webkit/messages.py 2020-03-06 23:37:16 UTC (rev 258035)
@@ -225,8 +225,6 @@
'WebKit::ActivityStateChangeID',
'WebKit::AudioMediaStreamTrackRendererIdentifier',
'WebKit::ContentWorldIdentifier',
- 'WebKit::ImageBufferBackendHandle',
- 'WebKit::ImageBufferFlushIdentifier',
'WebKit::ImageBufferIdentifier',
'WebKit::LayerHostingContextID',
'WebKit::LibWebRTCResolverIdentifier',
Modified: branches/safari-610.1.6-branch/Source/WebKit/Sources.txt (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/Sources.txt 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/Sources.txt 2020-03-06 23:37:16 UTC (rev 258035)
@@ -24,7 +24,6 @@
GPUProcess/GPUProcess.cpp
GPUProcess/GPUConnectionToWebProcess.cpp
GPUProcess/GPUProcessCreationParameters.cpp
-GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp
GPUProcess/graphics/RemoteRenderingBackendProxy.cpp
GPUProcess/media/RemoteAudioTrackProxy.cpp
GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp
@@ -536,7 +535,6 @@
WebProcess/GPU/GPUProcessConnection.cpp
WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
-WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp
WebProcess/GPU/graphics/RemoteRenderingBackend.cpp
WebProcess/GPU/media/AudioTrackPrivateRemote.cpp
WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebKit.xcodeproj/project.pbxproj (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-03-06 23:37:16 UTC (rev 258035)
@@ -3817,9 +3817,6 @@
550640A324071A6100AAE045 /* RemoteRenderingBackendProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteRenderingBackendProxy.h; sourceTree = "<group>"; };
550640A424071C2100AAE045 /* RemoteRenderingBackendProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteRenderingBackendProxy.messages.in; sourceTree = "<group>"; };
550640A524071CC000AAE045 /* ImageBufferIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageBufferIdentifier.h; sourceTree = "<group>"; };
- 55AD09422408A02E00DE4D2F /* RemoteImageBufferProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferProxy.h; sourceTree = "<group>"; };
- 55AD09432408A0E600DE4D2F /* PlatformRemoteImageBufferProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformRemoteImageBufferProxy.h; sourceTree = "<group>"; };
- 55AD09442408ABB300DE4D2F /* ImageBufferFlushIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageBufferFlushIdentifier.h; sourceTree = "<group>"; };
570AB8F220AE3BD700B8BE87 /* SecKeyProxyStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SecKeyProxyStore.h; sourceTree = "<group>"; };
570AB90020B2517400B8BE87 /* AuthenticationChallengeProxyCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AuthenticationChallengeProxyCocoa.mm; sourceTree = "<group>"; };
570AB90320B2541C00B8BE87 /* SecKeyProxyStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SecKeyProxyStore.mm; sourceTree = "<group>"; };
@@ -4083,11 +4080,6 @@
71A676A422C62318007D6295 /* WKTouchActionGestureRecognizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKTouchActionGestureRecognizer.h; path = ios/WKTouchActionGestureRecognizer.h; sourceTree = "<group>"; };
71A676A522C62318007D6295 /* WKTouchActionGestureRecognizer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTouchActionGestureRecognizer.mm; path = ios/WKTouchActionGestureRecognizer.mm; sourceTree = "<group>"; };
71FB810A2260627A00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebsiteSimulatedMouseEventsDispatchPolicy.h; sourceTree = "<group>"; };
- 7227800B2408BD7D007D376B /* PlatformRemoteImageBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformRemoteImageBuffer.h; sourceTree = "<group>"; };
- 7227800C24097A02007D376B /* RemoteImageBufferMessageHandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteImageBufferMessageHandler.cpp; sourceTree = "<group>"; };
- 7227800D24097A02007D376B /* RemoteImageBufferMessageHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferMessageHandler.h; sourceTree = "<group>"; };
- 722780112409906E007D376B /* RemoteImageBufferMessageHandlerProxy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteImageBufferMessageHandlerProxy.cpp; sourceTree = "<group>"; };
- 722780122409906E007D376B /* RemoteImageBufferMessageHandlerProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBufferMessageHandlerProxy.h; sourceTree = "<group>"; };
727A7F342407857D004D2931 /* ImageBufferShareableIOSurfaceBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageBufferShareableIOSurfaceBackend.cpp; sourceTree = "<group>"; };
727A7F352407857F004D2931 /* ImageBufferShareableIOSurfaceBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageBufferShareableIOSurfaceBackend.h; sourceTree = "<group>"; };
727A7F36240788F0004D2931 /* ImageBufferShareableBitmapBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageBufferShareableBitmapBackend.h; sourceTree = "<group>"; };
@@ -4094,7 +4086,6 @@
727A7F37240788F0004D2931 /* ImageBufferShareableBitmapBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageBufferShareableBitmapBackend.cpp; sourceTree = "<group>"; };
727A7F38240788F0004D2931 /* PlatformImageBufferShareableBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformImageBufferShareableBackend.h; sourceTree = "<group>"; };
727A7F39240788F1004D2931 /* ImageBufferBackendHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageBufferBackendHandle.h; sourceTree = "<group>"; };
- 727A7F492408AEE6004D2931 /* RemoteImageBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBuffer.h; sourceTree = "<group>"; };
728E86EF1795188C0087879E /* WebColorPickerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebColorPickerMac.h; sourceTree = "<group>"; };
728E86F01795188C0087879E /* WebColorPickerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebColorPickerMac.mm; sourceTree = "<group>"; };
75A8D2C4187CCF9F00C39C9E /* WKWebsiteDataStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebsiteDataStore.h; sourceTree = "<group>"; };
@@ -7752,15 +7743,10 @@
children = (
727A7F3324078527004D2931 /* cocoa */,
727A7F39240788F1004D2931 /* ImageBufferBackendHandle.h */,
- 55AD09442408ABB300DE4D2F /* ImageBufferFlushIdentifier.h */,
550640A524071CC000AAE045 /* ImageBufferIdentifier.h */,
727A7F37240788F0004D2931 /* ImageBufferShareableBitmapBackend.cpp */,
727A7F36240788F0004D2931 /* ImageBufferShareableBitmapBackend.h */,
727A7F38240788F0004D2931 /* PlatformImageBufferShareableBackend.h */,
- 7227800B2408BD7D007D376B /* PlatformRemoteImageBuffer.h */,
- 727A7F492408AEE6004D2931 /* RemoteImageBuffer.h */,
- 7227800C24097A02007D376B /* RemoteImageBufferMessageHandler.cpp */,
- 7227800D24097A02007D376B /* RemoteImageBufferMessageHandler.h */,
5506409D2407160900AAE045 /* RemoteRenderingBackend.cpp */,
5506409E2407160900AAE045 /* RemoteRenderingBackend.h */,
550640A0240719E100AAE045 /* RemoteRenderingBackend.messages.in */,
@@ -7772,10 +7758,6 @@
550640A124071A2900AAE045 /* graphics */ = {
isa = PBXGroup;
children = (
- 55AD09432408A0E600DE4D2F /* PlatformRemoteImageBufferProxy.h */,
- 722780112409906E007D376B /* RemoteImageBufferMessageHandlerProxy.cpp */,
- 722780122409906E007D376B /* RemoteImageBufferMessageHandlerProxy.h */,
- 55AD09422408A02E00DE4D2F /* RemoteImageBufferProxy.h */,
550640A224071A6100AAE045 /* RemoteRenderingBackendProxy.cpp */,
550640A324071A6100AAE045 /* RemoteRenderingBackendProxy.h */,
550640A424071C2100AAE045 /* RemoteRenderingBackendProxy.messages.in */,
Deleted: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include <wtf/ObjectIdentifier.h>
-
-namespace WebKit {
-
-enum ImageBufferFlushIdentifierType { };
-using ImageBufferFlushIdentifier = ObjectIdentifier<ImageBufferFlushIdentifierType>;
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp 2020-03-06 23:37:16 UTC (rev 258035)
@@ -42,7 +42,7 @@
WTF_MAKE_ISO_ALLOCATED_IMPL(ImageBufferShareableBitmapBackend);
-std::unique_ptr<ImageBufferShareableBitmapBackend> ImageBufferShareableBitmapBackend::create(const FloatSize& size, float resolutionScale, ColorSpace colorSpace, const HostWindow*)
+std::unique_ptr<ImageBufferShareableBitmapBackend> ImageBufferShareableBitmapBackend::create(const FloatSize& size, float resolutionScale, ColorSpace colorSpace)
{
IntSize backendSize = calculateBackendSize(size, resolutionScale);
if (backendSize.isEmpty())
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -39,7 +39,7 @@
WTF_MAKE_ISO_ALLOCATED(ImageBufferShareableBitmapBackend);
WTF_MAKE_NONCOPYABLE(ImageBufferShareableBitmapBackend);
public:
- static std::unique_ptr<ImageBufferShareableBitmapBackend> create(const WebCore::FloatSize& logicalSize, const float resolutionScale, WebCore::ColorSpace, const WebCore::HostWindow*);
+ static std::unique_ptr<ImageBufferShareableBitmapBackend> create(const WebCore::FloatSize& logicalSize, const float resolutionScale, WebCore::ColorSpace);
static std::unique_ptr<ImageBufferShareableBitmapBackend> create(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& internalSize, float resolutionScale, WebCore::ColorSpace, ImageBufferBackendHandle);
ImageBufferShareableBitmapBackend(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& physicalSize, float resolutionScale, WebCore::ColorSpace, RefPtr<ShareableBitmap>&&, std::unique_ptr<WebCore::GraphicsContext>&&);
Deleted: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include "PlatformImageBufferShareableBackend.h"
-#include "RemoteImageBuffer.h"
-
-namespace WebKit {
-
-using UnacceleratedRemoteImageBuffer = RemoteImageBuffer<UnacceleratedImageBufferShareableBackend>;
-using AcceleratedRemoteImageBuffer = RemoteImageBuffer<AcceleratedImageBufferShareableBackend>;
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Deleted: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBuffer.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBuffer.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBuffer.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include "RemoteImageBufferMessageHandler.h"
-#include <WebCore/DisplayListImageBuffer.h>
-#include <WebCore/DisplayListItems.h>
-
-namespace WebKit {
-
-class RemoteRenderingBackend;
-
-template<typename BackendType>
-class RemoteImageBuffer : public WebCore::DisplayList::ImageBuffer<BackendType>, public RemoteImageBufferMessageHandler {
- using BaseDisplayListImageBuffer = WebCore::DisplayList::ImageBuffer<BackendType>;
- using BaseDisplayListImageBuffer::m_backend;
- using BaseDisplayListImageBuffer::m_drawingContext;
-
-public:
- static std::unique_ptr<RemoteImageBuffer> create(const WebCore::FloatSize& size, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackend& remoteRenderingBackend)
- {
- if (BackendType::calculateBackendSize(size, resolutionScale).isEmpty())
- return nullptr;
-
- return std::unique_ptr<RemoteImageBuffer>(new RemoteImageBuffer(size, renderingMode, resolutionScale, colorSpace, remoteRenderingBackend));
- }
-
-protected:
- RemoteImageBuffer(const WebCore::FloatSize& size, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, RemoteRenderingBackend& remoteRenderingBackend)
- : BaseDisplayListImageBuffer(size)
- , RemoteImageBufferMessageHandler(size, renderingMode, resolutionScale, colorSpace, remoteRenderingBackend)
- {
- }
-
- void createBackend(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& backendSize, float resolutionScale, WebCore::ColorSpace colorSpace, ImageBufferBackendHandle handle) override
- {
- ASSERT(!m_backend);
- m_backend = BackendType::create(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle));
- }
-
- void flushContext() override
- {
- flushDrawingContext();
- m_backend->flushContext();
- }
-
- void flushDrawingContext() override
- {
- auto& displayList = m_drawingContext.displayList();
- if (displayList.itemCount()) {
- RemoteImageBufferMessageHandler::flushDrawingContext(displayList);
- displayList.clear();
- }
- }
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Deleted: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "RemoteImageBufferMessageHandler.h"
-
-#if ENABLE(GPU_PROCESS)
-
-#include "RemoteRenderingBackend.h"
-#include "RemoteRenderingBackendProxyMessages.h"
-
-namespace WebKit {
-using namespace WebCore;
-
-RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler(const FloatSize& size, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace, RemoteRenderingBackend& remoteRenderingBackend)
- : m_remoteRenderingBackend(makeWeakPtr(remoteRenderingBackend))
-{
- // Create the RemoteImageBufferProxy.
- m_remoteRenderingBackend->send(Messages::RemoteRenderingBackendProxy::CreateImageBuffer(size, renderingMode, resolutionScale, colorSpace, m_imageBufferIdentifier), m_remoteRenderingBackend->renderingBackendIdentifier());
-}
-
-RemoteImageBufferMessageHandler::~RemoteImageBufferMessageHandler()
-{
- // Release the RemoteImageBufferProxy.
- if (!m_remoteRenderingBackend)
- return;
- m_remoteRenderingBackend->send(Messages::RemoteRenderingBackendProxy::ReleaseImageBuffer(m_imageBufferIdentifier), m_remoteRenderingBackend->renderingBackendIdentifier());
-}
-
-void RemoteImageBufferMessageHandler::flushDrawingContext(const WebCore::DisplayList::DisplayList& displayList)
-{
- if (!m_remoteRenderingBackend)
- return;
- m_sentFlushIdentifier = ImageBufferFlushIdentifier::generate();
- m_remoteRenderingBackend->send(Messages::RemoteRenderingBackendProxy::FlushImageBufferDrawingContext(displayList, m_sentFlushIdentifier, m_imageBufferIdentifier), m_remoteRenderingBackend->renderingBackendIdentifier());
-}
-
-void RemoteImageBufferMessageHandler::commitFlushContext(ImageBufferFlushIdentifier flushIdentifier)
-{
- m_receivedFlushIdentifier = flushIdentifier;
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
-
Deleted: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include "ImageBufferFlushIdentifier.h"
-#include "ImageBufferIdentifier.h"
-#include <WebCore/ColorSpace.h>
-#include <WebCore/DisplayList.h>
-#include <WebCore/FloatSize.h>
-#include <WebCore/RenderingMode.h>
-
-namespace WebKit {
-
-class RemoteRenderingBackend;
-
-class RemoteImageBufferMessageHandler {
-public:
- virtual ~RemoteImageBufferMessageHandler();
-
- ImageBufferIdentifier imageBufferIdentifier() const { return m_imageBufferIdentifier; }
-
- // Messages to be received. See RemoteRenderingBackend.messages.in.
- virtual void createBackend(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& backendSize, float resolutionScale, WebCore::ColorSpace, ImageBufferBackendHandle) = 0;
-
- void commitFlushContext(ImageBufferFlushIdentifier);
-
-protected:
- RemoteImageBufferMessageHandler(const WebCore::FloatSize&, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace, RemoteRenderingBackend&);
-
- // Messages to be sent. See RemoteRenderingBackendProxy.messages.in.
- void flushDrawingContext(const WebCore::DisplayList::DisplayList&);
-
-private:
- WeakPtr<RemoteRenderingBackend> m_remoteRenderingBackend;
- ImageBufferIdentifier m_imageBufferIdentifier { ImageBufferIdentifier::generate() };
-
- ImageBufferFlushIdentifier m_sentFlushIdentifier;
- ImageBufferFlushIdentifier m_receivedFlushIdentifier;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.cpp (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.cpp 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.cpp 2020-03-06 23:37:16 UTC (rev 258035)
@@ -29,7 +29,6 @@
#if ENABLE(GPU_PROCESS)
#include "GPUProcessConnection.h"
-#include "PlatformRemoteImageBuffer.h"
#include "RemoteRenderingBackendMessages.h"
#include "RemoteRenderingBackendProxyMessages.h"
@@ -72,32 +71,18 @@
return m_renderingBackendIdentifier.toUInt64();
}
-bool RemoteRenderingBackend::waitForCreateImageBufferBackend()
+std::unique_ptr<ImageBuffer> RemoteRenderingBackend::createImageBuffer(const FloatSize&, RenderingMode renderingMode, float, ColorSpace)
{
- Ref<IPC::Connection> connection = WebProcess::singleton().ensureGPUProcessConnection().connection();
- return connection->waitForAndDispatchImmediately<Messages::RemoteRenderingBackend::CreateImageBufferBackend>(m_renderingBackendIdentifier, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
-}
+ switch (renderingMode) {
+ case RenderingMode::RemoteAccelerated:
+ case RenderingMode::RemoteUnaccelerated:
+ // FIXME: Create the remote ImageBuffer
+ return nullptr;
-bool RemoteRenderingBackend::waitForCommitImageBufferFlushContext()
-{
- Ref<IPC::Connection> connection = WebProcess::singleton().ensureGPUProcessConnection().connection();
- return connection->waitForAndDispatchImmediately<Messages::RemoteRenderingBackend::CommitImageBufferFlushContext>(m_renderingBackendIdentifier, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
-}
-
-std::unique_ptr<ImageBuffer> RemoteRenderingBackend::createImageBuffer(const FloatSize& size, ShouldAccelerate shouldAccelerate, float resolutionScale, ColorSpace colorSpace)
-{
- if (shouldAccelerate == ShouldAccelerate::Yes) {
- if (auto imageBuffer = AcceleratedRemoteImageBuffer::create(size, RenderingMode::RemoteAccelerated, resolutionScale, colorSpace, *this)) {
- m_imageBufferMessageHandlerMap.add(imageBuffer->imageBufferIdentifier(), imageBuffer.get());
- return imageBuffer;
- }
+ default:
+ ASSERT_NOT_REACHED();
}
- if (auto imageBuffer = UnacceleratedRemoteImageBuffer::create(size, RenderingMode::RemoteUnaccelerated, resolutionScale, colorSpace, *this)) {
- m_imageBufferMessageHandlerMap.add(imageBuffer->imageBufferIdentifier(), imageBuffer.get());
- return imageBuffer;
- }
-
return nullptr;
}
@@ -104,22 +89,12 @@
void RemoteRenderingBackend::releaseImageBuffer(ImageBufferIdentifier imageBufferIdentifier)
{
// CreateImageBuffer message should have been received before this one.
- bool found = m_imageBufferMessageHandlerMap.remove(imageBufferIdentifier);
+ bool found = m_imageBufferMap.remove(imageBufferIdentifier);
ASSERT_UNUSED(found, found);
-}
-void RemoteRenderingBackend::createImageBufferBackend(const FloatSize& logicalSize, const IntSize& backendSize, float resolutionScale, ColorSpace colorSpace, ImageBufferBackendHandle handle, ImageBufferIdentifier imageBufferIdentifier)
-{
- if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(imageBufferIdentifier))
- imageBuffer->createBackend(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle));
+ send(Messages::RemoteRenderingBackendProxy::ReleaseImageBuffer(imageBufferIdentifier), m_renderingBackendIdentifier);
}
-void RemoteRenderingBackend::commitImageBufferFlushContext(ImageBufferFlushIdentifier flushIdentifier, ImageBufferIdentifier imageBufferIdentifier)
-{
- if (auto imageBuffer = m_imageBufferMessageHandlerMap.get(imageBufferIdentifier))
- imageBuffer->commitFlushContext(flushIdentifier);
-}
-
} // namespace WebKit
#endif // ENABLE(GPU_PROCESS)
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -27,52 +27,38 @@
#if ENABLE(GPU_PROCESS)
-#include "ImageBufferBackendHandle.h"
-#include "ImageBufferFlushIdentifier.h"
#include "ImageBufferIdentifier.h"
#include "MessageReceiver.h"
#include "MessageSender.h"
-#include "RemoteImageBufferMessageHandler.h"
#include "RenderingBackendIdentifier.h"
#include <WebCore/ColorSpace.h>
-#include <WebCore/DisplayList.h>
#include <WebCore/FloatSize.h>
+#include <WebCore/ImageBuffer.h>
#include <WebCore/RenderingMode.h>
#include <wtf/HashMap.h>
-#include <wtf/WeakPtr.h>
namespace WebKit {
class RemoteRenderingBackend
- : public IPC::MessageSender
- , private IPC::MessageReceiver
- , public CanMakeWeakPtr<RemoteRenderingBackend> {
+ : private IPC::MessageSender
+ , private IPC::MessageReceiver {
public:
static std::unique_ptr<RemoteRenderingBackend> create();
~RemoteRenderingBackend();
- RenderingBackendIdentifier renderingBackendIdentifier() const { return m_renderingBackendIdentifier; }
-
// IPC::MessageSender.
IPC::Connection* messageSenderConnection() const override;
uint64_t messageSenderDestinationID() const override;
- // IPC::MessageReceiver
- void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
-
- std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::ShouldAccelerate, float resolutionScale, WebCore::ColorSpace);
+ std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace);
void releaseImageBuffer(ImageBufferIdentifier);
private:
RemoteRenderingBackend();
-
- // Messages to be received.
- void createImageBufferBackend(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& backendSize, float resolutionScale, WebCore::ColorSpace, ImageBufferBackendHandle, ImageBufferIdentifier);
- void commitImageBufferFlushContext(ImageBufferFlushIdentifier, ImageBufferIdentifier);
-
- using ImageBufferMessageHandlerMap = HashMap<ImageBufferIdentifier, RemoteImageBufferMessageHandler*>;
- ImageBufferMessageHandlerMap m_imageBufferMessageHandlerMap;
+
+ using ImageBufferMap = HashMap<ImageBufferIdentifier, WebCore::ImageBuffer*>;
+ ImageBufferMap m_imageBufferMap;
RenderingBackendIdentifier m_renderingBackendIdentifier { RenderingBackendIdentifier::generate() };
};
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in 2020-03-06 23:37:16 UTC (rev 258035)
@@ -23,8 +23,7 @@
#if ENABLE(GPU_PROCESS)
messages -> RemoteRenderingBackend NotRefCounted {
- void CreateImageBufferBackend(WebCore::FloatSize logicalSize, WebCore::IntSize backendSize, float resolutionScale, WebCore::ColorSpace colorSpace, WebKit::ImageBufferBackendHandle handle, WebKit::ImageBufferIdentifier imageBufferIdentifier)
- void CommitImageBufferFlushContext(WebKit::ImageBufferFlushIdentifier flushIdentifier, WebKit::ImageBufferIdentifier imageBufferIdentifier)
+
}
#endif // ENABLE(GPU_PROCESS)
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp 2020-03-06 23:37:16 UTC (rev 258035)
@@ -37,7 +37,7 @@
WTF_MAKE_ISO_ALLOCATED_IMPL(ImageBufferShareableIOSurfaceBackend);
-std::unique_ptr<ImageBufferShareableIOSurfaceBackend> ImageBufferShareableIOSurfaceBackend::create(const FloatSize& size, float resolutionScale, ColorSpace colorSpace, const HostWindow*)
+std::unique_ptr<ImageBufferShareableIOSurfaceBackend> ImageBufferShareableIOSurfaceBackend::create(const FloatSize& size, float resolutionScale, ColorSpace colorSpace)
{
IntSize backendSize = calculateBackendSize(size, resolutionScale);
if (backendSize.isEmpty())
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -40,7 +40,7 @@
WTF_MAKE_ISO_ALLOCATED(ImageBufferShareableIOSurfaceBackend);
WTF_MAKE_NONCOPYABLE(ImageBufferShareableIOSurfaceBackend);
public:
- static std::unique_ptr<ImageBufferShareableIOSurfaceBackend> create(const WebCore::FloatSize& logicalSize, const float resolutionScale, WebCore::ColorSpace, const WebCore::HostWindow*);
+ static std::unique_ptr<ImageBufferShareableIOSurfaceBackend> create(const WebCore::FloatSize& logicalSize, const float resolutionScale, WebCore::ColorSpace);
static std::unique_ptr<ImageBufferShareableIOSurfaceBackend> create(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& internalSize, float resolutionScale, WebCore::ColorSpace, ImageBufferBackendHandle);
using WebCore::ImageBufferIOSurfaceBackend::ImageBufferIOSurfaceBackend;
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp 2020-03-06 23:37:16 UTC (rev 258035)
@@ -890,24 +890,14 @@
#endif
#if ENABLE(GPU_PROCESS)
-
-RemoteRenderingBackend& WebChromeClient::ensureRemoteRenderingBackend() const
+std::unique_ptr<ImageBuffer> WebChromeClient::createImageBuffer(const FloatSize& size, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace) const
{
if (!m_remoteRenderingBackend)
m_remoteRenderingBackend = RemoteRenderingBackend::create();
- return *m_remoteRenderingBackend;
+ return m_remoteRenderingBackend->createImageBuffer(size, renderingMode, resolutionScale, colorSpace);
}
+#endif
-std::unique_ptr<ImageBuffer> WebChromeClient::createImageBuffer(const FloatSize& size, ShouldAccelerate shouldAccelerate, ShouldUseDisplayList shouldUseDisplayList, RenderingPurpose purpose, float resolutionScale, ColorSpace colorSpace) const
-{
- if (!m_page.shouldUseRemoteRenderingFor(purpose))
- return nullptr;
-
- return ensureRemoteRenderingBackend().createImageBuffer(size, shouldAccelerate, resolutionScale, colorSpace);
-}
-
-#endif // ENABLE(GPU_PROCESS)
-
void WebChromeClient::attachRootGraphicsLayer(Frame&, GraphicsLayer* layer)
{
if (layer)
Modified: branches/safari-610.1.6-branch/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h (258034 => 258035)
--- branches/safari-610.1.6-branch/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h 2020-03-06 23:30:29 UTC (rev 258034)
+++ branches/safari-610.1.6-branch/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h 2020-03-06 23:37:16 UTC (rev 258035)
@@ -234,8 +234,7 @@
#endif
#if ENABLE(GPU_PROCESS)
- RemoteRenderingBackend& ensureRemoteRenderingBackend() const;
- std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::ShouldAccelerate, WebCore::ShouldUseDisplayList, WebCore::RenderingPurpose, float resolutionScale, WebCore::ColorSpace) const final;
+ std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace) const final;
#endif
CompositingTriggerFlags allowedCompositingTriggers() const final