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

Issue 762573 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression
Proj-VR
Proj-XR
Proj-XR-VR



Sign in to add a comment

Chrome VR - Video controls don't auto-hide in fullscreen mode

Project Member Reported by dbbrooks@chromium.org, Sep 6 2017

Issue description

Chrome Version: 62.0.3202.8
OS: Android N
VRCore: 1.8.163477258

Note: Does not happen on M61 61.0. 3163.79

What steps will reproduce the problem?
(1) go to m.youtube.com
(2) enter Chrome VR
(3) select video to play, and click fullscreen button

What is the expected result? Video controls should auto-hide after a second or two.

What happens instead? Video controls remain visible covering the bottom of the video. They don't auto-hide at all.

 
Screenshot_20170906-090310.png
787 KB View Download
Does this only happen while in VR?
Yes, only in VR
Labels: -Pri-2 Pri-1
Status: Available (was: Untriaged)
Components: -Internals>VR UI>Browser>VR
Owner: bshe@chromium.org
Status: Assigned (was: Available)
Biao, can you please take a look?

Comment 7 by bshe@chromium.org, Sep 21 2017

Status: Started (was: Assigned)

Comment 8 by bshe@chromium.org, Sep 21 2017

Cc: dtapu...@chromium.org
bisected to this one: https://chromium-review.googlesource.com/c/chromium/src/+/615424

+dtapuska
In VR, we generate WebMouseEvent in a GL thread and then dispatch these events to content area through RenderWidgetHost.
And once user click the fullscreen video button, the events that we deliver to content are:
kMouseDown
kMouseUp
kMouseMove
...
kMouseLeave (if cursor leaves the fullscreen region)

Do you see anything that could be wrong?
Do you have rAF aligned mouse events on? I wonder if the mousemove isn't actually getting to the DOM because of a lack of BeginMainFrame signal?

Try disabling raf aligned mouse events maybe?

Comment 10 by bshe@chromium.org, Sep 22 2017

I am not quite sure if fullscreen video controls use rAF aligned mouse events. David@ do you happen to know?

From what I can tell is that the fullscreen video control will hide itself if mouse didn't hover on it or mouse didn't move for a while while not hover on the control. Given that the control always show after entering fullscreen now. It seems like the hover state never cleared after fullscreen started. I could still click the control to pause/resume videos. But the control still stays there after I interact with it.

Comment 11 by bshe@chromium.org, Sep 27 2017

Thanks Dave for all the help.

The problem is we are entering into this loop:
1. Mouse event dispatched after a page relayout from here (https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/frame/LocalFrameView.cpp?rcl=9ee94f7ebc8efb880a1dc29e4494576a8f0a49f0&l=2587). The relayout is due to the progress bar update in video control.
2. Video control reset its hiding timer due to the mouse event.
3. Video control update the progress bar while it is visible and cause a page relayout
4. go to step 1
So the video control never hide it self. Step 1 was introduced by the CL that mentioned above. Previously, we don't have step 1. So it was working fine.

It looks like using a (-1, -1) position for MouseLeave event can break the loop (perhaps by not reset the hide timer if the position is out of bound). 
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 29 2017

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

commit 769a874fb57870662933ad0a7083b4e50c838149
Author: Biao She <bshe@chromium.org>
Date: Fri Sep 29 22:10:47 2017

Fix fullscreen video control visibility in cinema mode

With blink feature UpdateHoverPostLayout turned on, a MouseMove event will
dispatched post a Layout. Sending a mouse leave event at 0,0 will result
continuous MouseMove events sent to fullscreen video (as video continuous
relayout itself due to updating video progress in controls). This results
video controls always visible when in fullscreen VR mode. This CL should
fix it.

Bug:  762573 
Change-Id: I22eb20aef6d2216e68aa615e9b08aca811d40fd7
Reviewed-on: https://chromium-review.googlesource.com/693154
Commit-Queue: Biao She <bshe@chromium.org>
Reviewed-by: Amirhossein Simjour <asimjour@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505461}
[modify] https://crrev.com/769a874fb57870662933ad0a7083b4e50c838149/chrome/browser/android/vr_shell/vr_shell_gl.cc

Comment 13 by bshe@chromium.org, Oct 3 2017

Labels: Merge-Request-62
This fix only affect VR. I think it shouldn't cause any issue. Even if there is an issue, it should be VR only and wont affect mainline Chrome.

It should be pretty low risk to merge if we can still merge. Thanks!
Project Member

Comment 14 by sheriffbot@chromium.org, Oct 3 2017

Labels: -Merge-Request-62 Merge-Review-62 Hotlist-Merge-Review
This bug requires manual review: We are only 13 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop)

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

Comment 15 by bshe@chromium.org, Oct 3 2017

Labels: -M-62 -Merge-Review-62 M-63
Status: Fixed (was: Started)
Sorry for the noise. After offline discussion, it is fine to fix this in M63. So removeing merge request

Comment 16 by bshe@chromium.org, Oct 3 2017

Labels: -Hotlist-Merge-Review
-hotlist too
Status: Verified (was: Fixed)
verified in 63.0.3233.0

Sign in to add a comment