Implement touch screen calibration logic.
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
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
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
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
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
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
Comment 1 by bugdroid1@chromium.org
, Nov 29 2016