Add experimental flags to ignore accidental power button presses |
|||
Issue descriptionI'm adding flags to Chrome that can be used to configure the TabletPowerButtonController class to disregard power button events if accelerometers have reported a lot of recent movement or if the computed lid angle has changed drastically. The plan is for others to be able to play with these to determine the right values that we should ship, which may be different for different hardware. I've heard reports that some users are having trouble with hitting the power button accidentally while going into or out of tablet mode on caroline and kevin, and there's more discussion of similar problems at http://b/38188847. (This is a public bug, so please don't use it to discuss unreleased hardware.)
,
Jun 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a commit d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a Author: Daniel Erat <derat@chromium.org> Date: Tue Jun 27 05:31:35 2017 chromeos: Flags to ignore accidental power button presses. Add a bunch of experimental flags to chrome://flags to configure the TabletPowerButtonController class to acquire accelerometer data and use it to disregard power button events that it determines to be accidental/spurious. BUG= 736936 Change-Id: Id6573364af65affb1a91fb9c18753a35c18452c5 Reviewed-on: https://chromium-review.googlesource.com/549476 Commit-Queue: Dan Erat <derat@chromium.org> Reviewed-by: Qiang(Joe) Xu <warx@chromium.org> Cr-Commit-Position: refs/heads/master@{#482543} [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/ash/ash_switches.cc [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/ash/ash_switches.h [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/ash/system/power/tablet_power_button_controller.cc [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/ash/system/power/tablet_power_button_controller.h [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/ash/system/power/tablet_power_button_controller_unittest.cc [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/chrome/browser/about_flags.cc [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/chrome/browser/flag_descriptions.h [modify] https://crrev.com/d42ad28d76f64fd6c8e790a8ba74f4f56fd6b08a/tools/metrics/histograms/enums.xml
,
Jun 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/33054b24222218ecbc4541aece3ae23d09aacd0a commit 33054b24222218ecbc4541aece3ae23d09aacd0a Author: Daniel Erat <derat@chromium.org> Date: Tue Jun 27 18:47:59 2017 Reland "chromeos: Flags to ignore accidental power button presses." This reverts commit 982475f97f72, which reverted d42ad28d76f6 due to use-after-frees in TabletPowerButtonControllerTest.EnableOnAccelerometerUpdate and TabletPowerButtonControllerTest.SyncTouchscreenStatus. These tests freed TabletPowerButtonController but left stale references to it in raw pointers (which code added by d42ad28d76f6 made use of). This change introduces a helper method that frees TabletPowerButtonController and also resets related pointers. Original commit message: Add a bunch of experimental flags to chrome://flags to configure the TabletPowerButtonController class to acquire accelerometer data and use it to disregard power button events that it determines to be accidental/spurious. BUG= 736936 Change-Id: Ic6a881ced11044b06e9daf47144722b80e680073 Reviewed-on: https://chromium-review.googlesource.com/549976 Reviewed-by: Qiang(Joe) Xu <warx@chromium.org> Commit-Queue: Dan Erat <derat@chromium.org> Cr-Commit-Position: refs/heads/master@{#482694} [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/ash/ash_switches.cc [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/ash/ash_switches.h [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/ash/system/power/tablet_power_button_controller.cc [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/ash/system/power/tablet_power_button_controller.h [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/ash/system/power/tablet_power_button_controller_unittest.cc [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/chrome/browser/about_flags.cc [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/chrome/browser/flag_descriptions.h [modify] https://crrev.com/33054b24222218ecbc4541aece3ae23d09aacd0a/tools/metrics/histograms/enums.xml
,
Jun 28 2017
,
Jul 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e142d1f90c3478b657ed0c4c63897a3d184545a5 commit e142d1f90c3478b657ed0c4c63897a3d184545a5 Author: Daniel Erat <derat@chromium.org> Date: Wed Jul 12 22:09:11 2017 chromeos: Log tablet power button durations. When the "Spurious power button window" flag is set to a nonzero value, additionally log the duration that the tablet power button was held whenever it's released. This will be used to gather more information from user tests. BUG= 736936 TEST=enabled the flag and checked /home/chronos/user/log/chrome after pressing the power button Change-Id: Ic34e788035323c4493be0d082ff88c8440510275 Reviewed-on: https://chromium-review.googlesource.com/568174 Reviewed-by: Qiang(Joe) Xu <warx@chromium.org> Commit-Queue: Dan Erat <derat@chromium.org> Cr-Commit-Position: refs/heads/master@{#486129} [modify] https://crrev.com/e142d1f90c3478b657ed0c4c63897a3d184545a5/ash/system/power/tablet_power_button_controller.cc [modify] https://crrev.com/e142d1f90c3478b657ed0c4c63897a3d184545a5/ash/system/power/tablet_power_button_controller.h
,
Nov 6 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e5137e3aa92595669c787165b834e5ef4d7a63a3 commit e5137e3aa92595669c787165b834e5ef4d7a63a3 Author: Daniel Erat <derat@chromium.org> Date: Mon Nov 06 23:15:14 2017 chromeos: Delete experimental spurious-power-button flags. Remove never-used flags that were added to attempt to ignore accidental power button presses: --spurious-power-button-window --spurious-power-button-accel-count --spurious-power-button-screen-accel --spurious-power-button-keyboard-accel --spurious-power-button-lid-angle-change Bug: 781561 , 736936 Change-Id: I389d6d2cc8d530bf1bef09d780fd52c1d6bd011c Reviewed-on: https://chromium-review.googlesource.com/754184 Commit-Queue: Dan Erat <derat@chromium.org> Reviewed-by: Qiang(Joe) Xu <warx@chromium.org> Cr-Commit-Position: refs/heads/master@{#514280} [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/public/cpp/ash_switches.cc [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/public/cpp/ash_switches.h [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/system/power/power_button_test_base.cc [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/system/power/tablet_power_button_controller.cc [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/system/power/tablet_power_button_controller.h [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/system/power/tablet_power_button_controller_test_api.cc [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/system/power/tablet_power_button_controller_test_api.h [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/ash/system/power/tablet_power_button_controller_unittest.cc [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/chrome/browser/about_flags.cc [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/e5137e3aa92595669c787165b834e5ef4d7a63a3/chrome/browser/flag_descriptions.h
,
Jan 22 2018
,
May 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/bacb8f7193fccc60c96e13b83fd21034874ba0e0 commit bacb8f7193fccc60c96e13b83fd21034874ba0e0 Author: Daniel Erat <derat@chromium.org> Date: Fri May 11 19:10:52 2018 login: Stop passing various obsolete switches to Chrome. Make session_manager stop passing various seemingly-unneeded switches to Chrome: --force-clamshell-power-button (unused starting at M67) --enable-features=QuickUnlockPin (on by default in Chrome) --oobe-bootstrapping-slave (no longer exists in Chrome) --vmodule=tablet_power_button_controller=1 (736936 closed) --vmodule=automatic_reboot_manager=1 (b:69546724 closed) --vmodule=arc_kiosk*=2 (812594 closed) --vmodule=*zygote*=1,*plugin*=2 (314301 closed) BUG= chromium:841669 , chromium:736936 ,chromium:812594,chromium:314301,b:69546724 TEST=none Change-Id: Idc402edd68c831e958372afbdc988ced732f82d1 Reviewed-on: https://chromium-review.googlesource.com/1053566 Commit-Ready: Dan Erat <derat@chromium.org> Tested-by: Dan Erat <derat@chromium.org> Reviewed-by: Mattias Nissler <mnissler@chromium.org> [modify] https://crrev.com/bacb8f7193fccc60c96e13b83fd21034874ba0e0/login_manager/chrome_setup.cc |
|||
►
Sign in to add a comment |
|||
Comment 1 by bugdroid1@chromium.org
, Jun 27 2017