diff options
author | avi <avi@chromium.org> | 2015-10-16 10:40:43 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-16 17:41:43 +0000 |
commit | 3627ecac5d720b442e5ee27829d064fdf55c8486 (patch) | |
tree | a3ecfdccbe6bc8645dd1c8ccfd0aea2c699f9cd5 /content/browser/renderer_host | |
parent | 5afc24479ba6b45f12caaa1fb805930004db2596 (diff) | |
download | chromium_src-3627ecac5d720b442e5ee27829d064fdf55c8486.zip chromium_src-3627ecac5d720b442e5ee27829d064fdf55c8486.tar.gz chromium_src-3627ecac5d720b442e5ee27829d064fdf55c8486.tar.bz2 |
Separate RenderViewHost from RenderWidgetHost, part 2: public implementation.
This is the second part of the separation of RenderViewHost and RenderWidgetHost.
BUG=542477
TEST=all green
Review URL: https://codereview.chromium.org/1413643002
Cr-Commit-Position: refs/heads/master@{#354537}
Diffstat (limited to 'content/browser/renderer_host')
6 files changed, 23 insertions, 21 deletions
diff --git a/content/browser/renderer_host/input/touch_input_browsertest.cc b/content/browser/renderer_host/input/touch_input_browsertest.cc index a497dd7..7cb9d54 100644 --- a/content/browser/renderer_host/input/touch_input_browsertest.cc +++ b/content/browser/renderer_host/input/touch_input_browsertest.cc @@ -153,8 +153,8 @@ class TouchInputBrowserTest : public ContentBrowserTest { WebContentsImpl* web_contents = static_cast<WebContentsImpl*>(shell()->web_contents()); - RenderWidgetHostImpl* host = - RenderWidgetHostImpl::From(web_contents->GetRenderViewHost()); + RenderWidgetHostImpl* host = RenderWidgetHostImpl::From( + web_contents->GetRenderViewHost()->GetWidget()); host->GetView()->SetSize(gfx::Size(400, 400)); // The page is loaded in the renderer, wait for a new frame to arrive. diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc index b09ff1f..0c6793f 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc @@ -177,8 +177,7 @@ RenderViewHost* RenderViewHost::FromID(int render_process_id, // static RenderViewHost* RenderViewHost::From(RenderWidgetHost* rwh) { - DCHECK(rwh->IsRenderView()); - return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(rwh)); + return RenderViewHostImpl::From(rwh); } /////////////////////////////////////////////////////////////////////////////// @@ -194,6 +193,12 @@ RenderViewHostImpl* RenderViewHostImpl::FromID(int render_process_id, return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(widget)); } +// static +RenderViewHostImpl* RenderViewHostImpl::From(RenderWidgetHost* rwh) { + DCHECK(rwh->IsRenderView()); + return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(rwh)); +} + RenderViewHostImpl::RenderViewHostImpl( SiteInstance* instance, RenderViewHostDelegate* delegate, @@ -738,9 +743,9 @@ bool RenderViewHostImpl::Send(IPC::Message* msg) { return RenderWidgetHostImpl::Send(msg); } -RenderWidgetHost* RenderViewHostImpl::GetWidget() const { - return const_cast<RenderWidgetHost*>( - static_cast<const RenderWidgetHost*>(this)); +RenderWidgetHostImpl* RenderViewHostImpl::GetWidget() const { + return const_cast<RenderWidgetHostImpl*>( + static_cast<const RenderWidgetHostImpl*>(this)); } RenderProcessHost* RenderViewHostImpl::GetProcess() const { diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h index db63ad5..7c8d754 100644 --- a/content/browser/renderer_host/render_view_host_impl.h +++ b/content/browser/renderer_host/render_view_host_impl.h @@ -93,14 +93,16 @@ struct FrameReplicationState; // // For context, please see https://crbug.com/467770 and // http://www.chromium.org/developers/design-documents/site-isolation. -class CONTENT_EXPORT RenderViewHostImpl - : public RenderViewHost, - public RenderWidgetHostImpl, - public RenderProcessHostObserver { +class CONTENT_EXPORT RenderViewHostImpl : public RenderViewHost, + RenderWidgetHostImpl, + public RenderProcessHostObserver { public: // Convenience function, just like RenderViewHost::FromID. static RenderViewHostImpl* FromID(int render_process_id, int render_view_id); + // Convenience function, just like RenderViewHost::From. + static RenderViewHostImpl* From(RenderWidgetHost* rwh); + // |routing_id| must be a valid route id. |swapped_out| indicates // whether the view should initially be swapped out (e.g., for an opener // frame being rendered by another process). |hidden| indicates whether the @@ -123,7 +125,7 @@ class CONTENT_EXPORT RenderViewHostImpl // RenderViewHost implementation. bool Send(IPC::Message* msg) override; - RenderWidgetHost* GetWidget() const override; + RenderWidgetHostImpl* GetWidget() const override; RenderProcessHost* GetProcess() const override; int GetRoutingID() const override; RenderFrameHost* GetMainFrame() override; diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc index 0b86c70..f11607f 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -308,7 +308,7 @@ RenderWidgetHostImpl::GetAllRenderWidgetHosts() { // static RenderWidgetHostImpl* RenderWidgetHostImpl::From(RenderWidgetHost* rwh) { - return rwh->AsRenderWidgetHostImpl(); + return static_cast<RenderWidgetHostImpl*>(rwh); } void RenderWidgetHostImpl::SetView(RenderWidgetHostViewBase* view) { @@ -340,10 +340,6 @@ RenderWidgetHostView* RenderWidgetHostImpl::GetView() const { return view_; } -RenderWidgetHostImpl* RenderWidgetHostImpl::AsRenderWidgetHostImpl() { - return this; -} - gfx::NativeViewId RenderWidgetHostImpl::GetNativeViewId() const { if (view_) return view_->GetNativeViewId(); diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h index db62fa0..ed5068a 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h @@ -469,8 +469,6 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost, } protected: - RenderWidgetHostImpl* AsRenderWidgetHostImpl() override; - // Called when we receive a notification indicating that the renderer // process has gone. This will reset our state so that our state will be // consistent if a new renderer is created. diff --git a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm index 7a5afa3..c3575b9 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm @@ -218,7 +218,8 @@ class RenderWidgetHostViewMacTest : public RenderViewHostImplTestHarness { RecycleAndWait(); // See comment in SetUp(). - test_rvh()->SetView(static_cast<RenderWidgetHostViewBase*>(old_rwhv_)); + test_rvh()->GetWidget()->SetView( + static_cast<RenderWidgetHostViewBase*>(old_rwhv_)); ImageTransportFactory::Terminate(); RenderViewHostImplTestHarness::TearDown(); @@ -231,7 +232,7 @@ class RenderWidgetHostViewMacTest : public RenderViewHostImplTestHarness { } void DestroyHostViewRetainCocoaView() { - test_rvh()->SetView(nullptr); + test_rvh()->GetWidget()->SetView(nullptr); rwhv_mac_->Destroy(); } |