Chromium Code Reviews| Index: content/gpu/gpu_service_factory.h |
| diff --git a/content/gpu/gpu_service_factory.h b/content/gpu/gpu_service_factory.h |
| index 5d5d797fc1a083ac0a8111f3b44a2817195ae4f2..a61b54ef6c145097a33f87a141fbcafe60f75a56 100644 |
| --- a/content/gpu/gpu_service_factory.h |
| +++ b/content/gpu/gpu_service_factory.h |
| @@ -6,20 +6,34 @@ |
| #define CONTENT_GPU_GPU_SERVICE_FACTORY_H_ |
| #include "base/macros.h" |
| +#include "base/memory/ref_counted.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "base/single_thread_task_runner.h" |
| #include "content/child/service_factory.h" |
| +namespace media { |
| +class MediaGpuChannelManager; |
| +} |
| + |
| namespace content { |
| // Customization of ServiceFactory for the GPU process. |
| class GpuServiceFactory : public ServiceFactory { |
| public: |
| - GpuServiceFactory(); |
| + explicit GpuServiceFactory( |
| + base::WeakPtr<media::MediaGpuChannelManager> media_gpu_channel_manager); |
| ~GpuServiceFactory() override; |
| // ServiceFactory overrides: |
| void RegisterServices(ServiceMap* services) override; |
| private: |
| + // Task runner we were constructed on, and that |media_gpu_channel_manager_| |
| + // must be accessed from (the GPU main thread task runner). We expect |
| + // RegisterServices() to be called on this task runner as well, but the |
| + // implementation doesn't care. |
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
| + base::WeakPtr<media::MediaGpuChannelManager> media_gpu_channel_manager_; |
|
xhwang
2016/11/24 07:02:11
You can probably guard these two with #if defined(
|
| DISALLOW_COPY_AND_ASSIGN(GpuServiceFactory); |
| }; |