Bug 1948917 - Bundle pictureinpicture into Firefox Desktop omni jar, r=rpl,pip-reviewers,mconley

Differential Revision: https://phabricator.services.mozilla.com/D232638
This commit is contained in:
Andrea Marchesini
2025-03-11 09:56:45 +00:00
parent 9cba45fb33
commit 4a07aebf8e
4 changed files with 17 additions and 59 deletions

View File

@@ -105,6 +105,9 @@ var gExceptionPaths = [
// The profile avatars are directly referenced.
"chrome://browser/content/profiles/assets/",
// The picture-in-picture add-on.
"resource://builtin-addons/pictureinpicture/",
];
// These are not part of the omni.ja file, so we find them only when running

View File

@@ -0,0 +1,12 @@
# 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/.
browser.jar:
% resource builtin-addons %builtin-addons/ contentaccessible=yes
builtin-addons/pictureinpicture/manifest.json (manifest.json)
builtin-addons/pictureinpicture/run.js (run.js)
builtin-addons/pictureinpicture/data/ (data/**)
builtin-addons/pictureinpicture/experiment-apis/ (experiment-apis/**)
builtin-addons/pictureinpicture/lib/ (lib/**)
builtin-addons/pictureinpicture/video-wrappers/ (video-wrappers/**)

View File

@@ -7,54 +7,7 @@
DEFINES["MOZ_APP_VERSION"] = CONFIG["MOZ_APP_VERSION"]
DEFINES["MOZ_APP_MAXVERSION"] = CONFIG["MOZ_APP_MAXVERSION"]
FINAL_TARGET_FILES.features["pictureinpicture@mozilla.org"] += [
"manifest.json",
"run.js",
]
FINAL_TARGET_FILES.features["pictureinpicture@mozilla.org"]["data"] += [
"data/picture_in_picture_overrides.js",
]
FINAL_TARGET_FILES.features["pictureinpicture@mozilla.org"]["experiment-apis"] += [
"experiment-apis/aboutConfigPipPrefs.js",
"experiment-apis/aboutConfigPipPrefs.json",
"experiment-apis/pictureInPicture.js",
"experiment-apis/pictureInPicture.json",
]
FINAL_TARGET_FILES.features["pictureinpicture@mozilla.org"]["lib"] += [
"lib/picture_in_picture_overrides.js",
]
FINAL_TARGET_FILES.features["pictureinpicture@mozilla.org"]["video-wrappers"] += [
"video-wrappers/airmozilla.js",
"video-wrappers/bbc.js",
"video-wrappers/canalplus.js",
"video-wrappers/cbc.js",
"video-wrappers/dailymotion.js",
"video-wrappers/disneyplus.js",
"video-wrappers/edx.js",
"video-wrappers/hbomax.js",
"video-wrappers/hotstar.js",
"video-wrappers/hulu.js",
"video-wrappers/jwplayerWrapper.js",
"video-wrappers/mock-wrapper.js",
"video-wrappers/netflix.js",
"video-wrappers/nytimes.js",
"video-wrappers/piped.js",
"video-wrappers/primeVideo.js",
"video-wrappers/radiocanada.js",
"video-wrappers/sonyliv.js",
"video-wrappers/tubi.js",
"video-wrappers/tubilive.js",
"video-wrappers/twitch.js",
"video-wrappers/udemy.js",
"video-wrappers/videojsWrapper.js",
"video-wrappers/voot.js",
"video-wrappers/washingtonpost.js",
"video-wrappers/youtube.js",
]
JAR_MANIFESTS += ["jar.mn"]
BROWSER_CHROME_MANIFESTS += ["tests/browser/browser.toml"]

View File

@@ -276,17 +276,7 @@ The scripts located at ``video-wrappers/mock-wrapper.js`` will therefore run whe
Registering the new wrapper in ``moz.build``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We should update `browser/extensions/pictureinpicture/moz.build <https://searchfox.org/mozilla-central/source/browser/extensions/pictureinpicture/moz.build>`_ by adding the path of the newly created wrapper:
.. code-block:: js
FINAL_TARGET_FILES.features["pictureinpicture@mozilla.org"]["video-wrappers"] += [
"video-wrappers/mock-wrapper.js",
"video-wrappers/netflix.js",
"video-wrappers/youtube.js",
]
As expected for any ``moz.build`` file, order matters. Registered paths should be listed in alphabetical order. Otherwise, the build will fail.
Any wrapper in the `video-wrappers` folder will be automatically included.
Adding a new video control method
---------------------------------