aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/support.js
diff options
context:
space:
mode:
authorSam Potts <sam@potts.es>2018-10-25 09:17:15 +1100
committerSam Potts <sam@potts.es>2018-10-25 09:17:15 +1100
commitfe26d383f101062745ef1397832959df8911161b (patch)
treec1dbd5288e2563a6cbe72737bd7f5e6a838d2708 /src/js/support.js
parentdf4bc268dcb4c30b4167c8d31458326da38a275e (diff)
downloadplyr-fe26d383f101062745ef1397832959df8911161b.tar.lz
plyr-fe26d383f101062745ef1397832959df8911161b.tar.xz
plyr-fe26d383f101062745ef1397832959df8911161b.zip
Added support for picture-in-picture in Chrome
Diffstat (limited to 'src/js/support.js')
-rw-r--r--src/js/support.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/js/support.js b/src/js/support.js
index 6395293f..59f27c3b 100644
--- a/src/js/support.js
+++ b/src/js/support.js
@@ -36,8 +36,26 @@ const support = {
},
// Picture-in-picture support
- // Safari only currently
- pip: (() => !browser.isIPhone && is.function(createElement('video').webkitSetPresentationMode))(),
+ // Safari & Chrome only currently
+ pip: (() => {
+ if (browser.isIPhone) {
+ return false;
+ }
+
+ // Safari
+ // https://developer.apple.com/documentation/webkitjs/adding_picture_in_picture_to_your_safari_media_controls
+ if (is.function(createElement('video').webkitSetPresentationMode)) {
+ return true;
+ }
+
+ // Chrome
+ // https://developers.google.com/web/updates/2018/10/watch-video-using-picture-in-picture
+ if (document.pictureInPictureEnabled && !createElement('video').disablePictureInPicture) {
+ return true;
+ }
+
+ return false;
+ })(),
// Airplay support
// Safari only currently