Index: ui/ozone/platform/dri/chromeos/native_display_delegate_dri.cc |
diff --git a/ui/ozone/platform/dri/chromeos/native_display_delegate_dri.cc b/ui/ozone/platform/dri/chromeos/native_display_delegate_dri.cc |
index cb73a964446b288fefd75df9b3dc054984856a58..ec9b76517cf8e6b56c8306b688a5a95b73703e94 100644 |
--- a/ui/ozone/platform/dri/chromeos/native_display_delegate_dri.cc |
+++ b/ui/ozone/platform/dri/chromeos/native_display_delegate_dri.cc |
@@ -4,6 +4,10 @@ |
#include "ui/ozone/platform/dri/chromeos/native_display_delegate_dri.h" |
+#include "base/bind.h" |
+#include "ui/display/types/chromeos/native_display_observer.h" |
+#include "ui/events/ozone/device/device_event.h" |
+#include "ui/events/ozone/device/device_manager.h" |
#include "ui/ozone/platform/dri/chromeos/display_mode_dri.h" |
#include "ui/ozone/platform/dri/chromeos/display_snapshot_dri.h" |
#include "ui/ozone/platform/dri/dri_surface_factory.h" |
@@ -17,10 +21,13 @@ const size_t kMaxDisplayCount = 2; |
} // namespace |
NativeDisplayDelegateDri::NativeDisplayDelegateDri( |
- DriSurfaceFactory* surface_factory) |
- : surface_factory_(surface_factory) {} |
+ DriSurfaceFactory* surface_factory, DeviceManager* device_manager) |
+ : surface_factory_(surface_factory), |
+ device_manager_(device_manager) {} |
-NativeDisplayDelegateDri::~NativeDisplayDelegateDri() {} |
+NativeDisplayDelegateDri::~NativeDisplayDelegateDri() { |
+ device_manager_->RemoveObserver(this); |
+} |
void NativeDisplayDelegateDri::Initialize() { |
gfx::SurfaceFactoryOzone::HardwareState state = |
@@ -28,6 +35,8 @@ void NativeDisplayDelegateDri::Initialize() { |
CHECK_EQ(gfx::SurfaceFactoryOzone::INITIALIZED, state) |
<< "Failed to initialize hardware"; |
+ |
+ device_manager_->AddObserver(this); |
} |
void NativeDisplayDelegateDri::GrabServer() {} |
@@ -154,4 +163,12 @@ void NativeDisplayDelegateDri::RemoveObserver(NativeDisplayObserver* observer) { |
observers_.RemoveObserver(observer); |
} |
+void NativeDisplayDelegateDri::OnDeviceEvent(const DeviceEvent& event) { |
+ if (event.device_type() != DeviceEvent::DISPLAY) |
+ return; |
+ |
+ if (event.action_type() == DeviceEvent::CHANGE) |
+ NOTIMPLEMENTED(); |
+} |
+ |
} // namespace ui |