Commit Graph

75630 Commits

Author SHA1 Message Date
Jean-Yves Avenard
9442cd0ea8 Bug 1471165 - P2. Add logging facilities. r=bryce
Reviewers: bryce

Tags: #secure-revision

Bug #: 1471165

Differential Revision: https://phabricator.services.mozilla.com/D1834
2018-07-03 11:45:29 -07:00
Jean-Yves Avenard
138b0b299d Bug 1471165 - P1. Simulate required MediaCapabilities members in optional dictionary. r=bz
Summary:
In order to allow for optional dictionaries with required members
See https://github.com/heycam/webidl/issues/76 for more information.

Reviewers: bzbarsky

Tags: #secure-revision

Bug #: 1471165

Differential Revision: https://phabricator.services.mozilla.com/D1833
2018-07-03 11:45:28 -07:00
Jean-Yves Avenard
cab83f1874 Bug 1409664 - P28. Extrapolate VP9 benchmark results for requested vp9 configuration. r=bryce
Summary:
Additionally, consider all videos <= 480p to be smooth and power efficient as:
1- Hardware decoding it typically not used for those
2- We can't do any better
3- Any machines should be able to do 480p

Depends on D1794

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1796
2018-07-03 11:45:28 -07:00
Jean-Yves Avenard
a867c82f1e Bug 1409664 - P27. Don't disable webm container for MSE::isTypeSupported when MediaCapabilities is enabled. r=bryce
Summary:
MediaCapabilities provide a finer detail on VP9 being supported or not. YouTube will use that information to determine which resolutions to support when using VP9

Depends on D1772

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1794
2018-07-03 11:45:27 -07:00
Jean-Yves Avenard
5a3da4d067 Bug 1409664 - P26. Use VP9 benchmark results to determine smoothness. r=bryce
Summary:
If the benchmark task hasn't run yet, we will assume smoothness for now.

Depends on D1771

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1772
2018-07-03 11:45:26 -07:00
Jean-Yves Avenard
75c2f6b7ce Bug 1409664 - P25. Don't use main thread with Benchmark . r=bryce
Summary:
Instead have it use its own task queue.

Depends on D1767

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1771
2018-07-03 11:45:26 -07:00
Jean-Yves Avenard
c6c5f35fa9 Bug 1409664 - P24. Make IsVP9DecodeFast usable on any thread. r=bryce
Summary:
This will allow to be called from the MediaCapabilities taskqueue if we find that a decoder won't be hardware accelerated.

It is still assumed that Benchmark::Init() was called at least once on the main thread.

Depends on D1628

Tags: #secure-revision

Differential Revision: https://phabricator.services.mozilla.com/D1767
2018-07-03 11:45:25 -07:00
Jean-Yves Avenard
1f1e9dbfe9 Bug 1409664 - P22. Create SPS/PPS extradata to better determine decoder capabilities. r=bryce
Summary:
The Apple VT decoder requires SPS+PPS at construction time. If not provided, in earlier macOS it used to give an error. In the current 10.13 it appears to work, however the decoder always report to be software only.

To properly determine the decoder capabilities, we construct a SPS NAL from the codec mimetype provided.

Details on the structure of the mimetype can be found in https://tools.ietf.org/html/rfc6381#section-3.3 and is a 1:1 match with the data found in the SPS.

Depends on D1718

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1719
2018-07-03 11:45:24 -07:00
Jean-Yves Avenard
c5bbea93f3 Bug 1409664 - P21. Retrieve H264 constraint flags with ExtractH264CodecDetails. r=bryce
Summary:
We'll need it to properly build a SPS/PPS extradata later. Also, change the types used. The original data is stored on two bytes ASCII, it will always fit in a uint8_t. Additionally, this is how those values are stored in a SPS.

Depends on D1678

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1718
2018-07-03 11:45:24 -07:00
Jean-Yves Avenard
cafd081573 Bug 1409664 - P20. Add BitWriter class. r=bryce
Summary:

Depends on D1633

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1678
2018-07-03 11:45:23 -07:00
Jean-Yves Avenard
cd7563c7fd Bug 1409664 - P19. Don't wrap H264 decoder in H264 converter. r=bryce
Summary:
By default, when creating a H264 decoder it is wrapped into a H264Converter which will only create the actual decoder once a valid SPS/PPS has been seen.
As creating valid SPS/PPS NALs isn't trivial, when all we care about are capabilities of such decoder, we do not wrap the decoder so that it will be immediately created.
We can then test its capabilities.

We only enable this on windows, as on mac we need to generate a SPS/PPS, otherwise the mac decoder always report that HW decoding is not enabled.

Depends on D1632

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1633
2018-07-03 11:45:23 -07:00
Jean-Yves Avenard
f07b7bee8b Bug 1409664 - P18. Properly pass KnowsCompositor object to decoder. r=bryce, r=bz
Summary:
To properly determine if a decoder is hardware accelerated, we must pass information about the compositor to the decoder.

Depends on D1631

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1632
2018-07-03 11:45:22 -07:00
Jean-Yves Avenard
34e1735ed0 Bug 1409664 - P17. Remove unused variables. r=bryce
Summary:
Silence warnings.

Depends on D1630

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1631
2018-07-03 11:45:22 -07:00
Jean-Yves Avenard
f278c2be62 Bug 1409664 - P16. Fix typo in variable name. r=bryce
Summary:

Depends on D1629

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1630
2018-07-03 11:45:21 -07:00
Jean-Yves Avenard
b763f84cf1 Bug 1409664 - P15. Fix canPlayType so that it checks codecs if provided. r=bryce
Summary:
For flac, mp3 and adts, if a codec was provided but wasn't supported in the container, it would have reported Maybe instead of No

Depends on D1628

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1629
2018-07-03 11:45:21 -07:00
Jean-Yves Avenard
88f93633b1 Bug 1409664 - P14. Provide more details for audio and video configuration. r=bryce, r=baku
Summary:
We now provides more detailed information for audio (check sampling rate and channels if provided).

And check for the power efficient attribute. We directly correlate this information with the decoder being hardware accelerated or not. All audio codecs are deemed to be power efficient.

Depends on D1626

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1627
2018-07-03 11:45:21 -07:00
Jean-Yves Avenard
df79cae335 Bug 1409664 - P13. Report the Apple's H264 decoder is hardware accelerated when not yet initialized. r=bryce
Summary:
We can't create a H264 VT decoder until we have all SPS/PPS NALs, which makes it tricky to generate when we only want to check if H264 is supported.
On mac, we can reasonable assume that hardware acceleration is always supported (though on a mac pro 2013 that isn't the case or hackintosh with nvidia cards).

Depends on D1625

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1626
2018-07-03 11:45:20 -07:00
Jean-Yves Avenard
0c1b59ee76 Bug 1409664 - P12. Don't attempt to play non-supported AAC sampling rate. r=padenot
Summary:
We know those sampling rate aren't supported and cause initialization errors later.

Depends on D1624

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1625
2018-07-03 11:45:20 -07:00
Jean-Yves Avenard
d346b32eb9 Bug 1409664 - P11. Add GetTracksInfo method to all MediaDecoder instances. r=bryce
Summary:
Allows to build an array ot TrackInfo built from the mimetype provided. This will allow to create dummy decoder to check that if they are supported and how well the decoder will perform.

Depends on D1623

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1624
2018-07-03 11:45:20 -07:00
Jean-Yves Avenard
ad801ddb59 Bug 1409664 - P10. Extend MediaExtendedMIMEType to know about audio configuration. r=bryce
Summary:
Addtionally, change the framerate to be of type double and allow to create a MediaExtendedMIMEType based on the new dom VideoConfiguration and AudioConfiguration object.

Depends on D1622

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1623
2018-07-03 11:45:19 -07:00
Jean-Yves Avenard
d586f6f943 Bug 1409664 - P9. Remove AutoTaskQueue and its use r=bryce
Summary:
TaskQueue no longer requires an explicit call to BeginShutdown() as such we no longer have a need for AutoTaskQueue.

Depends on D1621

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1622
2018-07-03 11:45:19 -07:00
Jean-Yves Avenard
f44bc2efdb Bug 1409664 - P6. Remove flac in ogg preference. r=bryce
Summary:
Let's always enable it.

Depends on D1618

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1619
2018-07-03 11:45:17 -07:00
Jean-Yves Avenard
e2c6515b25 Bug 1409664 - P5. Fix comment. r=bryce
Summary:

Depends on D1617

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1618
2018-07-03 11:45:17 -07:00
Jean-Yves Avenard
24fc82476b Bug 1409664 - P4. Provide basic MediaCapabilities support. r=bryce
Summary:
The information returned is identical to
1- canPlayType() for file
2- MediaSource.isTypeSupported for media-source
3- MediaRecorder.isTypeRecorder() for recordings.

Depends on D1616

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1617
2018-07-03 11:45:16 -07:00
Jean-Yves Avenard
b3aec00d77 Bug 1409664 - P3. Allow audio/webm container type in MediaRecorder. r=bryce
Summary:

Depends on D1614

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1616
2018-07-03 11:45:16 -07:00
Jean-Yves Avenard
c55b6749ae Bug 1409664 - P2. Add ScreenLuminance objects and friends to Screen. r=bz
Summary:
As per https://wicg.github.io/media-capabilities/#idl-index

Depends on D1613

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1614
2018-07-03 11:45:15 -07:00
Jean-Yves Avenard
83a8e7725c Bug 1409664 - P1. Add MediaCapabilities skeleton IDL. r=bz
Summary:
As per https://wicg.github.io/media-capabilities/#idl-index

Placed behind user pref media.mediacapabilities.enabled that is disabled by default

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1613
2018-07-03 11:45:15 -07:00
Olli Pettay
fc03dffd3c Bug 1472421 - nsRange should use composeddoc so that it works in shadow DOM, r=mrbkap 2018-07-03 21:15:32 +03:00
Noemi Erli
a56e695e87 Backed out changeset 2d12737168b1 (bug 1472421) for mochitest failures on test_range_bounds 2018-07-03 19:11:04 +03:00
Olli Pettay
a1288b6db5 Bug 1472428 - HTMLMediaElement should use IsInComposedDoc, r=cpearce 2018-07-03 18:13:17 +03:00
Olli Pettay
10eef3d077 Bug 1472422 - nsContentUtils should use IsInComposedDoc, r=mrbkap 2018-07-03 18:09:56 +03:00
Olli Pettay
cf007c3999 Bug 1472424 - BrowserElementParent should use IsInComposedDoc, r=mrbkap 2018-07-03 18:08:19 +03:00
Olli Pettay
d14590cada Bug 1472647 - nsPluginInstanceOwner::GetURL should use GetComposedDoc, r=mrbkap 2018-07-03 18:07:22 +03:00
Olli Pettay
a5cf31373f Bug 1472425 - PointerEventHandler should use IsInComposedDoc, r=mrbkap 2018-07-03 18:06:29 +03:00
Gijs Kruitbosch
9396488809 Backed out changeset be11a3290029 (bug 1469916) for test orange involving Not enough arguments [nsIWebBrowserPersist.saveURI] 2018-07-03 15:45:13 +01:00
Olli Pettay
7c2962923a Bug 1472421 - nsRange should use composeddoc so that it works in shadow DOM, r=mrbkap
--HG--
extra : rebase_source : 4c9d60f3f1ceeede2fc4e9caa438cd340afd9c91
2018-07-03 17:26:40 +03:00
Gijs Kruitbosch
0d0616cad1 Bug 1469916, r=ckerschb,jkt
--HG--
extra : rebase_source : 5c2f49af85664fdb5375f6dc4cc57d6913f1eff9
2018-06-22 15:41:39 +01:00
arthur.iakab
644be8856b Merge mozilla-central to inbound 2018-07-03 11:58:29 +03:00
arthur.iakab
403038737b Merge inbound to mozilla-central a=merge 2018-07-03 11:55:46 +03:00
Hiroyuki Ikezoe
8b30a3dc7b Bug 1354501 - Dispatch web animation events at the same time when CSS animations/transitions events are dispatched. r=birtles
MozReview-Commit-ID: u7lWtAF8Ml

--HG--
extra : rebase_source : 6ce807bc253706483960dade2f2c926fa9821460
2018-07-03 11:05:23 +09:00
Hiroyuki Ikezoe
7db3f93d4a Bug 1354501 - Introduce a new function to queue a single animation event. r=birtles
Web animation event (i.e. finish and cancel event) is solely queued.

MozReview-Commit-ID: h1g3NfcY3c

--HG--
extra : rebase_source : 1a7b09783d193195b886fa3a046198ba3e02dd7b
2018-07-03 09:25:02 +09:00
Hiroyuki Ikezoe
7374654896 Bug 1354501 - Change event target variable type to EventTarget and rename it to mTarget. r=birtles
That's because the target for web animation events (i.e. finish and cancel)
is an Animation instance.

MozReview-Commit-ID: 5xR325FXUo

--HG--
extra : rebase_source : 9bd0623ece1dc449d52db283882fe236dbc11c6d
2018-07-03 09:25:02 +09:00
Hiroyuki Ikezoe
1c47aa1edf Bug 1354501 - Factor out calculations for interval start/end times. r=birtles
MozReview-Commit-ID: H9iXX9VLXLr

--HG--
extra : rebase_source : 736d304858cd0a2c5953f9986dd161ebd21c8099
2018-07-03 09:25:02 +09:00
Hiroyuki Ikezoe
92e15ae40f Bug 1472076 - Update animations when the refresh driver's time changed due to the active timer changes. r=birtles
Normally the refresh driver's time changes in nsRefreshDriver::Tick, and then
DocumentTimeline::WillRefresh is called for the change.  But nsRefreshDriver
sometimes updates its own time when their timer changes to the active one.
This patch lets DocumentTimeline update animations in response to the refresh
driver's time updates.  And thus this patch prevents animation state and
relevant stuff inconsistencies such as an animation has been finished without
proper processes, e.g. without invalidating frame for the animation.

MozReview-Commit-ID: 42p5BWITQN0

--HG--
extra : rebase_source : 58cc7d8e203a3632b6934b9d778e82e2fe208adb
2018-07-03 10:59:55 +09:00
Emilio Cobos Álvarez
d042e82e85 Bug 1472529: Cleanup CharacterData, and add a non-virtual function to get the text fragment. r=smaug
I'm going to use that from nsFind.

MozReview-Commit-ID: EhkNQ3BFTvX
2018-07-03 02:06:21 +02:00
Tiberius Oros
93bed26733 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-03 00:59:47 +03:00
Tiberius Oros
65a30935a5 Merge inbound to mozilla-central. a=merge 2018-07-03 00:53:57 +03:00
Ben Kelly
fd8f441dbc Bug 1472008 Make ServiceWorkerRegistration.unregister() resolve false instead of rejecting for most errors. r=mrbkap 2018-06-28 14:18:00 +03:00
Andrea Marchesini
9c86a8b8ee Bug 1470306 - MessagePort unlinked should start the cleanup/close/shutdown procedure of the object, r=smaug 2018-07-02 12:02:39 +02:00
jgilbert@mozilla.com
8732380db5 Bug 1472851 - Mark test failures. r=jgilbert
MozReview-Commit-ID: 36waWrdZwKk

--HG--
extra : rebase_source : b2f58b1108051df90ff89ab32821da7f5a5417df
2018-07-02 18:19:34 -07:00