| Index: ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc
|
| diff --git a/chromeos/display/native_display_event_dispatcher_x11.cc b/ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc
|
| similarity index 68%
|
| rename from chromeos/display/native_display_event_dispatcher_x11.cc
|
| rename to ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc
|
| index 01e91bcb0980258e18b26a86e829929b012ff746..786d865d22b0797ce6a99bd74be650c6af735fde 100644
|
| --- a/chromeos/display/native_display_event_dispatcher_x11.cc
|
| +++ b/ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc
|
| @@ -2,16 +2,18 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chromeos/display/native_display_event_dispatcher_x11.h"
|
| +#include "ui/display/chromeos/x11/native_display_event_dispatcher_x11.h"
|
| +#include "ui/display/chromeos/x11/display_mode_x11.h"
|
| +#include "ui/display/chromeos/x11/display_snapshot_x11.h"
|
|
|
| #include <X11/extensions/Xrandr.h>
|
|
|
| -namespace chromeos {
|
| +namespace ui {
|
|
|
| NativeDisplayEventDispatcherX11::NativeDisplayEventDispatcherX11(
|
| - NativeDisplayDelegateX11::HelperDelegate* delegate, int xrandr_event_base)
|
| - : delegate_(delegate),
|
| - xrandr_event_base_(xrandr_event_base) {}
|
| + NativeDisplayDelegateX11::HelperDelegate* delegate,
|
| + int xrandr_event_base)
|
| + : delegate_(delegate), xrandr_event_base_(xrandr_event_base) {}
|
|
|
| NativeDisplayEventDispatcherX11::~NativeDisplayEventDispatcherX11() {}
|
|
|
| @@ -44,14 +46,20 @@ uint32_t NativeDisplayEventDispatcherX11::Dispatch(
|
| << " action=" << (connected ? "connected" : "disconnected");
|
|
|
| bool found_changed_output = false;
|
| - const std::vector<OutputConfigurator::OutputSnapshot>& cached_outputs =
|
| + const std::vector<DisplaySnapshot*>& cached_outputs =
|
| delegate_->GetCachedOutputs();
|
| - for (std::vector<OutputConfigurator::OutputSnapshot>::const_iterator
|
| - it = cached_outputs.begin();
|
| - it != cached_outputs.end(); ++it) {
|
| - if (it->output == output_change_event->output) {
|
| - if (connected && it->crtc == output_change_event->crtc &&
|
| - it->current_mode == output_change_event->mode) {
|
| + for (std::vector<DisplaySnapshot*>::const_iterator it =
|
| + cached_outputs.begin();
|
| + it != cached_outputs.end();
|
| + ++it) {
|
| + const DisplaySnapshotX11* x11_output =
|
| + static_cast<const DisplaySnapshotX11*>(*it);
|
| + const DisplayModeX11* x11_mode =
|
| + static_cast<const DisplayModeX11*>(x11_output->current_mode());
|
| +
|
| + if (x11_output->output() == output_change_event->output) {
|
| + if (connected && x11_output->crtc() == output_change_event->crtc &&
|
| + x11_mode->mode_id() == output_change_event->mode) {
|
| VLOG(1) << "Ignoring event describing already-cached state";
|
| return POST_DISPATCH_PERFORM_DEFAULT;
|
| }
|
| @@ -70,4 +78,4 @@ uint32_t NativeDisplayEventDispatcherX11::Dispatch(
|
| return POST_DISPATCH_PERFORM_DEFAULT;
|
| }
|
|
|
| -} // namespace chromeos
|
| +} // namespace ui
|
|
|