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

Unified Diff: extensions/browser/api/system_display/system_display_api.cc

Issue 2656433004: - Plumbs through native touch calibration from MD settings to display manager via the system dis… (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: extensions/browser/api/system_display/system_display_api.cc
diff --git a/extensions/browser/api/system_display/system_display_api.cc b/extensions/browser/api/system_display/system_display_api.cc
index 1b7596586587675fd2bea9c29f4e3bb3777ed9a7..a12d23715c4b7c02562e4a558a73b7fc2fd25e72 100644
--- a/extensions/browser/api/system_display/system_display_api.cc
+++ b/extensions/browser/api/system_display/system_display_api.cc
@@ -30,6 +30,10 @@ const char SystemDisplayFunction::kCrosOnlyError[] =
const char SystemDisplayFunction::kKioskOnlyError[] =
"Only kiosk enabled extensions are allowed to use this function.";
+const char
+ SystemDisplayShowNativeTouchCalibrationFunction::kTouchCalibrationError[] =
+ "Touch calibration failed";
+
namespace {
class OverscanTracker;
@@ -267,45 +271,73 @@ SystemDisplayOverscanCalibrationCompleteFunction::Run() {
}
ExtensionFunction::ResponseAction
-SystemDisplayTouchCalibrationStartFunction::Run() {
- std::unique_ptr<display::TouchCalibrationStart::Params> params(
- display::TouchCalibrationStart::Params::Create(*args_));
+SystemDisplayShowNativeTouchCalibrationFunction::Run() {
+ std::unique_ptr<display::ShowNativeTouchCalibration::Params> params(
+ display::ShowNativeTouchCalibration::Params::Create(*args_));
std::string error;
- if (DisplayInfoProvider::Get()->IsTouchCalibrationActive(&error))
+ if (DisplayInfoProvider::Get()->IsNativeTouchCalibrationActive(&error))
return RespondNow(Error(error));
- if (!DisplayInfoProvider::Get()->TouchCalibrationStart(params->id))
- return RespondNow(Error("Invalid display ID: " + params->id));
+ if (!DisplayInfoProvider::Get()->ShowNativeTouchCalibration(
+ params->id, &error,
+ base::Bind(&SystemDisplayShowNativeTouchCalibrationFunction::
+ OnCalibrationComplete,
+ this))) {
+ return RespondNow(Error(error));
+ }
+ return RespondLater();
+}
+
+void SystemDisplayShowNativeTouchCalibrationFunction::OnCalibrationComplete(
+ bool success) {
+ if (success)
+ Respond(OneArgument(base::MakeUnique<base::FundamentalValue>(true)));
+ else
+ Respond(Error(kTouchCalibrationError));
+}
+
+ExtensionFunction::ResponseAction
+SystemDisplayStartCustomTouchCalibrationFunction::Run() {
+ std::unique_ptr<display::StartCustomTouchCalibration::Params> params(
+ display::StartCustomTouchCalibration::Params::Create(*args_));
+
+ std::string error;
+ if (DisplayInfoProvider::Get()->IsNativeTouchCalibrationActive(&error))
+ return RespondNow(Error(error));
+
+ if (!DisplayInfoProvider::Get()->StartCustomTouchCalibration(params->id,
+ &error))
+ return RespondNow(Error(error));
return RespondNow(NoArguments());
}
ExtensionFunction::ResponseAction
-SystemDisplayTouchCalibrationSetFunction::Run() {
- std::unique_ptr<display::TouchCalibrationSet::Params> params(
- display::TouchCalibrationSet::Params::Create(*args_));
+SystemDisplayCompleteCustomTouchCalibrationFunction::Run() {
+ std::unique_ptr<display::CompleteCustomTouchCalibration::Params> params(
+ display::CompleteCustomTouchCalibration::Params::Create(*args_));
std::string error;
- if (DisplayInfoProvider::Get()->IsTouchCalibrationActive(&error))
+ if (DisplayInfoProvider::Get()->IsNativeTouchCalibrationActive(&error))
return RespondNow(Error(error));
- if (!DisplayInfoProvider::Get()->TouchCalibrationSet(
- params->id, params->pairs, params->bounds, &error)) {
+ if (!DisplayInfoProvider::Get()->CompleteCustomTouchCalibration(
+ params->pairs, params->bounds, &error)) {
return RespondNow(Error(error));
}
return RespondNow(NoArguments());
}
ExtensionFunction::ResponseAction
-SystemDisplayTouchCalibrationResetFunction::Run() {
- std::unique_ptr<display::TouchCalibrationReset::Params> params(
- display::TouchCalibrationReset::Params::Create(*args_));
+SystemDisplayClearTouchCalibrationFunction::Run() {
+ std::unique_ptr<display::ClearTouchCalibration::Params> params(
+ display::ClearTouchCalibration::Params::Create(*args_));
std::string error;
- if (DisplayInfoProvider::Get()->IsTouchCalibrationActive(&error))
+ if (DisplayInfoProvider::Get()->IsNativeTouchCalibrationActive(&error))
return RespondNow(Error(error));
- if (!DisplayInfoProvider::Get()->TouchCalibrationReset(params->id, &error))
+ if (!DisplayInfoProvider::Get()->ClearTouchCalibration(params->id, &error))
return RespondNow(Error(error));
return RespondNow(NoArguments());
}

Powered by Google App Engine
This is Rietveld 408576698