New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 736936 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Jun 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Add experimental flags to ignore accidental power button presses

Project Member Reported by derat@chromium.org, Jun 26 2017

Issue description

I'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.)
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/e0be224fcc896d20cc1979019d7bedf5740ac944

commit e0be224fcc896d20cc1979019d7bedf5740ac944
Author: Daniel Erat <derat@chromium.org>
Date: Tue Jun 27 01:35:31 2017

login: Set tablet_power_button_controller vmodule to 1.

Update the verbose logging level for
tablet_power_button_controller to 1 to help evaluate
possible values for experimental flags. Nothing is logged
unless the flags are set via chrome://flags.

BUG= chromium:736936 
TEST=checked --vmodule was set correctly

Change-Id: I5065fa295270a51b20a08cb8b76293d6138d310e
Reviewed-on: https://chromium-review.googlesource.com/549013
Commit-Queue: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Trybot-Ready: Dan Erat <derat@chromium.org>
Reviewed-by: Qiang(Joe) Xu <warx@chromium.org>

[modify] https://crrev.com/e0be224fcc896d20cc1979019d7bedf5740ac944/login_manager/chrome_setup.cc

Project Member

Comment 2 by bugdroid1@chromium.org, 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

Project Member

Comment 3 by bugdroid1@chromium.org, 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

Comment 4 by derat@chromium.org, Jun 28 2017

Status: Fixed (was: Started)
Project Member

Comment 5 by bugdroid1@chromium.org, 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

Project Member

Comment 6 by bugdroid1@chromium.org, 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

Comment 7 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)
Project Member

Comment 8 by bugdroid1@chromium.org, 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