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 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
862 ++it, ++i) { | 869 ++it, ++i) { |
863 color_names[i] = it->first; | 870 color_names[i] = it->first; |
864 web_colors[i] = it->second; | 871 web_colors[i] = it->second; |
865 } | 872 } |
866 WebKit::setNamedColors(color_names.get(), web_colors.get(), num_colors); | 873 WebKit::setNamedColors(color_names.get(), web_colors.get(), num_colors); |
867 } | 874 } |
868 | 875 |
869 void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) { | 876 void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) { |
870 EnsureWebKitInitialized(); | 877 EnsureWebKitInitialized(); |
871 // When bringing in render_view, also bring in webkit's glue and jsbindings. | 878 // When bringing in render_view, also bring in webkit's glue and jsbindings. |
872 RenderViewImpl::Create( | 879 if (!params.embedder_channel_name.empty()) { |
873 params.parent_window, | 880 browser_plugin_channel_manager()->CreateRenderView(params); |
874 params.opener_route_id, | 881 } else { |
875 params.renderer_preferences, | 882 RenderViewImpl::Create( |
876 params.web_preferences, | 883 params.parent_window, |
877 new SharedRenderViewCounter(0), | 884 params.opener_route_id, |
878 params.view_id, | 885 params.renderer_preferences, |
879 params.surface_id, | 886 params.web_preferences, |
880 params.session_storage_namespace_id, | 887 new SharedRenderViewCounter(0), |
881 params.frame_name, | 888 params.view_id, |
882 false, | 889 params.surface_id, |
883 params.swapped_out, | 890 params.session_storage_namespace_id, |
884 params.next_page_id, | 891 params.frame_name, |
885 params.screen_info, | 892 false, |
886 false, | 893 params.swapped_out, |
887 params.accessibility_mode); | 894 params.next_page_id, |
| 895 params.screen_info, |
| 896 NULL, |
| 897 params.accessibility_mode); |
| 898 } |
888 } | 899 } |
889 | 900 |
890 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( | 901 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( |
891 content::CauseForGpuLaunch cause_for_gpu_launch) { | 902 content::CauseForGpuLaunch cause_for_gpu_launch) { |
892 TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); | 903 TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); |
893 | 904 |
894 if (gpu_channel_.get()) { | 905 if (gpu_channel_.get()) { |
895 // Do nothing if we already have a GPU channel or are already | 906 // Do nothing if we already have a GPU channel or are already |
896 // establishing one. | 907 // establishing one. |
897 if (gpu_channel_->state() == GpuChannelHost::kUnconnected || | 908 if (gpu_channel_->state() == GpuChannelHost::kUnconnected || |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
973 | 984 |
974 scoped_refptr<base::MessageLoopProxy> | 985 scoped_refptr<base::MessageLoopProxy> |
975 RenderThreadImpl::GetFileThreadMessageLoopProxy() { | 986 RenderThreadImpl::GetFileThreadMessageLoopProxy() { |
976 DCHECK(message_loop() == MessageLoop::current()); | 987 DCHECK(message_loop() == MessageLoop::current()); |
977 if (!file_thread_.get()) { | 988 if (!file_thread_.get()) { |
978 file_thread_.reset(new base::Thread("Renderer::FILE")); | 989 file_thread_.reset(new base::Thread("Renderer::FILE")); |
979 file_thread_->Start(); | 990 file_thread_->Start(); |
980 } | 991 } |
981 return file_thread_->message_loop_proxy(); | 992 return file_thread_->message_loop_proxy(); |
982 } | 993 } |
OLD | NEW |