OLD | NEW |
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 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 | 308 |
309 ViewMsg_New_Params params; | 309 ViewMsg_New_Params params; |
310 params.renderer_preferences = | 310 params.renderer_preferences = |
311 delegate_->GetRendererPrefs(GetProcess()->GetBrowserContext()); | 311 delegate_->GetRendererPrefs(GetProcess()->GetBrowserContext()); |
312 #if defined(OS_WIN) | 312 #if defined(OS_WIN) |
313 GetWindowsSpecificPrefs(¶ms.renderer_preferences); | 313 GetWindowsSpecificPrefs(¶ms.renderer_preferences); |
314 #endif | 314 #endif |
315 params.web_preferences = GetWebkitPreferences(); | 315 params.web_preferences = GetWebkitPreferences(); |
316 params.view_id = GetRoutingID(); | 316 params.view_id = GetRoutingID(); |
317 params.main_frame_routing_id = main_frame_routing_id_; | 317 params.main_frame_routing_id = main_frame_routing_id_; |
| 318 if (main_frame_routing_id_ != MSG_ROUTING_NONE) { |
| 319 RenderFrameHostImpl* main_rfh = RenderFrameHostImpl::FromID( |
| 320 GetProcess()->GetID(), main_frame_routing_id_); |
| 321 DCHECK(main_rfh); |
| 322 RenderWidgetHostImpl* main_rwh = main_rfh->GetRenderWidgetHost(); |
| 323 params.main_frame_widget_routing_id = main_rwh->GetRoutingID(); |
| 324 } |
318 params.session_storage_namespace_id = | 325 params.session_storage_namespace_id = |
319 delegate_->GetSessionStorageNamespace(instance_.get())->id(); | 326 delegate_->GetSessionStorageNamespace(instance_.get())->id(); |
320 // Ensure the RenderView sets its opener correctly. | 327 // Ensure the RenderView sets its opener correctly. |
321 params.opener_frame_route_id = opener_frame_route_id; | 328 params.opener_frame_route_id = opener_frame_route_id; |
322 params.swapped_out = !is_active_; | 329 params.swapped_out = !is_active_; |
323 params.replicated_frame_state = replicated_frame_state; | 330 params.replicated_frame_state = replicated_frame_state; |
324 params.proxy_routing_id = proxy_route_id; | 331 params.proxy_routing_id = proxy_route_id; |
325 params.hidden = GetWidget()->is_hidden(); | 332 params.hidden = GetWidget()->is_hidden(); |
326 params.never_visible = delegate_->IsNeverVisible(); | 333 params.never_visible = delegate_->IsNeverVisible(); |
327 params.window_was_created_with_opener = window_was_created_with_opener; | 334 params.window_was_created_with_opener = window_was_created_with_opener; |
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1002 } | 1009 } |
1003 | 1010 |
1004 RenderWidgetHostImpl::WasShown(latency_info); | 1011 RenderWidgetHostImpl::WasShown(latency_info); |
1005 } | 1012 } |
1006 | 1013 |
1007 bool RenderViewHostImpl::IsRenderView() const { | 1014 bool RenderViewHostImpl::IsRenderView() const { |
1008 return true; | 1015 return true; |
1009 } | 1016 } |
1010 | 1017 |
1011 void RenderViewHostImpl::CreateNewWindow( | 1018 void RenderViewHostImpl::CreateNewWindow( |
1012 int route_id, | 1019 int32_t route_id, |
1013 int main_frame_route_id, | 1020 int32_t main_frame_route_id, |
| 1021 int32_t main_frame_widget_route_id, |
1014 const ViewHostMsg_CreateWindow_Params& params, | 1022 const ViewHostMsg_CreateWindow_Params& params, |
1015 SessionStorageNamespace* session_storage_namespace) { | 1023 SessionStorageNamespace* session_storage_namespace) { |
1016 ViewHostMsg_CreateWindow_Params validated_params(params); | 1024 ViewHostMsg_CreateWindow_Params validated_params(params); |
1017 GetProcess()->FilterURL(false, &validated_params.target_url); | 1025 GetProcess()->FilterURL(false, &validated_params.target_url); |
1018 GetProcess()->FilterURL(false, &validated_params.opener_url); | 1026 GetProcess()->FilterURL(false, &validated_params.opener_url); |
1019 GetProcess()->FilterURL(true, &validated_params.opener_security_origin); | 1027 GetProcess()->FilterURL(true, &validated_params.opener_security_origin); |
1020 | 1028 |
1021 delegate_->CreateNewWindow(GetSiteInstance(), route_id, main_frame_route_id, | 1029 delegate_->CreateNewWindow(GetSiteInstance(), route_id, main_frame_route_id, |
1022 validated_params, session_storage_namespace); | 1030 main_frame_widget_route_id, validated_params, |
| 1031 session_storage_namespace); |
1023 } | 1032 } |
1024 | 1033 |
1025 void RenderViewHostImpl::CreateNewWidget(int32 route_id, | 1034 void RenderViewHostImpl::CreateNewWidget(int32 route_id, |
1026 blink::WebPopupType popup_type) { | 1035 blink::WebPopupType popup_type) { |
1027 delegate_->CreateNewWidget(GetProcess()->GetID(), route_id, popup_type); | 1036 delegate_->CreateNewWidget(GetProcess()->GetID(), route_id, popup_type); |
1028 } | 1037 } |
1029 | 1038 |
1030 void RenderViewHostImpl::CreateNewFullscreenWidget(int32 route_id) { | 1039 void RenderViewHostImpl::CreateNewFullscreenWidget(int32 route_id) { |
1031 delegate_->CreateNewFullscreenWidget(GetProcess()->GetID(), route_id); | 1040 delegate_->CreateNewFullscreenWidget(GetProcess()->GetID(), route_id); |
1032 } | 1041 } |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1459 } else { | 1468 } else { |
1460 render_view_ready_on_process_launch_ = true; | 1469 render_view_ready_on_process_launch_ = true; |
1461 } | 1470 } |
1462 } | 1471 } |
1463 | 1472 |
1464 void RenderViewHostImpl::RenderViewReady() { | 1473 void RenderViewHostImpl::RenderViewReady() { |
1465 delegate_->RenderViewReady(this); | 1474 delegate_->RenderViewReady(this); |
1466 } | 1475 } |
1467 | 1476 |
1468 } // namespace content | 1477 } // namespace content |
OLD | NEW |