diff --git a/README.md b/README.md index 2dce4d1..4b7e161 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ Get the latest release from the [Safari Extension Gallery](https://safari-extens * [Plex](http://www.plex.tv) * [The Onion](http://www.theonion.com) * [Twitch](http://www.twitch.tv) +* [Udemy](http://www.udemy.com) * [Vevo](http://www.vevo.com) * [Vice](http://www.vice.com) * [Vid.me](http://www.vid.me) diff --git a/out/PiPer.safariextz b/out/PiPer.safariextz index 7b39411..e6a954f 100644 Binary files a/out/PiPer.safariextz and b/out/PiPer.safariextz differ diff --git a/src/Info.plist b/src/Info.plist index 89d911d..e747cc0 100644 --- a/src/Info.plist +++ b/src/Info.plist @@ -76,6 +76,8 @@ *.theonion.com twitch.tv *.twitch.tv + udemy.com + *.udemy.com vevo.com *.vevo.com vice.com diff --git a/src/scripts/main.js b/src/scripts/main.js index 8c4ad8a..8002e80 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -499,6 +499,28 @@ const resources = { return e && e.querySelector('video'); }, }, + + 'udemy': { + buttonClassName: 'vjs-control vjs-button', + buttonDidAppear: function() { + document.querySelector('.vjs-fullscreen-control').addEventListener('click', function() { + const video = /** @type {?HTMLVideoElement} */ (currentResource.videoElement()); + if (video) video.webkitSetPresentationMode('inline'); + }); + }, + buttonParent: function() { + return document.querySelector('.vjs-control-bar'); + }, + buttonScale: 0.7, + buttonStyle: 'order:7', + captionElement: function() { + const e = currentResource.videoElement(); + return /** @type {?Element} */ (e && e.parentNode.querySelector('.vjs-text-track-display')); + }, + videoElement: function() { + return document.querySelector('video.vjs-tech'); + }, + }, 'vevo': { buttonClassName: 'player-control', diff --git a/update.plist b/update.plist index 274cb62..0aa3c77 100644 --- a/update.plist +++ b/update.plist @@ -10,7 +10,7 @@ CFBundleShortVersionString 0.2.0 CFBundleVersion - 47 + 48 Developer Identifier BQ6Q24MF9X URL