summaryrefslogtreecommitdiffstats
path: root/content/public/renderer
diff options
context:
space:
mode:
authoravi <avi@chromium.org>2016-02-29 13:18:52 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-29 21:21:36 +0000
commit42e463ac3a6f667821a8bed78ba0eafde79a7bfc (patch)
treea1d7165bdf907ff938c2215855847b544f8d582c /content/public/renderer
parent729443ae3d5d7b392cf77d521a09d4f9ac142d69 (diff)
downloadchromium_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.h4
-rw-r--r--content/public/renderer/render_view_observer.cc35
-rw-r--r--content/public/renderer/render_view_observer.h2
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_;