Commit Graph

51 Commits

Author SHA1 Message Date
Chris Peterson
4b28bd3f34 Bug 1329547 - Remove EME checks for Vista. r=cpearce
MozReview-Commit-ID: J1ww70KMQuw

--HG--
extra : rebase_source : 8cbf795562a02469ce1c5629c5c693700ee8fcea
2017-01-08 00:56:45 -08: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
Gerald Squelart
c22dcadd40 Bug 1318228 - Replace nsAutoPtr with UniquePtr in GMPCDMProxy - r=cpearce
MozReview-Commit-ID: Hy4rag5UbsZ

--HG--
extra : rebase_source : d3802b3e0e22cb1ef982eecc4c1a5b016f0ff6aa
2016-11-17 18:40:28 +11: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
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
Tim Huang
52370e14ba Bug 1278037 - Part 4: Modify the mozIGeckoMediaPluginChromeService.forgetThisSite() to take the originAttributes pattern as an argument. r=cpearce
--HG--
extra : rebase_source : c480a89fabd99a6ead348c172e68f524dbb2b458
extra : histedit_source : 145d639edff67799e33dd2c4592b4f5902b872e5
2016-07-28 11:46:06 +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
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10: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
e0a9078a6f Bug 1267918 - Add GMPCrashHelper to GMPService::GetGMP* functions. r=gerald
This enables callers to specify a way to determine the correct window to
dispatch the PluginCrashed event to should the GMP actor crash.

We need a way to determine the correct window at crash time, as the GMP's
window can change at runtime. For example, if the GMP is being used for
unencrypted decoding, the <video> element can be moved to a new browser window
at runtime.

Note: I don't handle disconnecting the GMPCrashHandlers in this patch; we do
delete the GMPCrashHandlers in this patch when their associated GMP crashes, and
in the next patch we handle disconnecting GMPCrashHandlers in the case where
we don't crash.

MozReview-Commit-ID: DrwcZAB6Ys0

--HG--
extra : rebase_source : 8da188b68456914773e6adae8cbccd6bf6a6e7a7
2016-06-29 11:41:56 +12:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Chris Pearce
375dc51df7 Bug 1271169 - Add gtest to ensure EME device binding works. r=gerald
Call the device binding code in gtests, and have a test GMP which returns the
device ID it was passed in a message, so that we can verify that the id the GMP
was passed is the same as the id generated in the parent.

MozReview-Commit-ID: Gjqvo6dRK1D

--HG--
extra : rebase_source : bea5acc878a639fb819051e19e23533c14c19927
2016-05-10 13:40:05 +12:00
Jean-Yves Avenard
d31cb0499b Bug 1206637: P2. Replace all cached preferences with MediaPrefs ones. r=cpearce
Additionally, clean up stray and unused Preferences.h header.

MozReview-Commit-ID: IcPrD2inkDE

--HG--
extra : rebase_source : c3c6e37767627db3601090c2855a3dfa98cb4368
2016-05-10 11:02:28 +10:00
Chris Pearce
46a1552995 Bug 1271242 - Remove GMPDecryptorCallback::SetCapabilities(). r=jwwang
Now that GMPParent detects whether gmp-clearkey can decode using AAC/H.264
using WMF before reporting gmp-clearkey's GMPParent can decode AAC/H.264, we
don't need the GMPDecryptorCallback::SetCapabilities() callback from the GMP to
signal to the PDMFactory that the GMP can decode. We can now trust what the
GMPService tells us.

So we can remove the "waiting for CDM caps" step in the state machine's startup
sequence. And all the plumbing. :)

If we need more caps, like for an decode-and-render path, we can declare those
as API strings in the info file.


MozReview-Commit-ID: E0QhU4cYhjo

--HG--
extra : rebase_source : 7d15ab6a45bac88c15c053f416d941b5fe0807b0
2016-05-10 10:28:38 +12:00
Kyle Huey
941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book
ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey
48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07: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
Jean-Yves Avenard
bc55ba93a4 Bug 1240411: P9. Clean up media headers. r=jwwang
Remove redundant virtual keyword and add missing override if any.
2016-01-19 19:47:36 +11:00
Chris Pearce
f212540c95 Bug 1232527 - Remove GMPVideoDecoderTrialCreator and friends. r=jwwang
Remove GMPVideoDecoderTrialCreator, and the tests and IPC/IDL supporting it.

--HG--
extra : commitid : HlbJPl2gPAl
extra : rebase_source : fe1773014e5d09da264f85d464e408aca46a60c4
2015-12-15 15:17:22 +13:00
Chris Pearce
537e205dfc Bug 1228215 - Store each GMP's storage and nodeId salt in separate directories. r=jwwang 2015-11-27 10:53:32 +13: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
Chris Pearce
b65cba6328 Bug 1169129 - Test GMPVideoDecoderTrialCreator detects failure. r=edwin
--HG--
rename : dom/media/gmp-plugin/gmp-fake.cpp => dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
2015-06-05 21:55:52 +12:00
Chris Pearce
c02d6f7096 Bug 1169129 - Change GMP*Parent::ParentId() to a more consistent GMP*Parent::GetPluginId(). r=edwin 2015-06-05 21:55:51 +12:00
Edwin Flores
5e27f10658 Bug 1155939 - Gtest for deletion of GMP plugins on removal - r=cpearce 2015-04-17 16:09:46 +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
Ryan VanderMeulen
592eb8e32d Backed out changesets f06080c6097f and 03ce639c4f13 (bug 1155939) for frequent Linux GMP gtest deadlocks.
--HG--
extra : rebase_source : ab588d9806e0c515943ebc0a387a58dce0c28a28
2015-04-20 11:39:36 -04:00
Edwin Flores
0394e1102c Bug 1155939 - Gtest for deletion of GMP plugins on removal - r=cpearce 2015-04-17 16:09:46 +12:00
Edwin Flores
22ff3a6f11 Bug 1148071 - Fix CDM update behaviour - r=cpearce 2015-04-04 17:03:16 +13:00
JW Wang
ff0f2f0b39 Bug 1151746 - Origin tuples in should include schemes. r=edwin 2015-04-07 01:32:00 -04: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
Peter Van der Beken
f3fd8b5329 Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 1 - split GeckoMediaPluginService into a part for chrome and a part for both content and chrome. r=jwwang.
--HG--
rename : dom/media/gmp/GMPService.cpp => dom/media/gmp/GMPServiceParent.cpp
rename : dom/media/gmp/GMPService.h => dom/media/gmp/GMPServiceParent.h
rename : dom/media/gmp/mozIGeckoMediaPluginService.idl => dom/media/gmp/mozIGeckoMediaPluginChromeService.idl
extra : rebase_source : 7fe8972a20b198ca960ae76df082b153d22c37b4
2015-02-09 21:54:12 +01:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Daniel Holbert
082fd9cd7f Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan
This patch was generated by a script.  Here's the source of the script for
future reference:

find . \( -iname "*.cpp" -o -iname "*.h" \) | \
  xargs -n 1 sed -i "s/nsRefPtr<nsIRunnable>/nsCOMPtr<nsIRunnable>/g"
2015-03-17 09:29:17 -07:00
JW Wang
c1dd9140a5 Bug 1121332. Part 1 - add media key status to gmp-api. r=cpearce. 2015-01-31 13:22:12 +13: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
JW Wang
70e0ff3199 Bug 1120295 - test case for "Clear Recent History" command. r=cpearce. 2015-01-13 00:32:00 +01:00
JW Wang
b5a3daefe2 Bug 1111788 - Part 2 - have GeckoMediaPluginService listen to "browser:purge-session-history" event. r=cpearce. 2015-01-08 19:27:00 +01: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
JW Wang
c9d6a08a8c Bug 1118574 - test case for "Forget This Site" command. r=cpearce 2015-01-06 18:51:00 +01:00
Chris Pearce
d928f41d37 Bug 1104970 - Store GMPStorage record names at the start of each record. r=jesup 2014-12-03 13:36:00 +01:00
Chris Pearce
fe82002fba Bug 1100499 - Add GMP API to enumerate records stored on disk. r=jesup 2014-11-21 12:25:12 +13:00
Chris Pearce
8d2e1be533 Bug 1049273 - Expose GMP voucher to GMP at runtime if its present. r=jesup 2014-11-14 21:39:39 +13:00
Bob Owen
de12f8c051 Bug 1088130: Add to TestGMPCrossOrigin.cpp gtest to test that the APIs required for Output Protection on Windows work within the sandbox. r=cpearce 2014-11-03 10:02:30 +00:00
Ehsan Akhgari
f453170f6b Bug 1090242 - Fix some more bad implicit constructors in DOM; r=baku
--HG--
extra : rebase_source : 22f80376a2ce9415dc9d7fdd2444405d3cd7e011
2014-10-10 17:28:35 -04:00