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_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <map> | 9 #include <map> |
10 #include <vector> | 10 #include <vector> |
(...skipping 28 matching lines...) Expand all Loading... |
39 #include "content/common/resource_messages.h" | 39 #include "content/common/resource_messages.h" |
40 #include "content/common/view_messages.h" | 40 #include "content/common/view_messages.h" |
41 #include "content/common/web_database_observer_impl.h" | 41 #include "content/common/web_database_observer_impl.h" |
42 #include "content/public/common/content_paths.h" | 42 #include "content/public/common/content_paths.h" |
43 #include "content/public/common/content_switches.h" | 43 #include "content/public/common/content_switches.h" |
44 #include "content/public/common/renderer_preferences.h" | 44 #include "content/public/common/renderer_preferences.h" |
45 #include "content/public/common/url_constants.h" | 45 #include "content/public/common/url_constants.h" |
46 #include "content/public/renderer/content_renderer_client.h" | 46 #include "content/public/renderer/content_renderer_client.h" |
47 #include "content/public/renderer/render_process_observer.h" | 47 #include "content/public/renderer/render_process_observer.h" |
48 #include "content/public/renderer/render_view_visitor.h" | 48 #include "content/public/renderer/render_view_visitor.h" |
| 49 #include "content/renderer/browser_plugin/browser_plugin_channel_manager.h" |
| 50 #include "content/renderer/browser_plugin/browser_plugin_registry.h" |
49 #include "content/renderer/devtools_agent_filter.h" | 51 #include "content/renderer/devtools_agent_filter.h" |
50 #include "content/renderer/dom_storage/dom_storage_dispatcher.h" | 52 #include "content/renderer/dom_storage/dom_storage_dispatcher.h" |
51 #include "content/renderer/dom_storage/webstoragearea_impl.h" | 53 #include "content/renderer/dom_storage/webstoragearea_impl.h" |
52 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" | 54 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" |
53 #include "content/renderer/gpu/compositor_thread.h" | 55 #include "content/renderer/gpu/compositor_thread.h" |
54 #include "content/renderer/media/audio_input_message_filter.h" | 56 #include "content/renderer/media/audio_input_message_filter.h" |
55 #include "content/renderer/media/audio_message_filter.h" | 57 #include "content/renderer/media/audio_message_filter.h" |
56 #include "content/renderer/media/media_stream_center.h" | 58 #include "content/renderer/media/media_stream_center.h" |
57 #include "content/renderer/media/video_capture_impl_manager.h" | 59 #include "content/renderer/media/video_capture_impl_manager.h" |
58 #include "content/renderer/media/video_capture_message_filter.h" | 60 #include "content/renderer/media/video_capture_message_filter.h" |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 widget_count_ = 0; | 207 widget_count_ = 0; |
206 hidden_widget_count_ = 0; | 208 hidden_widget_count_ = 0; |
207 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; | 209 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; |
208 idle_notifications_to_skip_ = 0; | 210 idle_notifications_to_skip_ = 0; |
209 compositor_initialized_ = false; | 211 compositor_initialized_ = false; |
210 | 212 |
211 appcache_dispatcher_.reset(new AppCacheDispatcher(Get())); | 213 appcache_dispatcher_.reset(new AppCacheDispatcher(Get())); |
212 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 214 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
213 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); | 215 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); |
214 | 216 |
| 217 browser_plugin_registry_.reset(new content::BrowserPluginRegistry()); |
| 218 browser_plugin_channel_manager_.reset( |
| 219 new content::BrowserPluginChannelManager()); |
| 220 AddObserver(browser_plugin_channel_manager_.get()); |
| 221 |
215 media_stream_center_ = NULL; | 222 media_stream_center_ = NULL; |
216 | 223 |
217 db_message_filter_ = new DBMessageFilter(); | 224 db_message_filter_ = new DBMessageFilter(); |
218 AddFilter(db_message_filter_.get()); | 225 AddFilter(db_message_filter_.get()); |
219 | 226 |
220 vc_manager_ = new VideoCaptureImplManager(); | 227 vc_manager_ = new VideoCaptureImplManager(); |
221 AddFilter(vc_manager_->video_capture_message_filter()); | 228 AddFilter(vc_manager_->video_capture_message_filter()); |
222 | 229 |
223 audio_input_message_filter_ = new AudioInputMessageFilter(); | 230 audio_input_message_filter_ = new AudioInputMessageFilter(); |
224 AddFilter(audio_input_message_filter_.get()); | 231 AddFilter(audio_input_message_filter_.get()); |
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 ++it, ++i) { | 861 ++it, ++i) { |
855 color_names[i] = it->first; | 862 color_names[i] = it->first; |
856 web_colors[i] = it->second; | 863 web_colors[i] = it->second; |
857 } | 864 } |
858 WebKit::setNamedColors(color_names.get(), web_colors.get(), num_colors); | 865 WebKit::setNamedColors(color_names.get(), web_colors.get(), num_colors); |
859 } | 866 } |
860 | 867 |
861 void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) { | 868 void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) { |
862 EnsureWebKitInitialized(); | 869 EnsureWebKitInitialized(); |
863 // When bringing in render_view, also bring in webkit's glue and jsbindings. | 870 // When bringing in render_view, also bring in webkit's glue and jsbindings. |
864 RenderViewImpl::Create( | 871 if (!params.embedder_channel_name.empty()) { |
865 params.parent_window, | 872 browser_plugin_channel_manager()->CreateRenderView(params); |
866 params.opener_route_id, | 873 } else { |
867 params.renderer_preferences, | 874 RenderViewImpl::Create( |
868 params.web_preferences, | 875 params.parent_window, |
869 new SharedRenderViewCounter(0), | 876 params.opener_route_id, |
870 params.view_id, | 877 params.renderer_preferences, |
871 params.surface_id, | 878 params.web_preferences, |
872 params.session_storage_namespace_id, | 879 new SharedRenderViewCounter(0), |
873 params.frame_name, | 880 params.view_id, |
874 false, | 881 params.surface_id, |
875 params.swapped_out, | 882 params.session_storage_namespace_id, |
876 params.next_page_id, | 883 params.frame_name, |
877 params.screen_info, | 884 false, |
878 false, | 885 params.swapped_out, |
879 params.accessibility_mode); | 886 params.next_page_id, |
| 887 params.screen_info, |
| 888 NULL, |
| 889 params.accessibility_mode); |
| 890 } |
880 } | 891 } |
881 | 892 |
882 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( | 893 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( |
883 content::CauseForGpuLaunch cause_for_gpu_launch) { | 894 content::CauseForGpuLaunch cause_for_gpu_launch) { |
884 if (gpu_channel_.get()) { | 895 if (gpu_channel_.get()) { |
885 // Do nothing if we already have a GPU channel or are already | 896 // Do nothing if we already have a GPU channel or are already |
886 // establishing one. | 897 // establishing one. |
887 if (gpu_channel_->state() == GpuChannelHost::kUnconnected || | 898 if (gpu_channel_->state() == GpuChannelHost::kUnconnected || |
888 gpu_channel_->state() == GpuChannelHost::kConnected) | 899 gpu_channel_->state() == GpuChannelHost::kConnected) |
889 return GetGpuChannel(); | 900 return GetGpuChannel(); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
967 | 978 |
968 scoped_refptr<base::MessageLoopProxy> | 979 scoped_refptr<base::MessageLoopProxy> |
969 RenderThreadImpl::GetFileThreadMessageLoopProxy() { | 980 RenderThreadImpl::GetFileThreadMessageLoopProxy() { |
970 DCHECK(message_loop() == MessageLoop::current()); | 981 DCHECK(message_loop() == MessageLoop::current()); |
971 if (!file_thread_.get()) { | 982 if (!file_thread_.get()) { |
972 file_thread_.reset(new base::Thread("Renderer::FILE")); | 983 file_thread_.reset(new base::Thread("Renderer::FILE")); |
973 file_thread_->Start(); | 984 file_thread_->Start(); |
974 } | 985 } |
975 return file_thread_->message_loop_proxy(); | 986 return file_thread_->message_loop_proxy(); |
976 } | 987 } |
OLD | NEW |