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

Unified Diff: chrome/browser/chromeos/display/display_preferences_unittest.cc

Issue 2540383002: Updates display manager and display preferences to handle touch calibration data. (Closed)
Patch Set: Merge with ToT Created 4 years 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
« no previous file with comments | « chrome/browser/chromeos/display/display_preferences.cc ('k') | ui/display/manager/display_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/display/display_preferences_unittest.cc
diff --git a/chrome/browser/chromeos/display/display_preferences_unittest.cc b/chrome/browser/chromeos/display/display_preferences_unittest.cc
index deb7814b2ac507dca96c41dd895bff58a65374fc..65f7a905f2f5fe6fb21a6ba50421cfedcb24e2d4 100644
--- a/chrome/browser/chromeos/display/display_preferences_unittest.cc
+++ b/chrome/browser/chromeos/display/display_preferences_unittest.cc
@@ -51,6 +51,9 @@ const char kPositionKey[] = "position";
const char kOffsetKey[] = "offset";
const char kPlacementDisplayIdKey[] = "placement.display_id";
const char kPlacementParentDisplayIdKey[] = "placement.parent_display_id";
+const char kTouchCalibrationWidth[] = "touch_calibration_width";
+const char kTouchCalibrationHeight[] = "touch_calibration_height";
+const char kTouchCalibrationPointPairs[] = "touch_calibration_point_pairs";
// The mean acceleration due to gravity on Earth in m/s^2.
const float kMeanGravity = -9.80665f;
@@ -307,6 +310,15 @@ TEST_F(DisplayPreferencesTest, BasicStores) {
EXPECT_FALSE(display::test::DisplayManagerTestApi(display_manager())
.SetDisplayUIScale(id2, 1.25f));
+ // Set touch calibration data for display |id2|.
+ display::TouchCalibrationData::CalibrationPointPairQuad point_pair_quad = {
+ {std::make_pair(gfx::Point(10, 10), gfx::Point(11, 12)),
+ std::make_pair(gfx::Point(190, 10), gfx::Point(195, 8)),
+ std::make_pair(gfx::Point(10, 90), gfx::Point(12, 94)),
+ std::make_pair(gfx::Point(190, 90), gfx::Point(189, 88))}};
+ gfx::Size touch_size(200, 150);
+ display_manager()->SetTouchCalibrationData(id2, point_pair_quad, touch_size);
+
const base::DictionaryValue* displays =
local_state()->GetDictionary(prefs::kSecondaryDisplays);
const base::DictionaryValue* layout_value = nullptr;
@@ -354,6 +366,11 @@ TEST_F(DisplayPreferencesTest, BasicStores) {
EXPECT_EQ(12, bottom);
EXPECT_EQ(13, right);
+ std::string touch_str;
+ EXPECT_FALSE(property->GetString(kTouchCalibrationPointPairs, &touch_str));
+ EXPECT_FALSE(property->GetInteger(kTouchCalibrationWidth, &width));
+ EXPECT_FALSE(property->GetInteger(kTouchCalibrationHeight, &height));
+
std::string color_profile;
EXPECT_TRUE(property->GetString("color_profile_name", &color_profile));
EXPECT_EQ("dynamic", color_profile);
@@ -369,6 +386,25 @@ TEST_F(DisplayPreferencesTest, BasicStores) {
EXPECT_FALSE(property->GetInteger("insets_bottom", &bottom));
EXPECT_FALSE(property->GetInteger("insets_right", &right));
+ display::TouchCalibrationData::CalibrationPointPairQuad stored_pair_quad;
+
+ EXPECT_TRUE(property->GetString(kTouchCalibrationPointPairs, &touch_str));
+ EXPECT_TRUE(ParseTouchCalibrationStringForTest(touch_str, &stored_pair_quad));
+
+ for (std::size_t row = 0; row < point_pair_quad.size(); row++) {
+ EXPECT_EQ(point_pair_quad[row].first.x(), stored_pair_quad[row].first.x());
+ EXPECT_EQ(point_pair_quad[row].first.y(), stored_pair_quad[row].first.y());
+ EXPECT_EQ(point_pair_quad[row].second.x(),
+ stored_pair_quad[row].second.x());
+ EXPECT_EQ(point_pair_quad[row].second.y(),
+ stored_pair_quad[row].second.y());
+ }
+ width = height = 0;
+ EXPECT_TRUE(property->GetInteger(kTouchCalibrationWidth, &width));
+ EXPECT_TRUE(property->GetInteger(kTouchCalibrationHeight, &height));
+ EXPECT_EQ(width, touch_size.width());
+ EXPECT_EQ(height, touch_size.height());
+
// |id2| doesn't have the color_profile because it doesn't have 'dynamic' in
// its available list.
EXPECT_FALSE(property->GetString("color_profile_name", &color_profile));
@@ -473,7 +509,7 @@ TEST_F(DisplayPreferencesTest, BasicStores) {
// Set new display's selected resolution.
display_manager()->RegisterDisplayProperty(
id2 + 1, display::Display::ROTATE_0, 1.0f, nullptr, gfx::Size(500, 400),
- 1.0f, ui::COLOR_PROFILE_STANDARD);
+ 1.0f, ui::COLOR_PROFILE_STANDARD, nullptr);
UpdateDisplay("200x200*2, 600x500#600x500|500x400");
@@ -499,7 +535,7 @@ TEST_F(DisplayPreferencesTest, BasicStores) {
// Set yet another new display's selected resolution.
display_manager()->RegisterDisplayProperty(
id2 + 1, display::Display::ROTATE_0, 1.0f, nullptr, gfx::Size(500, 400),
- 1.0f, ui::COLOR_PROFILE_STANDARD);
+ 1.0f, ui::COLOR_PROFILE_STANDARD, nullptr);
// Disconnect 2nd display first to generate new id for external display.
UpdateDisplay("200x200*2");
UpdateDisplay("200x200*2, 500x400#600x500|500x400%60.0f");
« no previous file with comments | « chrome/browser/chromeos/display/display_preferences.cc ('k') | ui/display/manager/display_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698