Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(985)

Side by Side Diff: content/public/renderer/render_view_observer.cc

Issue 1765623003: ABANDONED CL: Fix delivery of TestFinishedInSecondaryWindow message from OOPIFs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Need to retain some timeout expectations. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/public/renderer/render_view_observer.h" 5 #include "content/public/renderer/render_view_observer.h"
6 6
7 #include "content/renderer/render_view_impl.h" 7 #include "content/renderer/render_view_impl.h"
8 8
9 namespace content { 9 namespace content {
10 10
11 RenderViewObserver::RenderViewObserver(RenderView* render_view) 11 RenderViewObserver::RenderViewObserver(RenderView* render_view)
12 : render_view_(static_cast<RenderViewImpl*>(render_view)), 12 : render_view_(static_cast<RenderViewImpl*>(render_view)) {
13 routing_id_(MSG_ROUTING_NONE) {
14 // |render_view_| can be null on unit testing or if Observe() is used. 13 // |render_view_| can be null on unit testing or if Observe() is used.
15 if (render_view_) { 14 if (render_view_) {
16 routing_id_ = render_view_->GetRoutingID();
17 // TODO(jam): bring this back DCHECK_NE(routing_id_, MSG_ROUTING_NONE);
18 render_view_->AddObserver(this); 15 render_view_->AddObserver(this);
19 } 16 }
20 } 17 }
21 18
22 RenderViewObserver::~RenderViewObserver() { 19 RenderViewObserver::~RenderViewObserver() {
23 if (render_view_) 20 if (render_view_)
24 render_view_->RemoveObserver(this); 21 render_view_->RemoveObserver(this);
25 } 22 }
26 23
27 void RenderViewObserver::OnDestruct() { 24 void RenderViewObserver::OnDestruct() {
28 delete this; 25 delete this;
29 } 26 }
30 27
31 bool RenderViewObserver::OnMessageReceived(const IPC::Message& message) { 28 bool RenderViewObserver::OnMessageReceived(const IPC::Message& message) {
32 return false; 29 return false;
33 } 30 }
34 31
35 bool RenderViewObserver::Send(IPC::Message* message) { 32 bool RenderViewObserver::Send(IPC::Message* message) {
36 if (render_view_) 33 if (render_view_)
37 return render_view_->Send(message); 34 return render_view_->Send(message);
38 35
39 delete message; 36 delete message;
40 return false; 37 return false;
41 } 38 }
42 39
43 RenderView* RenderViewObserver::render_view() const { 40 RenderView* RenderViewObserver::render_view() const {
44 return render_view_; 41 return render_view_;
45 } 42 }
46 43
44 int RenderViewObserver::routing_id() const {
45 return render_view_ ? render_view_->routing_id() : MSG_ROUTING_NONE;
46 }
47
47 void RenderViewObserver::RenderViewGone() { 48 void RenderViewObserver::RenderViewGone() {
48 render_view_ = nullptr; 49 render_view_ = nullptr;
49 } 50 }
50 51
51 void RenderViewObserver::Observe(RenderView* render_view) { 52 void RenderViewObserver::Observe(RenderView* render_view) {
52 if (render_view_) { 53 if (render_view_) {
53 render_view_->RemoveObserver(this); 54 render_view_->RemoveObserver(this);
54 routing_id_ = 0;
55 } 55 }
56 56
57 render_view_ = static_cast<RenderViewImpl*>(render_view); 57 render_view_ = static_cast<RenderViewImpl*>(render_view);
58 if (render_view_) { 58 if (render_view_) {
59 routing_id_ = render_view_->GetRoutingID();
60 render_view_->AddObserver(this); 59 render_view_->AddObserver(this);
61 } 60 }
62 } 61 }
63 62
64 } // namespace content 63 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698