[EME] Make navigator.requestMediaKeySystemAccess() only report Adobe EME is available if it's likely to work

RESOLVED FIXED in Firefox 38

Status

()

defect
P1
normal
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: cpearce, Assigned: cpearce)

Tracking

(Depends on 1 bug, Blocks 1 bug)

unspecified
mozilla40
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox37 wontfix, firefox38 fixed, firefox38.0.5 fixed, firefox39 fixed, firefox40 fixed, firefox-esr38 fixed)

Details

Attachments

(5 attachments, 2 obsolete attachments)

1.62 KB, patch
eflores
: review+
Details | Diff | Splinter Review
1.86 KB, patch
cpearce
: review+
Details | Diff | Splinter Review
5.87 KB, patch
cpearce
: review+
Details | Diff | Splinter Review
6.03 KB, patch
cpearce
: review+
Details | Diff | Splinter Review
6.32 KB, patch
cpearce
: review+
Details | Diff | Splinter Review
Currently our navigator.requestMediaKeySystemAccess() implementation reports that Adobe EME works when it can't. This can happen if we're running on Vista or Windows Server and the Windows Updates that install the H.264/AAC decoders is not available. We can also fail if we don't have a plugin-container voucher, which happens in a local build, or a downstream build.

It doesn't make much sense to advertise that Adobe EME will work when it actually won't, so we should check for these conditions and fail in navigator.requestMediaKeySystemAccess() when they occur.
Only report Adobe EME supported if required WMF codecs are installed.
Attachment #8598962 - Flags: review?(edwin)
Only report that Adobe EME is available if we have a plugin-container voucher.

This means local dev-builds and downstream builds won't report that Adobe EME is available, as it won't work there anyway.
Attachment #8598964 - Flags: review?(edwin)
Comment on attachment 8598962 [details] [diff] [review]
Patch 1: Only report Adobe EME supported if required WMF codecs are installed

Approval Request Comment
[Feature/regressing bug #]: EME
[User impact if declined]: Without this patch, Firefox on some Vista and Windows Server/Enterprise machines that lack the Windows Media Foundation service packs installed will report that EME will work when really it won't, and sites will try to use EME on these machines will fail. This affects our EME launch partner.
[Describe test coverage new/current, TreeHerder]: Local testing only. This only affects Adobe EME, which we can't test in our automation yet.
[Risks and why]: Low, this uses a well tested code path to detect whether EME is going to work, and make us report that it won't work when it won't work.
[String/UUID change made/needed]: None.
Attachment #8598962 - Flags: approval-mozilla-release?
Attachment #8598962 - Flags: approval-mozilla-aurora?
Comment on attachment 8598964 [details] [diff] [review]
Patch 2: Only report that Adobe EME is available if we have a plugin-container voucher

Approval Request Comment
[Feature/regressing bug #]: EME
[User impact if declined]: Without this patch, Firefox on builds built by local developers and by downstream projects that lack a signed EME plugin container/sandbox will think they can support Adobe EME, where really such builds cannot. Without the signed "voucher" for the plugin-container, Adobe's plugin will refuse to run. They will report the sites using EME that they support Adobe EME, and try to use it, and fail. This failure is showing up in our EME launch partner's telemetry, pushing up our error rate.
[Describe test coverage new/current, TreeHerder]: Local testing only. This only affects Adobe EME, which we can't test in our automation yet.
[Risks and why]: Low, this basically just checks if a file exists in our "do we support Adobe EME" logic.
[String/UUID change made/needed]: None.
Attachment #8598964 - Flags: approval-mozilla-release?
Attachment #8598964 - Flags: approval-mozilla-aurora?
Attachment #8599097 - Flags: review+
sorry had to back this out for bustage in nexus builds like https://treeherder.mozilla.org/logviewer.html#?job_id=9399464&repo=mozilla-inbound
Flags: needinfo?(cpearce)
Looks like bustage because we don't build with --enable-eme or MOZ_FMP4 on L Emulator.

 06:19:48 INFO - /builds/slave/b2g_m-in_n5-l_eng_dep-00000000/build/gecko/dom/media/gmp/GMPProcessParent.cpp:8:30: fatal error: mozilla/EMEUtils.h: No such file or directory
55730 06:19:48 ERROR - make[6]: *** [Unified_cpp_dom_media_gmp0.o] Error 1
Flags: needinfo?(cpearce)
Patch 2 with --disable-eme build failure fixed.

Approval Request Comment
[Feature/regressing bug #]: EME
[User impact if declined]: Without this patch, Firefox on builds built by local developers and by downstream projects that lack a signed EME plugin container/sandbox will think they can support Adobe EME, where really such builds cannot. Without the signed "voucher" for the plugin-container, Adobe's plugin will refuse to run. They will report the sites using EME that they support Adobe EME, and try to use it, and fail. This failure is showing up in our EME launch partner's telemetry, pushing up our error rate.
[Describe test coverage new/current, TreeHerder]: Local testing only. This only affects Adobe EME, which we can't test in our automation yet.
[Risks and why]: Low, this basically just checks if a file exists in our "do we support Adobe EME" logic.
[String/UUID change made/needed]: None.
Attachment #8598964 - Attachment is obsolete: true
Attachment #8599097 - Attachment is obsolete: true
Attachment #8598964 - Flags: approval-mozilla-release?
Attachment #8598964 - Flags: approval-mozilla-aurora?
Attachment #8599599 - Flags: review+
Attachment #8599599 - Flags: approval-mozilla-release?
Attachment #8599599 - Flags: approval-mozilla-aurora?
Comment on attachment 8599614 [details] [diff] [review]
[Aurora rebase] Patch 2v2: Only report that Adobe EME is available if we have a plugin-container voucher

This patch only builds on Aurora, not release...
Attachment #8599614 - Attachment description: [Aurora & Release rebase] Patch 2v2: Only report that Adobe EME is available if we have a plugin-container voucher → [Aurora rebase] Patch 2v2: Only report that Adobe EME is available if we have a plugin-container voucher
https://hg.mozilla.org/mozilla-central/rev/2a4864545b47
https://hg.mozilla.org/mozilla-central/rev/469ae46092fc
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
Attachment #8598962 - Flags: approval-mozilla-release?
Attachment #8598962 - Flags: approval-mozilla-release+
Attachment #8598962 - Flags: approval-mozilla-aurora?
Attachment #8598962 - Flags: approval-mozilla-aurora+
Comment on attachment 8599599 [details] [diff] [review]
Patch 2v2:  Only report that Adobe EME is available if we have a plugin-container voucher

Should be in 38 rc 1
Attachment #8599599 - Flags: approval-mozilla-release?
Attachment #8599599 - Flags: approval-mozilla-release+
Attachment #8599599 - Flags: approval-mozilla-aurora?
Attachment #8599599 - Flags: approval-mozilla-aurora+
Depends on: 1164925
You need to log in before you can comment on or make changes to this bug.