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

Unified Diff: chrome/browser/extensions/display_info_provider_chromeos.cc

Issue 2638903003: Updates touch calibration API and plumbs through the native touch calibration method (Closed)
Patch Set: Created 3 years, 11 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: chrome/browser/extensions/display_info_provider_chromeos.cc
diff --git a/chrome/browser/extensions/display_info_provider_chromeos.cc b/chrome/browser/extensions/display_info_provider_chromeos.cc
index b8f392453b8ee16f77fa226a4cce1d6fffaa52ff..759870ff144e9d92caabfeee7bd0861dacee3d23 100644
--- a/chrome/browser/extensions/display_info_provider_chromeos.cc
+++ b/chrome/browser/extensions/display_info_provider_chromeos.cc
@@ -9,6 +9,7 @@
#include "ash/display/display_configuration_controller.h"
#include "ash/display/resolution_notification_controller.h"
#include "ash/shell.h"
+#include "ash/touch/ash_touch_transform_controller.h"
#include "base/strings/string_number_conversions.h"
#include "chrome/browser/chromeos/display/display_preferences.h"
#include "chrome/browser/chromeos/display/overscan_calibrator.h"
@@ -660,12 +661,17 @@ bool DisplayInfoProviderChromeOS::OverscanCalibrationComplete(
return true;
}
-bool DisplayInfoProviderChromeOS::TouchCalibrationSet(
+bool DisplayInfoProviderChromeOS::StartNativeTouchCalibration(
const std::string& id,
- const api::system_display::TouchCalibrationPairQuad& pairs,
- const api::system_display::Bounds& bounds,
std::string* error) {
- VLOG(1) << "TouchCalibrationSet: " << id;
+ VLOG(1) << "StartNativeTouchCalibration: " << id;
+
+ if (is_custom_touch_calibration_active_) {
+ *error = "Please complete the custom touch calibration that is under "
+ "progress for id - " + touch_calibration_target_id_ + " before "
+ "calling this method.";
+ return false;
+ }
const display::Display display = GetDisplay(id);
if (!ValidateParamsForTouchCalibration(id, display, GetTouchCalibrator(),
@@ -673,6 +679,54 @@ bool DisplayInfoProviderChromeOS::TouchCalibrationSet(
return false;
}
+ GetTouchCalibrator()->StartCalibration(display);
+ return true;
+}
+
+bool DisplayInfoProviderChromeOS::StartCustomTouchCalibration(
+ const std::string& id,
+ std::string* error) {
+ VLOG(1) << "StartCustomTouchCalibration: " << id;
+ const display::Display display = GetDisplay(id);
+ if (!ValidateParamsForTouchCalibration(id, display, GetTouchCalibrator(),
+ error)) {
+ return false;
+ }
+
+ touch_calibration_target_id_ = id;
+ is_custom_touch_calibration_active_ = true;
+
+ // Enable un-transformed touch input.
+ ash::Shell::GetInstance()->touch_transformer_controller()->SetForCalibration(
+ true);
+ return true;
+}
+
+bool DisplayInfoProviderChromeOS::CompleteCustomTouchCalibration(
+ const api::system_display::TouchCalibrationPairQuad& pairs,
+ const api::system_display::Bounds& bounds,
+ std::string* error) {
+ VLOG(1) << "CompleteCustomTouchCalibration: " << touch_calibration_target_id_;
+
+ ash::Shell::GetInstance()->touch_transformer_controller()->SetForCalibration(
+ false);
+
+ const display::Display display = GetDisplay(touch_calibration_target_id_);
+ touch_calibration_target_id_ = "";
+
+ if (!is_custom_touch_calibration_active_) {
+ *error = "Please call StartCustomTouchCalibration() before calling this "
Reilly Grant (use Gerrit) 2017/01/18 21:35:56 Since this error is passed back to the extension t
malaykeshav 2017/01/19 01:30:51 Done
+ "method.";
+ return false;
+ }
+
+ is_custom_touch_calibration_active_ = false;
+
+ if (!ValidateParamsForTouchCalibration(
+ touch_calibration_target_id_, display, GetTouchCalibrator(), error)) {
+ return false;
+ }
+
display::TouchCalibrationData::CalibrationPointPairQuad calibration_points;
calibration_points[0] = GetCalibrationPair(pairs.pair1);
calibration_points[1] = GetCalibrationPair(pairs.pair2);
@@ -710,7 +764,7 @@ bool DisplayInfoProviderChromeOS::TouchCalibrationSet(
return true;
}
-bool DisplayInfoProviderChromeOS::TouchCalibrationReset(const std::string& id,
+bool DisplayInfoProviderChromeOS::ResetTouchCalibration(const std::string& id,
std::string* error) {
const display::Display display = GetDisplay(id);
@@ -724,7 +778,8 @@ bool DisplayInfoProviderChromeOS::TouchCalibrationReset(const std::string& id,
return true;
}
-bool DisplayInfoProviderChromeOS::IsTouchCalibrationActive(std::string* error) {
+bool DisplayInfoProviderChromeOS::IsNativeTouchCalibrationActive(
+ std::string* error) {
if (GetTouchCalibrator()->is_calibrating()) {
*error = "Another touch calibration is already active.";
return true;

Powered by Google App Engine
This is Rietveld 408576698