diff options
author | avi <avi@chromium.org> | 2016-02-29 13:18:52 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-29 21:21:36 +0000 |
commit | 42e463ac3a6f667821a8bed78ba0eafde79a7bfc (patch) | |
tree | a1d7165bdf907ff938c2215855847b544f8d582c /content/public/renderer | |
parent | 729443ae3d5d7b392cf77d521a09d4f9ac142d69 (diff) | |
download | chromium_src-42e463ac3a6f667821a8bed78ba0eafde79a7bfc.zip chromium_src-42e463ac3a6f667821a8bed78ba0eafde79a7bfc.tar.gz chromium_src-42e463ac3a6f667821a8bed78ba0eafde79a7bfc.tar.bz2 |
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
Review URL: https://codereview.chromium.org/1674543004
Cr-Commit-Position: refs/heads/master@{#378276}
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, 19 insertions, 22 deletions
diff --git a/content/public/renderer/render_view.h b/content/public/renderer/render_view.h index f913f64..2a7f85a 100644 --- a/content/public/renderer/render_view.h +++ b/content/public/renderer/render_view.h @@ -39,6 +39,7 @@ class Size; namespace content { class RenderFrame; +class RenderWidget; class RenderViewVisitor; struct SSLStatus; struct WebPreferences; @@ -67,6 +68,9 @@ 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 8289da9..5e876cc 100644 --- a/content/public/renderer/render_view_observer.cc +++ b/content/public/renderer/render_view_observer.cc @@ -6,27 +6,22 @@ #include "content/renderer/render_view_impl.h" -using blink::WebFrame; - namespace content { RenderViewObserver::RenderViewObserver(RenderView* render_view) - : render_view_(render_view), + : render_view_(static_cast<RenderViewImpl*>(render_view)), routing_id_(MSG_ROUTING_NONE) { - // |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(); + // |render_view_| can be null on unit testing or if Observe() is used. + if (render_view_) { + routing_id_ = render_view_->GetRoutingID(); // TODO(jam): bring this back DCHECK_NE(routing_id_, MSG_ROUTING_NONE); - impl->AddObserver(this); + render_view_->AddObserver(this); } } RenderViewObserver::~RenderViewObserver() { - if (render_view_) { - RenderViewImpl* impl = static_cast<RenderViewImpl*>(render_view_); - impl->RemoveObserver(this); - } + if (render_view_) + render_view_->RemoveObserver(this); } void RenderViewObserver::OnDestruct() { @@ -50,21 +45,19 @@ RenderView* RenderViewObserver::render_view() const { } void RenderViewObserver::RenderViewGone() { - render_view_ = NULL; + render_view_ = nullptr; } void RenderViewObserver::Observe(RenderView* render_view) { - RenderViewImpl* impl = static_cast<RenderViewImpl*>(render_view_); - if (impl) { - impl->RemoveObserver(this); + if (render_view_) { + render_view_->RemoveObserver(this); routing_id_ = 0; } - render_view_ = render_view; - impl = static_cast<RenderViewImpl*>(render_view_); - if (impl) { - routing_id_ = impl->routing_id(); - impl->AddObserver(this); + render_view_ = static_cast<RenderViewImpl*>(render_view); + if (render_view_) { + routing_id_ = render_view_->GetRoutingID(); + render_view_->AddObserver(this); } } diff --git a/content/public/renderer/render_view_observer.h b/content/public/renderer/render_view_observer.h index 5eeb45b..a245e63 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(); - RenderView* render_view_; + RenderViewImpl* render_view_; // The routing ID of the associated RenderView. int routing_id_; |