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 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 } | 45 } |
46 | 46 |
47 namespace base { | 47 namespace base { |
48 class MessageLoopProxy; | 48 class MessageLoopProxy; |
49 class Thread; | 49 class Thread; |
50 namespace win { | 50 namespace win { |
51 class ScopedCOMInitializer; | 51 class ScopedCOMInitializer; |
52 } | 52 } |
53 } | 53 } |
54 | 54 |
| 55 namespace IPC { |
| 56 class ForwardingMessageFilter; |
| 57 } |
| 58 |
55 namespace content { | 59 namespace content { |
56 class AudioRendererMixerManager; | 60 class AudioRendererMixerManager; |
57 class MediaStreamCenter; | 61 class MediaStreamCenter; |
58 class RenderProcessObserver; | 62 class RenderProcessObserver; |
59 | 63 |
60 namespace old { | 64 namespace old { |
61 class BrowserPluginChannelManager; | 65 class BrowserPluginChannelManager; |
62 class BrowserPluginRegistry; | 66 class BrowserPluginRegistry; |
63 } | 67 } |
64 | 68 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 | 161 |
158 | 162 |
159 // These methods modify how the next message is sent. Normally, when sending | 163 // These methods modify how the next message is sent. Normally, when sending |
160 // a synchronous message that runs a nested message loop, we need to suspend | 164 // a synchronous message that runs a nested message loop, we need to suspend |
161 // callbacks into WebKit. This involves disabling timers and deferring | 165 // callbacks into WebKit. This involves disabling timers and deferring |
162 // resource loads. However, there are exceptions when we need to customize | 166 // resource loads. However, there are exceptions when we need to customize |
163 // the behavior. | 167 // the behavior. |
164 void DoNotSuspendWebKitSharedTimer(); | 168 void DoNotSuspendWebKitSharedTimer(); |
165 void DoNotNotifyWebKitOfModalLoop(); | 169 void DoNotNotifyWebKitOfModalLoop(); |
166 | 170 |
| 171 IPC::ForwardingMessageFilter* compositor_output_surface_filter() const { |
| 172 return compositor_output_surface_filter_.get(); |
| 173 } |
| 174 |
167 // Will be NULL if threaded compositing has not been enabled. | 175 // Will be NULL if threaded compositing has not been enabled. |
168 CompositorThread* compositor_thread() const { | 176 CompositorThread* compositor_thread() const { |
169 return compositor_thread_.get(); | 177 return compositor_thread_.get(); |
170 } | 178 } |
171 | 179 |
172 content::old::BrowserPluginRegistry* browser_plugin_registry() const { | 180 content::old::BrowserPluginRegistry* browser_plugin_registry() const { |
173 return browser_plugin_registry_.get(); | 181 return browser_plugin_registry_.get(); |
174 } | 182 } |
175 | 183 |
176 content::old::BrowserPluginChannelManager* | 184 content::old::BrowserPluginChannelManager* |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 scoped_refptr<GpuChannelHost> gpu_channel_; | 301 scoped_refptr<GpuChannelHost> gpu_channel_; |
294 | 302 |
295 // A lazily initiated thread on which file operations are run. | 303 // A lazily initiated thread on which file operations are run. |
296 scoped_ptr<base::Thread> file_thread_; | 304 scoped_ptr<base::Thread> file_thread_; |
297 | 305 |
298 // Map of registered v8 extensions. The key is the extension name. | 306 // Map of registered v8 extensions. The key is the extension name. |
299 std::set<std::string> v8_extensions_; | 307 std::set<std::string> v8_extensions_; |
300 | 308 |
301 bool compositor_initialized_; | 309 bool compositor_initialized_; |
302 scoped_ptr<CompositorThread> compositor_thread_; | 310 scoped_ptr<CompositorThread> compositor_thread_; |
| 311 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_; |
| 312 |
303 scoped_ptr<content::old::BrowserPluginRegistry> browser_plugin_registry_; | 313 scoped_ptr<content::old::BrowserPluginRegistry> browser_plugin_registry_; |
304 | 314 |
305 ObserverList<content::RenderProcessObserver> observers_; | 315 ObserverList<content::RenderProcessObserver> observers_; |
306 | 316 |
307 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_; | 317 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_; |
308 | 318 |
309 scoped_ptr<content::AudioRendererMixerManager> audio_renderer_mixer_manager_; | 319 scoped_ptr<content::AudioRendererMixerManager> audio_renderer_mixer_manager_; |
310 | 320 |
311 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); | 321 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); |
312 }; | 322 }; |
313 | 323 |
314 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 324 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
OLD | NEW |