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

Issue 713225 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
no longer working on chrome
Closed: Sep 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Feature

Blocked on:
issue 719467
issue 713705
issue 713706
issue 717520
issue 728145

Blocking:
issue 698353
issue 713233



Sign in to add a comment

Rotate-to-fullscreen gesture for videos

Project Member Reported by joh...@chromium.org, Apr 19 2017

Issue description

Consider automatically entering/exiting fullscreen when the user rotates their device to/from the natural orientation of the video.

Several native apps do this, and it seems to be a nice intuitive gesture.

Implement it behind chrome://flags initially, so it can be experimented with.
 
Blocking: -605799 713233
Blockedon: 713705
Blockedon: 713706

Comment 4 by dah...@chromium.org, Apr 21 2017

Blocking: 698353
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 28 2017

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

commit 913ee5fe4cfcc42ebc568965169258bc37fb0237
Author: johnme <johnme@chromium.org>
Date: Fri Apr 28 21:36:16 2017

[Media controls] Add rotate-to-fullscreen gesture behind flag

Adds an experimental gesture on Android, which automatically
enters/exits fullscreen when the user rotates their device to/from the
natural orientation of the video.

Disabled by default; see video-rotate-to-fullscreen in chrome://flags

BUG= 713225 

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

[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/chrome/browser/about_flags.cc
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/content/public/common/common_param_traits_macros.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/content/public/common/web_preferences.cc
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/content/public/common/web_preferences.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/content/renderer/render_view_impl.cc
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/media/base/media_switches.cc
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/media/base/media_switches.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/core/html/HTMLMediaElement.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/BUILD.gn
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegate.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegateTest.cpp
[add] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/MediaControlsRotateToFullscreenDelegate.cpp
[add] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/MediaControlsRotateToFullscreenDelegate.h
[add] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/modules/media_controls/MediaControlsRotateToFullscreenDelegateTest.cpp
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/Source/web/WebRuntimeFeatures.cpp
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/third_party/WebKit/public/web/WebRuntimeFeatures.h
[modify] https://crrev.com/913ee5fe4cfcc42ebc568965169258bc37fb0237/tools/metrics/histograms/histograms.xml

Blockedon: 717520
Blockedon: 719467
Project Member

Comment 9 by bugdroid1@chromium.org, May 25 2017

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

commit 0dfadaecdbd95a4babb5b05a3fc50441b0aba845
Author: johnme <johnme@chromium.org>
Date: Thu May 25 12:40:15 2017

[Media controls] Integrate rotate-to-fullscreen with orientation lock

Until now, enabling the video-rotate-to-fullscreen feature required
disabling the video-fullscreen-orientation-lock feature. This patch
makes MediaControlsOrientationLockDelegate aware of
MediaControlsRotateToFullscreenDelegate, specifically when both are
enabled and the user hasn't locked their screen orientation it will only
lock the screen orientation until the user rotates their device to match
the orientation of the video (whereas previously it would hold the lock
until the video stopped being fullscreen). Thus the user will be able to
exit fullscreen by rotating their device back to the opposite
orientation.

The reason this only happens if the user hasn't locked their screen
orientation at the OS level is to make it possible to watch videos
whilst lying in bed with your head at 90 degrees to the usual up
direction.

To help visualize the maths behind the orientation calculations, I wrote
https://jsbin.com/sobopem and https://jsbin.com/rijakaf (view them on a
phone or tablet).

BUG= 713225 

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

[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/device/screen_orientation/public/interfaces/screen_orientation.mojom
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/services/device/screen_orientation/android/java/src/org/chromium/device/screen_orientation/ScreenOrientationListener.java
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/services/device/screen_orientation/screen_orientation_listener_android.cc
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/services/device/screen_orientation/screen_orientation_listener_android.h
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/BUILD.gn
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/DEPS
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegate.cpp
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegate.h
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegateTest.cpp
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/MediaControlsRotateToFullscreenDelegate.cpp
[modify] https://crrev.com/0dfadaecdbd95a4babb5b05a3fc50441b0aba845/third_party/WebKit/Source/modules/media_controls/MediaControlsRotateToFullscreenDelegateTest.cpp

Blockedon: 728145
Project Member

Comment 11 by bugdroid1@chromium.org, Jun 15 2017

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

commit 5cda18fb9712a92da8b7c45691eee7b3cc4206a0
Author: johnme <johnme@chromium.org>
Date: Thu Jun 15 12:52:57 2017

[Media Controls] Tests for rotate-to-fullscreen meets orientation lock

Adds tests for the interactions between the rotate-to-fullscreen and
fullscreen orientation lock features, especially the device orientation
listener added in 0dfadaecdbd95a4babb5b05a3fc50441b0aba845 @{#474632}
(https://codereview.chromium.org/2890423003).

BUG= 713225 

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

[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/device_orientation/DeviceOrientationData.h
[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h
[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegate.cpp
[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegate.h
[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/media_controls/MediaControlsOrientationLockDelegateTest.cpp
[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/media_controls/MediaControlsRotateToFullscreenDelegateTest.cpp
[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationControllerImpl.cpp
[modify] https://crrev.com/5cda18fb9712a92da8b7c45691eee7b3cc4206a0/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationControllerImpl.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 23 2017

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

commit a9613b5edbee77c0b668743018b495cb50ca0d0c
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Fri Jun 23 23:42:55 2017

Rotate to Fullscreen: enable feature by default.

Bug:  713225 
Change-Id: Ifb391a9984b193dfeff459c94f8b38972ffaa1c4
Reviewed-on: https://chromium-review.googlesource.com/545260
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482072}
[modify] https://crrev.com/a9613b5edbee77c0b668743018b495cb50ca0d0c/media/base/media_switches.cc

Status: Fixed (was: Started)
Implemented. Should launch in Chrome 62; follow issue 713233.

Sign in to add a comment