diff options
Diffstat (limited to 'browser/extensions/pictureinpicture/data')
-rw-r--r-- | browser/extensions/pictureinpicture/data/picture_in_picture_overrides.js | 304 |
1 files changed, 304 insertions, 0 deletions
diff --git a/browser/extensions/pictureinpicture/data/picture_in_picture_overrides.js b/browser/extensions/pictureinpicture/data/picture_in_picture_overrides.js new file mode 100644 index 0000000000..4f3186036c --- /dev/null +++ b/browser/extensions/pictureinpicture/data/picture_in_picture_overrides.js @@ -0,0 +1,304 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +/* globals browser */ + +let AVAILABLE_PIP_OVERRIDES; + +{ + // See PictureInPictureControls.sys.mjs for these values. + // eslint-disable-next-line no-unused-vars + const TOGGLE_POLICIES = browser.pictureInPictureChild.getPolicies(); + const KEYBOARD_CONTROLS = browser.pictureInPictureChild.getKeyboardControls(); + + AVAILABLE_PIP_OVERRIDES = { + // The keys of this object are match patterns for URLs, as documented in + // https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns + // + // Example: + // const KEYBOARD_CONTROLS = browser.pictureInPictureChild.getKeyboardControls(); + // + // + // "https://*.youtube.com/*": { + // policy: TOGGLE_POLICIES.THREE_QUARTERS, + // disabledKeyboardControls: KEYBOARD_CONTROLS.PLAY_PAUSE | KEYBOARD_CONTROLS.VOLUME, + // }, + // "https://*.twitch.tv/mikeconley_dot_ca/*": { + // policy: TOGGLE_POLICIES.TOP, + // disabledKeyboardControls: KEYBOARD_CONTROLS.ALL, + // }, + + tests: { + // FOR TESTS ONLY! + "https://mochitest.youtube.com/*browser/browser/extensions/pictureinpicture/tests/browser/test-mock-wrapper.html": + { + videoWrapperScriptPath: "video-wrappers/mock-wrapper.js", + }, + "https://mochitest.youtube.com/*browser/browser/extensions/pictureinpicture/tests/browser/test-toggle-visibility.html": + { + videoWrapperScriptPath: "video-wrappers/mock-wrapper.js", + }, + }, + + abcnews: { + "https://*.abcnews.go.com/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + + airmozilla: { + "https://*.mozilla.hosted.panopto.com/*": { + videoWrapperScriptPath: "video-wrappers/airmozilla.js", + }, + }, + + aol: { + "https://*.aol.com/*": { + videoWrapperScriptPath: "video-wrappers/yahoo.js", + }, + }, + + bbc: { + "https://*.bbc.com/*": { + videoWrapperScriptPath: "video-wrappers/bbc.js", + }, + "https://*.bbc.co.uk/*": { + videoWrapperScriptPath: "video-wrappers/bbc.js", + }, + }, + + brightcove: { + "https://*.brightcove.com/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + cbc: { + "https://*.cbc.ca/*": { + videoWrapperScriptPath: "video-wrappers/cbc.js", + }, + }, + + dailymotion: { + "https://*.dailymotion.com/*": { + videoWrapperScriptPath: "video-wrappers/dailymotion.js", + }, + }, + + disneyplus: { + "https://*.disneyplus.com/*": { + videoWrapperScriptPath: "video-wrappers/disneyplus.js", + }, + }, + + edx: { + "https://*.edx.org/*": { + videoWrapperScriptPath: "video-wrappers/edx.js", + }, + }, + + frontendMasters: { + "https://*.frontendmasters.com/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + + funimation: { + "https://*.funimation.com/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + + hbomax: { + "https://play.hbomax.com/page/*": { policy: TOGGLE_POLICIES.HIDDEN }, + "https://play.hbomax.com/player/*": { + videoWrapperScriptPath: "video-wrappers/hbomax.js", + }, + }, + + hotstar: { + "https://*.hotstar.com/*": { + videoWrapperScriptPath: "video-wrappers/hotstar.js", + }, + }, + + hulu: { + "https://www.hulu.com/watch/*": { + videoWrapperScriptPath: "video-wrappers/hulu.js", + }, + }, + + instagram: { + "https://www.instagram.com/*": { policy: TOGGLE_POLICIES.ONE_QUARTER }, + }, + + laracasts: { + "https://*.laracasts.com/*": { policy: TOGGLE_POLICIES.ONE_QUARTER }, + }, + + msn: { + "https://*.msn.com/*": { + visibilityThreshold: 0.7, + }, + }, + mxplayer: { + "https://*.mxplayer.in/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + + nebula: { + "https://*.nebula.app/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + + netflix: { + "https://*.netflix.com/*": { + videoWrapperScriptPath: "video-wrappers/netflix.js", + }, + "https://*.netflix.com/browse*": { policy: TOGGLE_POLICIES.HIDDEN }, + "https://*.netflix.com/latest*": { policy: TOGGLE_POLICIES.HIDDEN }, + "https://*.netflix.com/Kids*": { policy: TOGGLE_POLICIES.HIDDEN }, + "https://*.netflix.com/title*": { policy: TOGGLE_POLICIES.HIDDEN }, + "https://*.netflix.com/notification*": { policy: TOGGLE_POLICIES.HIDDEN }, + "https://*.netflix.com/search*": { policy: TOGGLE_POLICIES.HIDDEN }, + }, + + nytimes: { + "https://*.nytimes.com/*": { + videoWrapperScriptPath: "video-wrappers/nytimes.js", + }, + }, + + pbs: { + "https://*.pbs.org/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + "https://*.pbskids.org/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + + piped: { + "https://*.piped.kavin.rocks/*": { + videoWrapperScriptPath: "video-wrappers/piped.js", + }, + "https://*.piped.silkky.cloud/*": { + videoWrapperScriptPath: "video-wrappers/piped.js", + }, + }, + + radiocanada: { + "https://*.ici.radio-canada.ca/*": { + videoWrapperScriptPath: "video-wrappers/radiocanada.js", + }, + }, + + reddit: { + "https://*.reddit.com/*": { policy: TOGGLE_POLICIES.ONE_QUARTER }, + }, + + sonyliv: { + "https://*.sonyliv.com/*": { + videoWrapperScriptPath: "video-wrappers/sonyliv.js", + }, + }, + + ted: { + "https://*.ted.com/*": { + showHiddenTextTracks: true, + }, + }, + + tubi: { + "https://*.tubitv.com/live*": { + videoWrapperScriptPath: "video-wrappers/tubilive.js", + }, + "https://*.tubitv.com/movies*": { + videoWrapperScriptPath: "video-wrappers/tubi.js", + }, + "https://*.tubitv.com/tv-shows*": { + videoWrapperScriptPath: "video-wrappers/tubi.js", + }, + }, + + twitch: { + "https://*.twitch.tv/*": { + videoWrapperScriptPath: "video-wrappers/twitch.js", + policy: TOGGLE_POLICIES.ONE_QUARTER, + disabledKeyboardControls: KEYBOARD_CONTROLS.LIVE_SEEK, + }, + "https://*.twitch.tech/*": { + videoWrapperScriptPath: "video-wrappers/twitch.js", + policy: TOGGLE_POLICIES.ONE_QUARTER, + disabledKeyboardControls: KEYBOARD_CONTROLS.LIVE_SEEK, + }, + "https://*.twitch.a2z.com/*": { + videoWrapperScriptPath: "video-wrappers/twitch.js", + policy: TOGGLE_POLICIES.ONE_QUARTER, + disabledKeyboardControls: KEYBOARD_CONTROLS.LIVE_SEEK, + }, + }, + + udemy: { + "https://*.udemy.com/*": { + videoWrapperScriptPath: "video-wrappers/udemy.js", + policy: TOGGLE_POLICIES.ONE_QUARTER, + }, + }, + + voot: { + "https://*.voot.com/*": { + videoWrapperScriptPath: "video-wrappers/voot.js", + }, + }, + + wired: { + "https://*.wired.com/*": { + videoWrapperScriptPath: "video-wrappers/videojsWrapper.js", + }, + }, + + yahoofinance: { + "https://*.finance.yahoo.com/*": { + videoWrapperScriptPath: "video-wrappers/yahoo.js", + }, + }, + + youtube: { + /** + * The threshold of 0.7 is so that users can click on the "Skip Ads" + * button on the YouTube site player without accidentally triggering + * PiP. + */ + "https://*.youtube.com/*": { + visibilityThreshold: 0.7, + videoWrapperScriptPath: "video-wrappers/youtube.js", + }, + "https://*.youtube-nocookie.com/*": { + visibilityThreshold: 0.9, + videoWrapperScriptPath: "video-wrappers/youtube.js", + }, + }, + + washingtonpost: { + "https://*.washingtonpost.com/*": { + videoWrapperScriptPath: "video-wrappers/washingtonpost.js", + }, + }, + + primeVideo: { + "https://*.primevideo.com/*": { + visibilityThreshold: 0.9, + videoWrapperScriptPath: "video-wrappers/primeVideo.js", + }, + "https://*.amazon.com/*": { + visibilityThreshold: 0.9, + videoWrapperScriptPath: "video-wrappers/primeVideo.js", + }, + }, + }; +} |