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/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 #include "content/renderer/load_progress_tracker.h" | 89 #include "content/renderer/load_progress_tracker.h" |
90 #include "content/renderer/media/audio_device_factory.h" | 90 #include "content/renderer/media/audio_device_factory.h" |
91 #include "content/renderer/media/media_stream_dispatcher.h" | 91 #include "content/renderer/media/media_stream_dispatcher.h" |
92 #include "content/renderer/media/midi_dispatcher.h" | 92 #include "content/renderer/media/midi_dispatcher.h" |
93 #include "content/renderer/media/video_capture_impl_manager.h" | 93 #include "content/renderer/media/video_capture_impl_manager.h" |
94 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" | 94 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" |
95 #include "content/renderer/memory_benchmarking_extension.h" | 95 #include "content/renderer/memory_benchmarking_extension.h" |
96 #include "content/renderer/mhtml_generator.h" | 96 #include "content/renderer/mhtml_generator.h" |
97 #include "content/renderer/push_messaging_dispatcher.h" | 97 #include "content/renderer/push_messaging_dispatcher.h" |
98 #include "content/renderer/render_frame_impl.h" | 98 #include "content/renderer/render_frame_impl.h" |
| 99 #include "content/renderer/render_frame_proxy.h" |
99 #include "content/renderer/render_process.h" | 100 #include "content/renderer/render_process.h" |
100 #include "content/renderer/render_thread_impl.h" | 101 #include "content/renderer/render_thread_impl.h" |
101 #include "content/renderer/render_view_impl_params.h" | 102 #include "content/renderer/render_view_impl_params.h" |
102 #include "content/renderer/render_view_mouse_lock_dispatcher.h" | 103 #include "content/renderer/render_view_mouse_lock_dispatcher.h" |
103 #include "content/renderer/render_widget_fullscreen_pepper.h" | 104 #include "content/renderer/render_widget_fullscreen_pepper.h" |
104 #include "content/renderer/renderer_webapplicationcachehost_impl.h" | 105 #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
105 #include "content/renderer/resizing_mode_selector.h" | 106 #include "content/renderer/resizing_mode_selector.h" |
106 #include "content/renderer/savable_resources.h" | 107 #include "content/renderer/savable_resources.h" |
107 #include "content/renderer/skia_benchmarking_extension.h" | 108 #include "content/renderer/skia_benchmarking_extension.h" |
108 #include "content/renderer/speech_recognition_dispatcher.h" | 109 #include "content/renderer/speech_recognition_dispatcher.h" |
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 // Ensure we start with a valid next_page_id_ from the browser. | 687 // Ensure we start with a valid next_page_id_ from the browser. |
687 DCHECK_GE(next_page_id_, 0); | 688 DCHECK_GE(next_page_id_, 0); |
688 | 689 |
689 RenderFrameImpl* main_render_frame = RenderFrameImpl::Create( | 690 RenderFrameImpl* main_render_frame = RenderFrameImpl::Create( |
690 this, params->main_frame_routing_id); | 691 this, params->main_frame_routing_id); |
691 // The main frame WebLocalFrame object is closed by | 692 // The main frame WebLocalFrame object is closed by |
692 // RenderFrameImpl::frameDetached(). | 693 // RenderFrameImpl::frameDetached(). |
693 WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame); | 694 WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame); |
694 main_render_frame->SetWebFrame(web_frame); | 695 main_render_frame->SetWebFrame(web_frame); |
695 | 696 |
| 697 if (params->proxy_routing_id != MSG_ROUTING_NONE) { |
| 698 CHECK(params->swapped_out); |
| 699 RenderFrameProxy* proxy = |
| 700 RenderFrameProxy::CreateFrameProxy(params->proxy_routing_id, |
| 701 params->main_frame_routing_id); |
| 702 main_render_frame->set_render_frame_proxy(proxy); |
| 703 } |
| 704 |
696 webwidget_ = WebView::create(this); | 705 webwidget_ = WebView::create(this); |
697 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); | 706 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); |
698 | 707 |
699 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 708 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
700 | 709 |
701 if (command_line.HasSwitch(switches::kStatsCollectionController)) | 710 if (command_line.HasSwitch(switches::kStatsCollectionController)) |
702 stats_collection_observer_.reset(new StatsCollectionObserver(this)); | 711 stats_collection_observer_.reset(new StatsCollectionObserver(this)); |
703 | 712 |
704 #if defined(OS_ANDROID) | 713 #if defined(OS_ANDROID) |
705 const std::string region_code = | 714 const std::string region_code = |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
901 bool window_was_created_with_opener, | 910 bool window_was_created_with_opener, |
902 const RendererPreferences& renderer_prefs, | 911 const RendererPreferences& renderer_prefs, |
903 const WebPreferences& webkit_prefs, | 912 const WebPreferences& webkit_prefs, |
904 int32 routing_id, | 913 int32 routing_id, |
905 int32 main_frame_routing_id, | 914 int32 main_frame_routing_id, |
906 int32 surface_id, | 915 int32 surface_id, |
907 int64 session_storage_namespace_id, | 916 int64 session_storage_namespace_id, |
908 const base::string16& frame_name, | 917 const base::string16& frame_name, |
909 bool is_renderer_created, | 918 bool is_renderer_created, |
910 bool swapped_out, | 919 bool swapped_out, |
| 920 int32 proxy_routing_id, |
911 bool hidden, | 921 bool hidden, |
912 bool never_visible, | 922 bool never_visible, |
913 int32 next_page_id, | 923 int32 next_page_id, |
914 const blink::WebScreenInfo& screen_info, | 924 const blink::WebScreenInfo& screen_info, |
915 AccessibilityMode accessibility_mode) { | 925 AccessibilityMode accessibility_mode) { |
916 DCHECK(routing_id != MSG_ROUTING_NONE); | 926 DCHECK(routing_id != MSG_ROUTING_NONE); |
917 RenderViewImplParams params(opener_id, | 927 RenderViewImplParams params(opener_id, |
918 window_was_created_with_opener, | 928 window_was_created_with_opener, |
919 renderer_prefs, | 929 renderer_prefs, |
920 webkit_prefs, | 930 webkit_prefs, |
921 routing_id, | 931 routing_id, |
922 main_frame_routing_id, | 932 main_frame_routing_id, |
923 surface_id, | 933 surface_id, |
924 session_storage_namespace_id, | 934 session_storage_namespace_id, |
925 frame_name, | 935 frame_name, |
926 is_renderer_created, | 936 is_renderer_created, |
927 swapped_out, | 937 swapped_out, |
| 938 proxy_routing_id, |
928 hidden, | 939 hidden, |
929 never_visible, | 940 never_visible, |
930 next_page_id, | 941 next_page_id, |
931 screen_info, | 942 screen_info, |
932 accessibility_mode); | 943 accessibility_mode); |
933 RenderViewImpl* render_view = NULL; | 944 RenderViewImpl* render_view = NULL; |
934 if (g_create_render_view_impl) | 945 if (g_create_render_view_impl) |
935 render_view = g_create_render_view_impl(¶ms); | 946 render_view = g_create_render_view_impl(¶ms); |
936 else | 947 else |
937 render_view = new RenderViewImpl(¶ms); | 948 render_view = new RenderViewImpl(¶ms); |
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1457 true, // window_was_created_with_opener | 1468 true, // window_was_created_with_opener |
1458 renderer_preferences_, | 1469 renderer_preferences_, |
1459 webkit_preferences_, | 1470 webkit_preferences_, |
1460 routing_id, | 1471 routing_id, |
1461 main_frame_routing_id, | 1472 main_frame_routing_id, |
1462 surface_id, | 1473 surface_id, |
1463 cloned_session_storage_namespace_id, | 1474 cloned_session_storage_namespace_id, |
1464 base::string16(), // WebCore will take care of setting the correct name. | 1475 base::string16(), // WebCore will take care of setting the correct name. |
1465 true, // is_renderer_created | 1476 true, // is_renderer_created |
1466 false, // swapped_out | 1477 false, // swapped_out |
| 1478 MSG_ROUTING_NONE, // proxy_routing_id |
1467 params.disposition == NEW_BACKGROUND_TAB, // hidden | 1479 params.disposition == NEW_BACKGROUND_TAB, // hidden |
1468 never_visible, | 1480 never_visible, |
1469 1, // next_page_id | 1481 1, // next_page_id |
1470 screen_info_, | 1482 screen_info_, |
1471 accessibility_mode_); | 1483 accessibility_mode_); |
1472 view->opened_by_user_gesture_ = params.user_gesture; | 1484 view->opened_by_user_gesture_ = params.user_gesture; |
1473 | 1485 |
1474 // Record whether the creator frame is trying to suppress the opener field. | 1486 // Record whether the creator frame is trying to suppress the opener field. |
1475 view->opener_suppressed_ = params.opener_suppressed; | 1487 view->opener_suppressed_ = params.opener_suppressed; |
1476 | 1488 |
(...skipping 2616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4093 std::vector<gfx::Size> sizes; | 4105 std::vector<gfx::Size> sizes; |
4094 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); | 4106 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); |
4095 if (!url.isEmpty()) | 4107 if (!url.isEmpty()) |
4096 urls.push_back( | 4108 urls.push_back( |
4097 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); | 4109 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); |
4098 } | 4110 } |
4099 SendUpdateFaviconURL(urls); | 4111 SendUpdateFaviconURL(urls); |
4100 } | 4112 } |
4101 | 4113 |
4102 } // namespace content | 4114 } // namespace content |
OLD | NEW |