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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 159 |
156 | 160 |
157 // These methods modify how the next message is sent. Normally, when sending | 161 // These methods modify how the next message is sent. Normally, when sending |
158 // a synchronous message that runs a nested message loop, we need to suspend | 162 // a synchronous message that runs a nested message loop, we need to suspend |
159 // callbacks into WebKit. This involves disabling timers and deferring | 163 // callbacks into WebKit. This involves disabling timers and deferring |
160 // resource loads. However, there are exceptions when we need to customize | 164 // resource loads. However, there are exceptions when we need to customize |
161 // the behavior. | 165 // the behavior. |
162 void DoNotSuspendWebKitSharedTimer(); | 166 void DoNotSuspendWebKitSharedTimer(); |
163 void DoNotNotifyWebKitOfModalLoop(); | 167 void DoNotNotifyWebKitOfModalLoop(); |
164 | 168 |
| 169 IPC::ForwardingMessageFilter* compositor_output_surface_filter() const { |
| 170 return compositor_output_surface_filter_.get(); |
| 171 } |
| 172 |
165 // Will be NULL if threaded compositing has not been enabled. | 173 // Will be NULL if threaded compositing has not been enabled. |
166 CompositorThread* compositor_thread() const { | 174 CompositorThread* compositor_thread() const { |
167 return compositor_thread_.get(); | 175 return compositor_thread_.get(); |
168 } | 176 } |
169 | 177 |
170 content::old::BrowserPluginRegistry* browser_plugin_registry() const { | 178 content::old::BrowserPluginRegistry* browser_plugin_registry() const { |
171 return browser_plugin_registry_.get(); | 179 return browser_plugin_registry_.get(); |
172 } | 180 } |
173 | 181 |
174 content::old::BrowserPluginChannelManager* | 182 content::old::BrowserPluginChannelManager* |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 base::RepeatingTimer<RenderThreadImpl> idle_timer_; | 296 base::RepeatingTimer<RenderThreadImpl> idle_timer_; |
289 | 297 |
290 // The channel from the renderer process to the GPU process. | 298 // The channel from the renderer process to the GPU process. |
291 scoped_refptr<GpuChannelHost> gpu_channel_; | 299 scoped_refptr<GpuChannelHost> gpu_channel_; |
292 | 300 |
293 // A lazily initiated thread on which file operations are run. | 301 // A lazily initiated thread on which file operations are run. |
294 scoped_ptr<base::Thread> file_thread_; | 302 scoped_ptr<base::Thread> file_thread_; |
295 | 303 |
296 bool compositor_initialized_; | 304 bool compositor_initialized_; |
297 scoped_ptr<CompositorThread> compositor_thread_; | 305 scoped_ptr<CompositorThread> compositor_thread_; |
| 306 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_; |
| 307 |
298 scoped_ptr<content::old::BrowserPluginRegistry> browser_plugin_registry_; | 308 scoped_ptr<content::old::BrowserPluginRegistry> browser_plugin_registry_; |
299 | 309 |
300 ObserverList<content::RenderProcessObserver> observers_; | 310 ObserverList<content::RenderProcessObserver> observers_; |
301 | 311 |
302 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_; | 312 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_; |
303 | 313 |
304 scoped_ptr<content::AudioRendererMixerManager> audio_renderer_mixer_manager_; | 314 scoped_ptr<content::AudioRendererMixerManager> audio_renderer_mixer_manager_; |
305 | 315 |
306 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); | 316 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); |
307 }; | 317 }; |
308 | 318 |
309 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 319 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
OLD | NEW |