Bug 163244 - [iOS] REGRESSION (r197953): User gesture required to load video in iOS 9-built apps
Summary: [iOS] REGRESSION (r197953): User gesture required to load video in iOS 9-buil...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: WebKit Local Build
Hardware: iPhone / iPad iOS 10
: P2 Normal
Assignee: Daniel Bates
URL:
Keywords: InRadar, Regression
Depends on: 155141
Blocks:
  Show dependency treegraph
 
Reported: 2016-10-10 14:46 PDT by Daniel Bates
Modified: 2016-10-11 15:22 PDT (History)
6 users (show)

See Also:


Attachments
Patch and layout tests (25.67 KB, patch)
2016-10-10 15:26 PDT, Daniel Bates
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews103 for mac-yosemite (1.09 MB, application/zip)
2016-10-10 16:09 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews107 for mac-yosemite-wk2 (1.23 MB, application/zip)
2016-10-10 16:12 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews122 for ios-simulator-wk2 (deleted)
2016-10-10 16:52 PDT, Build Bot
no flags Details
Patch and layout tests (28.27 KB, patch)
2016-10-11 11:41 PDT, Daniel Bates
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews104 for mac-yosemite-wk2 (1.27 MB, application/zip)
2016-10-11 12:44 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Bates 2016-10-10 14:46:27 PDT
Following <https://trac.webkit.org/changeset/197953> (bug #155141), videos require a user gesture to load on iOS. Among other implications of this change, we dispatch a DOM loadedmetadata event at a <video> event only if a human being initiated playback of the video. This changes makes iOS more closely align with the behavior on macOS. However it is represents a backward incompatible change from the behavior in iOS 9 and earlier. We should only enable this behavioral change for apps built against iOS 10 or later.
Comment 1 Daniel Bates 2016-10-10 14:47:08 PDT
<rdar://problem/27250015>
Comment 2 Daniel Bates 2016-10-10 15:26:16 PDT
Created attachment 291173 [details]
Patch and layout tests
Comment 3 Build Bot 2016-10-10 16:09:16 PDT
Comment on attachment 291173 [details]
Patch and layout tests

Attachment 291173 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/2258285

New failing tests:
media/loadedmetadata-fires-without-user-gesture-when-setRequiresUserGestureToLoadVideo-false.html
media/require-user-gesture-to-load-video.html
Comment 4 Build Bot 2016-10-10 16:09:19 PDT
Created attachment 291176 [details]
Archive of layout-test-results from ews103 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 5 Build Bot 2016-10-10 16:12:42 PDT
Comment on attachment 291173 [details]
Patch and layout tests

Attachment 291173 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/2258293

New failing tests:
media/loadedmetadata-fires-without-user-gesture-when-setRequiresUserGestureToLoadVideo-false.html
media/require-user-gesture-to-load-video.html
Comment 6 Build Bot 2016-10-10 16:12:47 PDT
Created attachment 291177 [details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 7 Daniel Bates 2016-10-10 16:38:39 PDT
(In reply to comment #3)
> Comment on attachment 291173 [details]
> Patch and layout tests
> 
> Attachment 291173 [details] did not pass mac-ews (mac):
> Output: http://webkit-queues.webkit.org/results/2258285
> 
> New failing tests:
> media/loadedmetadata-fires-without-user-gesture-when-
> setRequiresUserGestureToLoadVideo-false.html
> media/require-user-gesture-to-load-video.html

For some reason the bots do not seem to be re-generating the Internal Settings bindings from Settings.in (why?). So, window.internals.settings.requiresUserGestureToLoadVideo is undefined.
Comment 8 Daniel Bates 2016-10-10 16:39:00 PDT
(In reply to comment #7)
> (In reply to comment #3)
> > Comment on attachment 291173 [details]
> > Patch and layout tests
> > 
> > Attachment 291173 [details] did not pass mac-ews (mac):
> > Output: http://webkit-queues.webkit.org/results/2258285
> > 
> > New failing tests:
> > media/loadedmetadata-fires-without-user-gesture-when-
> > setRequiresUserGestureToLoadVideo-false.html
> > media/require-user-gesture-to-load-video.html
> 
> For some reason the bots do not seem to be re-generating the Internal
> Settings bindings from Settings.in (why?). So,
> window.internals.settings.requiresUserGestureToLoadVideo is undefined.

err, window.internals.settings.setRequiresUserGestureToLoadVideo
Comment 9 Build Bot 2016-10-10 16:52:48 PDT
Comment on attachment 291173 [details]
Patch and layout tests

Attachment 291173 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/2258358

New failing tests:
media/loadedmetadata-fires-without-user-gesture-when-setRequiresUserGestureToLoadVideo-false.html
media/require-user-gesture-to-load-video.html
Comment 10 Build Bot 2016-10-10 16:52:52 PDT
Created attachment 291188 [details]
Archive of layout-test-results from ews122 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6
Comment 11 Daniel Bates 2016-10-11 11:41:41 PDT
Created attachment 291280 [details]
Patch and layout tests
Comment 12 Build Bot 2016-10-11 12:44:51 PDT
Comment on attachment 291280 [details]
Patch and layout tests

Attachment 291280 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/2264373

New failing tests:
media/loadedmetadata-fires-without-user-gesture-when-setRequiresUserGestureToLoadVideo-false.html
media/require-user-gesture-to-load-video.html
Comment 13 Build Bot 2016-10-11 12:44:56 PDT
Created attachment 291289 [details]
Archive of layout-test-results from ews104 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 14 Daniel Bates 2016-10-11 12:51:06 PDT
(In reply to comment #13)
> Created attachment 291289 [details]
> Archive of layout-test-results from ews104 for mac-yosemite-wk2
> 
> The attached test failures were seen while running run-webkit-tests on the
> mac-wk2-ews.
> Bot: ews104  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5

Same issue as remarked in comment #7. For some reason the mac-yosemite-wk2 is not re-generating the Internal Settings bindings from Settings.in (why?). Notice that the mac-yosemite EWS built and ran all the tests successfully.
Comment 15 Daniel Bates 2016-10-11 13:20:34 PDT
Comment on attachment 291280 [details]
Patch and layout tests

Clearing flags on attachment: 291280

Committed r207159: <http://trac.webkit.org/changeset/207159>
Comment 16 Daniel Bates 2016-10-11 13:20:39 PDT
All reviewed patches have been landed.  Closing bug.
Comment 17 Daniel Bates 2016-10-11 15:22:23 PDT
Committed build fix for the Apple Internal Mac build in <http://trac.webkit.org/changeset/207171>.