| Index: chromecast/renderer/cast_content_renderer_client.cc
 | 
| diff --git a/chromecast/renderer/cast_content_renderer_client.cc b/chromecast/renderer/cast_content_renderer_client.cc
 | 
| index 3e8170f34876f4e284373c377278abd1d369b835..3f48cb44b5465aefe504cb90627150ed8d839475 100644
 | 
| --- a/chromecast/renderer/cast_content_renderer_client.cc
 | 
| +++ b/chromecast/renderer/cast_content_renderer_client.cc
 | 
| @@ -72,18 +72,27 @@ const blink::WebColor kColorBlack = 0xFF000000;
 | 
|  
 | 
|  class CastRenderViewObserver : content::RenderViewObserver {
 | 
|   public:
 | 
| -  explicit CastRenderViewObserver(content::RenderView* render_view);
 | 
| +  CastRenderViewObserver(CastContentRendererClient* client,
 | 
| +                         content::RenderView* render_view);
 | 
|    ~CastRenderViewObserver() override {}
 | 
|  
 | 
|    void DidClearWindowObject(blink::WebLocalFrame* frame) override;
 | 
| +
 | 
| + private:
 | 
| +  CastContentRendererClient* const client_;
 | 
| +
 | 
| +  DISALLOW_COPY_AND_ASSIGN(CastRenderViewObserver);
 | 
|  };
 | 
|  
 | 
| -CastRenderViewObserver::CastRenderViewObserver(content::RenderView* render_view)
 | 
| -    : content::RenderViewObserver(render_view) {
 | 
| +CastRenderViewObserver::CastRenderViewObserver(
 | 
| +    CastContentRendererClient* client,
 | 
| +    content::RenderView* render_view)
 | 
| +    : content::RenderViewObserver(render_view),
 | 
| +      client_(client) {
 | 
|  }
 | 
|  
 | 
|  void CastRenderViewObserver::DidClearWindowObject(blink::WebLocalFrame* frame) {
 | 
| -  PlatformAddRendererNativeBindings(frame);
 | 
| +  client_->AddRendererNativeBindings(frame);
 | 
|  }
 | 
|  
 | 
|  }  // namespace
 | 
| @@ -94,6 +103,15 @@ CastContentRendererClient::CastContentRendererClient() {
 | 
|  CastContentRendererClient::~CastContentRendererClient() {
 | 
|  }
 | 
|  
 | 
| +void CastContentRendererClient::AddRendererNativeBindings(
 | 
| +    blink::WebLocalFrame* frame) {
 | 
| +}
 | 
| +
 | 
| +std::vector<scoped_refptr<IPC::MessageFilter>>
 | 
| +CastContentRendererClient::GetRendererMessageFilters() {
 | 
| +  return std::vector<scoped_refptr<IPC::MessageFilter>>();
 | 
| +}
 | 
| +
 | 
|  void CastContentRendererClient::RenderThreadStarted() {
 | 
|    base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 | 
|  #if defined(USE_NSS_CERTS)
 | 
| @@ -121,7 +139,7 @@ void CastContentRendererClient::RenderThreadStarted() {
 | 
|    }
 | 
|  
 | 
|    cast_observer_.reset(
 | 
| -      new CastRenderProcessObserver(PlatformGetRendererMessageFilters()));
 | 
| +      new CastRenderProcessObserver(GetRendererMessageFilters()));
 | 
|  
 | 
|    prescient_networking_dispatcher_.reset(
 | 
|        new network_hints::PrescientNetworkingDispatcher());
 | 
| @@ -161,13 +179,12 @@ void CastContentRendererClient::RenderViewCreated(
 | 
|    }
 | 
|  
 | 
|    // Note: RenderView will own the lifetime of its observer.
 | 
| -  new CastRenderViewObserver(render_view);
 | 
| +  new CastRenderViewObserver(this, render_view);
 | 
|  }
 | 
|  
 | 
|  void CastContentRendererClient::AddKeySystems(
 | 
|      std::vector< ::media::KeySystemInfo>* key_systems) {
 | 
|    AddChromecastKeySystems(key_systems);
 | 
| -  AddChromecastPlatformKeySystems(key_systems);
 | 
|  }
 | 
|  
 | 
|  #if !defined(OS_ANDROID)
 | 
| 
 |