| 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..8edca6b93ad3bed95441fc86ccef3796540df49a 100644 | 
| --- a/content/gpu/gpu_service_factory.h | 
| +++ b/content/gpu/gpu_service_factory.h | 
| @@ -6,20 +6,37 @@ | 
| #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: | 
| +#if defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS) | 
| +  // 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_; | 
| +#endif | 
| + | 
| DISALLOW_COPY_AND_ASSIGN(GpuServiceFactory); | 
| }; | 
|  | 
|  |