Commit Graph

53 Commits

Author SHA1 Message Date
Chris Pearce
f800da4db3 Bug 1430673 - Remove CDMProxy::GetSessionIdsForKeyId(). r=JamesCheng
MozReview-Commit-ID: EMT8BaHE2Pf

--HG--
extra : rebase_source : 292412397b5a3617857daf199e324f3560a58f14
2018-01-16 11:38:27 +13:00
Chris Pearce
da0df79d86 Bug 1426291 - Use DataMutex<T> to synchronize CDMCaps. r=jwwang
MozReview-Commit-ID: NLnoItNZKP

--HG--
extra : rebase_source : 39dd374343989350897aa3ab22b46fb554be17a9
2017-12-20 16:16:50 +13:00
James Cheng
c48a2cbcfa Bug 1404230 - Part3 - Add GetStatusForPolicy method in CDMProxy and its derived classes. r=cpearce
MozReview-Commit-ID: myrPzVi0rl

--HG--
extra : rebase_source : e576823470e9ac97c3c519bb286150d895953c8e
2017-10-05 15:37:25 +08:00
James Cheng
8f80fefaf0 Bug 1403830 - [Part1] Remove gmp-decryption.h and its related code. r=cpearce
MozReview-Commit-ID: G8RHADhfd3c

--HG--
extra : rebase_source : 125098fb689e5d031f042c9b3976a8163f41ff51
2017-09-28 15:50:28 +08:00
James Cheng
e3b97ecea3 Bug 1397123 - [Part1] Make aMessage of CDMProxy::OnSessionMessage const. r=cpearce
MozReview-Commit-ID: Bsw6s2HE02

--HG--
extra : rebase_source : 40a0bd4d5cc20210322daed0eba04dec2273fbd7
2017-09-11 12:16:18 +08:00
Phil Ringnalda
2387b87164 Backed out 2 changesets (bug 1397123) for Android build bustage
Backed out changeset 803c2d6f4be4 (bug 1397123)
Backed out changeset 2d41a6eb4df4 (bug 1397123)

MozReview-Commit-ID: A45nVCrhbQA
2017-09-11 20:23:22 -07:00
James Cheng
7cfecdecc8 Bug 1397123 - [Part1] Make aMessage of CDMProxy::OnSessionMessage const. r=cpearce
MozReview-Commit-ID: Bsw6s2HE02

--HG--
extra : rebase_source : e165dd24b22a06f5a7a9ebe2797136b4109a203f
2017-09-11 12:16:18 +08:00
Kris Maglione
b588cdc5bb Bug 1361900: Part 1 - Make CDMProxy.h compatible with mozilla::Result. r=JamesCheng
MozReview-Commit-ID: DiO7IPFYKbE

--HG--
extra : rebase_source : 500e32854c50e2381fd9de3a3533611be1426329
extra : source : 9e3064aec4bb16542f9cc93a89f7a257b6716a98
2017-05-12 12:08:43 -07:00
Sebastian Hengst
7b52c82b67 Backed out changeset 9e3064aec4bb (bug 1361900) for crashing Marionette's test_timeouts.py TestTimeouts.test_reset_timeout on Linux debug with e10s. r=backout 2017-05-13 18:56:06 +02:00
Kris Maglione
49ed37ac3d Bug 1361900: Part 1 - Make CDMProxy.h compatible with mozilla::Result. r=JamesCheng
MozReview-Commit-ID: DiO7IPFYKbE

--HG--
extra : rebase_source : defeef269706ba81ee35272818e468e3ae0b2b19
2017-05-12 12:08:43 -07:00
Chris Pearce
caac622c6d Bug 1315850 - Implement CDM persistent sessions. r=gerald
This is required for the browser clearing persistence tests to pass.

MozReview-Commit-ID: Ai9qc6Ds1IG

--HG--
extra : rebase_source : 80c2133e26742410fda983e3c18c35736fc013d0
2017-03-09 19:09:43 +13:00
Chris Pearce
c60d6c1294 Bug 1315850 - Add CDMProxy::AsChromiumCDMProxy(). r=gerald
This means the EME PDM implementation can safely tell when a CDMProxy is a
ChromiumCDMProxy, so we can create an appropriate MediaDataDecoder for it (in
the next patch).

MozReview-Commit-ID: CpL6QRa7SwJ

--HG--
extra : rebase_source : 3821c378c73067066f3cc67499680bdf546fb4f0
2016-12-15 11:32:03 +13:00
JW Wang
3be61ebd8d Bug 1345753 - Pass the event target to the CDMProxy constructor. r=cpearce
MozReview-Commit-ID: 94QzJ5FnGDo

--HG--
extra : rebase_source : b863f95c7906327f00eb8e08dd5b7f37a3b3cc6c
extra : source : 6e6242c50af23128b23d3b955a081481cec0b6e2
2017-03-09 14:58:18 +08:00
JW Wang
2df35d6eb8 Bug 1345324 - Label runnables for CDMProxy sub-classes. r=cpearce
MozReview-Commit-ID: Fpf29Kctmxs

--HG--
extra : rebase_source : 24612112d4b474812e5fdcd2e14cd3679715c098
extra : source : f5d085c3221ec54785f9c98a5fd0eda78d446641
2017-03-07 15:32:10 +08:00
Chris Pearce
cb48e7686c Bug 1339755 - Move GMPCDMProxy::DecryptJob out of GMPCDMProxy. r=jwwang
This means it can be used in other CDMProxies, specifically the
upcoming Chromium CDM code in bug 1315850.

MozReview-Commit-ID: G26xclqhtSw

--HG--
extra : rebase_source : 041c2cb41ba444e0dea8de3ddcc6a119d480f4f7
extra : source : c7f66edac83a6662d99f59a48f70c539f8ccecc8
2016-12-01 10:57:58 +13:00
Wes Kocher
5b67cbcee7 Backed out 2 changesets (bug 1339755) for build bustage a=backout
Backed out changeset f3629503d405 (bug 1339755)
Backed out changeset 85641936e471 (bug 1339755)

MozReview-Commit-ID: LiZfM9OcO5s
2017-02-15 11:57:38 -08:00
Chris Pearce
ef8e49b7e5 Bug 1339755 - Move GMPCDMProxy::DecryptJob out of GMPCDMProxy. r=jwwang
This means it can be used in other CDMProxies, specifically the
upcoming Chromium CDM code in bug 1315850.

MozReview-Commit-ID: G26xclqhtSw

--HG--
extra : rebase_source : c4c99063f7423b8cbbd49865d2d45eca32c254ce
extra : source : c7f66edac83a6662d99f59a48f70c539f8ccecc8
2016-12-01 10:57:58 +13:00
Kartikaya Gupta
1af1a82edf Bug 1312319 - Add a NS_INLINE_DECL_PURE_VIRTUAL_REFCOUNTING macro and replace existing pure-virtual AddRef/Release declarations. r=froydnj
MozReview-Commit-ID: 5yt3O4Hoois

--HG--
extra : rebase_source : 5dad12cd8400b8a783e8407de874d4b7c75cb645
2017-01-25 14:51:34 -05:00
Andrea Marchesini
f7f5990527 Bug 1317927 - Media caching needs to use origin attributes, r=cpearce, r=jesup 2016-12-07 07:07:09 -10: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
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
James Cheng
c6899c4863 Bug 1290830 - [Part2] Remove the GMP types using genral types instead. r=cpearce
MozReview-Commit-ID: 3EKwTNPddI1

--HG--
extra : rebase_source : 00f7267a76ad299b52d02b16425bb266ee58985b
2016-08-02 15:05:21 +08:00
Chris Pearce
f49856bc79 Bug 1278198 - Pipe through distinctive identifier and persistent state allowed. r=gerald
MozReview-Commit-ID: A92e0XGp5s4

--HG--
extra : rebase_source : 09f7ba18c9b81263aa345cc7f34f0ef2a2548482
2016-07-07 17:26:15 +12:00
Chris Pearce
1ea9b742f5 Bug 1278198 - Update EME code to reflect new WebIDL name changes. r=gerald
MozReview-Commit-ID: EssCsJxBBwt

--HG--
extra : rebase_source : 154746eca911e2250f3fa94a6a2d4b2624910e50
2016-07-04 14:14:01 +12:00
James Cheng
0cb95c8c46 Bug 1284192 - get rid of GMPErr from CDMProxy base class. r=cpearce
MozReview-Commit-ID: 43WduOtIfZH
2016-07-18 22:12:00 +02:00
James Cheng
02c5726f49 Bug 1284192 - Make CDMProxy be a base class and move the logic into subclass. r=cpearce
MozReview-Commit-ID: 4Lr3uqVexFD

--HG--
rename : dom/media/eme/CDMProxy.cpp => dom/media/gmp/GMPCDMProxy.cpp
rename : dom/media/eme/CDMProxy.h => dom/media/gmp/GMPCDMProxy.h
2016-07-18 22:13:00 +02:00
James Cheng
96e45dba10 Bug 1284809 - Rename CDMCallbackProxy to GMPCDMCallbackProxy to make it GMP specific use. r=jwwang
MozReview-Commit-ID: Ceq6vpGPNdA

--HG--
rename : dom/media/eme/CDMCallbackProxy.cpp => dom/media/gmp/GMPCDMCallbackProxy.cpp
rename : dom/media/eme/CDMCallbackProxy.h => dom/media/gmp/GMPCDMCallbackProxy.h
extra : transplant_source : %E1g%E9yJ%A8%7B%FFYw%FF%D3%B3%A4%D3%8F%93%DE%1B%7C
2016-07-11 12:52:07 +08:00
Chris Pearce
7517d84f1b Bug 1267918 - Add GMPCrashHelper for MediaKeys. r=gerald
So if a GMP crashes while doing EME, we'll get a crash report using the new
mechanism.

MozReview-Commit-ID: G8BlFI9jmiF

--HG--
extra : rebase_source : 1cda5c93ea9e547636b34ec2149ef9cd2506ca73
2016-06-29 11:42:04 +12:00
Kyle Huey
c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Mike Hommey
58b657359f Bug 1225682 - Don't use nsAuto{,C}String as class member variables in dom/media/. r=cpearce 2015-12-02 11:04:37 +09:00
Chris Pearce
6818d3ec67 Bug 1228215 - Add a 'gmpName' parameter to GMPService::GetNodeId(), so each GMP can see a different nodeId for the same origin. r=jwwang 2015-11-27 10:53:31 +13:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Bobby Holley
04eaf4c167 Bug 1184634 - Move various includes into the mozilla namespace. r=gerald
I did my a quick best-effort pass to fix up the most egregious ordering
problems. I left some big pre-existing messes alone.
2015-07-16 22:23:18 -07:00
Bobby Holley
407d2c5f90 Bug 1184634 - Rename MediaPromise to MozPromise. r=gerald 2015-07-16 22:21:56 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Chris Pearce
6f8271b698 Bug 1180070 - Use MediaPromises for CDMProxy::Decrypt. r=jwwang 2015-07-04 07:04:04 +12:00
Edwin Flores
d0bfa9bf80 Bug 1160445 - Add detailed logging for EME promise failures - r=cpearce,bholley 2015-06-03 13:42:50 +12:00
Edwin Flores
93909b8ff4 Bug 1156560 - Prefer old CDMs on update if they are in use - r=cpearce 2015-04-22 10:22:23 +12:00
Chris Pearce
d6025eed65 Bug 1154133 - Remove sync dispatches in EMEDecryptor, and mark MediaTaskQueue::SyncDispatch as deprecated. r=edwin 2015-04-15 12:14:49 +12:00
Edwin Flores
22ff3a6f11 Bug 1148071 - Fix CDM update behaviour - r=cpearce 2015-04-04 17:03:16 +13:00
Jean-Yves Avenard
e6858f0af5 Bug 1150853: Part2. Use new MediaRawObject across the board. r=cpearce. 2015-04-09 21:14:55 +10:00
Peter Van der Beken
8308cf3a1b Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 4 - make GetNodeId asynchronous. r=jwwang.
--HG--
extra : rebase_source : 59784b0a947cd870791a85b22c4d0607d9cdb835
2015-02-10 11:48:52 +01:00
Peter Van der Beken
83b03d9a6f Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 2 - support asynchronous GMP API getters. r=jwwang,rjesup.
--HG--
extra : rebase_source : 7010b6a0d5f3efc1ee749f836a37905f250d7cc6
2015-02-10 11:48:29 +01:00
Edwin Flores
46cbfd3c6b Bug 1147689 - Pass the session ID(s) of an encrypted frame into EME CDMs - r=cpearce 2015-03-26 22:57:36 +13:00
JW Wang
5d20d1e522 Bug 1128389 - rename "keyschange" to "keystatuseschange" per spec change. r=bz. r=cpearce. 2015-02-03 16:53:36 +08:00
JW Wang
a9391d3408 Bug 1102852 - add MediaKeyMessageType to and remove destinationURL from MediaKeyMessageEvent. r=cpearce,bz 2015-01-15 11:25:47 +13:00
Chris Pearce
7ba4d8b1c1 Bug 1111391 - Enable keyMessages to be sent before create/load session promise is resolved. r=jwwang 2015-01-09 14:30:07 +13:00
Ehsan Akhgari
860da94550 Bug 1114999 - Part 2: Apply MOZ_NO_ADDREF_RELEASE_ON_RETURN to all smart pointer arrow operators that can return refcounted objects; r=jrmuizel 2015-01-06 16:30:03 -05:00