New issue
Advanced search Search tips

Issue 667921 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Feature

Blocked on:
issue 672293

Blocking:
issue 634166


Show other hotlists

Hotlists containing this issue:
Fixing-touch


Sign in to add a comment

Implement Touchscreen calibration logic

Project Member Reported by malaykeshav@chromium.org, Nov 22 2016

Issue description

Implement touch screen calibration logic.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2ce4d1d5b71c39ca4cd55d2055e8114eb78502d8

commit 2ce4d1d5b71c39ca4cd55d2055e8114eb78502d8
Author: malaykeshav <malaykeshav@chromium.org>
Date: Tue Nov 29 00:13:57 2016

Prepare ManagedDisplayInfo to store touch calibration associated data

Touch calibration requires atleast 3 pairs of display and touch
points along with the total size of the display.

This change implements a struct to store the minimum touch
calibration associated data and an API for ManagedDisplayInfo
to store and retrieve this data when required.

Design Doc=go/cros-touch-calibration (Draft)

BUG= 667921 
COMPONENT=Display, Chrome OS, Managed Display Info

Review-Url: https://codereview.chromium.org/2521393002
Cr-Commit-Position: refs/heads/master@{#434791}

[modify] https://crrev.com/2ce4d1d5b71c39ca4cd55d2055e8114eb78502d8/ui/display/manager/managed_display_info.cc
[modify] https://crrev.com/2ce4d1d5b71c39ca4cd55d2055e8114eb78502d8/ui/display/manager/managed_display_info.h
[modify] https://crrev.com/2ce4d1d5b71c39ca4cd55d2055e8114eb78502d8/ui/display/manager/managed_display_info_unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3495268d34006ced6ab8d55d3d55edd0f3469613

commit 3495268d34006ced6ab8d55d3d55edd0f3469613
Author: malaykeshav <malaykeshav@chromium.org>
Date: Thu Dec 01 01:16:39 2016

Adds touch calibration methods to system.idl API

Adds the three methods to system.idl file.
  - touchCalibrationStart
  - touchCalibrationSet
  - touchCalibrationReset

Also adds the required object type/structs to system.idl file.
  - Point
  - TouchCalibrationPair
  - TouchCalibrationPairQuad

Design Doc=go/cros-touch-calibration

BUG= 667921 
COMPONENT=System_display.idl, system display interface, display info provider

Review-Url: https://codereview.chromium.org/2538623002
Cr-Commit-Position: refs/heads/master@{#435514}

[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/extensions/browser/api/system_display/display_info_provider.cc
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/extensions/browser/api/system_display/display_info_provider.h
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/extensions/browser/api/system_display/system_display_api.cc
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/extensions/browser/api/system_display/system_display_api.h
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/extensions/browser/extension_function_histogram_value.h
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/extensions/common/api/system_display.idl
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/third_party/closure_compiler/externs/system_display.js
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/third_party/closure_compiler/interfaces/system_display_interface.js
[modify] https://crrev.com/3495268d34006ced6ab8d55d3d55edd0f3469613/tools/metrics/histograms/histograms.xml

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d3a49e6e0c54704c4655374aac0530adfed836d

commit 4d3a49e6e0c54704c4655374aac0530adfed836d
Author: malaykeshav <malaykeshav@chromium.org>
Date: Tue Dec 06 00:03:11 2016

Updates display manager and display preferences to handle touch calibration data.

 - Adds a parameter to display manager's RegisterDisplayProperty
   method to take touch calibration data as argument.
 - Adds methods to display manager that allows the setting
   and clearing of touch calibration data that is stored on the
   device.
 - Allows the storage of touch calibration associated data via
   DisplayPreferences.
 - '==' Operator overload for TouchCalibrationData struct to
   allow single line comparisons.
 - Updates required unit tests.

Design Doc=go/cros-touch-calibration

BUG= 667921 
COMPONENT=DisplayManager, DisplayPreferences, ChromeOS

Review-Url: https://codereview.chromium.org/2540383002
Cr-Commit-Position: refs/heads/master@{#436463}

[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/ash/display/display_manager_unittest.cc
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/chrome/browser/chromeos/display/display_preferences.cc
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/chrome/browser/chromeos/display/display_preferences.h
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/chrome/browser/chromeos/display/display_preferences_unittest.cc
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/ui/display/manager/display_manager.cc
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/ui/display/manager/display_manager.h
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/ui/display/manager/managed_display_info.cc
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/ui/display/manager/managed_display_info.h
[modify] https://crrev.com/4d3a49e6e0c54704c4655374aac0530adfed836d/ui/display/manager/managed_display_info_unittest.cc

Blockedon: 672293
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1

commit 9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1
Author: malaykeshav <malaykeshav@chromium.org>
Date: Thu Dec 22 21:17:03 2016

Implements Touch calibrator controller and a skeleton for touch calibrator view.

Implements TouchCalibratorController class that is responsible for
collecting the touch calibration associated data from the user. It uses
TouchCalibratorView class to present an interface the user can interact
with.

Also includes unittests for TouhcCalibratorController.

Design Doc=go/cros-touch-calibration

BUG= 667921 
COMPONENT=Touch Calibration, ChromeOS, Unittests

Review-Url: https://codereview.chromium.org/2596553003
Cr-Commit-Position: refs/heads/master@{#440502}

[modify] https://crrev.com/9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1/chrome/browser/chromeos/BUILD.gn
[add] https://crrev.com/9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_controller.cc
[add] https://crrev.com/9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_controller.h
[add] https://crrev.com/9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_controller_unittest.cc
[add] https://crrev.com/9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_view.cc
[add] https://crrev.com/9fe4c53f0a4a1d6a983e34ce0d971740b989d8d1/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_view.h

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3e3486a3c4efe28a9e1c391af2fa8cc3f8b41ed8

commit 3e3486a3c4efe28a9e1c391af2fa8cc3f8b41ed8
Author: malaykeshav <malaykeshav@chromium.org>
Date: Thu Dec 22 21:50:36 2016

Implements computation of touch calibration transform using user provided data

Implements the computation of touch transform used to transform all
touch input events coming from a touch device and maps them to their
corresponding locations on the screen/display device.

The design doc linked below offers an explanation on how all the
computation works.

 - Additionally solves a minor bug related to Ozone.
 - Adds test to to check for this minor bug.

Design Doc=go/cros-touch-calibration

BUG= 667921 , 672293 
COMPONENT=Chrome OS, Touch, Ash

Review-Url: https://codereview.chromium.org/2557163002
Cr-Commit-Position: refs/heads/master@{#440515}

[modify] https://crrev.com/3e3486a3c4efe28a9e1c391af2fa8cc3f8b41ed8/ash/BUILD.gn
[modify] https://crrev.com/3e3486a3c4efe28a9e1c391af2fa8cc3f8b41ed8/ash/touch/touch_transformer_controller.cc
[modify] https://crrev.com/3e3486a3c4efe28a9e1c391af2fa8cc3f8b41ed8/ash/touch/touch_transformer_controller.h
[modify] https://crrev.com/3e3486a3c4efe28a9e1c391af2fa8cc3f8b41ed8/ash/touch/touch_transformer_controller_unittest.cc

Status: Fixed (was: Started)
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/795de01a5f04ab858c07e0af0ba56370eaae0aab

commit 795de01a5f04ab858c07e0af0ba56370eaae0aab
Author: malaykeshav <malaykeshav@chromium.org>
Date: Fri Dec 30 08:07:30 2016

Plumbs touch calibration API to the display manager

 - touchCalibrationSet() and touchCalibrationReset() API now work.
 - Fixes minor bug in TouchCalibratorController to allow graceful
   destruction during tests.
 - Updates DisplayInforProviderChromeOS unittests.

BUG= 667921 , 672990 
COMPONENT=Display Info Provider, Chrome OS, API, Touch Calibration

Review-Url: https://codereview.chromium.org/2603563002
Cr-Commit-Position: refs/heads/master@{#441022}

[modify] https://crrev.com/795de01a5f04ab858c07e0af0ba56370eaae0aab/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_controller.cc
[modify] https://crrev.com/795de01a5f04ab858c07e0af0ba56370eaae0aab/chrome/browser/extensions/display_info_provider_chromeos.cc
[modify] https://crrev.com/795de01a5f04ab858c07e0af0ba56370eaae0aab/chrome/browser/extensions/display_info_provider_chromeos.h
[modify] https://crrev.com/795de01a5f04ab858c07e0af0ba56370eaae0aab/chrome/browser/extensions/display_info_provider_chromeos_unittest.cc
[modify] https://crrev.com/795de01a5f04ab858c07e0af0ba56370eaae0aab/extensions/browser/api/system_display/display_info_provider.cc
[modify] https://crrev.com/795de01a5f04ab858c07e0af0ba56370eaae0aab/extensions/browser/api/system_display/display_info_provider.h
[modify] https://crrev.com/795de01a5f04ab858c07e0af0ba56370eaae0aab/extensions/browser/api/system_display/system_display_api.cc

Labels: -Restrict-View-Google

Comment 10 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 11 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 12 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Status: Verified (was: Fixed)

Sign in to add a comment