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 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy(); | 211 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy(); |
212 | 212 |
213 // Causes the idle handler to skip sending idle notifications | 213 // Causes the idle handler to skip sending idle notifications |
214 // on the two next scheduled calls, so idle notifications are | 214 // on the two next scheduled calls, so idle notifications are |
215 // not sent for at least one notification delay. | 215 // not sent for at least one notification delay. |
216 void PostponeIdleNotification(); | 216 void PostponeIdleNotification(); |
217 | 217 |
218 // Returns a graphics context shared among all | 218 // Returns a graphics context shared among all |
219 // RendererGpuVideoDecoderFactories, or NULL on error. Context remains owned | 219 // RendererGpuVideoDecoderFactories, or NULL on error. Context remains owned |
220 // by this class and must be null-tested before each use to detect context | 220 // by this class and must be null-tested before each use to detect context |
221 // loss. The returned WeakPtr<> is only valid on the compositor thread when | 221 // loss. The returned context is only valid on the compositor thread when |
222 // threaded compositing is enabled. | 222 // threaded compositing is enabled. |
223 base::WeakPtr<WebGraphicsContext3DCommandBufferImpl> GetGpuVDAContext3D(); | 223 WebGraphicsContext3DCommandBufferImpl* GetGpuVDAContext3D(); |
| 224 |
| 225 // Handle loss of the shared GpuVDAContext3D context above. |
| 226 static void OnGpuVDAContextLoss(); |
224 | 227 |
225 // AudioRendererMixerManager instance which manages renderer side mixer | 228 // AudioRendererMixerManager instance which manages renderer side mixer |
226 // instances shared based on configured audio parameters. Lazily created on | 229 // instances shared based on configured audio parameters. Lazily created on |
227 // first call. | 230 // first call. |
228 content::AudioRendererMixerManager* GetAudioRendererMixerManager(); | 231 content::AudioRendererMixerManager* GetAudioRendererMixerManager(); |
229 | 232 |
230 private: | 233 private: |
231 virtual bool OnControlMessageReceived(const IPC::Message& msg) OVERRIDE; | 234 virtual bool OnControlMessageReceived(const IPC::Message& msg) OVERRIDE; |
232 | 235 |
233 void Init(); | 236 void Init(); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 ObserverList<content::RenderProcessObserver> observers_; | 303 ObserverList<content::RenderProcessObserver> observers_; |
301 | 304 |
302 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_; | 305 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> gpu_vda_context3d_; |
303 | 306 |
304 scoped_ptr<content::AudioRendererMixerManager> audio_renderer_mixer_manager_; | 307 scoped_ptr<content::AudioRendererMixerManager> audio_renderer_mixer_manager_; |
305 | 308 |
306 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); | 309 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); |
307 }; | 310 }; |
308 | 311 |
309 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 312 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
OLD | NEW |