Closed
Bug 1276132
Opened 8 years ago
Closed 8 years ago
[EME] Compile in EME code by default, behind hidden prefs
Categories
(Core :: Audio/Video: Playback, defect, P2)
Core
Audio/Video: Playback
Tracking
()
RESOLVED
FIXED
mozilla50
People
(Reporter: cpearce, Assigned: cpearce)
References
Details
Attachments
(4 files)
(deleted),
text/x-review-board-request
|
spohl
:
review+
lizzard
:
approval-mozilla-beta+
|
Details |
(deleted),
text/x-review-board-request
|
jwwang
:
review+
lizzard
:
approval-mozilla-beta+
|
Details |
(deleted),
text/x-review-board-request
|
Gijs
:
review+
lizzard
:
approval-mozilla-beta+
|
Details |
(deleted),
text/x-review-board-request
|
jwwang
:
review+
lizzard
:
approval-mozilla-beta+
|
Details |
We want to make it easier for CDM developers (Adobe, Google) to test their CDMs without having to build Firefox themselves with their keysystem configured on in their build config. So we should compile in the Widevine and Adobe specific code by default, but make them hidden behind a hidden pref, so that the keysystems aren't visible by default, but can be preffed on.
The build config flags then will control turning on this pref.
That means, users who want to test Widevine don't need an official Mozilla Firefox build, they can just pref it on.
We need separate "visibility" and "enabled" flags, because for builds that don't have EME turned on in their mozconfig, we don't want the "click here to enable EME" UI to show.
Assignee | ||
Comment 1•8 years ago
|
||
Assignee | ||
Comment 2•8 years ago
|
||
Assignee | ||
Comment 3•8 years ago
|
||
Repurpose the media.gmp-*.forcevisible pref to control whether the
corresponding GMP is visible in the addons manager UI. The pref has to be true
for the GMP to be usable.
The pref is enabled and not hidden when the corresponding EME keysystem is
enabled in the mozconfig.
This means users can turn on EME without needing to recompile their build; they
just need to create a hidden pref. This will be useful for CDM developers, and
users on platforms where we've not enabled EME yet but users want to test it
(Linux).
Review commit: https://reviewboard.mozilla.org/r/56448/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/56448/
Attachment #8758073 -
Flags: review?(spohl.mozilla.bugs)
Attachment #8758074 -
Flags: review?(jwwang)
Attachment #8758075 -
Flags: review?(gijskruitbosch+bugs)
Attachment #8758076 -
Flags: review?(jwwang)
Assignee | ||
Comment 4•8 years ago
|
||
Instead of controlling visibility of EME keysystems by build config, do it by
preference. This means keysystems can be turned on easier.
Review commit: https://reviewboard.mozilla.org/r/56450/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/56450/
Assignee | ||
Comment 5•8 years ago
|
||
This means we'll only show the EME UI for keysystems that are explicitly turned
on in the build config, or those that are enabled after the build via prefs.
Review commit: https://reviewboard.mozilla.org/r/56452/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/56452/
Assignee | ||
Comment 6•8 years ago
|
||
Fixes compile errors on Linux when Widevine is compiled.
Review commit: https://reviewboard.mozilla.org/r/56454/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/56454/
Updated•8 years ago
|
Attachment #8758073 -
Flags: review?(spohl.mozilla.bugs) → review+
Comment 7•8 years ago
|
||
Comment on attachment 8758073 [details]
MozReview Request: Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r?spohl
https://reviewboard.mozilla.org/r/56448/#review53008
::: toolkit/modules/GMPUtils.jsm:95
(Diff revision 1)
>
> return true;
> },
>
> /**
> * Checks whether or not a given plugin is forced visible. This can be used
This function comment should be updated as well.
Comment 8•8 years ago
|
||
Comment on attachment 8758074 [details]
MozReview Request: Bug 1276132 - Remove use of #ifdef MOZ_{KEYSYSTEM}_EME in dom/media code. r=jwwang
https://reviewboard.mozilla.org/r/56450/#review53032
Attachment #8758074 -
Flags: review?(jwwang) → review+
Comment 9•8 years ago
|
||
Comment on attachment 8758076 [details]
MozReview Request: Bug 1276132 - Make more Widevine class constructors explicit to keep gcc happy. r=jwwang
https://reviewboard.mozilla.org/r/56454/#review53034
Attachment #8758076 -
Flags: review?(jwwang) → review+
Comment 10•8 years ago
|
||
Comment on attachment 8758075 [details]
MozReview Request: Bug 1276132 - Don't show EME 'enable' UI for non-visible keysystems. r=gijs
https://reviewboard.mozilla.org/r/56452/#review53092
::: browser/base/content/browser-media.js:39
(Diff revision 1)
> + Services.prefs.getPrefType("media.gmp-eme-adobe.visible") &&
> + !Services.prefs.getBoolPref("media.gmp-eme-adobe.visible")) {
> + return false;
> + }
> + if (keySystem == "com.widevine.alpha" &&
> + Services.prefs.getPrefType("media.gmp-widevinecdm.visible") &&
> + !Services.prefs.getBoolPref("media.gmp-widevinecdm.visible")) {
I don't like being annoying, but if we're changing all these prefs now, can we change them to be consistent/predictable? We're using "cdm" in one, and "eme" in the other, in different parts of the pref name... it's a bit inconsistent.
::: browser/base/content/browser-media.js:41
(Diff revision 1)
> + return false;
> + }
> + if (keySystem.startsWith("com.adobe") &&
> + Services.prefs.getPrefType("media.gmp-eme-adobe.visible") &&
> + !Services.prefs.getBoolPref("media.gmp-eme-adobe.visible")) {
> + return false;
Could simplify this and the next if statement to just:
```
if (keySystem.startsWith("com.adobe") &&
Services.prefs.getPrefType("media.gmp-eme-adobe.visible")) {
return Services.prefs.getBoolPref("media.gmp-eme-adobe.visible");
```
Attachment #8758075 -
Flags: review?(gijskruitbosch+bugs) → review+
Assignee | ||
Comment 11•8 years ago
|
||
(In reply to :Gijs Kruitbosch from comment #10)
> Comment on attachment 8758075 [details]
> MozReview Request: Bug 1276132 - Don't show EME 'enable' UI for non-visible
> keysystems. r?gijs
>
> https://reviewboard.mozilla.org/r/56452/#review53092
>
> ::: browser/base/content/browser-media.js:39
> (Diff revision 1)
> > + Services.prefs.getPrefType("media.gmp-eme-adobe.visible") &&
> > + !Services.prefs.getBoolPref("media.gmp-eme-adobe.visible")) {
> > + return false;
> > + }
> > + if (keySystem == "com.widevine.alpha" &&
> > + Services.prefs.getPrefType("media.gmp-widevinecdm.visible") &&
> > + !Services.prefs.getBoolPref("media.gmp-widevinecdm.visible")) {
>
> I don't like being annoying, but if we're changing all these prefs now, can
> we change them to be consistent/predictable? We're using "cdm" in one, and
> "eme" in the other, in different parts of the pref name... it's a bit
> inconsistent.
Unfortunately no. Due to a quirk of the original GMP implementation, the name matters and is used in the path to the GMP. So we can't change it without rewriting a bunch of stuff relating to how the GMPs are stored on disk and loaded.
Comment 12•8 years ago
|
||
Are we going to stop offering EME-free builds?
Assignee | ||
Comment 13•8 years ago
|
||
Comment on attachment 8758073 [details]
MozReview Request: Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r?spohl
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/56448/diff/1-2/
Attachment #8758074 -
Attachment description: MozReview Request: Bug 1276132 - Remove use of #ifdef MOZ_{KEYSYSTEM}_EME in dom/media code. r?jwwang → MozReview Request: Bug 1276132 - Remove use of #ifdef MOZ_{KEYSYSTEM}_EME in dom/media code. r=jwwang
Attachment #8758075 -
Attachment description: MozReview Request: Bug 1276132 - Don't show EME 'enable' UI for non-visible keysystems. r?gijs → MozReview Request: Bug 1276132 - Don't show EME 'enable' UI for non-visible keysystems. r=gijs
Attachment #8758076 -
Attachment description: MozReview Request: Bug 1276132 - Make more Widevine class constructors explicit to keep gcc happy. r?jwwang → MozReview Request: Bug 1276132 - Make more Widevine class constructors explicit to keep gcc happy. r=jwwang
Assignee | ||
Comment 14•8 years ago
|
||
Comment on attachment 8758074 [details]
MozReview Request: Bug 1276132 - Remove use of #ifdef MOZ_{KEYSYSTEM}_EME in dom/media code. r=jwwang
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/56450/diff/1-2/
Assignee | ||
Comment 15•8 years ago
|
||
Comment on attachment 8758075 [details]
MozReview Request: Bug 1276132 - Don't show EME 'enable' UI for non-visible keysystems. r=gijs
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/56452/diff/1-2/
Assignee | ||
Comment 16•8 years ago
|
||
Comment on attachment 8758076 [details]
MozReview Request: Bug 1276132 - Make more Widevine class constructors explicit to keep gcc happy. r=jwwang
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/56454/diff/1-2/
Assignee | ||
Comment 17•8 years ago
|
||
(In reply to Masatoshi Kimura [:emk] from comment #12)
> Are we going to stop offering EME-free builds?
No. Behaviour in the EME-free repacks EME will not change. EME will still be off by default and the user will not be prompted to enable it should they visit a site that tries to use EME.
Assignee | ||
Comment 18•8 years ago
|
||
Comment on attachment 8758073 [details]
MozReview Request: Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r?spohl
Re-requesting review on this, since I've changed it enough that I think it warrants another look.
(I thought mozreview would have requested review again... must have gotten lost in the post somehow?)
Attachment #8758073 -
Flags: review+ → review?(spohl.mozilla.bugs)
Comment 19•8 years ago
|
||
Comment on attachment 8758073 [details]
MozReview Request: Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r?spohl
https://reviewboard.mozilla.org/r/56448/#review54456
Attachment #8758073 -
Flags: review?(spohl.mozilla.bugs) → review+
Assignee | ||
Comment 20•8 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/69052d4e3dbb457219dad902a1ff9f1d98300c57
Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r=spohl
https://hg.mozilla.org/integration/mozilla-inbound/rev/09b9972e36f9fb309a1f86918beeae26d1888aa6
Bug 1276132 - Remove use of #ifdef MOZ_{KEYSYSTEM}_EME in dom/media code. r=jwwang
https://hg.mozilla.org/integration/mozilla-inbound/rev/91b3cdd0640a29eefc8619bf06e431dafe22c6ed
Bug 1276132 - Don't show EME 'enable' UI for non-visible keysystems. r=gijs
https://hg.mozilla.org/integration/mozilla-inbound/rev/511a2389ca48a403386aeb8f0025f26bab1e882e
Bug 1276132 - Make more Widevine class constructors explicit to keep gcc happy. r=jwwang
Comment 21•8 years ago
|
||
Assignee | ||
Comment 22•8 years ago
|
||
(In reply to Phil Ringnalda (:philor) from comment #21)
> Backed out in
> https://hg.mozilla.org/integration/mozilla-inbound/rev/
> 75f65d79283ffe8fbfa797d62e64d7b797d20f6c for
> https://treeherder.mozilla.org/logviewer.html#?job_id=29841174&repo=mozilla-
> inbound etc.
01:37:38 INFO - 563 INFO TEST-UNEXPECTED-FAIL | toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js | Got add-on element:gmp-eme-adobe - null == true - JS frame :: chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js :: testNotInstalledDisabled :: line 141
This is because I forgot to add KEY_PLUGIN_FORCE_SUPPORTED pref sets in the places where FORCE_VISIBLE used to be in this test.
Assignee | ||
Comment 23•8 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/a92a5799ecbfd9088472607c07626831de6996b0
Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r=spohl
https://hg.mozilla.org/integration/mozilla-inbound/rev/066879c46800ff0aae008d2fbf3981f1e2fe309c
Bug 1276132 - Remove use of #ifdef MOZ_{KEYSYSTEM}_EME in dom/media code. r=jwwang
https://hg.mozilla.org/integration/mozilla-inbound/rev/ea6fcc76216c86e1d7a5fa2f53ca5d37bcb647c8
Bug 1276132 - Don't show EME 'enable' UI for non-visible keysystems. r=gijs
https://hg.mozilla.org/integration/mozilla-inbound/rev/dabfb32450b9602b1fb9df53c33f9eddb26e0d60
Bug 1276132 - Make more Widevine class constructors explicit to keep gcc happy. r=jwwang
Comment 24•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a92a5799ecbf
https://hg.mozilla.org/mozilla-central/rev/066879c46800
https://hg.mozilla.org/mozilla-central/rev/ea6fcc76216c
https://hg.mozilla.org/mozilla-central/rev/dabfb32450b9
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox50:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
Assignee | ||
Comment 25•8 years ago
|
||
Comment on attachment 8758073 [details]
MozReview Request: Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r?spohl
Approval Request Comment
[Feature/regressing bug #]: Widevine EME on Linux
[User impact if declined]: This patch changes how our build config options an prefs affect EME. Without this, it's not easy for users and Linux distros to turn off/on Widevein.
[Describe test coverage new/current, TreeHerder]: We have plenty of EME mochitests, which run on Linux.
[Risks and why]: Low; this is tweaking how we build EME code, and it's been riding the trains for a while.
[String/UUID change made/needed]: None
Attachment #8758073 -
Flags: approval-mozilla-beta?
Assignee | ||
Comment 26•8 years ago
|
||
Comment on attachment 8758074 [details]
MozReview Request: Bug 1276132 - Remove use of #ifdef MOZ_{KEYSYSTEM}_EME in dom/media code. r=jwwang
Approval Request Comment
[Feature/regressing bug #]: Widevine EME on Linux
[User impact if declined]: This patch changes how our build config options an prefs affect EME. Without this, it's not easy for users and Linux distros to turn off/on Widevein.
[Describe test coverage new/current, TreeHerder]: We have plenty of EME mochitests, which run on Linux.
[Risks and why]: Low; this is tweaking how we build EME code, and it's been riding the trains for a while.
[String/UUID change made/needed]: None
Attachment #8758074 -
Flags: approval-mozilla-beta?
Assignee | ||
Comment 27•8 years ago
|
||
Comment on attachment 8758075 [details]
MozReview Request: Bug 1276132 - Don't show EME 'enable' UI for non-visible keysystems. r=gijs
Approval Request Comment
[Feature/regressing bug #]: Widevine EME on Linux
[User impact if declined]: This patch changes how our build config options an prefs affect EME. Without this, it's not easy for users and Linux distros to turn off/on Widevein.
[Describe test coverage new/current, TreeHerder]: We have plenty of EME mochitests, which run on Linux.
[Risks and why]: Low; this is tweaking how we build EME code, and it's been riding the trains for a while.
[String/UUID change made/needed]: None
Attachment #8758075 -
Flags: approval-mozilla-beta?
Assignee | ||
Comment 28•8 years ago
|
||
Comment on attachment 8758076 [details]
MozReview Request: Bug 1276132 - Make more Widevine class constructors explicit to keep gcc happy. r=jwwang
Approval Request Comment
[Feature/regressing bug #]: Widevine EME on Linux
[User impact if declined]: This patch changes how our build config options an prefs affect EME. Without this, it's not easy for users and Linux distros to turn off/on Widevein.
[Describe test coverage new/current, TreeHerder]: We have plenty of EME mochitests, which run on Linux.
[Risks and why]: Low; this is tweaking how we build EME code, and it's been riding the trains for a while.
[String/UUID change made/needed]: None
Attachment #8758076 -
Flags: approval-mozilla-beta?
status-firefox49:
--- → affected
Comment on attachment 8758073 [details]
MozReview Request: Bug 1276132 - Rename media.gmp-*.forcevisible to media.gmp-*.visible, and set it when keysystems are enabled. r?spohl
Tweaks for the build for Widevine support. OK for beta uplift.
Chris, do you have extra plans to test the build options?
Flags: needinfo?(cpearce)
Attachment #8758073 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #8758074 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #8758075 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Assignee | ||
Comment 30•8 years ago
|
||
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #29)
> Comment on attachment 8758073 [details]
> MozReview Request: Bug 1276132 - Rename media.gmp-*.forcevisible to
> media.gmp-*.visible, and set it when keysystems are enabled. r?spohl
>
> Tweaks for the build for Widevine support. OK for beta uplift.
> Chris, do you have extra plans to test the build options?
I'm going to wait for a try push with these patches in to ensure they work before landing. These patches are in 50, so I'm pretty sure they'll work. I just want to be sure before landing.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5a6015957ee3&selectedJob=25428221
Flags: needinfo?(cpearce)
Attachment #8758076 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Assignee | ||
Comment 31•8 years ago
|
||
bugherder uplift |
Assignee | ||
Comment 32•8 years ago
|
||
bugherder uplift |
Depends on: 1280743
You need to log in
before you can comment on or make changes to this bug.
Description
•