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

Issue 919461 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Jan 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression

Blocking:
issue 728334
issue 912936



Sign in to add a comment

Regression: "Unmute" icon pauses the advertisement video on Youtube

Project Member Reported by khush...@virtusa.com, Jan 7

Issue description

Chrome version: 73.0.3664.0 (Official Build) Revision ea459cba924d6aba847571f1d700f7f002c4b3c6-refs/branch-heads/3664@{#1} (32/64 bit)

OS: Windows (7, 8, 8.1, 10), Mac (10.13.1, 10.13.6, 10.14.3) and Linux (14.04 LTS)

What steps will reproduce the problem?
(1) Launch chrome and navigate to https://www.youtube.com
(2) Now click on "Unmute" icon of Advertisement video present on the top.
(3) Observe.

Actual Result: "Unmute" icon pauses the advertisement video on Youtube.

Expected Result: "Unmute" icon should only unmute the advertisement video on Youtube.

This is a regression issue broken in ‘M-73’, below is the Manual Regression range:
Good build: 72.0.3623.0 (Revision: 611017)
Bad build:  72.0.3624.0 (Revision: 611430)

[Unable to provide bisect using Per-revision script as "Error running the gsutil command: AccessDeniedException: 403 rkote@etouch.net does not have storage.objects.list access to chrome-test-builds." error message is thrown. Hence, providing suspect using chromium bisect.]

Chromium Bisect URL:

https://chromium.googlesource.com/chromium/src/+log/033021e61f385591df24e93c8e0b58ff5a90e5a7..2f2e9b0447e91f00e2841df13eaa80eb86042cb5

Suspecting: https://chromium.googlesource.com/chromium/src/+/73dd78f19ce3881695ddd984dc9ed8adba11480e ??

@rockot: Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

NOTE: Issue is also seen on M-72 Beta (build #72.0.3626.28) and M-73 Dev (build #73.0.3642.0).

Kindly refer the attached screen-cast.

Thank You..!!

 
Actual Video.mp4
1.2 MB View Download
Expected Video.mp4
1.6 MB View Download
Cc: mlamouri@chromium.org rockot@google.com
Owner: mustaq@chromium.org
There's no way my change caused this. :P

A brief inspection using DevTools on the ad frame reveals the following message on clicking unmute:

"Unmuting failed and the element was paused instead because the user didn't interact with the document before."

If I had to *guess* based on the description of the feature and the regression range, I would suggest this is due to changes in policy from User Activation v2.

Over to mustaq@ who flipped that bit, and +CC mlamouri@ as an owner of blink media stuff.
Also given that there is apparently no way to unpause the ad once this happens, this is probably a pretty serious regression for YouTube.
For completeness, the CL which turned UAv2 on by default is https://chromium.googlesource.com/chromium/src/+/19105678c4a032ed06a78209c1f0d7d6118ae2ae.

And in fact I just confirmed that running with --disable-features=UserActivationV2 makes the bug disappear.
Blocking: 912936
Labels: UserActivation
Yikes!  Thanks rockot@ for confirming the connection to UAv2.

Status: Started (was: Assigned)
Not sure it this is a bug or not: upon clicking the "unmute" button, |was_autoplaying_muted| here is |true| when UAv2 is enabled, |false| otherwise:
https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/html/media/autoplay_policy.cc?rcl=e633ec7b45db12d9e4e8555049d626f487c9cabf&l=253

Shouldn't it be |true| since the video is actually playing muted until the click?
Cc: pbomm...@chromium.org gov...@chromium.org
Labels: ReleaseBlock-Stable
just to update, it is working fine in IE & FF

M72 will be pushing to stable in few days, marking as RB Stable please change if required.
Cc: -gov...@chromium.org abdulsyed@chromium.org
In addition to #c5 above, there is another suspicious thing from my yesterday's observations: when AutoplayPolicy::RequestAutoplayUnmute is called upon clicking "unmute", user activation is available in v1 but not in v2.

I suspect something to do with the "unmute" button but couldn't debug further today because the top ad has changed for me to a non-autoplaying one!

Re #5, it could be a timing issue. `was_autoplaying_muted` uses `IsAutoplayingMutedInternal()` and this may be checking for whether the document is allowed to play and a slight timing change could make this true or false depending on when the click is handled.

Note that `was_autoplaying_muted`'s value doesn't matter that much to allow playback. We will check `IsGestureNeededForPlayback()` if it was autoplaying as muted and that must return false. If we got a gesture, it shouldn't.
I was unable to repro in last two days, youtube.com don't have an autoplaying video anymore.  Reaching out to youtube ads team.
Blocking: 728334
Looks like this is another instance that needs activation delegation to subframes (Issue 728334).  The mute button is on parent frame, so the video element doesn't see the activation.

Our same-frame visibility hack (crrev.com/c/1366761) should have fixed this for now, but we left a crack in renderer state update!

I will start working on a fix next week.
[bulk update] Just a heads up, M72 stable is about 2 weeks away. This issue is marked as RB-Stable. Please take a look. 
Here is the solution we are attempting: crrev.com/c/1410143

mlamouri@: ptal at the CL while I am trying to resolve the regressions (mostly caused by softened UAv2 visibility).
Please have the CL land on ToT as soon as possible so that we can get the fix verified on canary builds & can get it merged in to M72 branch by 1/17.

M72 stable cut is scheduled for next week & this bug is marked as Stable blocker.

Comment 16 by mustaq@chromium.org, Jan 17 (5 days ago)

We have a patch under review now.
Project Member

Comment 17 by bugdroid1@chromium.org, Jan 18 (5 days ago)

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

commit 638e15167f366f1808c9122577ab881d18b25331
Author: Mustaq Ahmed <mustaq@google.com>
Date: Fri Jan 18 00:47:15 2019

Add renderer update for same-origin user activation visibility.

This CL fixes missing renderer-side update for corresponding brower-side
change (https://crrev.com/c/1366761).  This is part of an intermediate
measure to mitigate UAv2 regressions for apps that require same-origin
visibility.  We will eventually remove this through an iframe attribute
to declaratively allow user activation propagation to subframes
(crbug.com/728334).

Bug: 728334,  919461 
Change-Id: I2a1af7cf4f27f9dc402dfbf2c8e1c1b609fc1e65
TBR: avi@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/1410143
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623933}
[modify] https://crrev.com/638e15167f366f1808c9122577ab881d18b25331/chrome/browser/extensions/content_capabilities_browsertest.cc
[modify] https://crrev.com/638e15167f366f1808c9122577ab881d18b25331/content/child/runtime_features.cc
[modify] https://crrev.com/638e15167f366f1808c9122577ab881d18b25331/third_party/blink/public/platform/web_runtime_features.h
[modify] https://crrev.com/638e15167f366f1808c9122577ab881d18b25331/third_party/blink/renderer/core/frame/frame.cc
[modify] https://crrev.com/638e15167f366f1808c9122577ab881d18b25331/third_party/blink/renderer/platform/exported/web_runtime_features.cc
[modify] https://crrev.com/638e15167f366f1808c9122577ab881d18b25331/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify] https://crrev.com/638e15167f366f1808c9122577ab881d18b25331/third_party/blink/web_tests/TestExpectations

Comment 18 by mustaq@chromium.org, Jan 18 (5 days ago)

Status: Fixed (was: Started)
Project Member

Comment 19 by blocker...@chrome-infra-auth.iam.gserviceaccount.com, Jan 18 (5 days ago)

Labels: Merge-TBD
[Auto-generated comment by a script] We noticed that this issue is targeted for M-72; it appears the fix may have landed after branch point, meaning a merge might be required. The owner of this bug should confirm if a merge is required here. If so, add Merge-Request-72 label and indicate which commits/CLs are to be merged. Otherwise, remove Merge-TBD label. Thanks.

Comment 20 by mustaq@chromium.org, Jan 18 (5 days ago)

Labels: -Target-73 -FoundIn-73 Merge-Request-72
Project Member

Comment 21 by sheriffbot@chromium.org, Jan 18 (5 days ago)

Labels: -Merge-Request-72 Merge-Review-72 Hotlist-Merge-Review
This bug requires manual review: We are only 10 days from stable.
Please contact the milestone owner if you have questions.
Owners: govind@(Android), kariahda@(iOS), djmm@(ChromeOS), abdulsyed@(Desktop)

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

Comment 22 by mustaq@chromium.org, Jan 18 (4 days ago)

Status: Verified (was: Fixed)
Verified that the bug is gone in the latest Canary (73.0.3676.0).

Comment 23 by mustaq@chromium.org, Yesterday (39 hours ago)

Ping for merge review, this should go in at M72.

Comment 24 by abdulsyed@google.com, Yesterday (36 hours ago)

Labels: -Merge-Review-72 Merge-Approved-72
Approving merge for M72. branch:3626
Project Member

Comment 25 by bugdroid1@chromium.org, Yesterday (35 hours ago)

Labels: -merge-approved-72 merge-merged-3626
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b278e0a7674e87b095c551103a87a75acfa9f78b

commit b278e0a7674e87b095c551103a87a75acfa9f78b
Author: Mustaq Ahmed <mustaq@google.com>
Date: Mon Jan 21 19:15:18 2019

Add renderer update for same-origin user activation visibility.

This CL fixes missing renderer-side update for corresponding brower-side
change (https://crrev.com/c/1366761).  This is part of an intermediate
measure to mitigate UAv2 regressions for apps that require same-origin
visibility.  We will eventually remove this through an iframe attribute
to declaratively allow user activation propagation to subframes
(crbug.com/728334).

Bug: 728334,  919461 
Change-Id: I2a1af7cf4f27f9dc402dfbf2c8e1c1b609fc1e65
TBR: avi@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/1410143
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#623933}(cherry picked from commit 638e15167f366f1808c9122577ab881d18b25331)
Reviewed-on: https://chromium-review.googlesource.com/c/1426002
Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#744}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
[modify] https://crrev.com/b278e0a7674e87b095c551103a87a75acfa9f78b/chrome/browser/extensions/content_capabilities_browsertest.cc
[modify] https://crrev.com/b278e0a7674e87b095c551103a87a75acfa9f78b/content/child/runtime_features.cc
[modify] https://crrev.com/b278e0a7674e87b095c551103a87a75acfa9f78b/third_party/blink/public/platform/web_runtime_features.h
[modify] https://crrev.com/b278e0a7674e87b095c551103a87a75acfa9f78b/third_party/blink/renderer/core/frame/frame.cc
[modify] https://crrev.com/b278e0a7674e87b095c551103a87a75acfa9f78b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
[modify] https://crrev.com/b278e0a7674e87b095c551103a87a75acfa9f78b/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify] https://crrev.com/b278e0a7674e87b095c551103a87a75acfa9f78b/third_party/blink/web_tests/TestExpectations

Project Member

Comment 26 by cr-audit...@appspot.gserviceaccount.com, Yesterday (35 hours ago)

Labels: Merge-Merged-72-3626
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/b278e0a7674e87b095c551103a87a75acfa9f78b

Commit: b278e0a7674e87b095c551103a87a75acfa9f78b
Author: mustaq@google.com
Commiter: mustaq@chromium.org
Date: 2019-01-21 19:15:18 +0000 UTC

Add renderer update for same-origin user activation visibility.

This CL fixes missing renderer-side update for corresponding brower-side
change (https://crrev.com/c/1366761).  This is part of an intermediate
measure to mitigate UAv2 regressions for apps that require same-origin
visibility.  We will eventually remove this through an iframe attribute
to declaratively allow user activation propagation to subframes
(crbug.com/728334).

Bug: 728334,  919461 
Change-Id: I2a1af7cf4f27f9dc402dfbf2c8e1c1b609fc1e65
TBR: avi@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/1410143
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#623933}(cherry picked from commit 638e15167f366f1808c9122577ab881d18b25331)
Reviewed-on: https://chromium-review.googlesource.com/c/1426002
Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#744}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}

Comment 27 by abdulsyed@google.com, Today (10 hours ago)

Labels: -Merge-TBD

Sign in to add a comment