Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spankbang.com - Video double tap forward doesn't work #61319

Closed
webcompat-bot opened this issue Nov 7, 2020 · 7 comments
Closed

spankbang.com - Video double tap forward doesn't work #61319

webcompat-bot opened this issue Nov 7, 2020 · 7 comments
Labels
browser-fenix engine-gecko The browser uses the Gecko rendering engine nsfw priority-important severity-important A non-core broken piece of functionality, not behaving the way you would expect. type-bad-performance When sites are unresponsive, slow transition type-event-touch related to Touch events
Milestone

Comments

@webcompat-bot
Copy link

webcompat-bot commented Nov 7, 2020

URL: https://spankbang.com/3tcqu/video/pretty+girl+walking+big+sweater+puppies

Browser / Version: Firefox Mobile 84.0
Operating System: Android 8.1.0
Tested Another Browser: Yes Chrome

Problem type: Something else
Description: video double tap forward doesn't work
Steps to Reproduce:

View the screenshot
Browser Configuration
  • gfx.webrender.all: false
  • gfx.webrender.blob-images: true
  • gfx.webrender.enabled: false
  • image.mem.shared: true
  • buildID: 20201105045247
  • channel: nightly
  • hasTouchScreen: true
  • mixed active content blocked: false
  • mixed passive content blocked: false
  • tracking content blocked: false

View console log messages

From webcompat.com with ❤️

@webcompat-bot webcompat-bot added the action-needsmoderation The moderation has not yet been completed label Nov 7, 2020
@webcompat-bot webcompat-bot added this to the needstriage milestone Nov 7, 2020
@webcompat-bot webcompat-bot added the browser-fixme This requires manual assignment for the browser name label Nov 7, 2020
@webcompat-bot webcompat-bot changed the title In the moderation queue. spankbang.com - see bug description Nov 9, 2020
@webcompat-bot webcompat-bot added browser-fenix engine-gecko The browser uses the Gecko rendering engine priority-important and removed action-needsmoderation The moderation has not yet been completed browser-fixme This requires manual assignment for the browser name labels Nov 9, 2020
@softvision-oana-arbuzov softvision-oana-arbuzov changed the title spankbang.com - see bug description spankbang.com - Video double tap forward doesn't work Nov 9, 2020
@softvision-oana-arbuzov softvision-oana-arbuzov added the severity-important A non-core broken piece of functionality, not behaving the way you would expect. label Nov 9, 2020
@softvision-oana-arbuzov
Copy link
Member

Thanks for the report, I was able to reproduce the issue.

Note: The issue is not reproducible on Chrome.

Tested with:
Browser / Version: Firefox Nightly 2011085 (🦎 84.0a1-20201106093443)
Operating System: Samsung Galaxy S8 (Android 9) - 1440 x 2960 pixels, 18.5:9 ratio (~570 ppi density)

Moving to Needsdiagnosis for further investigation.

@karlcow
Copy link
Member

karlcow commented Dec 7, 2020

Double tap on Firefox does

mousemove { target: video#main_video_player_html5_api.vjs-tech
, buttons: 0, clientX: 343, clientY: 292, layerX: 338, layerY: 98 }
video.min.js:12:10800
mousemove { target: video#main_video_player_html5_api.vjs-tech
, buttons: 0, clientX: 333, clientY: 292, layerX: 328, layerY: 98 }
video.min.js:12:10800
mousemove { target: video#main_video_player_html5_api.vjs-tech, buttons: 0, clientX: 333, clientY: 292, layerX: 328, layerY: 98 }

not sure if it's a question of performance.

  defaults = {
    useJquery: !win.IGNORE_JQUERY && typeof jQuery !== 'undefined',
    swipeThreshold: win.SWIPE_THRESHOLD || 100,
    tapThreshold: win.TAP_THRESHOLD || 150,
    dbltapThreshold: win.DBL_TAP_THRESHOLD || 200,
    longtapThreshold: win.LONG_TAP_THRESHOLD || 1000,
    tapPrecision: win.TAP_PRECISION / 2 || 60 / 2,
    justTouchEvents: win.JUST_ON_TOUCH_DEVICES
  },
  onTouchEnd = function (e) {
    if (!isTheSameFingerId(e) || isMultipleTouches(e)) return
    pointerId = undefined
    if (e.type === 'mouseup' && wasTouch) {
      wasTouch = false
      return
    }
    var eventsArr = [
    ],
    now = getTimestamp(),
    deltaY = cachedY - currY,
    deltaX = cachedX - currX
    clearTimeout(dblTapTimer)
    clearTimeout(longtapTimer)
    if (deltaX <= - defaults.swipeThreshold)
    eventsArr.push('swiperight')
    if (deltaX >= defaults.swipeThreshold)
    eventsArr.push('swipeleft')
    if (deltaY <= - defaults.swipeThreshold)
    eventsArr.push('swipedown')
    if (deltaY >= defaults.swipeThreshold)
    eventsArr.push('swipeup')
    if (eventsArr.length) {
      for (var i = 0; i < eventsArr.length; i++) {
        var eventName = eventsArr[i]
        sendEvent(e.target, eventName, e, {
          distance: {
            x: Math.abs(deltaX),
            y: Math.abs(deltaY)
          }
        })
      }
      tapNum = 0
    } else {
      if (cachedX >= currX - defaults.tapPrecision && cachedX <= currX + defaults.tapPrecision && cachedY >= currY - defaults.tapPrecision && cachedY <= currY + defaults.tapPrecision) {
        if (timestamp + defaults.tapThreshold - now >= 0)
        {
          sendEvent(e.target, tapNum >= 2 && target === e.target ? 'dbltap' : 'tap', e)
          target = e.target
        }
      }
      dblTapTimer = setTimeout(function () {
        tapNum = 0
      }, defaults.dbltapThreshold)
    }
  },

or maybe it doesn't see that this is a touch device?

Capture d’écran 2020-12-07 à 12 12 41

It never reaches this section of the code.

     if (cachedX >= currX - defaults.tapPrecision && cachedX <= currX + defaults.tapPrecision && cachedY >= currY - defaults.tapPrecision && cachedY <= currY + defaults.tapPrecision) {
        if (timestamp + defaults.tapThreshold - now >= 0)
        {
          sendEvent(e.target, tapNum >= 2 && target === e.target ? 'dbltap' : 'tap', e)
          target = e.target
        }
      }

ah it never enters onTouchEnd.

This is happening.

  setListener(doc, touchevents.touchend + (defaults.justTouchEvents ? '' : ' mouseup'), onTouchEnd)

but the touchend or mouseup event doesn't happen.

@karlcow
Copy link
Member

karlcow commented Dec 7, 2020

What I have not found is why touchend/mouseup is not happening, maybe something is cancelling mouseup somewhere else. @wisniewskit

@karlcow
Copy link
Member

karlcow commented Dec 7, 2020

This is very old but it has similarities.
https://bugzilla.mozilla.org/show_bug.cgi?id=672677

@karlcow
Copy link
Member

karlcow commented Jun 23, 2021

They seem to be using a library by @GianlucaGuarini which is called https://github.com/GianlucaGuarini/Tocca.js

@karlcow
Copy link
Member

karlcow commented Jun 23, 2021

I will push it to fenix to see if we have a perfomance issue here.

@karlcow
Copy link
Member

karlcow commented Jun 23, 2021

Duplicate of mozilla-mobile/fenix#20133

@karlcow karlcow marked this as a duplicate of mozilla-mobile/fenix#20133 Jun 23, 2021
@karlcow karlcow closed this as completed Jun 23, 2021
@karlcow karlcow modified the milestones: needsdiagnosis, duplicate Jun 23, 2021
@karlcow karlcow removed their assignment Jul 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
browser-fenix engine-gecko The browser uses the Gecko rendering engine nsfw priority-important severity-important A non-core broken piece of functionality, not behaving the way you would expect. type-bad-performance When sites are unresponsive, slow transition type-event-touch related to Touch events
Projects
None yet
Development

No branches or pull requests

3 participants