New issue
Advanced search Search tips

Issue 829861 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression


Participants' hotlists:
Hotlist-1


Sign in to add a comment

Videos do not autoplay inside of a WebView in an extension or kiosk app

Reported by josh@arreya.com, Apr 6 2018

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 10323.62.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.184 Safari/537.36
Platform: 10452.42.0 (Official Build) beta-channel guado

Example URL:

Steps to reproduce the problem:
1. Unzip attached extension folder, goto chrome://extensions and load the folder as an unpacked extension
2. Open the newly added app called "video inside of a webview test"
3. Observe top video autoplaying and bottom video inside of a webview paused.

What is the expected behavior?
Both videos should autoplay. Since the extension is installed to Chrome, the extension should be trusted to autoplay videos regardless of muted status.

What went wrong?
The app has 2 videos embedded in it. The first video is just a <video> element, and the second is a WebView displaying an html file with the same <video> element inside. Both the html file and video file are local resources.

A script inside of the webview frame calls play() on the video element after 3 seconds. Using devtools console to inspect the WebView frame, you'll see the error:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

Both videos autoplay on 65.0.3325.184

Video in WebView frame does not autoplay on 66.0.3359.79 or 67.0.3383.0

Understanding this is likely related to the new autoplay policy: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes, in the situation of digital signage, user interaction is usually not even possible.

An example might be a device configured with a kiosk application for digital signage. The device should automatically start playing a slideshow of videos as soon as it is launched for the first time. The end user will never have interaction with the kiosk app.

Did this work before? Yes 65.0.3325.184

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? N/A

Chrome version: 66.0.3359.79  Channel: beta
OS Version: 10452.42.0
Flash Version: 

Contents of chrome://gpu:
 
webview.zip
970 KB Download
Cc: mlamouri@chromium.org

Comment 2 by josh@arreya.com, Apr 11 2018

Checking in to see if there's any more information we can provide to help confirm or prioritize this issue. If this change is present when 66 is rolled to stable, it will break a large majority of our client's applications. 
Cc: -mlamouri@chromium.org beccahughes@chromium.org
Components: -Internals>Media Blink>Media>Autoplay
Owner: mlamouri@chromium.org
Status: Assigned (was: Unconfirmed)
Status: WontFix (was: Assigned)
<webview> are following the same rules as Chrome with regards to autoplay. Extensions that inject <iframe> will be allowed to autoplay.

Comment 5 by wal...@arreya.com, Apr 13 2018

Please understand that we are a Chrome partner talking specifically about kiosk applications for the Enterprise use cases of digital signage and kiosks.  https://enterprise.google.com/chrome/digital-signage/  In these scenarios user interaction is not always possible (billboards, airport fids, etc.) And content is expected to autoplay.  In fact, most of the use case is built on remote administration and NOT having to interact with the devices.  Apps installed by admins through the Admin Console, apps have the kiosk permission.  From a quick sample of apps, >60% of those I looked at are currently using webview to load their cloud cms/content.  Google's own Chrome Sign Builder also uses a webview in the same manner.

If there is a new way we are supposed to approach this, I have not seen it communicated or documented. From our testing this autoplay change will affect Enterprise customers.
One can fully disable autoplay restrictions via enterprise policies. Would this help these partners?

Comment 7 by wal...@arreya.com, Apr 13 2018

If it is possible via the Google Admin console for customers that have managed devices, yes.  There are also a number of clients with older devices using standalone kiosk mode that would need a way to toggle it as well.

These are not just Windows/Linux boxes running Chrome.  We are talking about Chrome OS devices where we don't have access to command line flags or group policies.  They are remotely administered via the Google Admin console/Chrome Enterprise Management.

Comment 8 by wal...@arreya.com, Apr 16 2018

#6: Can you please answer if this is possible via the Google Admin console?

Comment 9 by jayhlee@google.com, May 2 2018

Status: Fixed (was: WontFix)
Marking this as fixed. We've solved this issue server side by enabling autoplay for all enterprise kiosk mode device sessions.
Owner: jayhlee@google.com

Comment 11 by josh@arreya.com, May 2 2018

jayhlee@ Thanks for the update, we also filed  crbug.com/833543  after the WontFix status, so feel free to mark it fixed as well.
 Issue 833543  has been merged into this issue.

Comment 13 by roy...@google.com, May 2 2018

Labels: Hotlist-Enterprise

Sign in to add a comment