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

Side by Side Diff: content/browser/renderer_host/render_view_host_impl.cc

Issue 1411203010: Separate RenderViewHost from RenderWidgetHost, part 4: delegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: oops Created 5 years, 1 month 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/renderer_host/render_view_host_impl.h" 5 #include "content/browser/renderer_host/render_view_host_impl.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 } 181 }
182 182
183 /////////////////////////////////////////////////////////////////////////////// 183 ///////////////////////////////////////////////////////////////////////////////
184 // RenderViewHostImpl, public: 184 // RenderViewHostImpl, public:
185 185
186 // static 186 // static
187 RenderViewHostImpl* RenderViewHostImpl::FromID(int render_process_id, 187 RenderViewHostImpl* RenderViewHostImpl::FromID(int render_process_id,
188 int render_view_id) { 188 int render_view_id) {
189 RenderWidgetHost* widget = 189 RenderWidgetHost* widget =
190 RenderWidgetHost::FromID(render_process_id, render_view_id); 190 RenderWidgetHost::FromID(render_process_id, render_view_id);
191 if (!widget || !widget->IsRenderView()) 191 if (!widget)
192 return NULL; 192 return nullptr;
193 return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(widget)); 193 return From(widget);
194 } 194 }
195 195
196 // static 196 // static
197 RenderViewHostImpl* RenderViewHostImpl::From(RenderWidgetHost* rwh) { 197 RenderViewHostImpl* RenderViewHostImpl::From(RenderWidgetHost* rwh) {
198 DCHECK(rwh->IsRenderView()); 198 DCHECK(rwh);
199 return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(rwh)); 199 RenderWidgetHostOwnerDelegate* owner_delegate =
200 RenderWidgetHostImpl::From(rwh)->owner_delegate();
201 if (!owner_delegate)
202 return nullptr;
203 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(owner_delegate);
204 DCHECK_EQ(rwh, rvh->GetWidget());
205 return rvh;
200 } 206 }
201 207
202 RenderViewHostImpl::RenderViewHostImpl( 208 RenderViewHostImpl::RenderViewHostImpl(
203 SiteInstance* instance, 209 SiteInstance* instance,
204 RenderViewHostDelegate* delegate, 210 RenderViewHostDelegate* delegate,
205 RenderWidgetHostDelegate* widget_delegate, 211 RenderWidgetHostDelegate* widget_delegate,
206 int32 routing_id, 212 int32 routing_id,
207 int32 main_frame_routing_id, 213 int32 main_frame_routing_id,
208 bool swapped_out, 214 bool swapped_out,
209 bool hidden, 215 bool hidden,
(...skipping 17 matching lines...) Expand all
227 sudden_termination_allowed_(false), 233 sudden_termination_allowed_(false),
228 render_view_termination_status_(base::TERMINATION_STATUS_STILL_RUNNING), 234 render_view_termination_status_(base::TERMINATION_STATUS_STILL_RUNNING),
229 virtual_keyboard_requested_(false), 235 virtual_keyboard_requested_(false),
230 is_focused_element_editable_(false), 236 is_focused_element_editable_(false),
231 updating_web_preferences_(false), 237 updating_web_preferences_(false),
232 render_view_ready_on_process_launch_(false), 238 render_view_ready_on_process_launch_(false),
233 weak_factory_(this) { 239 weak_factory_(this) {
234 DCHECK(instance_.get()); 240 DCHECK(instance_.get());
235 CHECK(delegate_); // http://crbug.com/82827 241 CHECK(delegate_); // http://crbug.com/82827
236 242
243 GetWidget()->set_owner_delegate(this);
244
237 GetProcess()->AddObserver(this); 245 GetProcess()->AddObserver(this);
238 GetProcess()->EnableSendQueue(); 246 GetProcess()->EnableSendQueue();
239 247
240 if (ResourceDispatcherHostImpl::Get()) { 248 if (ResourceDispatcherHostImpl::Get()) {
241 bool has_active_audio = false; 249 bool has_active_audio = false;
242 if (has_initialized_audio_host) { 250 if (has_initialized_audio_host) {
243 scoped_refptr<AudioRendererHost> arh = 251 scoped_refptr<AudioRendererHost> arh =
244 static_cast<RenderProcessHostImpl*>(GetProcess()) 252 static_cast<RenderProcessHostImpl*>(GetProcess())
245 ->audio_renderer_host(); 253 ->audio_renderer_host();
246 if (arh.get()) 254 if (arh.get())
(...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 BrowserThread::PostTask( 1005 BrowserThread::PostTask(
998 BrowserThread::IO, FROM_HERE, 1006 BrowserThread::IO, FROM_HERE,
999 base::Bind(&ResourceDispatcherHostImpl::OnRenderViewHostWasShown, 1007 base::Bind(&ResourceDispatcherHostImpl::OnRenderViewHostWasShown,
1000 base::Unretained(ResourceDispatcherHostImpl::Get()), 1008 base::Unretained(ResourceDispatcherHostImpl::Get()),
1001 GetProcess()->GetID(), GetRoutingID())); 1009 GetProcess()->GetID(), GetRoutingID()));
1002 } 1010 }
1003 1011
1004 RenderWidgetHostImpl::WasShown(latency_info); 1012 RenderWidgetHostImpl::WasShown(latency_info);
1005 } 1013 }
1006 1014
1007 bool RenderViewHostImpl::IsRenderView() const {
1008 return true;
1009 }
1010
1011 void RenderViewHostImpl::CreateNewWindow( 1015 void RenderViewHostImpl::CreateNewWindow(
1012 int route_id, 1016 int route_id,
1013 int main_frame_route_id, 1017 int main_frame_route_id,
1014 const ViewHostMsg_CreateWindow_Params& params, 1018 const ViewHostMsg_CreateWindow_Params& params,
1015 SessionStorageNamespace* session_storage_namespace) { 1019 SessionStorageNamespace* session_storage_namespace) {
1016 ViewHostMsg_CreateWindow_Params validated_params(params); 1020 ViewHostMsg_CreateWindow_Params validated_params(params);
1017 GetProcess()->FilterURL(false, &validated_params.target_url); 1021 GetProcess()->FilterURL(false, &validated_params.target_url);
1018 GetProcess()->FilterURL(false, &validated_params.opener_url); 1022 GetProcess()->FilterURL(false, &validated_params.opener_url);
1019 GetProcess()->FilterURL(true, &validated_params.opener_security_origin); 1023 GetProcess()->FilterURL(true, &validated_params.opener_security_origin);
1020 1024
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
1459 } else { 1463 } else {
1460 render_view_ready_on_process_launch_ = true; 1464 render_view_ready_on_process_launch_ = true;
1461 } 1465 }
1462 } 1466 }
1463 1467
1464 void RenderViewHostImpl::RenderViewReady() { 1468 void RenderViewHostImpl::RenderViewReady() {
1465 delegate_->RenderViewReady(this); 1469 delegate_->RenderViewReady(this);
1466 } 1470 }
1467 1471
1468 } // namespace content 1472 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698