OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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.h" | 5 #include "content/renderer/render_thread.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 19 matching lines...) Expand all Loading... | |
30 #include "content/common/plugin_messages.h" | 30 #include "content/common/plugin_messages.h" |
31 #include "content/common/renderer_preferences.h" | 31 #include "content/common/renderer_preferences.h" |
32 #include "content/common/resource_messages.h" | 32 #include "content/common/resource_messages.h" |
33 #include "content/common/view_messages.h" | 33 #include "content/common/view_messages.h" |
34 #include "content/common/web_database_observer_impl.h" | 34 #include "content/common/web_database_observer_impl.h" |
35 #include "content/plugin/npobject_util.h" | 35 #include "content/plugin/npobject_util.h" |
36 #include "content/renderer/content_renderer_client.h" | 36 #include "content/renderer/content_renderer_client.h" |
37 #include "content/renderer/gpu/gpu_channel_host.h" | 37 #include "content/renderer/gpu/gpu_channel_host.h" |
38 #include "content/renderer/gpu/gpu_video_service_host.h" | 38 #include "content/renderer/gpu/gpu_video_service_host.h" |
39 #include "content/renderer/indexed_db_dispatcher.h" | 39 #include "content/renderer/indexed_db_dispatcher.h" |
40 #include "content/renderer/media/audio_message_filter.h" | |
40 #include "content/renderer/media/video_capture_message_filter.h" | 41 #include "content/renderer/media/video_capture_message_filter.h" |
41 #include "content/renderer/media/video_capture_message_filter_creator.h" | 42 #include "content/renderer/media/video_capture_message_filter_creator.h" |
42 #include "content/renderer/plugin_channel_host.h" | 43 #include "content/renderer/plugin_channel_host.h" |
43 #include "content/renderer/render_process_impl.h" | 44 #include "content/renderer/render_process_impl.h" |
44 #include "content/renderer/render_process_observer.h" | 45 #include "content/renderer/render_process_observer.h" |
45 #include "content/renderer/render_view.h" | 46 #include "content/renderer/render_view.h" |
46 #include "content/renderer/render_view_visitor.h" | 47 #include "content/renderer/render_view_visitor.h" |
47 #include "content/renderer/renderer_webidbfactory_impl.h" | 48 #include "content/renderer/renderer_webidbfactory_impl.h" |
48 #include "content/renderer/renderer_webkitclient_impl.h" | 49 #include "content/renderer/renderer_webkitclient_impl.h" |
49 #include "ipc/ipc_channel_handle.h" | 50 #include "ipc/ipc_channel_handle.h" |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
166 appcache_dispatcher_.reset(new AppCacheDispatcher(this)); | 167 appcache_dispatcher_.reset(new AppCacheDispatcher(this)); |
167 indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); | 168 indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); |
168 | 169 |
169 db_message_filter_ = new DBMessageFilter(); | 170 db_message_filter_ = new DBMessageFilter(); |
170 AddFilter(db_message_filter_.get()); | 171 AddFilter(db_message_filter_.get()); |
171 | 172 |
172 VideoCaptureMessageFilter* video_capture_message_filter = | 173 VideoCaptureMessageFilter* video_capture_message_filter = |
173 VideoCaptureMessageFilterCreator::SharedFilter(); | 174 VideoCaptureMessageFilterCreator::SharedFilter(); |
174 AddFilter(video_capture_message_filter); | 175 AddFilter(video_capture_message_filter); |
175 | 176 |
177 AudioMessageFilter* audio_message_filter = AudioMessageFilter::GetInstance(); | |
178 AddFilter(audio_message_filter); | |
scherkus (not reviewing)
2011/06/17 17:50:10
inline the call to AudioMessageFilter::GetInstance
henrika_dont_use
2011/06/21 16:43:38
Done.
| |
179 | |
176 content::GetContentClient()->renderer()->RenderThreadStarted(); | 180 content::GetContentClient()->renderer()->RenderThreadStarted(); |
177 | 181 |
178 TRACE_EVENT_END_ETW("RenderThread::Init", 0, ""); | 182 TRACE_EVENT_END_ETW("RenderThread::Init", 0, ""); |
179 } | 183 } |
180 | 184 |
181 RenderThread::~RenderThread() { | 185 RenderThread::~RenderThread() { |
182 FOR_EACH_OBSERVER( | 186 FOR_EACH_OBSERVER( |
183 RenderProcessObserver, observers_, OnRenderProcessShutdown()); | 187 RenderProcessObserver, observers_, OnRenderProcessShutdown()); |
184 | 188 |
185 // Wait for all databases to be closed. | 189 // Wait for all databases to be closed. |
186 if (web_database_observer_impl_.get()) | 190 if (web_database_observer_impl_.get()) |
187 web_database_observer_impl_->WaitForAllDatabasesToClose(); | 191 web_database_observer_impl_->WaitForAllDatabasesToClose(); |
188 | 192 |
189 // Shutdown in reverse of the initialization order. | 193 // Shutdown in reverse of the initialization order. |
190 RemoveFilter(db_message_filter_.get()); | 194 RemoveFilter(db_message_filter_.get()); |
191 db_message_filter_ = NULL; | 195 db_message_filter_ = NULL; |
192 | 196 |
193 VideoCaptureMessageFilter* video_capture_message_filter = | 197 VideoCaptureMessageFilter* video_capture_message_filter = |
194 VideoCaptureMessageFilterCreator::SharedFilter(); | 198 VideoCaptureMessageFilterCreator::SharedFilter(); |
195 RemoveFilter(video_capture_message_filter); | 199 RemoveFilter(video_capture_message_filter); |
196 | 200 |
201 AudioMessageFilter* audio_message_filter = AudioMessageFilter::GetInstance(); | |
202 RemoveFilter(audio_message_filter); | |
scherkus (not reviewing)
2011/06/17 17:50:10
ditto?
your call
henrika_dont_use
2011/06/21 16:43:38
Done.
| |
203 | |
197 // Shutdown the file thread if it's running. | 204 // Shutdown the file thread if it's running. |
198 if (file_thread_.get()) | 205 if (file_thread_.get()) |
199 file_thread_->Stop(); | 206 file_thread_->Stop(); |
200 | 207 |
201 if (webkit_client_.get()) | 208 if (webkit_client_.get()) |
202 WebKit::shutdown(); | 209 WebKit::shutdown(); |
203 | 210 |
204 lazy_tls.Pointer()->Set(NULL); | 211 lazy_tls.Pointer()->Set(NULL); |
205 | 212 |
206 // TODO(port) | 213 // TODO(port) |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
426 it != colors.end(); | 433 it != colors.end(); |
427 ++it, ++i) { | 434 ++it, ++i) { |
428 color_names[i] = it->first; | 435 color_names[i] = it->first; |
429 web_colors[i] = it->second; | 436 web_colors[i] = it->second; |
430 } | 437 } |
431 WebKit::setNamedColors(color_names.get(), web_colors.get(), num_colors); | 438 WebKit::setNamedColors(color_names.get(), web_colors.get(), num_colors); |
432 } | 439 } |
433 | 440 |
434 void RenderThread::OnCreateNewView(const ViewMsg_New_Params& params) { | 441 void RenderThread::OnCreateNewView(const ViewMsg_New_Params& params) { |
435 EnsureWebKitInitialized(); | 442 EnsureWebKitInitialized(); |
443 AudioMessageFilter::GetInstance()->SetRoutingID(params.view_id); | |
436 // When bringing in render_view, also bring in webkit's glue and jsbindings. | 444 // When bringing in render_view, also bring in webkit's glue and jsbindings. |
437 RenderView::Create( | 445 RenderView::Create( |
438 this, | 446 this, |
439 params.parent_window, | 447 params.parent_window, |
440 params.compositing_surface, | 448 params.compositing_surface, |
441 MSG_ROUTING_NONE, | 449 MSG_ROUTING_NONE, |
442 params.renderer_preferences, | 450 params.renderer_preferences, |
443 params.web_preferences, | 451 params.web_preferences, |
444 new SharedRenderViewCounter(0), | 452 new SharedRenderViewCounter(0), |
445 params.view_id, | 453 params.view_id, |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
678 | 686 |
679 void RenderThread::RegisterExtension(v8::Extension* extension) { | 687 void RenderThread::RegisterExtension(v8::Extension* extension) { |
680 WebScriptController::registerExtension(extension); | 688 WebScriptController::registerExtension(extension); |
681 v8_extensions_.insert(extension->name()); | 689 v8_extensions_.insert(extension->name()); |
682 } | 690 } |
683 | 691 |
684 bool RenderThread::IsRegisteredExtension( | 692 bool RenderThread::IsRegisteredExtension( |
685 const std::string& v8_extension_name) const { | 693 const std::string& v8_extension_name) const { |
686 return v8_extensions_.find(v8_extension_name) != v8_extensions_.end(); | 694 return v8_extensions_.find(v8_extension_name) != v8_extensions_.end(); |
687 } | 695 } |
OLD | NEW |