1
0
mirror of https://github.com/videojs/video.js.git synced 2025-01-02 06:32:07 +02:00
video.js/test
mister-ben e715145d86
fix: Change requestNamedAnimationFrame to apply last change per frame instead of first (#8799)
## Description
The current implementation of `requestNamedAnimationFrame` prevents
multiple updates on a frame but by disregarding all but the first
request per frame. This throttling behaviour is apparent when playing a
very short video - if a `timeupdate` occurs just before the `ended`
event, the progress bar position on the `timeupdate` is set at say 98%
and 100% from the `ended` is discarded. Although #8633 removed the
throttle from the `ended` handler itself, the throttle and non-throttled
update can still both execute between frames.

## Specific Changes proposed
Changes the implementation to apply only the last callback instead. If
any exist they will be cancelled. There will still be only one update,
but now it's the last.
Updates tests to reflect the changed behaviour. 
Fixes #8782

## Requirements Checklist
- [x] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [x] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [x] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [x] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [x] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
2024-08-13 10:54:53 +02:00
..
api refactor: remove internal Map, Set, and WeakMap shams, assume window.performance and requestAnimationFrame support (#7775) 2022-11-23 09:49:24 -05:00
require feat: built-in HLS playback support (#5057) 2018-03-30 14:01:16 -04:00
unit fix: Change requestNamedAnimationFrame to apply last change per frame instead of first (#8799) 2024-08-13 10:54:53 +02:00
karma.conf.js fix: Replace Object.values with ponyfill (#8267) 2023-05-11 18:57:13 -04:00
sinon.js fix: properly return promise from requestFullscreen and exitFullscreen (#7299) 2021-07-06 14:56:02 -04:00