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

Issue 794713 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Rotate to Fullscreen no longer works since M64

Project Member Reported by mlamouri@chromium.org, Dec 13 2017

Issue description

Since M64 (currenty Chrome Dev and Chrome Canary), the "rotate to fullscreen" is broken.

The breakage was caused by a refactoring of the device orientation backend that happened here: https://chromium-review.googlesource.com/c/chromium/src/+/726261 The feature is indeed depending on the device orientation API and disable itself when device orientation isn't available (happens on some device).

Obviously, the feature came with an integration test but it appears that it was disabled in bug 726977 and johnme@ was assigned to it. johnme@ left the team and then left Chrome, hiding this bug from the rest of the team.

Current plan is to revert the change hoping that we can revert it on the beta channel. Otherwise, we will have to find why the feature was broken and attempt to cherry-pick a fix on M64. Either way, we will have to re-enable the tests.
 
Cc: timvolod...@chromium.org reillyg@chromium.org juncai@chromium.org
+juncai@ +timvolodine@ +reillyg@ who wrote/reviewed the original CL.
I filed bug 795286 to resolve the root cause of this issue, see the bug for more info.
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 21 2017

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

commit 6da7ec98b04ecba7b3e997b9bb3e3d50a10dbde3
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Thu Dec 21 13:45:10 2017

Media Controls: workaround a bug in device orientation where the backend requires a v8::Context in the stack.

Also re-enables the rotate-to-fullscreen that were disabled without the
team being notified. It is fixing one source of flakyness. Another one
will require further investigation.

Bug:  794713 , 726977
Change-Id: Ib2f5443c1b312aca57db82e8682d76c01cf2ba21
Reviewed-on: https://chromium-review.googlesource.com/829733
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525683}
[modify] https://crrev.com/6da7ec98b04ecba7b3e997b9bb3e3d50a10dbde3/content/public/android/javatests/src/org/chromium/content/browser/VideoRotateToFullscreenTest.java
[modify] https://crrev.com/6da7ec98b04ecba7b3e997b9bb3e3d50a10dbde3/third_party/WebKit/Source/modules/media_controls/MediaControlsRotateToFullscreenDelegate.cpp

Labels: Merge-Request-64
Project Member

Comment 5 by sheriffbot@chromium.org, Dec 21 2017

Labels: -Merge-Request-64 Hotlist-Merge-Review Merge-Review-64
This bug requires manual review: M64 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-64 Merge-Approved-64
Approving merge to M64 Chrome OS.

Labels: -Merge-Approved-64 Merge-Request-64
apologies; reverting this approval since targeted for Android, not Chrome
Project Member

Comment 8 by sheriffbot@chromium.org, Dec 21 2017

Labels: -Merge-Request-64 Merge-Review-64
This bug requires manual review: M64 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 9 by cma...@chromium.org, Dec 21 2017

Please verify the issue in fixed in the next canary before requesting merge approval.
Cc: amineer@chromium.org
This is working and tested in the current Canary (65.0.3303.0)

+amineer@ as cmasso@ is now out.
Rotate to Fullscreen works as per expected behavior, Issue verified on 65.0.3305.0
Hmm, I visited youtube.com to try to test this myself and saw two things:
 - Fullscreen is not auto-initiated when rotating the device on 65.0.3304.0
 -  Issue 797790  when tapping the fullscreen button manually

Prior to approving the merge, can you help me understand why I'm seeing these behaviors?  The fix in c#3 landed in 65.0.3301.0 so I'd expect all to be good on my version.
This is actually puzzling. It's working on Chromium but not on Chrome Canary. At that point, I'm not sure if it was working when I tested it on 3303 or if I mistakenly tried on Chromium. While investigating, I've found a race in the device orientation code [1] but this wouldn't explain a 100% not working bug.

I'm going to give it another try using Clankium instead of Chromium. There might be another issue in Clankium that was hidding behind this bug.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/847003
Clankium is working fine too.

Comment 15 by cmasso@google.com, Jan 5 2018

Labels: M-65

Comment 16 by cmasso@google.com, Jan 5 2018

Labels: -Hotlist-Merge-Review -Merge-Review-64 Merge-Approved-64
Approving the merge to revert the patch that is causing this issue from M64 branch.
Project Member

Comment 17 by bugdroid1@chromium.org, Jan 5 2018

Labels: -merge-approved-64 merge-merged-3282
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fbeb6df58442b011d5ebccad251286dcb15dc9f7

commit fbeb6df58442b011d5ebccad251286dcb15dc9f7
Author: Reilly Grant <reillyg@chromium.org>
Date: Fri Jan 05 19:55:15 2018

[M-64] Revert DeviceOrientationEventPump refactoring

This patch reverts the following two changes in order to resolve
regressions introduced in M-64 which will be fixed on HEAD with other
changes:

"Reland: Refactor DeviceOrientationEventPump to use generic sensor as its backend"
https://chromium-review.googlesource.com/726261

"Return Sensor pipe in SensorInitParams"
https://chromium-review.googlesource.com/757283

This patch was tested by running all *Sensor* tests in unit_tests,
browser_tests, content_unittests, content_browsertests and
services_unittests, by verifying that "rotate to full screen"
works on youtube.com and by running the one-shot.html test from
 issue 799043 .

Bug:  721427 , 794713 , 798409 , 799043 
Change-Id: I2c0573578d6a333b62aa9fd53a57d08d94454783
Reviewed-on: https://chromium-review.googlesource.com/850822
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#423}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/browser/device_sensors/device_sensor_browsertest.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/browser/generic_sensor/sensor_provider_proxy_impl.h
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/browser/generic_sensor_browsertest.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/device_sensors/device_motion_event_pump.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/device_sensors/device_motion_event_pump.h
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/device_sensors/device_motion_event_pump_unittest.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/device_sensors/device_orientation_event_pump.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/device_sensors/device_orientation_event_pump.h
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/device_sensors/device_orientation_event_pump_unittest.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/device_sensors/device_sensor_event_pump.h
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/content/renderer/renderer_blink_platform_impl.cc
[delete] https://crrev.com/45377e18a2ec8f726df564835e9e8e8ccaeea6ec/content/test/data/device_sensors/device_orientation_fallback_to_absolute_test.html
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/services/device/device_service.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/services/device/device_service.h
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/services/device/generic_sensor/generic_sensor_service_unittest.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/services/device/generic_sensor/sensor_provider_impl.cc
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/services/device/generic_sensor/sensor_provider_impl.h
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/services/device/public/interfaces/sensor_provider.mojom
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/third_party/WebKit/LayoutTests/sensor/resources/sensor-helpers.js
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/third_party/WebKit/Source/modules/sensor/SensorProxy.cpp
[modify] https://crrev.com/fbeb6df58442b011d5ebccad251286dcb15dc9f7/third_party/WebKit/Source/modules/sensor/SensorProxy.h

Please verify in M64 and close this issue if all looks good.
Status: Fixed (was: Started)
Status: Verified (was: Fixed)
Tried with 64.0.3282.87 and it is working.

Sign in to add a comment