Bug 207887

Summary: <video> play() on user touch action fails to play video
Product: WebKit Reporter: Jerry Jongerius <jerryj>
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 13   
Hardware: iPhone / iPad   
OS: iOS 13   

Description Jerry Jongerius 2020-02-18 05:13:33 PST
I created a custom video control (via canvas) to interactively control video playback (speed, forward, reverse, etc).  It works great.  Until I tested on an iPad (13.3.1).  Everything works, except for 'play()', which is kind of a huge show stopper.  The custom control is no longer viable.

Here is a very small test case that illustrates the problem:

    https://www.duckware.com/test/webkit/iosplayvideofails.html

In the bordered canvas box under the video:

  (1) A touch, slide, release FAILS to play the video
  (2) A touch, release DOES play the video

So somehow the 'slide' is the issue.  If the video is first muted (button provided), a 'slide to play' in the custom control works, which appears to be a huge tip off that Safari is intentionally blocking play() from working.

Is this a bug?  If not, how can a user-initiated 'slide' play a video?
Comment 1 Radar WebKit Bug Importer 2020-02-18 15:52:54 PST
<rdar://problem/59569889>