Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: ui/display/chromeos/x11/native_display_event_dispatcher_x11.cc

Issue 187073002: Refactoring display configuration state to allow generic state objects (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix ordering Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698