Move SharedBitmapManager implementation out of content/
HostSharedBitmapManager is shifted to components/display_compositor.
ChildSharedBitmapManager is shifted to services/ui/public/cpp/bitmap.
The Mojo messages used in allocating shared bitmap is decoupled from
render_message_filter.h and moved to cc/ipc/shared_bitmap_manager.mojom.
Note that the SharedBitmapManager is an associated mojo interface of
RenderMessageFilter so as to maintain the existing FIFO order of mojo
messages between the two SharedBitmap allocation functions and the
rest of RenderMessageFilter functions.
BUG=670162
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Review-Url: https://codereview.chromium.org/2717213004
Cr-Commit-Position: refs/heads/master@{#462979}
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index ffecef1..83960ac 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -95,6 +95,7 @@
}
namespace ui {
+class ChildSharedBitmapManager;
class ContextProviderCommandBuffer;
class Gpu;
}
@@ -113,7 +114,6 @@
class BlobMessageFilter;
class BrowserPluginManager;
class CacheStorageDispatcher;
-class ChildSharedBitmapManager;
class CompositorForwardingMessageFilter;
class DBMessageFilter;
class DevToolsAgentFilter;
@@ -170,8 +170,6 @@
std::unique_ptr<blink::scheduler::RendererScheduler> renderer_scheduler);
static RenderThreadImpl* current();
static mojom::RenderMessageFilter* current_render_message_filter();
- static const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>&
- current_thread_safe_render_message_filter();
static void SetRenderMessageFilterForTesting(
mojom::RenderMessageFilter* render_message_filter);
@@ -362,15 +360,13 @@
return vc_manager_.get();
}
- ChildSharedBitmapManager* shared_bitmap_manager() const {
+ ui::ChildSharedBitmapManager* shared_bitmap_manager() const {
DCHECK(shared_bitmap_manager_);
return shared_bitmap_manager_.get();
}
mojom::RenderFrameMessageFilter* render_frame_message_filter();
mojom::RenderMessageFilter* render_message_filter();
- const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>&
- thread_safe_render_message_filter();
// Get the GPU channel. Returns NULL if the channel is not established or
// has been lost.
@@ -643,7 +639,7 @@
// Used on the render thread.
std::unique_ptr<VideoCaptureImplManager> vc_manager_;
- std::unique_ptr<ChildSharedBitmapManager> shared_bitmap_manager_;
+ std::unique_ptr<ui::ChildSharedBitmapManager> shared_bitmap_manager_;
// The count of RenderWidgets running through this thread.
int widget_count_;
@@ -780,8 +776,6 @@
mojom::RenderFrameMessageFilterAssociatedPtr render_frame_message_filter_;
mojom::RenderMessageFilterAssociatedPtr render_message_filter_;
- scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>
- thread_safe_render_message_filter_;
base::CancelableClosure record_purge_suspend_metric_closure_;
RendererMemoryMetrics purge_and_suspend_memory_metrics_;