Disable display rotation in settings page in tablet mode (a.k.a touch view) |
||||||||||||||
Issue descriptionA user shouldn't be able to rotate to the orientation that conflicts with the application requested orientation, so let's disable it to avoid confusion. A user still can change the rotation by tilting the device.
,
Mar 24 2017
> How do we identify tablet mode? In c++, it's MaximiezModeController::IsMaximizeModeWindowManagerEnabled() not sure what's the best way to hook this up on js side. We probably can add it to display api. > Also, shouldn't a user be able to change the orientation of their desktop? A user can rotate the device to change the orientation, but it may not rotate if an application locked the orientation.
,
Mar 27 2017
Is this something we need for 58, or is 59 OK given that we are just trying to reduce confusion, not change functionality?
,
Mar 27 2017
If it's risky to merge, 59 is ok.
,
Mar 27 2017
,
Mar 31 2017
,
Apr 3 2017
,
Apr 3 2017
I'm not marking this as a launch-blocker for MD Settings since we would launch in M59 without this. Please let me know if you disagree.
,
Apr 17 2017
Two questions: 1) I assume MaximiezModeController::IsMaximizeModeWindowManagerEnabled() only applies when there is a single display? 2) Can that change dynamically? If so, what should be observed and how?
,
Apr 17 2017
,
Apr 17 2017
1) I assume MaximiezModeController::IsMaximizeModeWindowManagerEnabled() only applies when there is a single display? Unfortunately, no. Ideally, we should disable only for internal display, but I think just disabling globally is fine. 2) ShellObserver has these methods. https://cs.chromium.org/chromium/src/ash/shell_observer.h?rcl=7735ed2d044b9afaa1c853f003084a55e6c6e42a&l=61
,
Apr 18 2017
OK, I am looking at how best to trigger a chrome.system.display.onDisplayChanged() event for when IsMaximizeModeWindowManagerEnabled() changes. src/extensions does not currently depend on ash, and it probably shouldn't, so I can't make SystemInfoEventRouter an ash::ShellObserver. SystemInfoEventRouter is however already a display::DisplayObserver. I am thinking of having Shell::NotifyMaximizeModeStarted/Ended also call display_manager_->NotifyMetricsChanged(display_manager_->GetPrimaryDisplayCandidat(), DisplayObserver::DISPLAY_METRIC_MAXIMIZE_MODE); WDYT?
,
Apr 19 2017
#8 agreed. This isn't critical, and we can punt this to 60.
,
May 23 2017
I put up a CL for this here: https://codereview.chromium.org/2824843002/ But am waiting on some changes by oshima@ per comment in the CL.
,
May 25 2017
,
Jun 20 2017
Can you go ahead and reassign this to me when the display manager changes are ready (and what to call from the UI)?
,
Jun 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f597670d9a6ea1298dac6048389c3a51e45d6434 commit f597670d9a6ea1298dac6048389c3a51e45d6434 Author: oshima <oshima@chromium.org> Date: Thu Jun 22 22:17:46 2017 Add accelerometer support property to Display. BUG= 704929 TEST=covered by unit test Review-Url: https://codereview.chromium.org/2950083002 Cr-Commit-Position: refs/heads/master@{#481690} [modify] https://crrev.com/f597670d9a6ea1298dac6048389c3a51e45d6434/ash/display/display_manager_unittest.cc [modify] https://crrev.com/f597670d9a6ea1298dac6048389c3a51e45d6434/ash/display/screen_ash.cc [modify] https://crrev.com/f597670d9a6ea1298dac6048389c3a51e45d6434/ui/display/display.h [modify] https://crrev.com/f597670d9a6ea1298dac6048389c3a51e45d6434/ui/display/manager/display_manager.cc [modify] https://crrev.com/f597670d9a6ea1298dac6048389c3a51e45d6434/ui/display/manager/display_manager.h
,
Jun 22 2017
,
Jun 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f642949fc45c792e93e4e9ad1f1f489097ae73a0 commit f642949fc45c792e93e4e9ad1f1f489097ae73a0 Author: kylechar <kylechar@chromium.org> Date: Mon Jun 26 16:37:50 2017 Add AccelerometerSupport to Display StructTraits. Also small cleanup in DisplayStructTraitsTests. Bug: 704929 Change-Id: I00c69a7fb7209554489409c5d016688da386cbc6 Reviewed-on: https://chromium-review.googlesource.com/546619 Commit-Queue: kylechar <kylechar@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#482291} [modify] https://crrev.com/f642949fc45c792e93e4e9ad1f1f489097ae73a0/ui/display/mojo/display.mojom [modify] https://crrev.com/f642949fc45c792e93e4e9ad1f1f489097ae73a0/ui/display/mojo/display.typemap [modify] https://crrev.com/f642949fc45c792e93e4e9ad1f1f489097ae73a0/ui/display/mojo/display_struct_traits.cc [modify] https://crrev.com/f642949fc45c792e93e4e9ad1f1f489097ae73a0/ui/display/mojo/display_struct_traits.h [modify] https://crrev.com/f642949fc45c792e93e4e9ad1f1f489097ae73a0/ui/display/mojo/display_struct_traits_unittest.cc
,
Aug 17 2017
So, with the latest changes, what is the best way for the UI to query whether a Display is in tabled mode? Is the intention to use Display::accelerometer_support() == ACCELEROMETER_SUPPORT_AVAILABLE to disable the rotation toggle?
,
Aug 17 2017
Yes, in your original CL use it instead of is_primary.
,
Aug 17 2017
,
Aug 18 2017
,
Sep 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/449ec1c2cf54c7664a6ab1ad96ed712057fda281 commit 449ec1c2cf54c7664a6ab1ad96ed712057fda281 Author: Steven Bennetts <stevenjb@chromium.org> Date: Mon Sep 18 21:01:59 2017 system.display: Provide properties for accelerometer and tablet mode This CL: * Adds hasAccelerometerSupport to system.display.DisplayUnitInfo * Adds isTabletMode to system.display.DisplayUnitInfo (only possible if hasAccelerometerSupport is true) * Updates the Settings UI to disable the orientation control if isTabletMode is true Bug: 704929 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: I043a85f6bb886392d5d493d4e519def08f00456c Reviewed-on: https://chromium-review.googlesource.com/619295 Commit-Queue: Steven Bennetts <stevenjb@chromium.org> Reviewed-by: Toni Barzic <tbarzic@chromium.org> Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Cr-Commit-Position: refs/heads/master@{#502673} [modify] https://crrev.com/449ec1c2cf54c7664a6ab1ad96ed712057fda281/chrome/browser/extensions/display_info_provider_chromeos.cc [modify] https://crrev.com/449ec1c2cf54c7664a6ab1ad96ed712057fda281/chrome/browser/extensions/display_info_provider_chromeos_unittest.cc [modify] https://crrev.com/449ec1c2cf54c7664a6ab1ad96ed712057fda281/chrome/browser/resources/settings/device_page/display.html [modify] https://crrev.com/449ec1c2cf54c7664a6ab1ad96ed712057fda281/extensions/browser/api/system_display/display_info_provider.cc [modify] https://crrev.com/449ec1c2cf54c7664a6ab1ad96ed712057fda281/extensions/common/api/system_display.idl [modify] https://crrev.com/449ec1c2cf54c7664a6ab1ad96ed712057fda281/third_party/closure_compiler/externs/system_display.js
,
Sep 19 2017
,
Sep 19 2017
|
||||||||||||||
►
Sign in to add a comment |
||||||||||||||
Comment 1 by steve...@chromium.org
, Mar 24 2017