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

Unified Diff: ash/display/display_controller_unittest.cc

Issue 13916004: Translate 1 pixel not 1 dip when rotating the display. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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: ash/display/display_controller_unittest.cc
diff --git a/ash/display/display_controller_unittest.cc b/ash/display/display_controller_unittest.cc
index 15b9852832128d5ed082f7c9bf4f4924b2b300a6..fd1c9129ad7599b856ffdf40ef4299b045a93801 100644
--- a/ash/display/display_controller_unittest.cc
+++ b/ash/display/display_controller_unittest.cc
@@ -110,12 +110,10 @@ class TestEventHandler : public ui::EventHandler {
virtual ~TestEventHandler() {}
virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE {
- aura::Window* target = static_cast<aura::Window*>(event->target());
- // Only record when the target is the background which covers
- // entire root window.
- if (target->name() != kDesktopBackgroundView)
+ if (event->flags() & ui::EF_IS_SYNTHESIZED)
return;
- mouse_location_ = event->location();
+ aura::Window* target = static_cast<aura::Window*>(event->target());
+ mouse_location_ = event->root_location();
target_root_ = target->GetRootWindow();
event->StopPropagation();
}
@@ -183,6 +181,14 @@ float GetStoredUIScale(int64 id) {
return Shell::GetInstance()->display_manager()->GetDisplayInfo(id).ui_scale();
}
+void MoveMouseToInHostCoord(aura::RootWindow* root_window,
+ int host_x,
+ int host_y) {
+ gfx::Point move_point(host_x, host_y);
+ ui::MouseEvent mouseev(ui::ET_MOUSE_MOVED, move_point, move_point, 0);
+ root_window->AsRootWindowHostDelegate()->OnHostMouseEvent(&mouseev);
+}
+
} // namespace
typedef test::AshTestBase DisplayControllerTest;
@@ -420,7 +426,7 @@ TEST_F(DisplayControllerTest, SwapPrimary) {
EXPECT_EQ("left, -50", inverted_layout.ToString());
EXPECT_EQ(secondary_display.id(),
- Shell::GetScreen()->GetPrimaryDisplay().id());
+ Shell::GetScreen()->GetPrimaryDisplay().id());
EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
EXPECT_EQ(secondary_display.id(),
Shell::GetScreen()->GetDisplayNearestPoint(
@@ -726,8 +732,14 @@ TEST_F(DisplayControllerTest, MAYBE_OverscanInsets) {
// SetTransform updates the window using the orignal host window
// size.
#define MAYBE_Rotate DISABLED_Rotate
+#define MAYBE_ScaleRootWindow DISABLED_ScaleRootWindow
+#define MAYBE_TouchScale DISABLED_TouchScale
+#define MAYBE_ConvertHostToRootCoords DISABLED_ConvertHostToRootCoords
#else
#define MAYBE_Rotate Rotate
+#define MAYBE_ScaleRootWindow ScaleRootWindow
+#define MAYBE_TouchScale TouchScale
+#define MAYBE_ConvertHostToRootCoords ConvertHostToRootCoords
#endif
TEST_F(DisplayControllerTest, MAYBE_Rotate) {
@@ -798,15 +810,6 @@ TEST_F(DisplayControllerTest, MAYBE_Rotate) {
Shell::GetInstance()->RemovePreTargetHandler(&event_handler);
}
-#if defined(OS_WIN)
-// On Win8 bots, the host window can't be resized and
-// SetTransform updates the window using the orignal host window
-// size.
-#define MAYBE_ScaleRootWindow DISABLED_ScaleRootWindow
-#else
-#define MAYBE_ScaleRootWindow ScaleRootWindow
-#endif
-
TEST_F(DisplayControllerTest, MAYBE_ScaleRootWindow) {
TestEventHandler event_handler;
Shell::GetInstance()->AddPreTargetHandler(&event_handler);
@@ -840,16 +843,6 @@ TEST_F(DisplayControllerTest, MAYBE_ScaleRootWindow) {
Shell::GetInstance()->RemovePreTargetHandler(&event_handler);
}
-
-#if defined(OS_WIN)
-// On Win8 bots, the host window can't be resized and
-// SetTransform updates the window using the orignal host window
-// size.
-#define MAYBE_TouchScale DISABLED_TouchScale
-#else
-#define MAYBE_TouchScale TouchScale
-#endif
-
TEST_F(DisplayControllerTest, MAYBE_TouchScale) {
TestEventHandler event_handler;
Shell::GetInstance()->AddPreTargetHandler(&event_handler);
@@ -879,5 +872,29 @@ TEST_F(DisplayControllerTest, MAYBE_TouchScale) {
Shell::GetInstance()->RemovePreTargetHandler(&event_handler);
}
+TEST_F(DisplayControllerTest, MAYBE_ConvertHostToRootCoords) {
+ TestEventHandler event_handler;
+ Shell::GetInstance()->AddPreTargetHandler(&event_handler);
+
+ UpdateDisplay("600x400*2/r@1.5");
+
+ gfx::Display display1 = Shell::GetScreen()->GetPrimaryDisplay();
+ Shell::RootWindowList root_windows = Shell::GetAllRootWindows();
+ EXPECT_EQ("0,0 300x450", display1.bounds().ToString());
+ EXPECT_EQ("0,0 300x450", root_windows[0]->bounds().ToString());
+ EXPECT_EQ(1.5f, GetStoredUIScale(display1.id()));
+
+ MoveMouseToInHostCoord(root_windows[0], 0, 0);
+ EXPECT_EQ("0,449", event_handler.GetLocationAndReset());
+ MoveMouseToInHostCoord(root_windows[0], 599, 0);
+ EXPECT_EQ("0,0", event_handler.GetLocationAndReset());
+ MoveMouseToInHostCoord(root_windows[0], 599, 399);
+ EXPECT_EQ("299,0", event_handler.GetLocationAndReset());
+ MoveMouseToInHostCoord(root_windows[0], 0, 399);
+ EXPECT_EQ("299,449", event_handler.GetLocationAndReset());
+
+ Shell::GetInstance()->RemovePreTargetHandler(&event_handler);
+}
+
} // namespace test
} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698