| 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_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 25 matching lines...) Expand all Loading... |
| 36 #include "content/common/web_database_observer_impl.h" | 36 #include "content/common/web_database_observer_impl.h" |
| 37 #include "content/public/common/content_switches.h" | 37 #include "content/public/common/content_switches.h" |
| 38 #include "content/public/common/renderer_preferences.h" | 38 #include "content/public/common/renderer_preferences.h" |
| 39 #include "content/public/renderer/content_renderer_client.h" | 39 #include "content/public/renderer/content_renderer_client.h" |
| 40 #include "content/public/renderer/render_process_observer.h" | 40 #include "content/public/renderer/render_process_observer.h" |
| 41 #include "content/public/renderer/render_view_visitor.h" | 41 #include "content/public/renderer/render_view_visitor.h" |
| 42 #include "content/renderer/devtools_agent_filter.h" | 42 #include "content/renderer/devtools_agent_filter.h" |
| 43 #include "content/renderer/gpu/compositor_thread.h" | 43 #include "content/renderer/gpu/compositor_thread.h" |
| 44 #include "content/renderer/gpu/gpu_channel_host.h" | 44 #include "content/renderer/gpu/gpu_channel_host.h" |
| 45 #include "content/renderer/indexed_db_dispatcher.h" | 45 #include "content/renderer/indexed_db_dispatcher.h" |
| 46 #include "content/renderer/indexed_db_message_filter.h" |
| 46 #include "content/renderer/media/audio_input_message_filter.h" | 47 #include "content/renderer/media/audio_input_message_filter.h" |
| 47 #include "content/renderer/media/audio_message_filter.h" | 48 #include "content/renderer/media/audio_message_filter.h" |
| 48 #include "content/renderer/media/video_capture_impl_manager.h" | 49 #include "content/renderer/media/video_capture_impl_manager.h" |
| 49 #include "content/renderer/media/video_capture_message_filter.h" | 50 #include "content/renderer/media/video_capture_message_filter.h" |
| 50 #include "content/renderer/plugin_channel_host.h" | 51 #include "content/renderer/plugin_channel_host.h" |
| 51 #include "content/renderer/render_process_impl.h" | 52 #include "content/renderer/render_process_impl.h" |
| 52 #include "content/renderer/render_view_impl.h" | 53 #include "content/renderer/render_view_impl.h" |
| 53 #include "content/renderer/renderer_webidbfactory_impl.h" | 54 #include "content/renderer/renderer_webidbfactory_impl.h" |
| 54 #include "content/renderer/renderer_webkitplatformsupport_impl.h" | 55 #include "content/renderer/renderer_webkitplatformsupport_impl.h" |
| 55 #include "ipc/ipc_channel_handle.h" | 56 #include "ipc/ipc_channel_handle.h" |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 notify_webkit_of_modal_loop_ = true; | 192 notify_webkit_of_modal_loop_ = true; |
| 192 plugin_refresh_allowed_ = true; | 193 plugin_refresh_allowed_ = true; |
| 193 widget_count_ = 0; | 194 widget_count_ = 0; |
| 194 hidden_widget_count_ = 0; | 195 hidden_widget_count_ = 0; |
| 195 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; | 196 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; |
| 196 idle_notifications_to_skip_ = 0; | 197 idle_notifications_to_skip_ = 0; |
| 197 compositor_initialized_ = false; | 198 compositor_initialized_ = false; |
| 198 task_factory_.reset(new ScopedRunnableMethodFactory<RenderThreadImpl>(this)); | 199 task_factory_.reset(new ScopedRunnableMethodFactory<RenderThreadImpl>(this)); |
| 199 | 200 |
| 200 appcache_dispatcher_.reset(new AppCacheDispatcher(Get())); | 201 appcache_dispatcher_.reset(new AppCacheDispatcher(Get())); |
| 201 indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); | 202 main_thread_indexed_db_dispatcher_.reset( |
| 203 IndexedDBDispatcher::ThreadSpecificInstance()); |
| 202 | 204 |
| 203 db_message_filter_ = new DBMessageFilter(); | 205 db_message_filter_ = new DBMessageFilter(); |
| 204 AddFilter(db_message_filter_.get()); | 206 AddFilter(db_message_filter_.get()); |
| 205 | 207 |
| 206 vc_manager_ = new VideoCaptureImplManager(); | 208 vc_manager_ = new VideoCaptureImplManager(); |
| 207 AddFilter(vc_manager_->video_capture_message_filter()); | 209 AddFilter(vc_manager_->video_capture_message_filter()); |
| 208 | 210 |
| 209 audio_input_message_filter_ = new AudioInputMessageFilter(); | 211 audio_input_message_filter_ = new AudioInputMessageFilter(); |
| 210 AddFilter(audio_input_message_filter_.get()); | 212 AddFilter(audio_input_message_filter_.get()); |
| 211 | 213 |
| 212 audio_message_filter_ = new AudioMessageFilter(); | 214 audio_message_filter_ = new AudioMessageFilter(); |
| 213 AddFilter(audio_message_filter_.get()); | 215 AddFilter(audio_message_filter_.get()); |
| 214 | 216 |
| 215 devtools_agent_message_filter_ = new DevToolsAgentFilter(); | 217 devtools_agent_message_filter_ = new DevToolsAgentFilter(); |
| 216 AddFilter(devtools_agent_message_filter_.get()); | 218 AddFilter(devtools_agent_message_filter_.get()); |
| 217 | 219 |
| 220 AddFilter(new IndexedDBMessageFilter); |
| 221 |
| 218 content::GetContentClient()->renderer()->RenderThreadStarted(); | 222 content::GetContentClient()->renderer()->RenderThreadStarted(); |
| 219 | 223 |
| 220 TRACE_EVENT_END_ETW("RenderThreadImpl::Init", 0, ""); | 224 TRACE_EVENT_END_ETW("RenderThreadImpl::Init", 0, ""); |
| 221 } | 225 } |
| 222 | 226 |
| 223 RenderThreadImpl::~RenderThreadImpl() { | 227 RenderThreadImpl::~RenderThreadImpl() { |
| 224 FOR_EACH_OBSERVER( | 228 FOR_EACH_OBSERVER( |
| 225 RenderProcessObserver, observers_, OnRenderProcessShutdown()); | 229 RenderProcessObserver, observers_, OnRenderProcessShutdown()); |
| 226 | 230 |
| 227 // Wait for all databases to be closed. | 231 // Wait for all databases to be closed. |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 701 ObserverListBase<RenderProcessObserver>::Iterator it(observers_); | 705 ObserverListBase<RenderProcessObserver>::Iterator it(observers_); |
| 702 RenderProcessObserver* observer; | 706 RenderProcessObserver* observer; |
| 703 while ((observer = it.GetNext()) != NULL) { | 707 while ((observer = it.GetNext()) != NULL) { |
| 704 if (observer->OnControlMessageReceived(msg)) | 708 if (observer->OnControlMessageReceived(msg)) |
| 705 return true; | 709 return true; |
| 706 } | 710 } |
| 707 | 711 |
| 708 // Some messages are handled by delegates. | 712 // Some messages are handled by delegates. |
| 709 if (appcache_dispatcher_->OnMessageReceived(msg)) | 713 if (appcache_dispatcher_->OnMessageReceived(msg)) |
| 710 return true; | 714 return true; |
| 711 if (indexed_db_dispatcher_->OnMessageReceived(msg)) | |
| 712 return true; | |
| 713 | 715 |
| 714 bool handled = true; | 716 bool handled = true; |
| 715 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) | 717 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) |
| 716 IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForCurrentURL, | 718 IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForCurrentURL, |
| 717 OnSetZoomLevelForCurrentURL) | 719 OnSetZoomLevelForCurrentURL) |
| 718 IPC_MESSAGE_HANDLER(ViewMsg_SetNextPageID, OnSetNextPageID) | 720 IPC_MESSAGE_HANDLER(ViewMsg_SetNextPageID, OnSetNextPageID) |
| 719 IPC_MESSAGE_HANDLER(ViewMsg_SetCSSColors, OnSetCSSColors) | 721 IPC_MESSAGE_HANDLER(ViewMsg_SetCSSColors, OnSetCSSColors) |
| 720 // TODO(port): removed from render_messages_internal.h; | 722 // TODO(port): removed from render_messages_internal.h; |
| 721 // is there a new non-windows message I should add here? | 723 // is there a new non-windows message I should add here? |
| 722 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView) | 724 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView) |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 857 | 859 |
| 858 scoped_refptr<base::MessageLoopProxy> | 860 scoped_refptr<base::MessageLoopProxy> |
| 859 RenderThreadImpl::GetFileThreadMessageLoopProxy() { | 861 RenderThreadImpl::GetFileThreadMessageLoopProxy() { |
| 860 DCHECK(message_loop() == MessageLoop::current()); | 862 DCHECK(message_loop() == MessageLoop::current()); |
| 861 if (!file_thread_.get()) { | 863 if (!file_thread_.get()) { |
| 862 file_thread_.reset(new base::Thread("Renderer::FILE")); | 864 file_thread_.reset(new base::Thread("Renderer::FILE")); |
| 863 file_thread_->Start(); | 865 file_thread_->Start(); |
| 864 } | 866 } |
| 865 return file_thread_->message_loop_proxy(); | 867 return file_thread_->message_loop_proxy(); |
| 866 } | 868 } |
| OLD | NEW |