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

Issue 663931 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 2
Type: Bug



Sign in to add a comment

HTML5 audio player: Volume bar missing after few refreshes

Project Member Reported by avkodipelli@chromium.org, Nov 9 2016

Issue description

Chrome Version: 55.0.2883.42
Chrome OS Version: 8872.44.0
Chrome OS Platform: buddy, lulu, sentry
Network info: Wifi

Please specify Cr-* of the system to which this bug/feature applies (add
the label below).

Steps To Reproduce:
(1) Open any audio file in browser to play in HTML5 player
(2) select audio from local folder or drive folder using (ctrl + o)
(3) refresh page using (ctrl + r) for few times(around 4 to 5 times) 
(4) Observe volume bar

Expected Result:
- No UI issues

Actual Result:
-- Observing volume bar missing after few refreshes as shown in below video and it appears with mouse over on player controls

How frequently does this problem reproduce? (Always, sometimes, hard to
reproduce?)
Always
What is the impact to the user, and is there a workaround? If so, what is
it?

Please provide any additional information below. Attach a screen shot or
log if possible.
Not reproduced on ARM devices
Observation video provided below.

 
Cc: mlamouri@chromium.org zqzh...@chromium.org
Labels: OS-Linux
Status: Available (was: Untriaged)
I can confirm the issue on ToT on Linux. If I hover over the controls when they don't show the volume bar, they change. Might be we don't refresh the media controls when we need to.
Looked a bit into this issue. It is related to MediaControls::computeWhichControlsFit().
https://chromium.googlesource.com/chromium/src.git/+/73ae2d3b2547c25a254e7b74f14f5ebf7743b06e/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp#775

|minimumWidth| is initialized as 48 (the Android value), while it should be 32 for desktop. However it is not updated since |m_playButton->layoutObject()| is not initialized yet. Therefore it assumes all buttons need 48 px, and when it is computed again, |m_playButton->layoutObject()| is initialized as 32 so more buttons/sliders can be displayed.
Labels: -M-55 M-57
Owner: mlamouri@chromium.org
Status: Assigned (was: Available)
Assigning to myself in case of I find time to tackle this.
Status: Started (was: Assigned)
Project Member

Comment 6 by bugdroid1@chromium.org, Feb 20 2017

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

commit e5399d9f871fab1ea1e7b061125106199ee0545a
Author: mlamouri <mlamouri@chromium.org>
Date: Mon Feb 20 13:03:27 2017

Media Controls: cache the minimum width in order to reduce incorrect width usage.

The width of media controls buttons depends on the platform (Android vs
desktop) and is known by looking at the layout of the play button or the
overflow menu button. This technique has limitations because it requires
one layout to happen which might take a long time depending on when the
controls have been toggled.

The new solution consist of saving the minimum width so that as soon as
the controls discovered the right value, they should no longer appear
broken.

BUG= 663931 
R=zqzhang@chromium.org

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

[add] https://crrev.com/e5399d9f871fab1ea1e7b061125106199ee0545a/third_party/WebKit/LayoutTests/media/controls/buttons-after-reset-expected.html
[add] https://crrev.com/e5399d9f871fab1ea1e7b061125106199ee0545a/third_party/WebKit/LayoutTests/media/controls/buttons-after-reset.html
[modify] https://crrev.com/e5399d9f871fab1ea1e7b061125106199ee0545a/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp

Labels: Merge-Request-57
Project Member

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

Labels: -Merge-Request-57 Hotlist-Merge-Approved Merge-Approved-57
Your change meets the bar and is auto-approved for M57. Please go ahead and merge the CL to branch 2987 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop)

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

Comment 9 by gov...@chromium.org, Feb 21 2017

If possible, please merge your change to M57 branch 2987 by 5:00 PM PT today, Tuesday (02/21) so we can pick it up for this week beta release. Thank you.
Project Member

Comment 10 by bugdroid1@chromium.org, Feb 21 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5715d877525dce29848b72e309692d7ab735417

commit b5715d877525dce29848b72e309692d7ab735417
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Tue Feb 21 21:09:03 2017

Media Controls: cache the minimum width in order to reduce incorrect width usage.

The width of media controls buttons depends on the platform (Android vs
desktop) and is known by looking at the layout of the play button or the
overflow menu button. This technique has limitations because it requires
one layout to happen which might take a long time depending on when the
controls have been toggled.

The new solution consist of saving the minimum width so that as soon as
the controls discovered the right value, they should no longer appear
broken.

BUG= 663931 
R=zqzhang@chromium.org

Review-Url: https://codereview.chromium.org/2704013002
Cr-Commit-Position: refs/heads/master@{#451611}
(cherry picked from commit e5399d9f871fab1ea1e7b061125106199ee0545a)

Review-Url: https://codereview.chromium.org/2708193002 .
Cr-Commit-Position: refs/branch-heads/2987@{#623}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[add] https://crrev.com/b5715d877525dce29848b72e309692d7ab735417/third_party/WebKit/LayoutTests/media/controls/buttons-after-reset-expected.html
[add] https://crrev.com/b5715d877525dce29848b72e309692d7ab735417/third_party/WebKit/LayoutTests/media/controls/buttons-after-reset.html
[modify] https://crrev.com/b5715d877525dce29848b72e309692d7ab735417/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp

Status: Fixed (was: Started)
Status: Verified (was: Fixed)
 Verified on 9202.53.0, 57.0.2987.112.

Sign in to add a comment