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

Issue 845817 link

Starred by 8 users

Issue metadata

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



Sign in to add a comment

Unmute video not allowed inside cross domain iframe (AMP Ad)

Reported by ronan.dr...@teads.tv, May 23 2018

Issue description

Steps to reproduce the problem:
1. go to https://amp.teads.tv
2. scroll to the video ad
3. click on the unmute button 

What is the expected behavior?
the video sound should be unmuted, as the user explicitly request for it (we listen for a click on the unmute button and trigger a video.volume = 1)

What went wrong?
the browser block the unmuting, pause the video, and trigger a warn in the console "Unmuting failed and the element was paused instead because the user didn't interact with the document before"

Did this work before? Yes 65

Does this work in other browsers? Yes

Chrome version: 66.0.3359.158  Channel: stable
OS Version: Oreo API 27
Flash Version: 

Is this because the button and the video are not in the same frame ?
Or because the Ad is in a cross domain iframe ?

1) the first level is a cross domain iframe (AMP Ad)
2) then we have the sound button
3) and near the sound button we have an other iframe (friendly -> not cross domain) which is containing the video node

Thanks !
 
Capture d’écran 2018-05-22 à 15.42.03.png
221 KB View Download
-> same issue on Chrome desktop, not only Android
Labels: Needs-triage-Mobile
Cc: sandeepkumars@chromium.org
Labels: Triaged-Mobile Needs-Feedback
Tested the issue using #66.0.3359.158 on Android Pixel 2; 8.1.0 and could not reproduce the issue as per the steps mentioned below.

Steps:
1. Launched Browser
2. Navigated to https://amp.teads.tv
3. Scrolled to the video ad
4. Click on the unmute button 
5. Able to hear the audio and video is also playing 

@Reporter: Could you please find the above observations and help us with details of your device and attach a screencast as well for further triaging of the issue.

Thanks!!
Sure ! you can find attached two screencast, one on chrome 65 which is "working", and one on chrome 66 which is not (video go on pause when unmuting) 

Thanks for your help ! 
chrome65_amp_unmuteok.mp4
2.8 MB View Download
chrome66_amp_unmutenok.mp4
2.1 MB View Download
Project Member

Comment 5 by sheriffbot@chromium.org, May 24 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Pri-2 FoundIn-66 Target-67 RegressedIn-66 FoundIn-67 M-68 FoundIn-68 hasbisect Target-66 Target-68 Pri-1
Status: Untriaged (was: Unconfirmed)
Tested the issue in Android and able to reproduce the issue. 

Steps Followed:
1. Launch Chrome.
2. Navigate go to https://amp.teads.tv
3. scroll to the video ad
4. click on the unmute button
5. Observed video is getting paused 

Chrome versions tested:
66.0.3359.158(Stable), 68.0.3439.0(Canary)

OS:
Android 6.0.1

Android Devices:
Nexus 5

Using the per-revision bisect providing the bisect results,
Good Build - 66.0.3327.0 
Bad Build - 66.0.3328.0 

MANUAL CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/66.0.3327.0..66.0.3328.0?pretty=fuller&n=10000

Unable to provide tool bisect info as builds are not invoking using bisect script.

Requesting someone from dev team to take a look at this issue

Please navigate to below link for log's and video--
go/chrome-androidlogs/845817

Thanks!

Cc: nyerramilli@chromium.org aluo@chromium.org ligim...@chromium.org pnangunoori@chromium.org
Andrew, do you why the script was not invoking, any recent changes?

Comment 8 by aluo@chromium.org, May 25 2018

What errors are you encountering with the script?  Please email me with command line used and errors you saw.  I do see there are available builds to bisect.

Comment 9 by ram...@chromium.org, May 25 2018

Device: Samsung Galaxy S9 / 8.0.0

1. Navigte to https://amp.teads.tv
2. Scroll down and play the add video.
3. Unmute the audio button.

Results: Video will pause.

Bisect Info:

Good build:65.0.3325.229
Bad Build: 66.0.3327.0

Regression range:
https://chromium.googlesource.com/chromium/src/+log/65.0.3325.229..66.0.3327.0?pretty=fuller&n=10000

Could not find culprit CL

Audio mute/unmute button in M67 and M68 is not available.



Cc: ram...@chromium.org
The bisect in #9 seems to be incorrect. 

Ramine, was 66.0.3326.0 a good chrome version? Was trying to compare with the one in #6.

Sandeep, can you please attach the error log.
66.0.3326.0 has no apk's to install. 
Labels: ReleaseBlock-Stable
Owner: jinsuk...@chromium.org
Status: Assigned (was: Untriaged)
The closest patch from #6 is:

https://chromium.googlesource.com/chromium/src/+/e2b494cbfd02c3e97176c9e53e5b620c8f8eb42e

Jinsuk, would you mind confirming.Adding an RB label since this is a recent regression.
This is a workaround to video pause when the audio button is pressed.

1. Visit https://amp.teads.tv
2. scroll down and press the audio button.
(video should pause as described in step 4 comment #6)
3. Play the advertising in full screen.
4. Press the back soft key on phone

Results: Advertising video will Play when audio button toggles to pause/start.
As per #1, mine might not be the culprit if this also happens on desktop, since my change only affects Android. 
Cc: mlamouri@chromium.org
Components: -Blink>Media Blink>Media>Autoplay
If the mute/unmute button is in the main frame and the ad is in a x-origin iframe, clicking the button will not be enough to allow the ad to unmute. You will have to add `allow=autoplay` on the iframe in order to delegate autoplay privileges. See this article for more info: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
Cc: jinsuk...@chromium.org
Owner: ----
Status: Available (was: Assigned)
Hi @mlamouri ! 

Thanks for your time

Sorry but as described in my issue, the video is in a friendly iframe (not cross domain) just near the button (cf attached screenshot)

the entire ad (video + components like sound button) are IN the cross domain iframe (AMP Ad component) but then, not iframe cross domain anymore inside this one. Only friendly iframe

Thanks for your help !


Capture d’écran 2018-05-29 à 17.52.12.png
294 KB View Download
Owner: mlamouri@chromium.org
Status: Assigned (was: Available)
New Bisect Info:

Good build: 65.0.3305.0
Bad Build:  65.0.3306.0

Regression range:
https://chromium.googlesource.com/chromium/src/+log/65.0.3305.0..65.0.3306.0?pretty=fuller&n=10000

Good CL: 526240
Bad CL:  526241

Culprit CL:
https://chromium.googlesource.com/chromium/src/+/12c615ca3716162f32341c597d581b3a6d6b7f95

Status: WontFix (was: Assigned)
This is a website's bug. The flow isn't compatible with the autoplay policy. The website has changed and I can't get to see the "unmute" button anymore so I can't advise more about how to fix this.
Hi @mlamouri ! 
Could you please elaborate "The flow isn't compatible with the autoplay policy"? so we can take action on our side if needed.
Also, the website didn't changed (the ad appears after a small delay, please don't scroll down during the delay 2/3sec)

Thanks for your help

There are more information about the autoplay policy here:
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

I tried again and the only ad I get doesn't have an unmute button. If all the iframes you have have allow=autoplay and a gesture, unmuting should work. If you could isolate the issue to a test page, I would be happy to help you further.
Hi all,

@nourdine, looking at https://github.com/ampproject/amphtml/issues/15730 and investigating, internally your video and unmute are in different frames. See attached picture. 

That being said, I still don't understand why `allow=autoplay` would be needed for manual unmute. There are three layers of iframe here and non have `allow=autoplay` yet the video is autoplaying muted just fine. A explicit user action to unmute should always work, no? Isn't unmute = playing a video (regardless of autoplay status)?
Screen Shot 2018-06-01 at 11.06.04 AM.png
511 KB View Download
"If the mute/unmute button is in the main frame and the ad is in a x-origin iframe, clicking the button will not be enough to allow the ad to unmute."

Is that a new change? user-intent used to carry over postMessages and per regular policy,  unmuted play is allowed if tied to a user action.

Sign in to add a comment