| Index: content/renderer/render_thread_impl.h | 
| diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h | 
| index 12125f7a879fa8417b19f7eac0500f576a138249..12963026d8905bb6ab9bfb32f02fab91abfd19c1 100644 | 
| --- a/content/renderer/render_thread_impl.h | 
| +++ b/content/renderer/render_thread_impl.h | 
| @@ -24,17 +24,20 @@ | 
| #include "build/build_config.h" | 
| #include "content/child/child_thread_impl.h" | 
| #include "content/child/memory/child_memory_coordinator_impl.h" | 
| +#include "content/common/associated_interface_registry_impl.h" | 
| #include "content/common/content_export.h" | 
| #include "content/common/frame.mojom.h" | 
| #include "content/common/frame_replication_state.h" | 
| #include "content/common/render_frame_message_filter.mojom.h" | 
| #include "content/common/render_message_filter.mojom.h" | 
| +#include "content/common/renderer.mojom.h" | 
| #include "content/common/storage_partition_service.mojom.h" | 
| #include "content/public/renderer/render_thread.h" | 
| #include "content/renderer/gpu/compositor_dependencies.h" | 
| #include "content/renderer/layout_test_dependencies.h" | 
| #include "device/time_zone_monitor/public/interfaces/time_zone_monitor.mojom.h" | 
| #include "gpu/ipc/client/gpu_channel_host.h" | 
| +#include "mojo/public/cpp/bindings/associated_binding.h" | 
| #include "mojo/public/cpp/bindings/binding.h" | 
| #include "net/base/network_change_notifier.h" | 
| #include "third_party/WebKit/public/platform/WebConnectionType.h" | 
| @@ -48,7 +51,6 @@ | 
| class GrContext; | 
| class SkBitmap; | 
| struct FrameMsg_NewFrame_Params; | 
| -struct ViewMsg_New_Params; | 
| struct ViewMsg_UpdateScrollbarTheme_Params; | 
| struct WorkerProcessMsg_CreateWorker_Params; | 
|  | 
| @@ -154,6 +156,7 @@ class CONTENT_EXPORT RenderThreadImpl | 
| public gpu::GpuChannelHostFactory, | 
| public blink::scheduler::RendererScheduler::RAILModeObserver, | 
| public ChildMemoryCoordinatorDelegate, | 
| +      NON_EXPORTED_BASE(public mojom::Renderer), | 
| // TODO(blundell): Separate this impl out into Blink. | 
| NON_EXPORTED_BASE(public device::mojom::TimeZoneMonitorClient), | 
| NON_EXPORTED_BASE(public CompositorDependencies) { | 
| @@ -208,6 +211,11 @@ class CONTENT_EXPORT RenderThreadImpl | 
| bool ResolveProxy(const GURL& url, std::string* proxy_list) override; | 
| base::WaitableEvent* GetShutdownEvent() override; | 
|  | 
| +  // IPC::Listener implementation via ChildThreadImpl: | 
| +  void OnAssociatedInterfaceRequest( | 
| +      const std::string& name, | 
| +      mojo::ScopedInterfaceEndpointHandle handle) override; | 
| + | 
| // CompositorDependencies implementation. | 
| bool IsGpuRasterizationForced() override; | 
| bool IsGpuRasterizationEnabled() override; | 
| @@ -246,6 +254,8 @@ class CONTENT_EXPORT RenderThreadImpl | 
| scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue, | 
| const GURL& url); | 
|  | 
| +  AssociatedInterfaceRegistry* GetAssociatedInterfaceRegistry(); | 
| + | 
| std::unique_ptr<cc::SwapPromise> RequestCopyOfOutputForLayoutTest( | 
| int32_t routing_id, | 
| std::unique_ptr<cc::CopyOutputRequest> request); | 
| @@ -502,7 +512,6 @@ class CONTENT_EXPORT RenderThreadImpl | 
| int opener_routing_id, | 
| int parent_routing_id, | 
| const FrameReplicationState& replicated_state); | 
| -  void OnCreateNewView(const ViewMsg_New_Params& params); | 
| void OnTransferBitmap(const SkBitmap& bitmap, int resource_id); | 
| #if defined(ENABLE_PLUGINS) | 
| void OnPurgePluginListCache(bool reload_pages); | 
| @@ -512,6 +521,9 @@ class CONTENT_EXPORT RenderThreadImpl | 
| double max_bandwidth_mbps); | 
| void OnGetAccessibilityTree(); | 
|  | 
| +  // mojom::Renderer: | 
| +  void CreateView(mojom::CreateViewParamsPtr params) override; | 
| + | 
| // device::mojom::TimeZoneClient: | 
| void OnTimeZoneChange(const std::string& zoneId) override; | 
| void OnMemoryPressure( | 
| @@ -540,6 +552,8 @@ class CONTENT_EXPORT RenderThreadImpl | 
| std::unique_ptr<cc::BeginFrameSource> CreateExternalBeginFrameSource( | 
| int routing_id); | 
|  | 
| +  void OnRendererInterfaceRequest(mojom::RendererAssociatedRequest request); | 
| + | 
| // These objects live solely on the render thread. | 
| std::unique_ptr<AppCacheDispatcher> appcache_dispatcher_; | 
| std::unique_ptr<DomStorageDispatcher> dom_storage_dispatcher_; | 
| @@ -722,6 +736,10 @@ class CONTENT_EXPORT RenderThreadImpl | 
|  | 
| mojom::StoragePartitionServicePtr storage_partition_service_; | 
|  | 
| +  AssociatedInterfaceRegistryImpl associated_interfaces_; | 
| + | 
| +  mojo::AssociatedBinding<mojom::Renderer> renderer_binding_; | 
| + | 
| mojom::RenderFrameMessageFilterAssociatedPtr render_frame_message_filter_; | 
| mojom::RenderMessageFilterAssociatedPtr render_message_filter_; | 
|  | 
|  |