From 5121a34129f274edc61a288f73f99b39eb06e1e7 Mon Sep 17 00:00:00 2001 From: nektar Date: Mon, 29 Feb 2016 17:48:47 -0800 Subject: Revert of Separate RenderView from RenderWidget, part 1: inheritance. (patchset #2 id:20001 of https://codereview.chromium.org/1674543004/ ) Reason for revert: Many tests are crashing on Linux-dbg https://codereview.chromium.org/1674543004 Original issue's description: > Separate RenderView from RenderWidget, part 1: inheritance. > > Make RenderViewImpl able to privately inherit from RenderWidget. We can't switch over yet because WebTestProxy has weird templating stuff that can't support it. > > BUG=583347 > TEST=all green > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel,mac_blink_rel,win_blink_rel;tryserver.chromium.linux:linux_site_isolation > > Committed: https://crrev.com/42e463ac3a6f667821a8bed78ba0eafde79a7bfc > Cr-Commit-Position: refs/heads/master@{#378276} TBR=dcheng@chromium.org,avi@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=583347 Review URL: https://codereview.chromium.org/1750863002 Cr-Commit-Position: refs/heads/master@{#378366} --- content/public/renderer/render_view.h | 4 --- content/public/renderer/render_view_observer.cc | 35 +++++++++++++++---------- content/public/renderer/render_view_observer.h | 2 +- 3 files changed, 22 insertions(+), 19 deletions(-) (limited to 'content/public/renderer') diff --git a/content/public/renderer/render_view.h b/content/public/renderer/render_view.h index 2a7f85a..f913f64 100644 --- a/content/public/renderer/render_view.h +++ b/content/public/renderer/render_view.h @@ -39,7 +39,6 @@ class Size; namespace content { class RenderFrame; -class RenderWidget; class RenderViewVisitor; struct SSLStatus; struct WebPreferences; @@ -68,9 +67,6 @@ class CONTENT_EXPORT RenderView : public IPC::Sender { static void ApplyWebPreferences(const WebPreferences& preferences, blink::WebView* web_view); - // Returns the RenderWidget for this RenderView. - virtual RenderWidget* GetWidget() const = 0; - // Returns the main RenderFrame. virtual RenderFrame* GetMainRenderFrame() = 0; diff --git a/content/public/renderer/render_view_observer.cc b/content/public/renderer/render_view_observer.cc index 5e876cc..8289da9 100644 --- a/content/public/renderer/render_view_observer.cc +++ b/content/public/renderer/render_view_observer.cc @@ -6,22 +6,27 @@ #include "content/renderer/render_view_impl.h" +using blink::WebFrame; + namespace content { RenderViewObserver::RenderViewObserver(RenderView* render_view) - : render_view_(static_cast(render_view)), + : render_view_(render_view), routing_id_(MSG_ROUTING_NONE) { - // |render_view_| can be null on unit testing or if Observe() is used. - if (render_view_) { - routing_id_ = render_view_->GetRoutingID(); + // |render_view| can be NULL on unit testing or if Observe() is used. + if (render_view) { + RenderViewImpl* impl = static_cast(render_view); + routing_id_ = impl->routing_id(); // TODO(jam): bring this back DCHECK_NE(routing_id_, MSG_ROUTING_NONE); - render_view_->AddObserver(this); + impl->AddObserver(this); } } RenderViewObserver::~RenderViewObserver() { - if (render_view_) - render_view_->RemoveObserver(this); + if (render_view_) { + RenderViewImpl* impl = static_cast(render_view_); + impl->RemoveObserver(this); + } } void RenderViewObserver::OnDestruct() { @@ -45,19 +50,21 @@ RenderView* RenderViewObserver::render_view() const { } void RenderViewObserver::RenderViewGone() { - render_view_ = nullptr; + render_view_ = NULL; } void RenderViewObserver::Observe(RenderView* render_view) { - if (render_view_) { - render_view_->RemoveObserver(this); + RenderViewImpl* impl = static_cast(render_view_); + if (impl) { + impl->RemoveObserver(this); routing_id_ = 0; } - render_view_ = static_cast(render_view); - if (render_view_) { - routing_id_ = render_view_->GetRoutingID(); - render_view_->AddObserver(this); + render_view_ = render_view; + impl = static_cast(render_view_); + if (impl) { + routing_id_ = impl->routing_id(); + impl->AddObserver(this); } } diff --git a/content/public/renderer/render_view_observer.h b/content/public/renderer/render_view_observer.h index a245e63..5eeb45b 100644 --- a/content/public/renderer/render_view_observer.h +++ b/content/public/renderer/render_view_observer.h @@ -103,7 +103,7 @@ class CONTENT_EXPORT RenderViewObserver : public IPC::Listener, // can null out its pointer. void RenderViewGone(); - RenderViewImpl* render_view_; + RenderView* render_view_; // The routing ID of the associated RenderView. int routing_id_; -- cgit v1.1