| Index: ui/gfx/ozone/dri/dri_surface_factory.cc
 | 
| diff --git a/ui/gfx/ozone/dri/dri_surface_factory.cc b/ui/gfx/ozone/dri/dri_surface_factory.cc
 | 
| index 3ce7bf1caceffc87e2dfd1d097ebd315ffaa92a4..57ca6897d24d6d970e5d0199facd6953722a4f01 100644
 | 
| --- a/ui/gfx/ozone/dri/dri_surface_factory.cc
 | 
| +++ b/ui/gfx/ozone/dri/dri_surface_factory.cc
 | 
| @@ -169,22 +169,21 @@ gfx::AcceleratedWidget DriSurfaceFactory::RealizeAcceleratedWidget(
 | 
|    }
 | 
|  
 | 
|    // Create a surface suitable for the current controller.
 | 
| -  scoped_ptr<DriSurface> surface(CreateSurface(controller_.get()));
 | 
| +  scoped_ptr<ScanoutSurface> surface(CreateSurface(controller_.get()));
 | 
|  
 | 
|    if (!surface->Initialize()) {
 | 
|      LOG(ERROR) << "Failed to initialize surface";
 | 
|      return gfx::kNullAcceleratedWidget;
 | 
|    }
 | 
|  
 | 
| -  // Bind the surface to the controller. This will register the backing buffers
 | 
| -  // with the hardware CRTC such that we can show the buffers. The controller
 | 
| -  // takes ownership of the surface.
 | 
| +  // Bind the surface to the controller. The controller takes ownership of the
 | 
| +  // surface.
 | 
|    if (!controller_->BindSurfaceToController(surface.Pass())) {
 | 
|      LOG(ERROR) << "Failed to bind surface to controller";
 | 
|      return gfx::kNullAcceleratedWidget;
 | 
|    }
 | 
|  
 | 
| -  return reinterpret_cast<gfx::AcceleratedWidget>(controller_->get_surface());
 | 
| +  return GetNativeWidget(controller_->get_surface());
 | 
|  }
 | 
|  
 | 
|  bool DriSurfaceFactory::LoadEGLGLES2Bindings(
 | 
| @@ -203,7 +202,7 @@ bool DriSurfaceFactory::SchedulePageFlip(gfx::AcceleratedWidget w) {
 | 
|    CHECK(state_ == INITIALIZED);
 | 
|    // TODO(dnicoara) Change this CHECK once we're running with the threaded
 | 
|    // compositor.
 | 
| -  CHECK(base::MessageLoopForUI::IsCurrent());
 | 
| +  //CHECK(base::MessageLoopForUI::IsCurrent());
 | 
|  
 | 
|    // TODO(dnicoara) Once we can handle multiple displays this needs to be
 | 
|    // changed.
 | 
| @@ -246,7 +245,7 @@ scoped_ptr<gfx::VSyncProvider> DriSurfaceFactory::CreateVSyncProvider(
 | 
|  ////////////////////////////////////////////////////////////////////////////////
 | 
|  // DriSurfaceFactory private
 | 
|  
 | 
| -DriSurface* DriSurfaceFactory::CreateSurface(
 | 
| +ScanoutSurface* DriSurfaceFactory::CreateSurface(
 | 
|      HardwareDisplayController* controller) {
 | 
|    return new DriSurface(controller);
 | 
|  }
 | 
| @@ -255,6 +254,11 @@ DriWrapper* DriSurfaceFactory::CreateWrapper() {
 | 
|    return new DriWrapper(kDefaultGraphicsCardPath);
 | 
|  }
 | 
|  
 | 
| +gfx::AcceleratedWidget DriSurfaceFactory::GetNativeWidget(
 | 
| +    ScanoutSurface* surface) {
 | 
| +  return reinterpret_cast<gfx::AcceleratedWidget>(surface);
 | 
| +}
 | 
| +
 | 
|  bool DriSurfaceFactory::InitializeControllerForPrimaryDisplay(
 | 
|      DriWrapper* drm,
 | 
|      HardwareDisplayController* controller) {
 | 
| 
 |