| Index: ui/ozone/platform/dri/gbm_surface_factory.cc
|
| diff --git a/ui/ozone/platform/dri/gbm_surface_factory.cc b/ui/ozone/platform/dri/gbm_surface_factory.cc
|
| index 7e5dc34a11c5fcd0765149acef1210419a7f8390..6f1d18330fbcaddf668756ba128852c3ccb34ca2 100644
|
| --- a/ui/ozone/platform/dri/gbm_surface_factory.cc
|
| +++ b/ui/ozone/platform/dri/gbm_surface_factory.cc
|
| @@ -123,6 +123,30 @@ scoped_refptr<ui::NativePixmap> GbmSurfaceFactory::CreateNativePixmap(
|
| return scoped_refptr<GbmPixmap>(new GbmPixmap(buffer));
|
| }
|
|
|
| +bool GbmSurfaceFactory::ScheduleOverlayPlane(
|
| + gfx::AcceleratedWidget widget,
|
| + int plane_z_order,
|
| + gfx::OverlayTransform plane_transform,
|
| + scoped_refptr<NativePixmap> buffer,
|
| + const gfx::Rect& display_bounds,
|
| + const gfx::RectF& crop_rect) {
|
| + scoped_refptr<GbmPixmap> pixmap = static_cast<GbmPixmap*>(buffer.get());
|
| + if (!pixmap) {
|
| + LOG(ERROR) << "ScheduleOverlayPlane passed NULL buffer.";
|
| + return false;
|
| + }
|
| + base::WeakPtr<HardwareDisplayController> hdc =
|
| + screen_manager_->GetDisplayController(widget);
|
| + if (!hdc)
|
| + return true;
|
| + hdc->QueueOverlayPlane(OverlayPlane(pixmap->buffer(),
|
| + plane_z_order,
|
| + plane_transform,
|
| + display_bounds,
|
| + crop_rect));
|
| + return true;
|
| +}
|
| +
|
| bool GbmSurfaceFactory::CanShowPrimaryPlaneAsOverlay() {
|
| return allow_surfaceless_;
|
| }
|
|
|