Commit Graph

100 Commits

Author SHA1 Message Date
Paul Irish
343a9573ff cache node.children[i] for 10% speedup. 2018-03-19 14:41:02 -07:00
Paul Irish
b31d53a4d0 enqueue the entire MuObs handler instead. 2018-03-19 14:41:02 -07:00
Paul Irish
8e199cd975 delay DOM node walking via requestIdleCallback 2018-03-19 14:41:02 -07:00
Ilya Grigorik
e85dad3280 update audio+video min/max references
Audio is no longer cutoff [1]. Video limits still in place.

[1] https://developers.google.com/web/updates/2017/12/chrome-63-64-media-updates#remove-muting-extreme-playbackrates

Closes #300.
2018-02-08 13:35:26 +00:00
Ilya Grigorik
e50c29c5dd verify doctype is present, pass in window's document
Fixes #309
2018-02-08 13:16:27 +00:00
Ilya Grigorik
7606224ec9 initialize on HTML docs
Closes #269.
2017-12-27 13:10:38 -05:00
Roly Fentanes
371168636f better way of following mouse on controller drag 2017-12-10 11:49:56 -08:00
codebicycle
ae778d2901 Replace chrome.extension with chrome.runtime
The messaging APIs in `extension` module are deprecated in favor of
the equivalent APIs in the `runtime` module.

Sources:
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/extension
https://developer.chrome.com/extensions/extension#methods
2017-10-03 13:47:43 -07:00
Roly Fentanes
194fcc1076 Also remove className regardless of ctrl 2017-10-01 12:39:37 -07:00
Roly Fentanes
1004348a47 Remove vscid even if ctrl is not found 2017-10-01 12:39:37 -07:00
mariusi7
60599996ee Update inject.js
Some regional HBO GO sites don't use www anymore, so issue 199 reappeared.
2017-09-25 08:08:27 -07:00
Ilya Grigorik
32a3c5392f Unify controller close (x) with display shortcut
Clicking (x) in controller is equivalent to hiding it via shortcut (v).

Closes #232
2017-08-27 11:31:43 -07:00
Ilya Grigorik
daec249e3f revert z-index override for facebook.com
Current logic conflicts with imgaus extension - see #241.

Also, looks like FB may have changed their stacking? Can't reproduce old
problem (#210), testing:

- https://www.facebook.com/facebook/videos/10106941168235097/
- https://www.facebook.com/pg/facebook/videos/
- Videos in newsfeed

Closes #241
2017-08-27 11:14:55 -07:00
Johannes Pfrang
58e032b14a Use event-driven or direct script initialization
Chrome may inject the script immediately after the readystatechange/load events fired, so we need to explicitly check the readyState after script injection.
Also unconditionally listen to the window.onload event for further cross-browser robustness (we have init-once logic either way).
2017-08-27 10:21:24 -07:00
mariusi7
2818103c7d Update inject.js (#252)
* Special case hbogo.* inject (same as Amazon)

Closes: https://github.com/igrigorik/videospeed/issues/199
2017-08-08 08:07:25 -07:00
Vova Yatsyuk
8e2cf853a5 Fixed error when using Chrome Autofill. Closes #250 2017-08-07 07:30:21 -07:00
Ilya Grigorik
bbb8a7354b Ignore ratechange events on unitialized videos
Closes #233.
2017-07-25 07:47:31 -07:00
Ilya Grigorik
5472786b19 add logic and check for init-once
closes #230, kudos to @xftroxgpx for the detective work and patch.
2017-07-04 23:41:10 +02:00
Ilya Grigorik
18455d521f move controller check into initialization 2017-07-04 23:41:10 +02:00
Ilya Grigorik
7ea778d3ec special-case inject prototype for FB and amazon
Some sites inject overlays over their videos to intercept clicks and
provide own on-screen controls, etc. Unfortunately this makes the VC
controls inaccessible and without any generic workaround... well, short
of relying on keyboard shortcuts.

This is an experiment for special-casing FB and Amazon
- FB we modify stacking context of the parent
- Amazon we inject the controller one level higher, above the overlay

The gotcha here is that this type of behavior is not uncommon, and
special-casing each and every origin like this is not long-term
sustainable. If this sticks.. we'll have to be very selective
about which sites we enable this for.

Closes #210
Closes #134
2017-06-26 18:37:48 +02:00
Can Arslan
704b3b42c5 Not updating speed correctly #214 (#220)
I tested for several times with/without throttling in different videos and nothing effected/no console error and fixed issue.
2017-06-25 12:15:51 -07:00
Ilya Grigorik
0f5f6c3aab refactor "reset speed" functionality 2017-05-25 20:48:00 -04:00
canarslan12
735785fd06 #217 - Reverting Preferred Speed 2017-05-25 20:48:00 -04:00
canarslan12
427a19fb74 suggestion #216 - Reset use fastSpeed initially (#218) 2017-05-24 08:56:08 -07:00
Ilya Grigorik
27b6898be6 Revert "use mouse wheel scroll to increase/decrease speed" (#211) 2017-05-04 22:29:59 -07:00
J. B. Rainsberger
b3db296c0a Playback at "fast" speed (#203)
Added new custom key ("G") to jump to a favorite "fast speed", which is also configurable.
2017-04-17 22:03:29 -07:00
Ilya Grigorik
7437c3a2c9 Merge pull request #188 from metaist/master
use mouse wheel scroll to increase/decrease speed
2017-04-16 17:09:32 -07:00
xftroxgpx
d36a82eea5 speed inc. from 0.06 to 0.10 not 0.16, fixes #198 2017-04-11 12:54:38 +02:00
The Metaist
02b2da0f97 use mouse wheel scroll to increase/decrease speed 2017-03-16 10:19:14 -04:00
Sina Siadat
472d84471e save and restore resetSpeed using chrome storage
Fixes #169, again.
2017-02-01 13:30:53 +03:30
Sina Siadat
9f00b5bec1 make reset key toggle between 1x and last speed
Fixes #169
2017-01-29 03:03:08 +03:30
Ilya Grigorik
d94f3cc58a set minimum speed to 0.0625
Values below this threshold break some players - closes https://github.com/igrigorik/videospeed/issues/166.
2017-01-22 13:22:37 -08:00
Ilya Grigorik
70147ea97a force controller visibility on mouse input
Closes https://github.com/igrigorik/videospeed/issues/160.
2017-01-02 22:28:49 -08:00
Ilya Grigorik
4a3d170f84 new option to hide controller by default
When enabled controller visibility in 'manual' mode: to hide/unhide the
user needs to use the configured shortcut keys.

Closes https://github.com/igrigorik/videospeed/issues/156.
2016-12-22 17:13:48 -08:00
Ilya Grigorik
05790085ff clear dataset ID when removing controller
closes #155.
2016-12-06 19:30:09 -08:00
Ilya Grigorik
e8f9a1813b fix and simplify drag position calculation 2016-12-04 11:52:45 -08:00
Ilya Grigorik
db314ef520 don't reinitialize active controllers 2016-11-29 08:55:19 -08:00
Andrew Marshall
7e0ca9c97c fix double controller on Coursera 2016-09-01 01:09:52 -05:00
Markus Jarderot
3b2139d2d7 Prevent intercepting typing in a textarea. 2016-08-27 22:37:04 +02:00
Ilya Grigorik
158039aaa9 fix the twitter blacklist default (no www) 2016-08-16 17:10:52 -07:00
Ilya Grigorik
221d107246 drop initialization flag on removed node
If the node is reattached later we want to rerun the initialization
logic to rebuild the controller.

Closes #135.
2016-08-16 17:04:29 -07:00
Ilya Grigorik
23813d3f15 fix black overlay on openai.com
Closes #130.
2016-07-29 11:01:43 -07:00
Ilya Grigorik
5949616238 Merge branch 'master' of github.com:igrigorik/videospeed 2016-07-29 10:43:24 -07:00
Ilya Grigorik
1784ea9f61 Merge branch 'drag-controller' of https://github.com/arao456/videospeed into arao456-drag-controller
Some cleanup + refactoring.
2016-07-28 23:30:42 +02:00
Ilya Grigorik
e01b7d7d29 Merge pull request #110 from wesbos/patch-1
Check for document before checking for readyState
2016-07-28 16:14:13 +02:00
Ilya Grigorik
c2878027bf ignore modifier keys (except Shift)
closes #125
2016-07-28 16:05:14 +02:00
Ilya Grigorik
3cadcb5463 shortcut to hide/show controller
If manual control is used we override default youtube autohide behavior
and yield control to the user.

Closes #104, #123.
2016-07-28 15:27:36 +02:00
Ilya Grigorik
fce4d611b8 add user defined blacklist
Moving some of the previously blacklisted sites to user controlled
blacklist. Remaining sites in manifest are blocked due to interop
issues.

Closes #121.
2016-07-28 13:28:40 +02:00
Ilya Grigorik
707c0c3f16 remove controller when video is removed from DOM
Closes #119.
2016-07-20 22:55:51 -07:00
Arjun Rao
d09f9a0019 Add ability to drag controller 2016-06-26 01:44:48 -07:00