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

967 Коммитов

Автор SHA1 Сообщение Дата
Andreas Pehrson 7561a1fdef Bug 1258143 - Remove LocalMediaStream. r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D8064

--HG--
extra : moz-landing-system : lando
2018-10-15 08:17:07 +00:00
Paul Adenot 3f4724fcbb Bug 1487057 - Part 4 - Remove AsyncLatencyLogger and associated code. r=pehrsons
It's not maintained and probably does not work anymore.

Differential Revision: https://phabricator.services.mozilla.com/D5438

--HG--
extra : rebase_source : ccd622e40844dda5d16266e49991462d4ea94224
2018-08-30 17:11:57 +02:00
Chris Peterson b5ad48a759 Bug 1336712 - dom/media: Remove test checks for Android GB (API Level 15). r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D6583

--HG--
extra : source : 8d277a0ad4e4314054b30b644c7b972ff74e7744
extra : histedit_source : 51f5fc31952641c4df66a6a1eb2a958d52997e8c
2018-09-15 00:12:47 -07:00
Chris Peterson 867866d2d3 Bug 1336712 - dom: Drop test checks for OS X 10.5 and Windows XP. r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D6578

--HG--
extra : source : 682a1bfda27c8e82aea0d86f256d5dee3ff5c2a0
extra : histedit_source : 2e60b58780900e879177542c5e32a27c805e8f67
2018-09-13 23:30:12 -07:00
alwu 666e27f65b Bug 1476649 - part3 : add test. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D6324

--HG--
extra : moz-landing-system : lando
2018-09-20 22:18:17 +00:00
Thomas Daede 3e8224c602 Bug 1368843: Enable libaom on Android. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D6336

--HG--
extra : moz-landing-system : lando
2018-09-20 08:25:35 +00:00
Jean-Yves Avenard d5fd103cae Bug 1489102 - P4. Add flac in mp4 plain file test. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D5242

--HG--
extra : moz-landing-system : lando
2018-09-07 14:18:15 +00:00
Jean-Yves Avenard d746aff88d Bug 1489102 - P2. Add mochitests. r=bryce
Depends on D5198

Differential Revision: https://phabricator.services.mozilla.com/D5205

--HG--
extra : moz-landing-system : lando
2018-09-07 18:41:00 +00:00
Thomas Daede c02103611a Bug 1485875 - Expect Android to not play AV1 in MP4. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D4258

--HG--
extra : moz-landing-system : lando
2018-08-24 21:29:00 +00:00
Thomas Daede 19b1e76253 Bug 1417050: Add AV1 in MP4 tests. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D3845

--HG--
extra : moz-landing-system : lando
2018-08-21 00:06:25 +00:00
alwu b26e3f253f Bug 1483703 - part3 : modify test. r=cpearce
Differential Revision: https://phabricator.services.mozilla.com/D3672

--HG--
extra : moz-landing-system : lando
2018-08-22 22:52:04 +00:00
Jean-Yves Avenard 0d443a3096 Bug 1482605 - Don't error on Opus channel mapping version 2. r=padenot
We do not perform any channels placement, instead we leave the channels in the order they come in.

Add corresponding tests.

Differential Revision: https://phabricator.services.mozilla.com/D3153
2018-08-14 14:38:42 +02:00
Jean-Yves Avenard 5f024b5f70 Bug 1482841 - P2. Fix opus in mp4 decoding. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D3233
2018-08-14 14:38:42 +02:00
L. David Baron 1e88f0f003 Bug 1369941: Replace single integers N in fuzzy() and fuzzy-if() with 0-N ranges. r=dholbert
This patch was written entirely by the following script:

  #!/bin/bash

  if [ ! -d "./.hg" ]
  then
    echo "Not in a source tree." 1>&2
    exit 1
  fi

  find . -regex '.*\(ref\|crash\)test.*\.list' | while read FILENAME
  do
    echo "Processing ${FILENAME}."
    # The following has four substitutions:
    # * The first one replaces the *first* argument to fuzzy() when it doesn't
    #   have a - in it, by replacing it with an explicit 0-N range.
    # * The second one does the same for the *second* argument to fuzzy().
    # * The third does the same for the *second* argument to fuzzy-if().
    # * The fourth does the same for the *third* argument to fuzzy-if().
    #
    # Note that this is using perl rather than sed because perl doesn't
    # support non-greedy matching, which is needed for the first argument to
    # fuzzy-if.
    perl -pi -e 's/(fuzzy\()([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy\([^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,)([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,[^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g' "${FILENAME}"
  done

Differential Revision: https://phabricator.services.mozilla.com/D2974

--HG--
extra : moz-landing-system : lando
2018-08-09 20:10:21 +00:00
Chris Pearce 2e3c4bd9af Bug 1478208 - Implement HTMLMediaElement.allowedToPlay. r=alwu,bz
Various web authors have expressed desire to know in advance whether autoplay
will work.

They want this in order to avoid paying the price for downloading media that
won't play. Or they want to take other action such as showing a poster image
instead.

This is of particular interest to Firefox, as we're planning on showing a
prompt to ask the user whether they would like a site to play. If sites want to
determine whether they can autoplay but avoid the prompt showing, they won't be
able to just call play() in Firefox and see whether it works, as that would
likely show the prompt if the user doesn't already have a stored permission.

We've been working out a spec here:
https://github.com/whatwg/html/issues/3617#issuecomment-398613484

This implements what is the consensus to date there;
HTMLMediaElement.allowedToPlay, which returns true when a play() call would not
be blocked with NotAllowedError by autoplay blocking policies.

MozReview-Commit-ID: AkBu0G7uCJ0

--HG--
extra : rebase_source : 3f31db79aa1e570fdd9fc7062d0ddac7c96a8931
2018-07-25 14:25:17 +12:00
Jean-Yves Avenard 5fca92f302 Bug 1476975 - P2. Add mochitests. r=dminor
--HG--
extra : rebase_source : a24191c0bc355b69d425291a0ebdea21d962866a
2018-07-20 10:59:20 +02:00
Paul Adenot c0f386b1a6 Bug 1148354 - Remove the tests related to the doppler effect from mochitests. r=karlt
MozReview-Commit-ID: 7DZy9ySQrTc

--HG--
extra : rebase_source : aae5a0e6ac2fa5a6f4d13dda75a22db85be1560f
2018-07-17 10:04:33 +02:00
Jean-Yves Avenard d5c79ef387 Bug 1477011 - Report vp9 in mp4 as supported. r=dminor
Since we switched to the mp4 rust demuxer, VP9 in mp4 is always supported.

Differential Revision: https://phabricator.services.mozilla.com/D2261

--HG--
extra : moz-landing-system : lando
2018-07-20 11:36:57 +00:00
Dale Harvey c9e5e7c554 Bug 1470082 - Change autoplay checkbox to combobox. r=cpearce,flod,johannh
MozReview-Commit-ID: E71TxvgfJlJ

--HG--
extra : rebase_source : 30ca63df77e48a44de4d3e90182440c3937ed32f
2018-06-29 14:14:33 +01:00
Chris Pearce 21f07622bf Bug 1463919 - Adjust mochitests to pass after changes. r=jya
Prior to the changes in this bug, a document would request autoplay permission
for its own origin, and not use the top level document's origin for the
permission check. Since now we use the top level document's origin for
requesting autoplay permission, some mochitests need to change, namely:

* test_autoplay_policy_permission.html can use
file_autoplay_policy_activation_frame.html directly.

The test was failing because its helper page was loaded same origin and the
helper page was testing if cross origin iframes could play; since we use the
top level document's permission request, this no longer effectively tests
whether the cross origin child can autoplay, as the cross origin child just
uses the top level window's origin for requests.

So we can instead load the helper window cross orgin instead, and remove one
helper layer.

Also an issue here is the way I was waiting for a new window to load was racy,
so now we wait for loading windows to send us a "ready" message.

* test_autoplay_policy_activation.html; this test's helper needs to wait for
loading windows to send it a "ready" message, as its helper is shared with the
above test.

MozReview-Commit-ID: LvRa4G7tqFw

--HG--
extra : rebase_source : 8ecd0e58200d79f0065a6d7b146d1d110d35953d
2018-06-27 16:15:58 +12:00
Chris Pearce 63dbf9d6f7 Bug 1470346 - Gesture activate all documents in tab, even across origins, upon user interaction. r=smaug
Sometimes when video is playing, a preroll ad plays, and that may be in a cross
origin iframe. If autoplay media is disabled, we require a user gesture in a
document before playback in that document is permitted, and we require each
origin to be gesture activated separately. So in the cross origin preroll video
add case, then the user will have to click once to unblock playback for the
cross origin ad, and then once the preroll ad finishes, the user will have to
click again to activate playback of the same origin content video.

This is a bad user experience.

So we should instead make gesture activation propagate up the doc tree
irrespective of crossing origins.  This way, when the user clicks to activate,
all documents in that tab are also also effectively gesture activated, and so
can autoplay.

MozReview-Commit-ID: 1HZQ5zkubR

--HG--
extra : rebase_source : d6b75732548cb1d73b9f82dce60a5e6e97d1da14
2018-06-22 11:52:20 +12:00
Bryce Van Dyk a347705d9a Bug 1450845 - Add crashtest for seekToNextFrame when a seek is already in progress. r=jya
MozReview-Commit-ID: 892uIqNuLSg

--HG--
extra : rebase_source : bbe50807fb575fb0776646cbd233f3310741b848
2018-06-07 09:44:48 -04:00
Joel Maher 8324126795 Bug 1405428 - annotate crashtests and reftests which fail in test-verify mode. r=gbrown 2018-06-19 11:38:25 -04:00
Joel Maher 50b91c0a14 Bug 1405428 - skip-if = verify on mochitests which do not pass test-verify. r=gbrown 2018-06-10 05:01:47 -04:00
Andreas Pehrson d49248bb03 Bug 1266345 - Re-enable test on linux64. r=bryce
MozReview-Commit-ID: IJqncmqDeKL

--HG--
extra : rebase_source : 055e1ccaecb0dbe6845194f350f7067a66dd57ba
extra : source : 7bd5c5b0f7104cd989735f3292dfe9150d4be336
2018-06-08 12:29:28 +02:00
Chris Pearce e08b3c171c Bug 1464922 - Don't allow media without audio tracks to autoplay. r=bryce
I don't think we should allow media without audio tracks to autoplay because:
* It means play() before loaded metadata behaves differently than play()
called after loaded metadata.
* With the current impl we dispatch the "play" event and then the "pause"
event when we decide we should block, which may confuse some sites' controls.
* Delaying running the play() algorithm until we've loaded metadata would add
significant complexity, and may break sites.
* Chrome doesn't have this provision, meaning the complexity required to
support it will not result in much benefit to us.

MozReview-Commit-ID: FSVlDJAOisw

--HG--
extra : rebase_source : 93b1bcf8d8edbd6ca10ad918b40a87cd3cfbbf0b
2018-05-28 22:09:14 +12:00
Jean-Yves Avenard cb6ce94cf2 Bug 1457661 - P1. Add mochitest. r=bryce
MozReview-Commit-ID: 9YC8MaXRF42

--HG--
extra : rebase_source : 5bb2dc4c1f2dbb68d3713d536ecbe7f35eabb544
2018-05-28 22:39:10 +02:00
Natalia Csoregi 1ff5ce3bb8 Bug 1461963 - Removed OSX 10.6 reference. r=gbrown 2018-05-17 15:26:00 +03:00
Chris Pearce d08cfaf67f Bug 1461877 - Test that we don't dispatch 'playing' event for blocked playbacks. r=bryce
MozReview-Commit-ID: KXfviOtqGZI

--HG--
extra : rebase_source : 3ce026dc6fd6e05ce5f75d9860dc567e846a0cbf
2018-05-18 11:41:28 +12:00
Andrea Marchesini 3ef72562fe Bug 1454889 - Remove createObjectURL()'s MediaStream overload, r=valentin 2018-04-24 16:19:51 +02:00
Kartikaya Gupta 2b15ef4e8e Bug 1405686 - Re-enable some mochitest that are now passing. r=jrmuizel
MozReview-Commit-ID: 5KqPkgRtH70

--HG--
extra : rebase_source : ff211244da8f7f65555a5958f4ca09f9afaed145
2018-05-14 15:30:45 -04:00
Kartikaya Gupta 32a1261d0d Bug 1322845 - Update reftest annotations for WebRender on macOS. r=Gankro
MozReview-Commit-ID: 6NufRyb41ia
2018-05-08 22:42:51 -04:00
Andreea Pavel 8daddd690f Backed out 2 changesets (bug 1322845) for failing reftest background-repeat-large-area.html == background-repeat-large-area-ref.html on a CLOSED TREE
Backed out changeset 4fd46cd822bf (bug 1322845)
Backed out changeset abd41b3e63e7 (bug 1322845)
2018-05-09 05:13:08 +03:00
Kartikaya Gupta 93650c1b04 Bug 1322845 - Update reftest annotations for WebRender on macOS. r=Gankro
MozReview-Commit-ID: 6NufRyb41ia
2018-05-08 20:39:51 -04:00
Andreas Pehrson 2f49bc5093 Bug 1458852 - Re-enable mochitest. r=bryce
MozReview-Commit-ID: AMVqbKAdWGQ

--HG--
extra : rebase_source : 44f702d45ec4f613c850b06a6b429cb603b87f71
2018-05-04 17:26:48 +02:00
Chris Pearce 70ec3d2f9d Bug 1457048 - Test that whitelisted origins are able to autoplay. r=bryce
MozReview-Commit-ID: 9kLIx8MzCY8

--HG--
extra : rebase_source : 32179f99a521582026ac5068c3d355dcf4713570
2018-04-30 17:40:22 +12:00
Narcis Beleuzu 2b99556758 Backed out changeset 0c5a4939300c (bug 1454889) for causing frequent Leaks (Bug 1378025). a=backout 2018-05-07 12:06:25 +03:00
Chris Pearce 6dd00bfcde Bug 1452536 - Test that key events for non-printable keys and interaction with editable elements don't unblock autoplay. r=masayuki
MozReview-Commit-ID: 55TfHTUyJfz

--HG--
extra : rebase_source : 4607e548eb810cc6a124b908a299c9552952370d
2018-04-11 17:07:05 +12:00
Cosmin Sabou 603420de74 Backed out 3 changesets (bug 1452536) for causing crashes bug 1458166. a=backout
Backed out changeset 1259c5bc20a7 (bug 1452536)
Backed out changeset c454505cc025 (bug 1452536)
Backed out changeset 006f976d7963 (bug 1452536)
2018-05-04 20:56:41 +03:00
Dorel Luca 48f71154c5 Backed out 2 changesets (bug 1457048) for multiple failures. CLOSED TREE
Backed out changeset a5d71f8bf413 (bug 1457048)
Backed out changeset cd70fc188bc8 (bug 1457048)
2018-05-03 08:39:36 +03:00
Chris Pearce bf5b9dea2d Bug 1457048 - Test that whitelisted origins are able to autoplay. r=bryce
MozReview-Commit-ID: 9kLIx8MzCY8

--HG--
extra : rebase_source : f58d0010837182ef4d78ea5b2c41eb40d3bda417
2018-04-30 17:40:22 +12:00
Chris Pearce 3eabec8954 Bug 1452536 - Test that key events for non-printable keys and interaction with editable elements don't unblock autoplay. r=masayuki
MozReview-Commit-ID: 55TfHTUyJfz

--HG--
extra : rebase_source : 4607e548eb810cc6a124b908a299c9552952370d
2018-04-11 17:07:05 +12:00
Brindusan Cristian 59f801793b Merge inbound to mozilla-central. a=merge 2018-04-25 00:50:59 +03:00
Andrea Marchesini 3abafd2746 Bug 1454889 - Remove createObjectURL()'s MediaStream overload, r=valentin 2018-04-24 16:19:51 +02:00
Chris Pearce 192c7a5edf Bug 1456037 - Test that documents gesture activate on key/mouse down instead of up. r=masayuki
MozReview-Commit-ID: AGZM0JdSUDv

--HG--
extra : rebase_source : 7f013406253d30eada49e130860996be1122d31b
2018-04-23 15:53:25 +12:00
shindli b1f0ca2585 Backed out 2 changesets (bug 1456037) for bustage in z:/build/build/src/dom/events/EventStateManager.cpp on a CLOSED TREE
Backed out changeset 10ac210e88db (bug 1456037)
Backed out changeset e3b70cecf471 (bug 1456037)
2018-04-24 08:27:22 +03:00
Chris Pearce 54a96dd048 Bug 1456037 - Test that documents gesture activate on key/mouse down instead of up. r=masayuki
MozReview-Commit-ID: AGZM0JdSUDv

--HG--
extra : rebase_source : 07338352b18bd2cd966dc90c400a0af4a0dbe2b6
2018-04-23 15:53:25 +12:00
Chris Pearce 7b1b141797 Bug 1453843 - Ensure we fire "pause" event when rejecting play() promise. r=bryce
Bug 1435133 introduced a new path where we block autoplay and reject the play()
promise, but we didn't fire a "pause" event. This confuses YouTube's controls.

Additionally, even if we're not in a user generated event handler, we
unilaterally consider the media element blessed if execution reaches here:
https://searchfox.org/mozilla-central/rev/11a2ae294f50049e12515b5821f5a396d951aacb/dom/html/HTMLMediaElement.cpp#4110
We previously rejected before reaching here when not in a user generated event
handler, but now if play() is called before we've reached loadedmetadata, we
reject the promise if we're not in a non-event handler and bail out early, and
so we'll bless even if not in a user generated event handler. Meaning when we
do reach loadedmetadata, we think we were in a user generated event handler
when play() was originally called, and so we won't reject the play promise.

So this patch ensures we dispatch a "pause" event when we reject the play()
promise here. The WHATWG spec says we should do this when pausing anyway.

Note: calling our interal Pause() function when rejecting the play() promise
here breaks YouTube, as if we do that we fire a "timeupdate" event. So I opted
to manually code to fire the event here instead of just calling Pause()
everywhere we want to ensure we're paused.

MozReview-Commit-ID: 1snkiTnPGih

--HG--
extra : rebase_source : 2c5ca6c0ed7c2dff2fb971cd159cfdc12a8a227f
2018-04-20 17:53:37 +12:00
Chris Pearce 79ee61bdff Bug 1435133 - Test that we delay media play start until we know whether a media has audio or not. r=bryce
Test that play() on a media without audio called before
readyState >= HAVE_METADATA will still play.

MozReview-Commit-ID: 1FeDrEfCEum

--HG--
extra : rebase_source : be6d07905aad853ad028eac372e4e380bdeb1a49
extra : source : e98b4a7aaf020fa3d6d59cb0f53680ef6466d154
2018-04-06 17:13:39 +12:00
Chris Pearce dd45189315 Bug 1443942 - Rewrite test_mediarecorder_principals. r=bryce
I changed this test earlier in this set of commits to use
midflight-redirect.sjs so that we get more reliable and predictable cross
origin redirects during the download. Unfortunately this test now times out on
Windows.

This test times out on Windows because midflight-redirect.sjs redirects at 1/4
through the resource, whereas this test expects to be able to play through to
1/5 through the resource, and on Windows that seems to be not reached during
playback. This is likely due to decode latency being higher on Windows.

On top of that, the test's first case can sometimes call MediaRecorder.start()
before the redirect has happened, and before the principal has changed, and so
start() doesn't throw a SecurityError as expected, and the test intermittently
fails.

Additionally, the test's code could be clearer if we used async/await.

So rewrite the test to use async/await, and take advantage of
midflight-redirect.sjs's redirect being more predictable than the old
dynamic_redirect.sjs. Basically, we can be careful to wait for either
"loadedmetadata" or "error" on the media element in order to be more confident
the redirect has or hasn't happened yet.

We still can't be 100% sure that the redirect won't have already happened by
the time our "loadedmetadata" handlers run. It's quite possible that the
download has reached 1/4 through the resource by the time the loadedmetadata
handler has run, so we need to handle the "error" and "loadedmetadata" events
racing.

MozReview-Commit-ID: 8plMjkXgjYt

--HG--
extra : rebase_source : 7305598f40c09219494f3e7150799d8875b7c30e
2018-04-05 13:35:14 +12:00