Commit Graph

68717 Commits

Author SHA1 Message Date
James Cheng
884fc56be9 Bug 1411523 - Remove 'this' from lambda captures [self, this] under dom/media r=jwwang
Capturing |this| only if |self| needs to appear more than twice in a lambda.

MozReview-Commit-ID: 38iYDznjgBH

--HG--
extra : rebase_source : 9471fd4519c5c5be6e6e10eb11db8eeb041327d1
2017-10-26 16:59:40 +08:00
Attila Craciun
252daa8e0a Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-10-26 12:32:58 +03:00
Attila Craciun
0cab95ab0f Merge inbound to mozilla-central r=merge a=merge 2017-10-26 12:20:45 +03:00
Hiroyuki Ikezoe
abef3a3a96 Bug 1409166 - Check whether the target animating frame is scrolled out of each scrollable ancestor. r=birtles,mattwoodrow
Before this patch, we had been checking each scrollable ancestor is scrolled
out of its scrollable ancestor.  So if the target animating frame is at the
bottom of its scrollable parent and if half of the scrollable parent is
scrolled out of its ancestor, the animating frame was considered as 'in-view'.

MozReview-Commit-ID: BDueuF3cT4I

--HG--
extra : rebase_source : de1dead6e67a44691887c8364be23734c3b1adef
2017-10-26 18:09:32 +09:00
Brian Birtles
525200b457 Bug 1411318 - Don't consider an animation playing if its timeline is inactive; r=hiro
When we receive animations on the compositor, we assert that either they're not
playing, or they have a resolved start and origin time.

However, on the main thread we determine if an animation is playing by checking
if it has a timeline, if it's in the correct state, and if it has a non-zero
playback rate.

The problem with this check is that if an animation has a timeline but it is
inactive, that is, its current time is null, we will not be able to get
a resolved origin time -- yet we will still report that is is playing.

This patch fixes this mismatch by treating animations with an inactive timeline
as "not playing".

The IsPlaying() method is used a number of call sites but it appears that they
all would expect an animation with an inactive timeline to be considered "not
playing". Furthermore, this makes IsPlaying() consistent with the check we do
for an active timeline in other functions such as Animation::Tick(),
TriggerNow(), SilentlySetCurrentTime(), UpdateFinishedState(),
and IsPossibleOrphanedPendingAnimation().


MozReview-Commit-ID: BQOBpHHFMoD

--HG--
extra : rebase_source : e84a50a16a61d48553610cb7ea0863f09ba86c60
2017-10-26 10:18:42 +09:00
Sebastian Hengst
85c5258052 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-26 00:45:51 +02:00
Sebastian Hengst
e38c4ab9b8 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1LCusZIzMkc
2017-10-26 00:21:53 +02:00
Sebastian Hengst
2c2e866a0b merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 58eV4bGCmDC

--HG--
extra : rebase_source : 703ea22c56ed4aaf0afd7c72bb26f1f2c64a0881
2017-10-25 23:58:17 +02:00
Emilio Cobos Álvarez
24e65c29e3 No bug - Remove FIXME that doesn't really apply. r=comment-only
See the explanation in bug 1404789 comment 53.

DONTBUILD because it's removing a comment.
MozReview-Commit-ID: KJEI3G4Mv96
2017-10-25 23:07:32 +02:00
Jesse Ruderman
8d28e8cb3d Bug 675516 - Add crashtest. r=me 2017-10-25 14:58:33 -04:00
Sebastian Hengst
dd47bee646 Backed out changeset f67f8342b981 (bug 1357082) on request from jmaher for still high frequency. r=backout a=backout
MozReview-Commit-ID: 5aI3SCZVaT9

--HG--
extra : amend_source : eecf508380597815c7ad8199e8f3ac2b8ab53d35
2017-10-25 13:02:51 +02:00
Jonathan Kew
793b63713b Bug 1408612 - patch 1 - Use single-precision floats more consistently for glyph position computations when drawing text. r=jrmuizel 2017-10-24 09:59:09 +01:00
Brian Birtles
ebedef2a25 Bug 849593 - Skip samples of active SMIL timed elements when the sample time precedes the current interval; r=dholbert
In some circumstances it is possible to sample a timed element in the active
state with a time that precedes is current interval.

One possible sequence of steps leading to this situation is as follows:

1. A timed element (e.g. <set>, <animate>) with a non-zero begin time is the
   child of <svg> element A (its "time container") but has yet to be sampled.

2. In order to resolve its initial interval, the timed element registers a
   startup milestone with its time container at time 0.

3. However, before the sample is performed where the timed element's initial
   current interval is resolved, <svg> element A is detached from the document
   tree.

4. The timed element is then attached to a different <svg> element B that has
   a current time greater than the begin time of the timed element and less than
   that of <svg> element A.

5. Since the timed element is still in its startup state it registers its
   startup milestone again, this time with its new time container, i.e. <svg>
   element B.

6. A tick occurs or the document has its style flushed such that a sample is
   performed.

   This includes running the milestone sample which causes the timed element to
   resolve its initial current interval. Furthermore the subsequent regular
   sample of the timed element causes it to transition into its active state
   because the current time of <svg> element B is greater than the begin time of
   the timed element.

7. <svg> element A is re-attached to the document.

8. When we go to run the next sample, we iterate through all time containers
   associated with the document's animation controller which includes both <svg>
   element A, and <svg> element B.

9. <svg> element A renders up its 0 milestone from step (2) since it has yet to
   run it. It converts this to parent time, i.e. the time space of the animation
   controller, which will be zero or less depending on the current time of <svg>
   element A when it was re-attached.

10. Since the milestone from <svg> element A will be the earliest milestone
    time, it will be used as the next milestone sample time.

11. The timed element is then sampled using this time, but first it is converted
    to a time in the time space of the timed element's time container, which is
    now <svg> element B.

    As a result of this conversion, the sample time may end up being *before*
    the beginning of the timed element's current interval. Since timed elements
    never expect the time to go backwards an assertion fails when it detects
    that it is active, but is being sampled before its current interval.

For this particular case, ignoring the "early" sample seems to be the most
appropriate action.

More generally, however, we can anticipate other cases similar to this where
milestones are registered that cause the sample time to temporarily go
backwards. A quick audit of nsSMILTimedElement::DoSampleAt suggests that, with
the code changes from this patch, that is probably ok.

As an alternative we could, perhaps, try to drop and re-create all milestones
when time containers are re-attached to the document tree but that would add
more complexity and would not necessarily cover other similar cases of this
situation.

I have verified that the crashtest included in this changeset fails without the
code changes also in this changeset.

MozReview-Commit-ID: KKGYRayNkpo

--HG--
extra : rebase_source : 832d4b357a2a2fe07abf9eab3a6046599aff3ef5
2017-10-24 13:06:04 +09:00
Tom Ritter
2d9fdd1bcf Bug 1411142 Cast enums to int to silence warning about comparing enums of different types r=jld
MozReview-Commit-ID: LIbuzPuZ2mr

--HG--
extra : rebase_source : ee5d1f4bf6ef4d0d2e0a694988beeea88beddd80
2017-10-23 23:54:21 -05:00
Brian Birtles
db9b84ee6c Bug 1407898 - Check if presContext is null before dereferencing in GetComputedKeyframeValues; r=hiro
There are no reliable steps to make this happen but it appears to have happened
at least twice during fuzzing. As a result, it doesn't matter too much what the
behavior here is as long as we don't crash.

MozReview-Commit-ID: 4gdiBL2wngU

--HG--
extra : rebase_source : 54afce721f8b59c2ad038e0c2222f64e71a9b917
2017-10-25 15:34:50 +09:00
Alfredo.Yang
41a2709293 Bug 1411525 - use BufferReader in flac/ogg parser. r=kinetik
MozReview-Commit-ID: 5chnxLnpqmY

--HG--
extra : rebase_source : 85e68812f1d354813ae36731a5a36bfe7f58c2e2
2017-10-19 10:16:32 +08:00
Alfredo.Yang
a3f0efc656 Bug 1411824 - use BufferReader instead of ByteReader in wave parser. r=kinetik
MozReview-Commit-ID: 1M9lbbgoBpX

--HG--
extra : rebase_source : a418fe623ea1e0030a5e12b4267fd6353f752e2b
2017-10-20 15:34:32 +08:00
Alfredo.Yang
8da0342978 Bug 1411821 - use BufferReader instead of ByteReader in MP3 parser. r=kinetik
MozReview-Commit-ID: BpfCZUG7C6c

--HG--
extra : rebase_source : 45716111d62faac68499f4c369e3cb948de190ce
2017-10-20 11:54:29 +08:00
Alfredo.Yang
fc4a02e7c7 Bug 1411815 - use BufferReader instead of ByteReader in ContainerParser. r=kinetik
MozReview-Commit-ID: DB2J7w8PpAJ

--HG--
extra : rebase_source : 113b9832df3ac223c9adbcaa44f224d0c792892b
2017-10-19 11:12:48 +08:00
Jean-Yves Avenard
b7f6b46a82 Bug 1366201 - P5. Get around FFmpeg bug with corrupted data. r=gerald
According to FFmpeg documentation, the out parameter is "set to size of parsed buffer or zero if not yet finished. " however this is only the case if no error occurred; otherwise it is left untouched.

We want the invalid content to generate a decoding error, so we set size to inputSize to ensure decoding failed later.

MozReview-Commit-ID: FZeiZUdUtLG

--HG--
extra : rebase_source : 2e81d730bacaea5bb968f704a36b403117dafcba
2017-10-25 18:25:37 +02:00
Sebastian Hengst
24b7b2eb7c merge mozilla-central to autoland. r=merge a=merge 2017-10-24 23:59:14 +02:00
Tom Schuster
d3b457113a Bug 638054 - Remove or fix tests outside JS using watch/unwatch. r=bz,fitzgen 2017-10-24 20:48:14 +02:00
Tom Schuster
7a6aff2c7e Bug 638054 - Remove watch class-hook and proxy trap r=jorendorff,bz 2017-10-24 20:48:14 +02:00
Joel Maher
a89ccf49cd Bug 1410306 - Disable dom/canvas/test/webgl-conf/generated/test_2_conformance__glsl__misc__shader-uniform-packing-restrictions.html on win7/debug for frequent failures. r=me, a=testonly 2017-10-24 12:37:25 -04:00
Stone Shih
9ecdd8f6a0 Bug 1398030 Part2: Handle null id of the message for EventSource. r=baku.
When server responses a field value with null, we have to ignore it, or we fail to SetRequestMethod for the http channel.
MozReview-Commit-ID: EW9NHMy22Fc
2017-10-20 10:22:55 +08:00
Stone Shih
169ec81875 Bug 1398030 Part1: Add debug info when EventSource set http request header failed. r=baku.
MozReview-Commit-ID: KLIvkazd8lP
2017-10-17 16:02:58 +08:00
Ben Kelly
6c787835d0 Bug 1410634 P2 Verify ServiceWorkerInfo.lastUpdateTime is not changed when reading from http cache. r=tt 2017-10-24 09:24:53 -04:00
Ben Kelly
fff580cb3d Bug 1410634 P1 Call channel IsFromCache() during OnStartRequest() to determine if update result came from http cache or network. r=tt 2017-10-24 09:24:53 -04:00
Sebastian Hengst
1ead0a96a9 Backed out changeset dab1c5badddb (bug 1407679) for failing server startup in mochitests on Android. r=backout on a CLOSED TREE
--HG--
extra : amend_source : 3dc4cb2bbaf55f3f6329687ce64d4e862fc3800b
2017-10-24 21:18:26 +02:00
Valentin Gosu
9dd47ebf50 Bug 1407679 - Merge nsIIOService and nsIIOService2 r=nwgh
Removes deprecated nsIIOService2.newChannelFromURIWithProxyFlags

MozReview-Commit-ID: Gr3nA25kcre

--HG--
extra : rebase_source : 3407b5ed0f8f7067523abee28c137db3cac86b14
2017-10-20 16:41:07 +02:00
Andi-Bogdan Postelnicu
a1d1eceab5 Bug 1411030 - memset only the underlying vector from the Array container. r=froydnj
MozReview-Commit-ID: 5R7ZxMEZdRY

--HG--
extra : rebase_source : 4503bffdc0191f8d3279acc0802bbf2e160cab17
2017-10-24 16:52:20 +03:00
Andi-Bogdan Postelnicu
0653980115 Bug 1411027 - avoid using memset on a not-trivial type like nsTabSizes. r=froydnj
MozReview-Commit-ID: 7bFwF4fs4gj

--HG--
extra : rebase_source : 23ec6f4a3fcfef987338d192577bd8cf3c0dbcba
2017-10-24 12:47:35 +03:00
Sylvestre Ledru
15f2be4d17 Bug 1411034 - Remove the const to fix the -Wignored-qualifiers warning r=froydnj
MozReview-Commit-ID: 8BIWJpv9Odz

--HG--
extra : rebase_source : cc7222f056c9eeefd57ecd77f776aa35f080b2ff
2017-10-23 22:40:30 +02:00
Sebastian Hengst
31bf3a1a42 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4Lk5P5UYmTe
2017-10-24 11:52:35 +02:00
Xidorn Quan
a97971e948 Bug 1357082 - Wait until after the next animation frame to trigger mousemove.
MozReview-Commit-ID: 3oVUzPuNGoa

--HG--
extra : source : 67915d1f6a22d8f2b78f03d9b0f0d7e00fbd543d
2017-10-24 15:52:06 +11:00
Yoshi Huang
26c9043304 Bug 1407498 - Don't query loadingprincipal in common case. r=baku
We queried 'loadingprincipal' attribute on the common call path, however
this should be queried if it's loaded by System Principal.

Also rename loadingprincipal to triggeringprincipal
2017-10-24 10:13:31 +08:00
Stone Shih
4274c680a7 Bug 1347689 Intermittent pointerevent_touch-action-button-test_touch-manual.html. r=kats.
The test case uses double intervals to make sure there is enough time to wait for the scroll event before continuing the testing. However, it doesn't work while the first timeout is delayed and the second one isn't. Tweaked the test case to start the second timer when the first one timeout.

MozReview-Commit-ID: gvhtIpzauE
2017-10-19 17:31:33 +08:00
Ryan VanderMeulen
4a8d7024ae Bug 1388764 - Skip test_object_plugin_nav.html on Linux debug builds for frequent mozilla::ipc::MessageChannel::WillDestroyCurrentMessageLoop() shutdown crashes. r=qdot 2017-10-23 21:43:30 -04:00
Sebastian Hengst
8072106c67 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-23 23:55:17 +02:00
Sebastian Hengst
364d36fab2 merge mozilla-inbound. r=merge a=merge
MozReview-Commit-ID: B09kHrHK42C
2017-10-23 23:50:37 +02:00
Sebastian Hengst
736af2bfa1 Backed out changeset 2602e10160a1 (bug 1410482) for leaks in devtools tests. r=backout
--HG--
extra : amend_source : f3e557c54b1f7b5338547100d7edf83b30e96681
2017-10-23 23:02:57 +02:00
Boris Zbarsky
b980d7ce62 Bug 1408444. Flag a few more ErrorResults as would-report-JS-exceptions. r=peterv
MozReview-Commit-ID: 6kx4TOao7nM
2017-10-23 16:30:18 -04:00
Sebastian Hengst
18f1987735 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-23 11:46:34 +02:00
Sebastian Hengst
d30462037f merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: BcJNE0poEYk
2017-10-23 11:39:19 +02:00
Ben Kelly
d64c111b67 Bug 1409761 Create dom.serviceWorkers.disable_open_click_delay and set it to a larger value on fennec. r=smaug 2017-10-23 14:24:31 -04:00
Nathan Froyd
4f852fdd0c Bug 1410142 - use NS_NewLocalFile in dom/; r=baku
The interface is nicer, and it is probably slightly faster.
2017-10-23 14:22:14 -04:00
Alexander Surkov
094bc8871f Bug 1410482 - enable AOM for privileged content, r=smaug 2017-10-23 12:18:50 -04:00
Thomas Wisniewski
34162c2171 Bug 1405696 - pass the document encoding to NS_NewURI for XMLHttpRequest; r=bkelly
MozReview-Commit-ID: IZkWHGZacO0

--HG--
extra : rebase_source : 4cffffd6ce76f49f8515a04cd4f7523e5ceabb1f
2017-10-20 20:47:36 -04:00
Nicholas Nethercote
3842370ed8 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 3e2bbec4737b696e1c86579ae54be4cb3186c100
2017-10-13 16:12:57 +11:00
Paul Adenot
cd9185e874 Bug 1408456 - Convert test_analyserNodeOutput.html to a web-platform-test: test-analyser-output.html. r=karlt
This also brings in and convert some utilities we have in Gecko, that will ease
porting more tests.

MozReview-Commit-ID: 2yPZQO504kH

--HG--
rename : dom/media/webaudio/test/test_analyserNodeOutput.html => testing/web-platform/tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-output.html
extra : rebase_source : 0a9c9c336b1b53120010a081da131c76f103a838
2017-10-17 14:47:44 +02:00