Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: content/renderer/render_thread_impl.h

Issue 10798006: Implement WebCompositorOutputSurface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ready for review, uses filters properly Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698