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

470271 Коммитов

Автор SHA1 Сообщение Дата
Cameron McCormack d340c36d57 Bug 1261754 - Part 2: Make quotes computed values shareable between different structs. r=dholbert 2016-04-12 15:52:40 +10:00
Cameron McCormack cde55115b7 Bug 1261754 - Part 1: Improve static assertions for style struct bits. r=dholbert 2016-04-12 15:52:39 +10:00
Lee Salzman 7ecefe6c62 Bug 1240177 - fix SourceSurfaceSkia::DrawTargetWillChange deepCopyTo usage. r=mattwoodrow 2016-04-12 01:28:31 -04:00
Ben Kelly d7e7d9f47d Bug 1263237 Unify scripts in service-worker/resources. r=jgraham 2016-04-11 22:25:54 -07:00
Kirk Steuber a5ac9bebd2 Bug 1260836 - Add functionality to allow CRX files to be handled as ZIP files. r=spohl
MozReview-Commit-ID: 9JeSC6L4x6Z
2016-04-06 18:28:24 -07:00
Kirk Steuber 16d812c527 Bug 1245256 - GMP Plugins now installed in flat manner to accomodate widevine. r=spohl
MozReview-Commit-ID: 6aSKMD6oox7
2016-04-06 18:08:17 -07:00
Kirk Steuber 1daae03f6b Bug 1245256 - Added Widevine playback test plus other shaka-player playback tests. r=spohl
MozReview-Commit-ID: Hh3KVlV1CNj
2016-04-06 18:21:58 -07:00
Kirk Steuber c65d8e5f0b Bug 1245256 - Updated tests to work with new Widevine functionality. r=spohl
MozReview-Commit-ID: GasIh1GUxX7
2016-03-01 14:42:01 -08:00
Kirk Steuber 6b6ea89530 Bug 1245256 - Add support for Widevine to CDM updater. r=spohl
MozReview-Commit-ID: JwB4Q6ZEqoV
2016-02-25 14:24:13 -08:00
Chris Pearce 753e89fc45 Bug 1245789 - Expose AsyncAddPluginDirectory on GMPServiceParent. r=gerald
Now that adding GMPs to the GMP service is async under the hood, for safety
the GeckoMediaPluginServiceParent needs to expose when adding a GMP
has finished so that things that depend on GMPs being present can be reliable.
For example, the call to GMPDecoderModule::UpdateUsableCodecs() that happens
at the end of AddPluginDirectory depends on the GMPs being up to date, so it
needs to happen after the add has finished.

MozReview-Commit-ID: Fn8b0GNILNg
2016-04-12 16:12:22 +12:00
Chris Pearce 1286c752d4 Bug 1245789 - Ensure GMP service has added all plugins before running GMP remove tests. r=gerald
MozReview-Commit-ID: 488sYVQbS4x
2016-04-12 16:12:22 +12:00
Chris Pearce 1558fbfd65 Bug 1245789 - Enable Widevine EME in Mozilla official builds. r=glandium
MozReview-Commit-ID: FnzaXfT23rT
2016-04-12 16:12:22 +12:00
Chris Pearce 4038e1e9d9 Bug 1245789 - Ensure GMPs have finished loading from MOZ_GMP_PATH before GMPServiceParent::GetContentParentFrom returns. r=gerald
This means we wait for the GMP service to have finished detecting all available
GMPs from the environment before we start creating GMP actors. Without this, we
get gtest failures due to gtests trying to create GMP actors before the async
GMPServiceParent::LoadFromEnvironment() has completed, i.e. we fail to create
actors because we've not had a chance to setup the GMPParent capabilities yet.


MozReview-Commit-ID: Hl4o1c4QthJ
2016-04-12 16:12:22 +12:00
Chris Pearce c96ec15fb4 Bug 1245789 - Change GMPParent::InitPromise to instead use GenericPromise as defined in MozPromise.h. r=gerald
This makes it easier to chain promises returned by GMPParent::Init() with calls
to GMPServiceParent::LoadFromEnvironment() in the next patch.

MozReview-Commit-ID: KdGVvzAedJW
2016-04-12 16:12:22 +12:00
Chris Pearce 4eaf999528 Bug 1245789 - Make XPCOMThreadWrapper::GetCurrent() work. r=bholley
XPCOMThreadWrapper::GetCurrent() is failing because it's not keeping
AbstractThread::sCurrentThreadTLS up to date. This causes assertion failures
during startup of the GMP stack when dispatching via InvokeAsync to the GMP
thread, which is an XPCOM thread wrapped by the XPCOMThreadWrapper.

We can trivially initialize AbstractThread::sCurrentThreadTLS to be the
XPCOMThreadWrapper on the target thread, since it's thread-local-storage, and
the target thread won't change.

MozReview-Commit-ID: EIEFZppR2PS
2016-04-12 16:12:22 +12:00
Chris Pearce a7ef15b6b8 Bug 1245789 - Reject MediaKeys requests for Widevine if we don't have a platform AAC decoder. r=gerald
The Widevine CDM does not have an AAC decoder. It can however decrypt audio
streams. It's our policy to not decode AAC streams decrypted by the Widevine
CDM with the Adobe GMP's unencrypted decoding functionality. So reject
MediaKeySystemAccess requests for Widevine if we don't have a system AAC
decoder that we can use.

MozReview-Commit-ID: Ltq52wT1qno
2016-04-12 16:12:22 +12:00
Chris Pearce 2c831f28f4 Bug 1245789 - Push detection of WMF decoding for clearkey into GMPParent to simplify request media key system access logic. r=gerald
The logic in MediaKeySystemAccess is convoluted because it needs to keep
checking whether we're servicing a clearkey request and whether WMF is
available for gmp-clearkey to decode with. If we instead push those checks down
into GMPParent at the time where we parse the GMP info file, we can just not add
the decode capability to the GMPParent, and can remove the special cases in
MediaKeySystemAccess. This simplifies adding the (similar) special cases for
Widevine in the next patch.

MozReview-Commit-ID: IKD5LU86zIv
2016-04-12 16:12:22 +12:00
Chris Pearce 1fbf846737 Bug 1245789 - Use ifdef MOZ_WIDEVINE_EME to prevent compilation when not enabled. r=gerald
This means we won't try to build it when ac_add_options --enable-eme=widevine is
not present, and critically, we won't try to build it on Android, since the Chromium
Widevine plugin isn't available there.

MozReview-Commit-ID: 1jQvAbJP8HG
2016-04-12 16:12:21 +12:00
Chris Pearce 581bf9fd48 Bug 1245789 - Added support for --enable-eme=widevine and expose MOZ_$(keySystem)_EME in dom/media/{eme,gmp}. r=glandium
We need to not build Widevine by default, and when enabled we will need to be able to
ifdef on MOZ_WIDEVINE_EME (see next patch) so that we can not build the code on platforms
where it can't possibly work (Android specifcally, as Widevine isn't available as a
Chromium plugin there).



MozReview-Commit-ID: Avgz5NRcl9v
2016-02-26 14:01:41 +13:00
Chris Pearce da09cd13c1 Bug 1245789 - Ensure Widevine's nodeId are always unique and not permitted persistent storage. r=gerald
This ensures that we don't try to use one GMP instance to service multiple same-origin MediaKeys'
CDM access, as the Widevine CDM's Chromium interface is synchronous, so it doesn't handle running
multiple decoders well. Multiple same-origin GMPs can't safely use the same storage concurrently,
but thankfully Widevine doesn't require persistent storage, so we can just disallow that entirely
and avoid the problem.


MozReview-Commit-ID: 78I4IIGgHRA
2016-04-12 16:12:21 +12:00
Chris Pearce cb3b390405 Bug 1245789 - Whitelist functions needed by Widevine CDM in GMP child processes. r=jed
MozReview-Commit-ID: C6bpItv1qpi
2016-04-12 16:12:21 +12:00
Chris Pearce f744c99d0c Bug 1245789 - Send name of GMPAdapter over to GMP process in StartPlugin message. r=gerald
This lets the GMPChild know whether it needs to instantiate the WidevineAdapter.

MozReview-Commit-ID: 5X6IrRZPHdu
2016-04-12 16:12:21 +12:00
Chris Pearce c4ed00c030 Bug 1245789 - Parse Chrome CDM manifest in GMPService.addPluginDir. r=gerald
This has to happen on the main thread, as WebIDL parsing only happens there.
So it has to be async.

MozReview-Commit-ID: AfAoSkQAhl3
2016-04-12 16:12:21 +12:00
Chris Pearce 446a1fe1c6 Bug 1245789 - Store GMPCapabilities by value, rather than on the heap. r=gerald
MozReview-Commit-ID: 6B2IpUEqHlQ
2016-04-12 16:12:21 +12:00
Chris Pearce 694f3fc693 Bug 1245789 - Make GMPParent::Init() return a promise, so it can be async. r=gerald
This means that when initializing the Widevine CDM, we will be able to asynchronously
parse its manifest.json on the main thread, as the WebIDL JSON parser only runs there.

MozReview-Commit-ID: GI1sc4x4m16
2016-04-12 16:12:21 +12:00
Chris Pearce 67f4ed3368 Bug 1245789 - Add abstract thread wrapper for the GMP thread. r=gerald
I need to make GMPParent::Init() async, because the WebIDL JSON parsing
must happen on the main thread, and GMPParent::Init() is called on the
GMP thread, so I need GMPParent::Init() to be async so that in the
Chrome manifest case it can dispatch a task to the main thread to parse
the Chrome manifest before completing. So I'll make GMPParent::Init()
return a promise, and to do that, I need the GMP thread to have an
AbstractThread wrapper.

MozReview-Commit-ID: 44b4Z4jpar8
2016-04-12 16:12:20 +12:00
Chris Pearce e52ed67d48 Bug 1245789 - Add WebIDL dict definition for Widevine manifest JSON file. r=bz
The Widevine CDM has an accompanying manifest file which is in JSON format,
so I use this WebIDL dict to parse the manifest file in a later patch in this
series.

MozReview-Commit-ID: EoPSEciHVKh
2016-04-12 16:12:20 +12:00
Chris Pearce 1a971257c4 Bug 1245789 - Add Widevine CDM -> GMP adapter. r=gerald
Add a GMPAdapter implementation that adapts the Widevine Chrome CDM to
the GeckoMediaPlugin API. We're still allocating memory for video frames
in non shmem buffers, and copying them over to a shmem before returning
them to Gecko, we can fix that at a later date. I hook this adapter up
in a later patch in the series.


MozReview-Commit-ID: 7iSFODVWPu3
2016-04-12 16:12:20 +12:00
Chris Pearce f706b0c753 Bug 1245789 - Add GMPAdapter which can be passed to GMPLoader to adapt non GMP library to GMP API. r=gerald
This means we can pass a non GMP library to GMPLoader::Load() and the adapter will make it usable.


MozReview-Commit-ID: GihjX2JRw3l
2016-04-12 16:12:20 +12:00
Chris Pearce 114ad957d2 Bug 1245789 - Load Widevine CDM with sandbox level USER_RESTRICTED instead of USER_LOCKDOWN. r=bobowen
Otherwise Widevine CDM won't load on Windows. Other GMPs are still loaded at USER_LOCKDOWN.

MozReview-Commit-ID: aCTG1tQuwt
2016-04-12 16:12:20 +12:00
Chris Pearce 85c4260134 Bug 1245789 - Add Widevine KeySystem to EME. r=gerald
This means we recognize the keysystem string in our APIs.

MozReview-Commit-ID: E3KU3JTihcr
2016-04-12 16:12:20 +12:00
Chris Pearce 2a0d4dd3a3 Bug 1245789 - Handle unencrypted samples in encrypted media. r=gerald
Some encrypted MP4 files lack subsample info for some samples, so we need this check
to prevent us crashing on such files.

MozReview-Commit-ID: AXqOCAlb7IY
2016-04-12 16:12:20 +12:00
Chris Pearce 78b35c32d6 Bug 1245789 - Use frame size not display size in GMPVideoDecoder. r=kinetik
The Widevine CDM must use the frame size we pass in, as without this change some (but not all) EME
sites don't work.

MozReview-Commit-ID: 43BSMp72TXK
2016-04-12 16:12:20 +12:00
Chris Pearce 0bc89f86e9 Bug 1263506 - Ensure MOZ_GMP_PATH in gtests always has native dir separators. r=glandium
Without this, the GeckoMediaPlugin gtests fail, as the GMP stack is unable to
load GMPs from disk.

MozReview-Commit-ID: GGXdm2L5IF9
2016-04-12 16:12:19 +12:00
Andrew McCreight 2175118c7d Bug 1255634 - APZ should scroll by more than a page with large values of mousewheel.default.delta_multiplier_{x,y}. r=masayuki,kats
The constants in doTestWholeScroll() have to be reduced because
otherwise some subtests end up returning results that are off by a few
pixels with e10s, presumably due to differences in floating point
precision in APZ compared to non-APZ.

MozReview-Commit-ID: BxmqHrcN8IL
2016-04-12 00:06:49 -04:00
Kartikaya Gupta ad71ab8eb2 Bug 1259735 - Guard against a rounding error that could lead to Java having a stale page size, rendering the page unscrollable. r=snorp
MozReview-Commit-ID: 8s3zmH0LhmU

--HG--
extra : rebase_source : fc1a23eddb188907085265f000573f8b0578581a
2016-04-07 08:59:14 -04:00
Phil Ringnalda 1087454416 Back out changeset 76411e442ff3 (bug 1262866) for causing the crashreporter browser-chrome tests to run on, and thus fail on, the --disable-crashreporter ASan builds 2016-04-11 20:34:05 -07:00
Nicholas Nethercote 1e6cdc049c Bug 1263484 - Remove the JS_MAIN_RUNTIME_TEMPORARY_PEAK telemetry measurement. r=chutten.
It's no longer useful.

--HG--
extra : rebase_source : 099c6fc013b249331f5e7ff294aa19ff99df2819
2016-04-11 09:33:35 +10:00
Timothy Nikkel 11ebb71e31 Bug 1199023. Fix expectations of widget/tests/test_native_key_bindings_mac.html when a scrollbar is added to the iframe it is run in. r=jryans
The scrollbar changes when the test wraps, and so an operation that deletes text until the end of line deletes a different amount of text, and thus affects where the end of line is after the delete.
2016-04-11 22:19:45 -05:00
Timothy Nikkel 04885cc7cd Bug 1199023. Remove 'scrolling="no"' from iframe in which mochitest-chrome tests are run. r=ted
This makes the iframe more like the iframe that houses the root content document, and more like almost every other iframe.

This does cause real differences in practice when testing, eg https://bugzilla.mozilla.org/show_bug.cgi?id=1177018#c3
2015-09-23 01:29:37 -05:00
Ting-Yu Lin 152cf5d714 Bug 1168891 Part 2 - Allow one caret to be dragged across the other caret. r=mats
This behavior matches the Android convension and the built-in selection
on all desktop platforms.

MozReview-Commit-ID: 2kNm8UZnqH0

--HG--
extra : rebase_source : 097918c7c49e7cd545af52e9b3f3c540475ec589
2016-04-11 17:57:29 +08:00
Ting-Yu Lin 0f764ef889 Bug 1168891 Part 1 - Refine two functions related to caret positioning. r=mats
FindFirstNodeWithFrame() and CompareRangeWithContentOffset() share a lot
of code duplication. I refactor and rename the two functions to improve
the readability.

MozReview-Commit-ID: CyetLHOGT23

--HG--
extra : rebase_source : e026acc87347253bcc795538ea06cbbd68634227
2016-04-11 17:57:29 +08:00
Blake Kaplan 72f541b831 Bug 1263736 - Don't pass a wrapped native through IPC. r=felipe 2016-04-11 14:23:00 -04:00
Josh Matthews a67de0b59f Bug 1237633 - Part 2: Avoid fatal assertion when a responsive image's size specifier is invalid. r=johns, r=jdm
MozReview-Commit-ID: LyG6xn5VbSE

--HG--
extra : rebase_source : e04db97470b7024c8069fe8e6495d833818e913f
extra : histedit_source : a1cfd41e56809464a69c124df0c698046b5b93db
2016-01-07 15:02:14 -05:00
Edgar Chen 0412b0b8c4 Bug 1237633 - Part 1: Percentages are not allowed in a <source-size-value>. r=jdm
MozReview-Commit-ID: E7XUZzq3jr1

--HG--
extra : rebase_source : 3eb2c291658b481b6305912da1314b2435369520
extra : histedit_source : 5eec35e16eb10beaed74968500b9735e1d196e72
2016-03-30 16:31:09 +08:00
Xidorn Quan 90aa942f6f Bug 1261933 - Continue unlocking pointer even if the widget has gone. r=smaug
MozReview-Commit-ID: 1siQhemFf9O
2016-04-06 11:43:16 +10:00
JerryShih 53f6a7d204 Bug 1252237 - Remove the TextureHost shmem mapping failed assert. r=milan 2016-04-11 10:23:00 -04:00
Jean-Yves Avenard b786ae484f Bug 1248861: P12. Update AudioCompactor to account for alignment padding. r=rillian
MozReview-Commit-ID: 2e9oUthWW4C

--HG--
extra : rebase_source : 30b370fc73e924c71c4f778913bebbace9505455
2016-04-09 21:11:16 +10:00
Jean-Yves Avenard 73b4e33df1 Bug 1248861: P11. Fix current downmixer. r=rillian
Current downmixer was using vorbis channel order (which isn't surprising as it was extracted from the Ogg reader).
Make it use SMPTE order as that's now what all MediaDataDecoder output.

MozReview-Commit-ID: 5Kf7UnC52wL

--HG--
extra : rebase_source : 1848ffac58b854c7886871a0ff3dadbc92e111a2
2016-04-06 14:52:49 +10:00
Jean-Yves Avenard efaaf786d6 Bug 1248861: P10. Ensure opus decoder channel layout is always in SMPTE order. r=rillian
MozReview-Commit-ID: BDZ25pXJQWa

--HG--
extra : rebase_source : 5ce15f24aab67c026794af2afb32c61ca171d707
2016-04-05 23:35:31 +10:00