 Chromium Code Reviews
 Chromium Code Reviews Issue 2484793002:
  Remove access to WebContents in RWHVA::SynchronousFrameMetadata()  (Closed)
    
  
    Issue 2484793002:
  Remove access to WebContents in RWHVA::SynchronousFrameMetadata()  (Closed) 
  | Index: content/browser/renderer_host/render_widget_host_view_android.cc | 
| diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc | 
| index 78c0d2271379a3629f84f3621665b921121d1daf..d4f0e11bc264ca40081a43858870291a4d022c4b 100644 | 
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc | 
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc | 
| @@ -435,7 +435,8 @@ void RenderWidgetHostViewAndroid::OnContextLost() { | 
| RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( | 
| RenderWidgetHostImpl* widget_host, | 
| - ContentViewCoreImpl* content_view_core) | 
| + ContentViewCoreImpl* content_view_core, | 
| + RenderWidgetHostViewAndroidDelegate* delegate) | 
| : host_(widget_host), | 
| outstanding_vsync_requests_(0), | 
| is_showing_(!widget_host->is_hidden()), | 
| @@ -451,6 +452,7 @@ RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( | 
| stylus_text_selector_(this), | 
| using_browser_compositor_(CompositorImpl::IsInitialized()), | 
| frame_evictor_(new DelegatedFrameEvictor(this)), | 
| + delegate_(delegate), | 
| locks_on_frame_count_(0), | 
| observing_root_window_(false), | 
| weak_ptr_factory_(this) { | 
| @@ -601,9 +603,7 @@ void RenderWidgetHostViewAndroid::Focus() { | 
| if (overscroll_controller_) | 
| overscroll_controller_->Enable(); | 
| if (content_view_core_) { | 
| - WebContentsImpl* web_contents_impl = | 
| - static_cast<WebContentsImpl*>(content_view_core_->GetWebContents()); | 
| - if (web_contents_impl->ShowingInterstitialPage()) | 
| + if (delegate_->ShowingInterstitialPage()) | 
| content_view_core_->ForceUpdateImeAdapter(GetNativeImeAdapter()); | 
| 
boliu
2016/11/07 18:44:36
I think this can move to WebContentsViewAndroid, m
 
Jinsuk Kim
2016/11/07 23:26:36
Done.
 | 
| } | 
| } | 
| @@ -1191,10 +1191,8 @@ void RenderWidgetHostViewAndroid::SynchronousFrameMetadata( | 
| OnFrameMetadataUpdated(frame_metadata.Clone(), false); | 
| // DevTools ScreenCast support for Android WebView. | 
| - WebContents* web_contents = content_view_core_->GetWebContents(); | 
| - if (DevToolsAgentHost::HasFor(web_contents)) { | 
| - scoped_refptr<DevToolsAgentHost> dtah = | 
| - DevToolsAgentHost::GetOrCreateFor(web_contents); | 
| + scoped_refptr<DevToolsAgentHost> dtah = delegate_->GetDevToolsAgentHost(); | 
| + if (dtah) { | 
| // Unblock the compositor. | 
| BrowserThread::PostTask( | 
| BrowserThread::UI, FROM_HERE, |