Closed Bug 1473487 Opened 3 years ago Closed 3 years ago

Double tap to seek gesture does not work on Youtube

Categories

(Web Compatibility :: Mobile, defect, P1)

Firefox 62
ARM
Android
defect

Tracking

(fennec?, firefox61 affected, firefox62 affected, firefox63 affected)

RESOLVED INVALID
Tracking Status
fennec ? ---
firefox61 --- affected
firefox62 --- affected
firefox63 --- affected

People

(Reporter: levente.sacal, Unassigned)

Details

(Whiteboard: [needsdiagnosis])

Attachments

(1 file)

Device(s):
 -  Google Pixel C (Android 8.0.0);
 -  Samsung S8+ (Android 8.0.0);
 -  One Plus 3 (Android 6.0.1)

Build(s):
 - Nightly 63.0a1 (2018-07-04);
 - Beta 62.0b5
 - Release 61.0

Steps to reproduce:
 1. Navigate to Youtube and play any video
 2. Try to use the double top gesture to seek time


Expected result:
- Video should jump 10 seconds

Actual result:
- Double tap gesture does not work

Notes:
- The Double Tap gesture works on Google Chrome
Note: if you double tap in Chrome Mobile on the right hand of the video, it will scrub forward 10 seconds (and briefly display some arrows). Same for left, and back in time.
This also apparently works in Focus.

Tom, can you take a look? Thanks.
Flags: needinfo?(twisniewski)
Priority: -- → P1
Whiteboard: [needsdiagnosis]
I don't actually see any mouse/touch/click events firing on the video when I tap on it while it's playing, presumably because it's playing in the native player (the Firefox icon appears in the notification bar while it's playing).

In fact, Chrome isn't showing me anything special when I double-tap on the video, on the right side of otherwise (the interface in comment 2's screenshot isn't appearing).

So I'm at a loss here.

(This is on a Galaxy S7 running Android 8.0 with today's Fx nightly and Chrome 67).
Flags: needinfo?(twisniewski)
(In reply to twisniewski from comment #4)
> I don't actually see any mouse/touch/click events firing on the video when I
> tap on it while it's playing, presumably because it's playing in the native
> player (the Firefox icon appears in the notification bar while it's playing).

No, it shouldn't be.

Dennis, can you reproduce the double tap to scrub in Chrome Mobile? Not sure why it doesn't work for Tom.
Flags: needinfo?(dschubert)
I can reproduce! However, the double-tapping in Chrome only works when the video controls are visible. If you double-tap while the controls are invisible, they just show up and you have to double-tap again. Maybe that's part of the confusion.

However, as Tom said, it's not really surprising that it's not working in Fennec. On video plays, all we get is bascially a video element with native controls enabled, and that's about it. All video-control rendering and stuff like subtitles is handled by the native video playback element. That's also the reason why the controls look so different in Chrome vs. Firefox.

Given that we get an entirely different video playback element here, what exactly should we diagnose here? There is probably no way for the YouTube team to even handle the touble tap events, unless they'd serve us the version with their custom controls, and not using the native controls on Fennec.
Flags: needinfo?(dschubert) → needinfo?(miket)
(In reply to Dennis Schubert [:denschub] from comment #6)
> I can reproduce! However, the double-tapping in Chrome only works when the
> video controls are visible. If you double-tap while the controls are
> invisible, they just show up and you have to double-tap again. Maybe that's
> part of the confusion.

Could be!

> However, as Tom said, it's not really surprising that it's not working in
> Fennec. On video plays, all we get is bascially a video element with native
> controls enabled, and that's about it. All video-control rendering and stuff
> like subtitles is handled by the native video playback element. That's also
> the reason why the controls look so different in Chrome vs. Firefox.

 
> Given that we get an entirely different video playback element here, what
> exactly should we diagnose here? There is probably no way for the YouTube
> team to even handle the touble tap events, unless they'd serve us the
> version with their custom controls, and not using the native controls on
> Fennec.

I'm confused by "different video playback element". AFACIT, it's the same <video>, we just render our own controls, and Chrome does their own. 

As to what to diagnose, I'd be interested in knowing, are these custom Youtube.com specific controls that aren't being served to us? Is there some Chrome-only code that listens for double taps? Or is there a bug in Firefox?

(as an aside: I don't understand why it's not possible to handle a double tap on a <video> element. There are different controls, that's an expected implementation difference -- but at the end of the day, you can still listen for DOM events on <video>.)

I did some more digging, and it turns out this feature reproduces on all html5 videos -- https://www.w3schools.com/htmL/html5_video.asp, for example (forgive the link...). It's a new feature of their HTML5 video element, on mobile.

https://chromium-review.googlesource.com/c/chromium/src/+/839420
https://chromium-review.googlesource.com/c/chromium/src/+/757138

Given that, this bug is invalid, unless someone wants a similar feature in Firefox, in which case the best next step is to file a new bug as a Core A/V feature request.
Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(miket)
Resolution: --- → INVALID
> I'm confused by "different video playback element". AFACIT, it's the same <video>, we just render our own controls, and Chrome does their own. 

We've discussed this briefly on IRC, but there was a mismatching assumption here. You were testing in non-fullscreen, while I was assuming you were testing in fullscreen, and so I did my tests in fullscreen. And there is a significant difference here: In Chrome, they requestFullscreen() on a <div> that contains the <video> *and* some additional markup for overlays, controls, .... However, in Firefox, they requestFullscreen() the <video> itself, so that is quite a difference if we are talking about what can capture events here.

> I don't understand why it's not possible to handle a double tap on a <video> element

In Chrome, they render a <video>, while in Fennec, they render a <video controls>. If a video element has controls, we seem to capture events (I only tested click and touchstart, but I assume we eat more), which makes sense, as tapping the video starts/stops the playback. The same goes for Chrome: if controls are enabled and you tap a video, the controls show up and no touch* events are fired.

> As to what to diagnose, I'd be interested in knowing, are these custom Youtube.com specific controls that aren't being served to us? Is there some Chrome-only code that listens for double taps? Or is there a bug in Firefox?

That's actually a good question, I don't think we ever checked. I opened https://webcompat.com/issues/18163 for that, so we can keep this bug closed.
Product: Tech Evangelism → Web Compatibility
You need to log in before you can comment on or make changes to this bug.