| Index: ui/aura/mus/mus_context_factory.cc
 | 
| diff --git a/ui/aura/mus/mus_context_factory.cc b/ui/aura/mus/mus_context_factory.cc
 | 
| index 71698063c0639e72494947b2103a2a4bd99dbcfc..dda4e63257f4acf0493166c127a163f7630b3dc3 100644
 | 
| --- a/ui/aura/mus/mus_context_factory.cc
 | 
| +++ b/ui/aura/mus/mus_context_factory.cc
 | 
| @@ -62,8 +62,15 @@ void MusContextFactory::CreateCompositorFrameSink(
 | 
|  
 | 
|  scoped_refptr<cc::ContextProvider>
 | 
|  MusContextFactory::SharedMainThreadContextProvider() {
 | 
| -  // NOTIMPLEMENTED();
 | 
| -  return nullptr;
 | 
| +  if (!shared_main_thread_context_provider_) {
 | 
| +    scoped_refptr<gpu::GpuChannelHost> gpu_channel =
 | 
| +        gpu_->EstablishGpuChannelSync();
 | 
| +    shared_main_thread_context_provider_ =
 | 
| +        gpu_->CreateContextProvider(std::move(gpu_channel));
 | 
| +    if (!shared_main_thread_context_provider_->BindToCurrentThread())
 | 
| +      shared_main_thread_context_provider_ = nullptr;
 | 
| +  }
 | 
| +  return shared_main_thread_context_provider_;
 | 
|  }
 | 
|  
 | 
|  void MusContextFactory::RemoveCompositor(ui::Compositor* compositor) {
 | 
| 
 |