| 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_impl_manager.h" | 41 #include "content/renderer/media/video_capture_impl_manager.h" |
| 41 #include "content/renderer/media/video_capture_message_filter.h" | 42 #include "content/renderer/media/video_capture_message_filter.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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 | 168 |
| 168 appcache_dispatcher_.reset(new AppCacheDispatcher(this)); | 169 appcache_dispatcher_.reset(new AppCacheDispatcher(this)); |
| 169 indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); | 170 indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); |
| 170 | 171 |
| 171 db_message_filter_ = new DBMessageFilter(); | 172 db_message_filter_ = new DBMessageFilter(); |
| 172 AddFilter(db_message_filter_.get()); | 173 AddFilter(db_message_filter_.get()); |
| 173 | 174 |
| 174 vc_manager_ = new VideoCaptureImplManager(); | 175 vc_manager_ = new VideoCaptureImplManager(); |
| 175 AddFilter(vc_manager_->video_capture_message_filter()); | 176 AddFilter(vc_manager_->video_capture_message_filter()); |
| 176 | 177 |
| 178 audio_message_filter_ = new AudioMessageFilter(); |
| 179 AddFilter(audio_message_filter_.get()); |
| 180 |
| 177 content::GetContentClient()->renderer()->RenderThreadStarted(); | 181 content::GetContentClient()->renderer()->RenderThreadStarted(); |
| 178 | 182 |
| 179 TRACE_EVENT_END_ETW("RenderThread::Init", 0, ""); | 183 TRACE_EVENT_END_ETW("RenderThread::Init", 0, ""); |
| 180 } | 184 } |
| 181 | 185 |
| 182 RenderThread::~RenderThread() { | 186 RenderThread::~RenderThread() { |
| 183 FOR_EACH_OBSERVER( | 187 FOR_EACH_OBSERVER( |
| 184 RenderProcessObserver, observers_, OnRenderProcessShutdown()); | 188 RenderProcessObserver, observers_, OnRenderProcessShutdown()); |
| 185 | 189 |
| 186 // Wait for all databases to be closed. | 190 // Wait for all databases to be closed. |
| 187 if (web_database_observer_impl_.get()) | 191 if (web_database_observer_impl_.get()) |
| 188 web_database_observer_impl_->WaitForAllDatabasesToClose(); | 192 web_database_observer_impl_->WaitForAllDatabasesToClose(); |
| 189 | 193 |
| 190 // Shutdown in reverse of the initialization order. | 194 // Shutdown in reverse of the initialization order. |
| 195 RemoveFilter(audio_message_filter_.get()); |
| 196 audio_message_filter_ = NULL; |
| 197 |
| 191 RemoveFilter(vc_manager_->video_capture_message_filter()); | 198 RemoveFilter(vc_manager_->video_capture_message_filter()); |
| 192 | 199 |
| 193 RemoveFilter(db_message_filter_.get()); | 200 RemoveFilter(db_message_filter_.get()); |
| 194 db_message_filter_ = NULL; | 201 db_message_filter_ = NULL; |
| 195 | 202 |
| 196 // Shutdown the file thread if it's running. | 203 // Shutdown the file thread if it's running. |
| 197 if (file_thread_.get()) | 204 if (file_thread_.get()) |
| 198 file_thread_->Stop(); | 205 file_thread_->Stop(); |
| 199 | 206 |
| 200 if (webkit_client_.get()) | 207 if (webkit_client_.get()) |
| (...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 WebRuntimeFeatures::enableSessionStorage( | 594 WebRuntimeFeatures::enableSessionStorage( |
| 588 !command_line.HasSwitch(switches::kDisableSessionStorage)); | 595 !command_line.HasSwitch(switches::kDisableSessionStorage)); |
| 589 | 596 |
| 590 WebRuntimeFeatures::enableIndexedDatabase( | 597 WebRuntimeFeatures::enableIndexedDatabase( |
| 591 !command_line.HasSwitch(switches::kDisableIndexedDatabase)); | 598 !command_line.HasSwitch(switches::kDisableIndexedDatabase)); |
| 592 | 599 |
| 593 WebRuntimeFeatures::enableGeolocation( | 600 WebRuntimeFeatures::enableGeolocation( |
| 594 !command_line.HasSwitch(switches::kDisableGeolocation)); | 601 !command_line.HasSwitch(switches::kDisableGeolocation)); |
| 595 | 602 |
| 596 WebKit::WebRuntimeFeatures::enableMediaStream( | 603 WebKit::WebRuntimeFeatures::enableMediaStream( |
| 597 command_line.HasSwitch(switches::kEnableMediaStream)); | 604 command_line.HasSwitch(switches::kEnableMediaStream)); |
| 598 | 605 |
| 599 #if defined(OS_CHROMEOS) | 606 #if defined(OS_CHROMEOS) |
| 600 // TODO(crogers): enable once Web Audio has been tested and optimized. | 607 // TODO(crogers): enable once Web Audio has been tested and optimized. |
| 601 WebRuntimeFeatures::enableWebAudio(false); | 608 WebRuntimeFeatures::enableWebAudio(false); |
| 602 #else | 609 #else |
| 603 WebRuntimeFeatures::enableWebAudio( | 610 WebRuntimeFeatures::enableWebAudio( |
| 604 !command_line.HasSwitch(switches::kDisableWebAudio)); | 611 !command_line.HasSwitch(switches::kDisableWebAudio)); |
| 605 #endif | 612 #endif |
| 606 | 613 |
| 607 WebRuntimeFeatures::enablePushState(true); | 614 WebRuntimeFeatures::enablePushState(true); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 684 | 691 |
| 685 void RenderThread::RegisterExtension(v8::Extension* extension) { | 692 void RenderThread::RegisterExtension(v8::Extension* extension) { |
| 686 WebScriptController::registerExtension(extension); | 693 WebScriptController::registerExtension(extension); |
| 687 v8_extensions_.insert(extension->name()); | 694 v8_extensions_.insert(extension->name()); |
| 688 } | 695 } |
| 689 | 696 |
| 690 bool RenderThread::IsRegisteredExtension( | 697 bool RenderThread::IsRegisteredExtension( |
| 691 const std::string& v8_extension_name) const { | 698 const std::string& v8_extension_name) const { |
| 692 return v8_extensions_.find(v8_extension_name) != v8_extensions_.end(); | 699 return v8_extensions_.find(v8_extension_name) != v8_extensions_.end(); |
| 693 } | 700 } |
| OLD | NEW |