Граф коммитов

274 Коммитов

Автор SHA1 Сообщение Дата
Chris Pearce 19f0b2fe44 Bug 1320614 - Remove MediaKeys::mNodeId as it's only ever written and never read. r=gerald
MozReview-Commit-ID: BWfrjzdfph

--HG--
extra : amend_source : 784b9d8341dc2fad29c522b5faa147a2a81a9388
2016-11-28 12:12:34 +13:00
Gerald Squelart 2af5ebc606 Bug 1318228 - Replace nsAutoPtr with UniquePtr in MediaDrmCDMProxy - r=cpearce
MozReview-Commit-ID: 71BGVx1G7JH

--HG--
extra : rebase_source : cac6f50eaeaf1afa2f2b03f3514f5e598039618e
2016-11-17 21:11:04 +11:00
Kilik Kuo 5d9f1e5975 Bug 1307818-[P1] Provide drmStubId for CDMProxy and instantiate {Local,Remote}MediaDrmBridge. r=cpearce,jchen
MozReview-Commit-ID: EFPn4DOZq4D

--HG--
extra : rebase_source : 7f494fe6f6c6db897b50b159fcd001f3181f15cd
2016-11-16 22:09:34 +08:00
Chris Pearce 0a0e9d8f06 Bug 1317822 - Move GMPCrashHelper into its own file. r=gerald
MozReview-Commit-ID: 7CinZ2Y2Fmz

--HG--
extra : rebase_source : 3b176cbfadebf6463384105c261ff208bc58b1c2
2016-11-16 11:35:36 +13:00
Chris Pearce b430a8a481 Bug 1306314 - Add an ID to GMPDecryptor instances, reflect that on CDMProxy. r=gerald
This enables us to identify GMPDecryptor instances in the child process, so that
in a later patch when we create a GMPVideoDecoder instance, we can associate it
with a GMPDecryptor. Then the cdm::ContentDecryptionModule8 instance that these
two actors are adapted to can know whom it's supposed to respond to.

We use the IPDL PGMPDecryptorChild actor ID as the GMPDecryptor's ID. This is unique
per GMP process, which is sufficient.

MozReview-Commit-ID: 7NKND9VjPUW

--HG--
extra : rebase_source : da14d9a8a7313a609e30649af1a23e79b3e401fe
2016-11-11 12:10:43 +13:00
Iris Hsiao d9a1a0a083 Backed out changeset 9e9727bdc484 (bug 1306314) 2016-11-14 11:07:39 +08:00
Chris Pearce ec543ad267 Bug 1306314 - Add an ID to GMPDecryptor instances, reflect that on CDMProxy. r=gerald
This enables us to identify GMPDecryptor instances in the child process, so that
in a later patch when we create a GMPVideoDecoder instance, we can associate it
with a GMPDecryptor. Then the cdm::ContentDecryptionModule8 instance that these
two actors are adapted to can know whom it's supposed to respond to.

We use the IPDL PGMPDecryptorChild actor ID as the GMPDecryptor's ID. This is unique
per GMP process, which is sufficient.

MozReview-Commit-ID: 7NKND9VjPUW

--HG--
extra : rebase_source : 6ea7dfa358f8d13f7d36db5a581fc075268038b7
2016-11-11 12:10:43 +13:00
James Cheng 06a62c3bad Bug 1314530 Part3 - Instantiate MediaDrmCDMProxy if it is widevine on fennec. r=cpearce
MozReview-Commit-ID: AhNBaO5LPwe

--HG--
extra : rebase_source : bd481396058d28521b2cbbd0fca8296d32768a86
2016-11-07 14:03:44 +08:00
James Cheng d1f91996e4 Bug 1314530 Part2 - Add isRemote flag to MediaDrmProxy::Create function to determine if it is oop case. r=cpearce
MozReview-Commit-ID: Dqf1C5nDHct

--HG--
extra : rebase_source : aa957ab7b0ac5fb50b12ab4cd4a3db5fc7273488
2016-11-07 14:01:25 +08:00
James Cheng 90f62da0ee Bug 1314530 Part1 - Remove IsInPrivateBrowsing() since we did not use it anymore. r=cpearce
MozReview-Commit-ID: J8tfOyzBB97

--HG--
extra : rebase_source : fc667dcb1eb47d44f94da4d65160cde6dba8a2d9
2016-11-07 12:34:32 +08:00
James Cheng 15a599af5d Bug 1306572 - Part3 - Implement MediaCDMProxy and the callback proxy. r=cpearce
MozReview-Commit-ID: 3dFawuvhfWu

--HG--
extra : rebase_source : 2c77a0c1b9e7a3c1067f12ebf4a416ae4417f3e6
2016-11-01 14:39:34 +08:00
James Cheng 34683786c0 Bug 1306572 - Part2 - The native implementation of MediaDrmProxy by MediaDrmProxySupport r=cpearce,jchen
MozReview-Commit-ID: 1cbTPDyXlzU

--HG--
extra : rebase_source : 7b3dbecff6044182f67b46033afcfc1df4e26c86
2016-11-01 14:39:26 +08:00
Chris Pearce 5cba5b5a25 Bug 1314858 - Refactor multiple callers of HasPluginForAPI into a helper. r=gerald
I've repeated myself a few times, so make a helper to make determining which
GMPs are available easier.

MozReview-Commit-ID: 2fFLeaA5o8u

--HG--
extra : rebase_source : 74ea0b429d339273535610df3bbd7fec7beae469
2016-11-03 14:33:31 +13:00
Chris Pearce d5c366c045 Bug 1314445 - Remove unused ParseKeySystem(). r=gerald
MozReview-Commit-ID: KdIpvet73LR

--HG--
extra : rebase_source : aed95e2b024af6fa36f0da96f564966c8d7f3a7d
2016-11-02 13:56:23 +13:00
Chris Pearce 5ebd6552d1 Bug 1314445 - Make MediaKeySystemAccess use GMPService::HasPluginForAPI. r=gerald
Removes callers of GMPService::GetPluginVersionForAPI().


MozReview-Commit-ID: KZcyfDAfTR7

--HG--
extra : rebase_source : ee774359a30c75390eef43d7a6b94789070e77a4
2016-11-02 13:42:40 +13:00
Chris Pearce 20b6c3ec6b Bug 1314445 - Don't pass CDM version to MediaKey*. r=gerald
We don't need this, and we don't seem to be using this anyway.

MozReview-Commit-ID: 7NCRO94PN3m

--HG--
extra : rebase_source : de91b099e5e536eb321584990f18025e08c7cc78
2016-11-02 11:56:30 +13:00
Chris Pearce e80a3b5b24 Bug 1314452 - Remove IsGMPPresentOnDisk checks from Gecko. r=gerald
These are done in the GMPProvider, so it's unnecessary to do them again inside
Gecko. Plus, they cause main thread synchronous IPC in multi-process Firefox.


MozReview-Commit-ID: EcG38i3b2Oh

--HG--
extra : rebase_source : 37dffa797be13913131efb0019fd2e32c21b1fb6
2016-11-02 11:17:50 +13:00
Phil Ringnalda b6eec64324 Merge m-c to a CLOSED TREE m-i
MozReview-Commit-ID: 2JxLeQ8GYIX
2016-10-27 20:36:38 -07:00
Chris Pearce b691c3f403 Bug 1310879 - Remove EME persistent-license sessions. r=gerald
This removes the ability for ClearKey to instantiate persistent-license
sessions using the EME APIs.

MozReview-Commit-ID: FXj5YORxpas

--HG--
extra : source : b69b2435f1059a5c7b1dd26947ea500b381ec7f0
2016-10-18 15:42:02 +13:00
Chris Pearce 08bdd39606 Bug 1310879 - Check that only supported session types are instantiated. r=gerald
MozReview-Commit-ID: 6XkToIXzZL8

--HG--
extra : source : d1c0a7a2ff25005de82033081bee5eb10adea0c8
2016-10-28 11:43:26 +13:00
Chris Pearce 17c7c9d886 Bug 1310879 - Pass MediaKeySystemConfiguration to MediaKeys. r=gerald
MozReview-Commit-ID: 6tHlyRl4nWT

--HG--
extra : source : 5773f8dac74aaf05ec1c4f8585b3b148d51da324
2016-10-28 11:22:11 +13:00
Chris Pearce 8685a93e46 Bug 1313202 - Update MediaKeySession.close() to match EME spec. r=gerald
MozReview-Commit-ID: JgzOaACDUfc

--HG--
extra : rebase_source : 35ce6986bdc7e486b757df53fc59a63fb97014c3
2016-10-27 11:37:27 +13:00
Chris Pearce ea73ebebc8 Bug 1311848 - Don't call ConnectPendingPromiseIdWithToken in MediaKeySession::Load. r=kikuo
We don't need to call MediaKeys::ConnectPendingPromiseIdWithToken() on the
MediaKeySession::Load() path, we already know the session Id, and we've already
removed the session from the list of pending sessions in Load().

MozReview-Commit-ID: KBiEsY95Csi

--HG--
extra : rebase_source : aadc3204409df35e4bbcb9532c530f860681afd1
2016-10-21 10:52:26 +13:00
Chris Pearce 22b1ca7b53 Bug 1311864 - Reject MediaKeySession::Load() for non temporary session types. r=kikuo
We are required to do this by the draft EME spec.

MozReview-Commit-ID: FnIEFgVId1z

--HG--
extra : rebase_source : 23042d3acda6cfcb379db457224d648dc955f688
2016-10-21 11:43:05 +13:00
Carsten "Tomcat" Book 2e7511ed5a merge mozilla-inbound to mozilla-central a=merge 2016-10-20 16:47:39 +02:00
Kilik Kuo ede59e2ecf Bug 1310936- Provide a map to get pending MediaKeySession by promise Id correctly. r=cpearce
MozReview-Commit-ID: 34BL4GYoC1A

--HG--
extra : rebase_source : 4dffdf8da32412a6812716de9edbf685235ce442
2016-10-20 15:28:09 +08:00
Phil Ringnalda 8377010e6a Merge m-c to m-i
MozReview-Commit-ID: Ihd0iacfcIW

--HG--
rename : devtools/.eslintrc => devtools/.eslintrc.js
2016-10-18 19:45:02 -07:00
Kilik Kuo 4eecda6d84 Bug 1310958 - Reject promise with correct error in MediaKeySession::Load. r=cpearce
MozReview-Commit-ID: JuWGZCMfW6x

--HG--
extra : rebase_source : 59a9957cd3d37c0ef81cd6bc09f7b6eda3afac7b
2016-10-18 17:31:51 +08:00
Jon Coppeard 556585c65f Bug 1297558 - Remove explicit calls to Expose*ToActiveJS r=mccr8 2016-10-18 17:58:19 +01:00
Chris Pearce e90255c806 Bug 1311252 - Make MediaKeyMessageEvent.webidl patch spec. r=smaug
Update our copy of EncryptedMediaExtensions.idl to match upstream
Web Platform Tests, so we keep passing.

MozReview-Commit-ID: IHaVX45GrYx
2016-10-19 20:33:54 +13:00
Chris Pearce c2998283ca Bug 1309299 - make navigator.requestMediaKeySystemAccess() reject with TypeError for empty keysystem string or config. r=gerald
This makes us match the spec and pass more cases of
http://www.w3c-test.org/encrypted-media/drm-mp4-syntax-mediakeysystemaccess.html
but we still need to adjust the test so that it's consistent, as pointed out
by bz.

MozReview-Commit-ID: KEfRk4QnJKR

--HG--
extra : source : 72af37aaf2a0a42c20e64b3b455f0cb79e2b7eb1
2016-10-11 10:37:34 -07:00
Carsten "Tomcat" Book f21768dc9c Backed out changeset aa789d732c6c (bug 1309299) for wpt-4 test failures on own test 2016-10-12 08:49:30 +02:00
Chris Pearce b34a32e0bb Bug 1309299 - make navigator.requestMediaKeySystemAccess() reject with TypeError for empty keysystem string or config. r=gerald
This makes us match the spec and pass more cases of
http://www.w3c-test.org/encrypted-media/drm-mp4-syntax-mediakeysystemaccess.html
but we still need to adjust the test so that it's consistent, as pointed out
by bz.

MozReview-Commit-ID: KEfRk4QnJKR

--HG--
extra : source : a54ae0c94eefcf30270abad6463ed0becd0331db
2016-10-11 10:37:34 -07:00
Chris Pearce ef74aeb8a8 Bug 1308076 - Use PsshParser to validate CENC init data. r=jwwang
Now that we can link gmp-clearkey's PSSH parser into Gecko, we can
simply use that inside MediaKeySession to validate that the CENC
init data matches the spec.

This change enforces that CENC init data uses the common system Id.
As far as I can tell, Widevine only uses that now.

MozReview-Commit-ID: HrlKQHcv5DI

--HG--
extra : source : f61138f1030e87026eb432e83d36e46c81e55b33
2016-10-06 23:17:44 +13:00
Chris Pearce a52e1adba5 Bug 1308076 - Validate keyids json format. r=smaug
Use a WebIDL dict to define the "keyids" EME init data format, and
then use that to parse and validate incomint "keyids" EME init data
and ensure it's in the expected JSON format, i.e.:

https://w3c.github.io/encrypted-media/format-registry/initdata/keyids.html

This means we now pass the "generateRequest() with too short key ID."
case of encrypted-media-generate-request-disallowed-input.html
(upstream that is, our local copy of that WPT is out of sync).


MozReview-Commit-ID: 6W7j2a9Bg7E

--HG--
extra : source : fed2a26df89a5c2a600a6e6d1ab63ab86706fc45
2016-10-06 17:57:08 +13:00
Chris Pearce 1678efebbf Bug 1308076 - Basic validation of EME initData. r=jwwang
Implement more of MediaKeySession.generateRequest() to validate initData before
passing to CDM.

Also throw TypeErrors when initData is not valid, as per the spec.

Only trivial validation happens here, I'll add more comprehensive validation in
subsequent patches.

MozReview-Commit-ID: 3jTOsJNvRDo

--HG--
extra : source : d023aec75d1ef1486116510efcc31e2b587e6e50
2016-10-06 17:54:36 +13:00
James Cheng 7472ef82a6 Bug 1306219-Part3 Add logic to determine if Widevine keysystem is supported on Fennec. r=cpearce
MozReview-Commit-ID: 7lquhpJPYfW

--HG--
extra : rebase_source : 17f97d1574771fb52cece8d4331d6bc5c31cbad4
2016-10-04 11:45:34 +08:00
James Cheng 019d1cf24a Bug 1306219-Part1 Rename GMP_* into EME_* r=cpearce
MozReview-Commit-ID: Li05WWXqRj2

--HG--
extra : rebase_source : 18b195227384cb07a9127aa45f8acf0e5c174451
2016-10-04 11:45:08 +08:00
Kilik Kuo 34516e1303 Bug 1308121-Handle unrecognized content type parameter when trying to get supported capability. r=cpearce
MozReview-Commit-ID: GqSjn6BjhTi

--HG--
extra : rebase_source : 9aa4f67b99c376d1b525e72ef60b3cdcdaa68b4d
2016-10-07 00:45:27 +08:00
Kilik Kuo 55bf555b74 Bug 1303922 - Part 2: Remove KeyStatusChanged/ForgetKeyStatus IPDL messages. r=cpearce
MozReview-Commit-ID: Flx2SQI7lM0

--HG--
extra : transplant_source : %40p%5C%C3%06%D0m%0C/%7B%0C%5B%A2%93o%F6%A1%1B%00%7D
2016-10-04 17:19:53 +08:00
Kilik Kuo 4d162fcd4a Bug 1303922 - Part 1: Make EME keystatuschanged information notified in batch. r=cpearce
MozReview-Commit-ID: IeExaQ62qTF

--HG--
extra : transplant_source : t%D4%AFxu%D6%40%F8hU%D2%94%D4q8q%EDy%08-
2016-10-04 17:18:46 +08:00
Carsten "Tomcat" Book 02f4754fbc merge mozilla-inbound to mozilla-central a=merge 2016-10-04 11:58:07 +02:00
Chris Pearce b2629e2eec Bug 1307248 - Replace uses of CompareUTF8toUTF16(kEMEKeySystem*) with Is*KeySystem(). r=jwwang
MozReview-Commit-ID: BTTacIyYfGZ

--HG--
extra : rebase_source : 4c3146ce7ca597c33871e8fb76b1c86d93c24ef7
2016-10-04 09:48:28 +13:00
Chris Pearce 5215e69245 Bug 1307248 - Add Is{Primetime,Widevine}KeySystem() functions. r=jwwang
MozReview-Commit-ID: GnH0T8IJhgR

--HG--
extra : rebase_source : cbaa64436e8ce034f6c953afa74001054f2ade0a
2016-10-04 09:40:32 +13:00
Stone Shih d76caea5e4 Bug 1292063 - Part 1: Add Event.composed. r=smaug
--HG--
extra : rebase_source : 105f9cfddb083d48d3da25fa13bf9a3b4c2637f6
2016-08-31 11:16:11 +08:00
Chris Pearce f40bbc42f7 Bug 1305552 - Add telemetry to track uses of MediaKeySession.generateRequest. r=francois,gerald
This allows us to track how often EME CDMs are used, rather than just created.
The telemetry I added in bug 1304207 is reports whenever a CDM is created, but
some sites, such as the Shaka Player demo site, create CDMs without using them,
so that telemetry isn't a great measure in helping us detect when CDMs aren't
being used. Whereas the telemetry added here will report when the CDMs are used
to negotiate a license, i.e. when the CDMs are actually being used.


MozReview-Commit-ID: ExMIcIIBvS1
2016-09-27 15:01:06 +13:00
Carsten "Tomcat" Book ce8c91d458 Merge mozilla-central to mozilla-inbound 2016-09-22 11:56:22 +02:00
Chris Pearce 39789bfc59 Bug 1304250 - Implement MediaKeySession.onmessage. r=smaug
MozReview-Commit-ID: FDpvsoFwy6C

--HG--
extra : rebase_source : d569107d6c473d24800e2e4c97d6408ac81eb09b
2016-09-21 14:56:20 +12:00
Chris Pearce a509ea65bc Bug 1304249 - Implement MediaKeySession.onkeystatuseschange. r=smaug
MozReview-Commit-ID: 1LnDi1MmXi2

--HG--
extra : rebase_source : e12a4085ad2462f1157ab4ea0552a239cd7499dc
2016-09-21 14:31:15 +12:00
Chris Pearce 3d1e5d28dd Bug 1304207 - Add telemetry to track when EME CDMs are instantiated. r=francois,gerald
Add opt-out telemetry probe to track which EME CDMs are being instantiated.
This will enable us to determine when it's safe to remove the Adobe CDM.


MozReview-Commit-ID: iEPSTk7UtP

--HG--
extra : rebase_source : fb51d77f4c15fe2d9ef0adf3c87f6125bb758b9c
2016-09-21 10:45:02 +12:00