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 #ifndef CONTENT_RENDERER_RENDER_THREAD_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_THREAD_H_ |
6 #define CONTENT_RENDERER_RENDER_THREAD_H_ | 6 #define CONTENT_RENDERER_RENDER_THREAD_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/observer_list.h" | 13 #include "base/observer_list.h" |
14 #include "base/shared_memory.h" | 14 #include "base/shared_memory.h" |
15 #include "base/time.h" | 15 #include "base/time.h" |
16 #include "base/timer.h" | 16 #include "base/timer.h" |
17 #include "build/build_config.h" | 17 #include "build/build_config.h" |
18 #include "content/common/child_thread.h" | 18 #include "content/common/child_thread.h" |
19 #include "content/common/content_export.h" | 19 #include "content/common/content_export.h" |
20 #include "content/common/css_colors.h" | 20 #include "content/common/css_colors.h" |
21 #include "content/common/gpu/gpu_process_launch_causes.h" | 21 #include "content/common/gpu/gpu_process_launch_causes.h" |
22 #include "ipc/ipc_channel_proxy.h" | 22 #include "ipc/ipc_channel_proxy.h" |
23 #include "ui/gfx/native_widget_types.h" | 23 #include "ui/gfx/native_widget_types.h" |
24 | 24 |
25 class AppCacheDispatcher; | 25 class AppCacheDispatcher; |
26 class AudioInputMessageFilter; | 26 class AudioInputMessageFilter; |
27 class AudioMessageFilter; | 27 class AudioMessageFilter; |
| 28 class CompositorThread; |
28 class DBMessageFilter; | 29 class DBMessageFilter; |
29 class DevToolsAgentFilter; | 30 class DevToolsAgentFilter; |
30 class FilePath; | 31 class FilePath; |
31 class GpuChannelHost; | 32 class GpuChannelHost; |
32 class IndexedDBDispatcher; | 33 class IndexedDBDispatcher; |
33 class RendererHistogram; | 34 class RendererHistogram; |
34 class RendererHistogramSnapshots; | 35 class RendererHistogramSnapshots; |
35 class RendererNetPredictor; | 36 class RendererNetPredictor; |
36 class RendererWebKitPlatformSupportImpl; | 37 class RendererWebKitPlatformSupportImpl; |
37 class SkBitmap; | 38 class SkBitmap; |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 void RemoveObserver(content::RenderProcessObserver* observer); | 141 void RemoveObserver(content::RenderProcessObserver* observer); |
141 | 142 |
142 // These methods modify how the next message is sent. Normally, when sending | 143 // These methods modify how the next message is sent. Normally, when sending |
143 // a synchronous message that runs a nested message loop, we need to suspend | 144 // a synchronous message that runs a nested message loop, we need to suspend |
144 // callbacks into WebKit. This involves disabling timers and deferring | 145 // callbacks into WebKit. This involves disabling timers and deferring |
145 // resource loads. However, there are exceptions when we need to customize | 146 // resource loads. However, there are exceptions when we need to customize |
146 // the behavior. | 147 // the behavior. |
147 void DoNotSuspendWebKitSharedTimer(); | 148 void DoNotSuspendWebKitSharedTimer(); |
148 void DoNotNotifyWebKitOfModalLoop(); | 149 void DoNotNotifyWebKitOfModalLoop(); |
149 | 150 |
| 151 CompositorThread* compositor_thread() const { |
| 152 return compositor_thread_.get(); |
| 153 } |
| 154 |
150 AppCacheDispatcher* appcache_dispatcher() const { | 155 AppCacheDispatcher* appcache_dispatcher() const { |
151 return appcache_dispatcher_.get(); | 156 return appcache_dispatcher_.get(); |
152 } | 157 } |
153 | 158 |
154 IndexedDBDispatcher* indexed_db_dispatcher() const { | 159 IndexedDBDispatcher* indexed_db_dispatcher() const { |
155 return indexed_db_dispatcher_.get(); | 160 return indexed_db_dispatcher_.get(); |
156 } | 161 } |
157 | 162 |
158 AudioInputMessageFilter* audio_input_message_filter() { | 163 AudioInputMessageFilter* audio_input_message_filter() { |
159 return audio_input_message_filter_.get(); | 164 return audio_input_message_filter_.get(); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 | 277 |
273 // The channel from the renderer process to the GPU process. | 278 // The channel from the renderer process to the GPU process. |
274 scoped_refptr<GpuChannelHost> gpu_channel_; | 279 scoped_refptr<GpuChannelHost> gpu_channel_; |
275 | 280 |
276 // A lazily initiated thread on which file operations are run. | 281 // A lazily initiated thread on which file operations are run. |
277 scoped_ptr<base::Thread> file_thread_; | 282 scoped_ptr<base::Thread> file_thread_; |
278 | 283 |
279 // Map of registered v8 extensions. The key is the extension name. | 284 // Map of registered v8 extensions. The key is the extension name. |
280 std::set<std::string> v8_extensions_; | 285 std::set<std::string> v8_extensions_; |
281 | 286 |
| 287 scoped_ptr<CompositorThread> compositor_thread_; |
| 288 |
282 ObserverList<content::RenderProcessObserver> observers_; | 289 ObserverList<content::RenderProcessObserver> observers_; |
283 | 290 |
284 DISALLOW_COPY_AND_ASSIGN(RenderThread); | 291 DISALLOW_COPY_AND_ASSIGN(RenderThread); |
285 }; | 292 }; |
286 | 293 |
287 #endif // CONTENT_RENDERER_RENDER_THREAD_H_ | 294 #endif // CONTENT_RENDERER_RENDER_THREAD_H_ |
OLD | NEW |