diff options
author | nektar <nektar@chromium.org> | 2016-02-29 17:48:47 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-01 01:49:56 +0000 |
commit | 5121a34129f274edc61a288f73f99b39eb06e1e7 (patch) | |
tree | 3bb768b48d4534161eec1e5bc0926b0d541f1d92 /content/public/renderer | |
parent | e85ffadf28cf667182ff198e18be64acc0d17575 (diff) | |
download | chromium_src-5121a34129f274edc61a288f73f99b39eb06e1e7.zip chromium_src-5121a34129f274edc61a288f73f99b39eb06e1e7.tar.gz chromium_src-5121a34129f274edc61a288f73f99b39eb06e1e7.tar.bz2 |
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}
Diffstat (limited to 'content/public/renderer')
-rw-r--r-- | content/public/renderer/render_view.h | 4 | ||||
-rw-r--r-- | content/public/renderer/render_view_observer.cc | 35 | ||||
-rw-r--r-- | content/public/renderer/render_view_observer.h | 2 |
3 files changed, 22 insertions, 19 deletions
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<RenderViewImpl*>(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<RenderViewImpl*>(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<RenderViewImpl*>(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<RenderViewImpl*>(render_view_); + if (impl) { + impl->RemoveObserver(this); routing_id_ = 0; } - render_view_ = static_cast<RenderViewImpl*>(render_view); - if (render_view_) { - routing_id_ = render_view_->GetRoutingID(); - render_view_->AddObserver(this); + render_view_ = render_view; + impl = static_cast<RenderViewImpl*>(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_; |