Commit Graph

49992 Commits

Author SHA1 Message Date
Ben Tian
88d03021fb Bug 1263116 - Stop throwing for DOMTokenList's.contains() when using empty string or ASCII whitespace, r=baku 2016-05-05 18:07:22 +08:00
Gerald Squelart
a2b3ad3b63 Bug 1266336 - Clarify expected usage of CDM wrapper - r=cpearce
Assert that the CDM wrapper is given a non-null CDM pointer.
(so GetCDM() doesn't need to be null-checked.)
Renamed WidevineVideoDecoder mCDM to mCDMWrapper, to avoid (my) confusion.
Assert that WidevineVideoDecoder is given a non-null CDM-wrapper pointer.
Assert that WidevineVideoDecoder only accesses the CDM before DecodingComplete.

Small optimization: Move aCDM into mCDM (to save an AddRef/Release pair).

MozReview-Commit-ID: yKupY067ly

--HG--
extra : rebase_source : 94140b423a04f28368de0831761406c145fad93e
2016-05-06 12:10:59 +10:00
Gerald Squelart
bb3afc2867 Bug 1266336 - Check actual CDM creation - r=cpearce
Check the return result from Widevine's CDM creation function, and handle
failure.

MozReview-Commit-ID: HYvKgdK53aQ

--HG--
extra : rebase_source : b3e28ba5e0020e3a6dd77c8a83b58be233fdc770
2016-05-05 12:04:07 +10:00
Gerald Squelart
7a14964bfb Bug 1266336 - Check sCDMWrapper before creating video decoder - r=cpearce
Ensure that there is a CDM before creating a video decoder that relies on that
CDM. This is mainly to prevent using the Widevine video decoder alone, without
decryption.

MozReview-Commit-ID: 7p49CnmV2r7

--HG--
extra : rebase_source : 49b07100b2be56584bc14f41d39d4872f0539c3a
2016-05-05 11:37:22 +10:00
Chris Pearce
faee3cba4f Bug 1268984 - Prefer to re-use a GMPParent with the requested nodeId rather than clone. r=jesup
If you request a GMPParent with a nodeId, you should get any already running
instances with the same nodeId in preference to cloning an existing GMP and
assigning it the nodeId.

This is ensures that EME GMP actors that are same-origin run in the same GMP
instance.

The GMP gtests are failing because of the cross-origin checks in
GeckoMediaPluginServiceParent::SelectPluginForAPI(). The loop there selects the
first GMPParent that can be used from the nodeId passed in. We previously
assumed a GMPParent can be used from a nodeId if the GMPParent has the same
nodeId, or if it has not loaded its process and it has no nodeId. The problem
with assuming that, is if an in-use GMPParent with the target nodeId lies in
the GeckoMediaPluginServiceParent::mPlugins list after a GMPParent with no
nodeId, we'll end up using the first GMPParent (the one with no nodeId) rather
than the one with the target nodeId.

The solution is to change GeckoMediaPluginServiceParent::SelectPluginForAPI()
so that effectively if we have a target nodeId, we'll select the first
GMPParent that has the same nodeId, or we'll clone the first which supported
all the requested capabilities/tags.

This means when you request a GMPParent with a given nodeId, you'll get the one
with the same nodeId (origin) by preference.

MozReview-Commit-ID: 4yVnrO8B1Pg

--HG--
extra : rebase_source : 5db7c6ef5f360df7d2244ca828b68b340c4e9a41
2016-05-05 22:35:44 +12:00
Chris Pearce
ad956f902f Bug 1268984 - Store GMPStorage on GMPServiceParent so that it persists inside the same PB session. r=gerald
Prior to this change, we'd store the GMPStorage records for private browsing
sessions in the GMPStorageParent. The problem with this is that they only have
a lifespan matching their corresponding GMPParent. This means that if a GMP
stores something in a PB session, and the GMP is shutdown and then re-created,
we are likely to loose the stored data. This could mean that the PB session
gets results it doesn't expect, and thus expose a way for PB mode to be
detected.


MozReview-Commit-ID: 1OMD0LvidYs

--HG--
extra : rebase_source : 75661a7b1717e39a29c3e12ad203d9273e8485ab
2016-05-05 11:41:33 +12:00
Chris Pearce
cc6122ebd1 Bug 1268984 - Ensure GMPs are re-inserted in GMPServiceParent::mPlugins in the same order in ReAddOnGMPThread. r=gerald,jesup
The GMP which GeckoMediaPluginServiceParent::FindPluginForAPIFrom() returns
depends on the order in which GMPs lie in GMPServiceParent::mPlugins. However
when we shutdown a GMPParent we remove and then re-append the GMPParent to
mPlugins. This means the order in which GMPs lie in the list changes.

So when WebRTC requests an H.264 decoder, the first time it will get OpenH264,
since that's first in the list. But once we dispose of that decoder, its
GMPParent will be cloned and the clone will be appended to the end of the
list. This means the next time WebRTC requests a decoder, it'll get whatever
was next in the list.

This could be the Adobe GMP, which seems to be able to handle whatever WebRTC
is putting into it. However, if you do this enough times, you'll get the
Widevine CDM, which can't handle whatever WebRTC is putting into it.

So a quick hack to fix this is in ReAddOnGMPThread is to re-insert the clone
of the GMP into the slot in mPlugins that the original occupied. Then WebRTC
will always get OpenH264 whenever it requests for an H.264 decoder, as the
order of the GMPParents in mPlugins won't change.




MozReview-Commit-ID: Ii4AMqDqAo9

--HG--
extra : rebase_source : 62c10bc5b77ef259917aa6c88309be2423c93914
2016-05-04 13:57:20 +12:00
Ben Kelly
4951f23f02 Bug 1270161 Make fetch() use a control runnable to cleanup if the worker thread is shutting down. r=baku 2016-05-05 13:02:27 -07:00
Neil Deakin
961f3d6c9b Bug 1256952, revert this bug, r=me
--HG--
extra : source : 1347c189b6da67d2142fb266c82f74272b09139b
2016-04-29 19:42:41 -04:00
Wes Kocher
5983b42383 Backed out 2 changesets (bug 1240326) for failures in browser_ext_tabs_query.js
Backed out changeset c057ea186ced (bug 1240326)
Backed out changeset 4399e8609c74 (bug 1240326)
2016-05-05 13:06:36 -07:00
Ralph Giles
68b4c267db Bug 1261955 - Re-activate the VIDEO_UNLOAD_STATE telemetry probe. r=SingingTree,bsmedberg
Rename the VIDEO_MSE_UNLOAD_STATE telemetry probe to just
VIDEO_UNLOAD STATE and reactivate it. We were using this
to track MSE deployment success and would now like to
generalize it to all media playback.

We can remove this probe from histogram-whitelists.json because
we now define alert emails and bug numbers.

MozReview-Commit-ID: Jwmdkgl8CC3
2016-05-05 12:45:59 -07:00
Ralph Giles
d7723aa39c Bug 1261955 - Re-activate VIDEO_PLAY_TIME_MS telemetry probe. r=SingingTree,bsmedberg
Rename the VIDEO_MSE_PLAY_TIME_MS telemetry probe to just
VIDEO_PLAY_TIME_MS and make it active for all video playback.

We were using this to track MSE deployment success. Now we'd
like to do something similar for video playback in general,
regardless of the origin. This allows us to simplify the
collection code somewhat.

MozReview-Commit-ID: 7s8pOQWipf4
2016-05-05 12:45:59 -07:00
Ralph Giles
d463fdaec4 Bug 1261955 - Remove VIDEO_MSE_BUFFERING_COUNT telemetry probe. r=SingingTree
This is no longer necessary.

MozReview-Commit-ID: 8017y0v7VEc
2016-05-05 12:45:59 -07:00
Ralph Giles
d47d281bc4 Bug 1261955 - Remove VIDEO_MSE_JOIN_LATENCY_MS telemetry probe. r=SingingTree
This is no longer necessary.

MozReview-Commit-ID: 81pF9cSvKab
2016-05-05 12:45:59 -07:00
Aryeh Gregor
9aba692542 Bug 1270499 - Setting reflected unsigned long to out-of-range value should set to default; r=bz
This changes to match the spec, which also aligns the behavior of get
and set (get already maps out-of-range values to the default value).
There is currently no interoperable behavior here, but this aligns us
with IE -- tested in 11, hopefully true for Edge too.

On the way, I also fixed the fact that video's height and width were
being treated as signed.
2016-05-05 21:29:54 +03:00
Aryeh Gregor
ccf82a74c7 Bug 881000 - Reflect img.lowsrc as a URL, not string; r=bz 2016-05-05 21:29:54 +03:00
Aryeh Gregor
4f9767021b Bug 1270459 - Limit td/th.scope to known values; r=bz 2016-05-05 21:29:54 +03:00
Aryeh Gregor
7ab958ba96 Bug 1270518 - Make object.code reflect as string, not URL; r=bz 2016-05-05 21:29:54 +03:00
Chris Pearce
645ef4e747 Bug 1266286 - Ensure crash reports work for GMP used by EME code. r=mconley
Crash reporting for GMPs being used from the EME call site are not generating
crash reports because they depend on the MediaKeys object calling
GMPService::AddPluginCrashHandler() to associate a window to which the
PluginCrashedEvent is fired. This doesn't work with e10s enabled because the
GMPParent which causes the plugin crash handlers to run is in the chrome
process, but the MediaKeys which adds the handler is in the child process. So
the crash handler is on the GMPServiceChild, but we only run the crash handlers
that were added to the GMPServiceParent in the chrome/parent process.

The solution is to broadcast a message from the chrome process to all the
content processes when a GMP has crashed that causes the GMPServiceChild to
also run its crash handlers.

MozReview-Commit-ID: 8Lek16G9ZGb

--HG--
extra : rebase_source : 180691046812df474ea33324d2b98ac71d11c9cd
2016-05-04 20:32:00 -04:00
Kris Maglione
78e77cfa2b Bug 1240326 - Part 1: Add lazyWidth and lazyHeight properties to frame loaders. r=billm
MozReview-Commit-ID: 6uEcjS10KCW

--HG--
extra : transplant_source : 9%A0I%8Dl%FB%7EQK%8C%E3k%8F%15W%BCA%12p%1D
2016-04-07 17:04:57 -07:00
Aryeh Gregor
86ae6362c9 Bug 1269415 - Allow negative <pre width> values; r=jst
This aligns with the spec and all other UAs, although it's less logical.
2016-05-05 20:20:42 +03:00
Nathan Froyd
d7a3130fdc Bug 1266791 - manually constant-fold sqrt call for SQRT_ONE_HALF definition; r=dminor
Some compilers constant-fold the sqrt call away, but MSVC apparently
does not, and the call to sqrt at library load time causes issues.
2016-05-05 11:25:23 -04:00
Stone Shih
d9f82778f9 Bug 482388 - Use default url encoding to create channel when creating child workers or importing scripts in a worker. r=khuey
--HG--
extra : rebase_source : 78b0ddd725205028c6dc4c193cbbce0e0a628d77
2016-04-28 15:44:08 +08:00
Bevis Tseng
e0e7ead1f0 Bug 1118028 - Allow objectStores and indexes to be renamed. r=khuey
--HG--
extra : rebase_source : 4f2d1da2ddafbe786c3908eb46723b4d2f0c48cc
2016-03-30 11:04:56 +08:00
Alastor Wu
d73d8b0f4e Bug 1235612 - Part 7: Modify the samplerate of the audio.ogg. r=jwwang
MozReview-Commit-ID: KD6GkT6yq5u

After landing bug 1264199, the audible-checking has possibility to fail when the input needs to be resamling.
Resampling only happens when the input sampling rate is not equals to device out sampling rate and we don't want the sampling problem affecting our audio-playback tests, so we change the sampling rate of these ogg file to avoid resampling.

It is a WORKAROUND and should be reverted after landing bug 1269672.

--HG--
extra : rebase_source : 52288b7a2f587f0ea5af7b1498e957d2716bcd63
2016-05-04 20:04:57 +08:00
Alastor Wu
d457b34009 Bug 1235612 - Part 6: Add and modify test cases. r=baku
MozReview-Commit-ID: FqIvjv7t2Vp

--HG--
extra : rebase_source : 32826bbbc22e8a99f20bf969e43d876feaa45e61
2016-05-03 17:59:49 +08:00
Alastor Wu
9771068fea Bug 1235612 - Part 5: Rename NotifyAudibleStateChanged. r=jwwang
MozReview-Commit-ID: LRikTbqoOch

--HG--
extra : rebase_source : 1d69b9d55c232d2723cf9f7159087ec6795b6e19
2016-05-03 17:59:43 +08:00
Alastor Wu
b38b22da44 Bug 1235612 - Part 4: Modify check audible method. r=jwwang
MozReview-Commit-ID: FvCrbdkNSll

--HG--
extra : rebase_source : e07aa09234c2c3b83329bbbe7901f1ffd1bd31a4
2016-05-03 17:59:38 +08:00
Alastor Wu
b5d99318b3 Bug 1235612 - Part 3: Implement the logic of audible state notification for agent owners. r=baku
MozReview-Commit-ID: 6CueLPpuXWm

--HG--
extra : rebase_source : d40603e2ecc006a7b21f8b9adeb3a244e9821a2f
2016-05-03 17:59:32 +08:00
Alastor Wu
12d3b72c2e Bug 1235612 - Part 2: Notify audible state in NotifyStartedPlaying. r=baku
MozReview-Commit-ID: B1u8FYaX5wd

--HG--
extra : rebase_source : 73db1d40298be67945aa630412b46d49710f7502
2016-05-03 17:59:27 +08:00
Alastor Wu
56716374de Bug 1235612 - Part 1: Implement notify media-playback. r=baku
MozReview-Commit-ID: HAd9FKWcHtl

--HG--
extra : rebase_source : 9ccc4e69c67113785857ec1b8cfc3054ef6c487c
2016-05-03 10:03:02 +08:00
Andrea Marchesini
3b28920d8e Bug 1270476 - Fix compilation issues on Android with PushEnabled. rs=jesup
CLOSED TREE
2016-05-05 06:21:00 -04:00
Ehsan Akhgari
eaba90d427 Bug 1261011 - Remove Inter-App Communication API; r=fabrice 2016-05-05 07:39:10 -04:00
Dan Minor
68f5130961 Bug 1270055 - Unaligned buffer used in DynamicsCompressor; r=padenot
MozReview-Commit-ID: 4xVYjCGblTV

--HG--
extra : rebase_source : 28400783fa926ebc2832529e32688033e3420e3c
2016-05-04 06:49:07 -04:00
Kyle Huey
a73cdc386b Bug 1269268: Fix implicit construction errors on static analysis builds. r=me 2016-05-05 02:58:05 -07: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
Kyle Huey
44cee0989e Bug 1268313: Part 6 - Replace NewRunnableMethod with NS_NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Kyle Huey
7f54121b91 Bug 1268313: Part 3 - Replace some NewCancelableRunnableMethod with NS_NewNonOwningCancelableRunnableMethod. r=froydnj 2016-05-05 01:44:59 -07:00
Kyle Huey
7311b10562 Bug 1268313: Part 2 - Replace some NewRunnableMethods with NS_NewNonOwningRunnableMethod. r=froydnj 2016-05-05 01:44:59 -07:00
Kyle Huey
63a71e96b0 Bug 1268313: Part 1 - Be explicit about which NewRunnableMethod callers want to be able to cancel. r=froydnj 2016-05-05 01:44:59 -07:00
Kyle Huey
4856a95172 Bug 1269268: Shut down the camera thread from the main thread, which will still exist. r=jesup 2016-05-05 01:44:59 -07:00
Xidorn Quan
960af35678 Bug 1205938 part 2 - Enable fullscreen-api-race test on e10s and OS X. r=smaug
MozReview-Commit-ID: 6CGfvSuyhVc

--HG--
extra : rebase_source : 67da86633797c341b8e30d66101296ff9a9cca0b
2015-09-18 11:10:04 +08:00
Xidorn Quan
ebe6f7b562 Bug 1205938 part 1 - Add waitForCondition() function to SimpleTest. r=jmaher
This function is roughly copied from browser/base/content/test/general/head.js.
It has been widely used in browser chrome mochitests, and should be fine to
have it available to all mochitests via SimpleTest.

MozReview-Commit-ID: DhIfgJiUhXK

--HG--
extra : rebase_source : 95ab1cd6c1ab5f6c0d8f0171865722ca76b41c6e
2015-09-18 11:06:47 +08:00
Morris Tseng
53583599cc Bug 1268364 - Disable out-of-bounds-uniform-array-access.html on OSX 10.6. r=jgilbert
MozReview-Commit-ID: 7pJn7qEOYo8
2016-05-05 11:46:21 +08:00
Boris Zbarsky
f9fae4ce87 Bug 1257849 part 5. Implement DOMTokenList.prototype.supports(). r=bkelly 2016-05-04 23:41:25 -04:00
Boris Zbarsky
63d528aa43 Bug 1257849 part 4. Pass in the right set of supported tokens to the <link> relList implementation. r=bkelly 2016-05-04 23:41:24 -04:00
Boris Zbarsky
cb9d4995fc Bug 1257849 part 3. Pass in the right set of supported tokens to the anchor relList implementation. r=bkelly 2016-05-04 23:41:24 -04:00
Boris Zbarsky
00cfdef4b1 Bug 1257849 part 2. Pass in the right set of supported tokens to the sandbox tokenlist implementation. r=bkelly 2016-05-04 23:41:24 -04:00
Boris Zbarsky
9d1ef8deb7 Bug 1257849 part 1. Add a concept of supported tokens to nsDOMTokenList. r=bkelly 2016-05-04 23:41:24 -04:00
Henry Chang
dc7cba21ef Bug 1251152 - Part 3: Test case. r=franziskus 2016-05-05 11:11:34 +08:00