Index: ui/ozone/platform/drm/gpu/drm_window.h |
diff --git a/ui/ozone/platform/drm/gpu/drm_window.h b/ui/ozone/platform/drm/gpu/drm_window.h |
index c918499ed5ff19bb8e2a48e9b45196f7a2511b8f..1616dd8b7c2a150454625798bea636881797ba49 100644 |
--- a/ui/ozone/platform/drm/gpu/drm_window.h |
+++ b/ui/ozone/platform/drm/gpu/drm_window.h |
@@ -28,6 +28,7 @@ class Rect; |
namespace ui { |
class DrmBuffer; |
+class DrmDevice; |
class DrmDeviceManager; |
class HardwareDisplayController; |
struct OverlayCheck_Params; |
@@ -43,7 +44,7 @@ class ScreenManager; |
// |
// If there's no display whose bounds match the window's, the window is |
// disconnected and its contents will not be visible to the user. |
-class OZONE_EXPORT DrmWindow { |
+class OZONE_EXPORT DrmWindow : public base::SupportsWeakPtr<DrmWindow> { |
public: |
DrmWindow(gfx::AcceleratedWidget widget, |
DrmDeviceManager* device_manager, |
@@ -64,6 +65,8 @@ class OZONE_EXPORT DrmWindow { |
// not cache the result as the controller may change as the window is moved. |
HardwareDisplayController* GetController(); |
+ scoped_refptr<DrmDevice> GetAllocationDrmDevice() const; |
+ |
void SetController(HardwareDisplayController* controller); |
// Called when the window is resized/moved. |
@@ -89,7 +92,7 @@ class OZONE_EXPORT DrmWindow { |
// is once again ready. |
void QueueOverlayPlane(const OverlayPlane& plane); |
- bool SchedulePageFlip(bool is_sync, const SwapCompletionCallback& callback); |
+ void SchedulePageFlip(bool is_sync, const SwapCompletionCallback& callback); |
bool TestPageFlip(const std::vector<OverlayCheck_Params>& planes, |
ScanoutBufferGenerator* buffer_generator); |
@@ -99,6 +102,8 @@ class OZONE_EXPORT DrmWindow { |
void GetVSyncParameters( |
const gfx::VSyncProvider::UpdateVSyncCallback& callback) const; |
+ bool IsDisplayedOnUniversalDisplayLinkDevice() const; |
+ |
private: |
// Draw the last set cursor & update the cursor plane. |
void ResetCursor(bool bitmap_only); |