Commit Graph

956 Commits

Author SHA1 Message Date
Hiroyuki Ikezoe
96717d63c9 Bug 1168759 - Part 2: Use waitForAllPaints() instead of animation.ready. r=boris
MozReview-Commit-ID: Hekj71Een7s

--HG--
extra : rebase_source : 03cc6f00bc7c71974431cfc45f96332bbcb4c927
2016-10-27 16:34:04 +09:00
Hiroyuki Ikezoe
c2709510e0 Bug 1168759 - Part 1: Rewrite async_test with promise_test. r=boris
MozReview-Commit-ID: 79Jkr83vA1z

--HG--
extra : rebase_source : fca498ffb73f1539fdb07f5bc6bc80545ddbd9f9
2016-10-27 16:33:32 +09:00
Hiroyuki Ikezoe
5c99fb8b87 Bug 1311196 - Part 2: Test that transition keeps the final style while the main thread is busy even if the transition finished on the compositor. r=birtles
This test is skipped on Android, since on Android it takes too long to send
the transition to the compositor.  On an Android emulator, it took 5s!
For this test case, 5s duration transition needs busyness on the main thread
more than 5s, it's undesirable.

MozReview-Commit-ID: DIqcwsnLttV

--HG--
extra : rebase_source : 256978c2a58fb483da4c0acac1db0e51fcf45ccd
2016-10-26 17:19:37 +09:00
Hiroyuki Ikezoe
d51fb9dbcc Bug 1311196 - Part 1: Add isOMTAEnabled() in testcommon.js. r=boris
MozReview-Commit-ID: FtJTXlsTACn

--HG--
extra : rebase_source : fe2a1df9c8edf3315d77b1f4070852234f2df070
2016-10-26 17:19:37 +09:00
Mantaroh Yoshinaga
e04fc55c09 Bug 1287983 part 7 - Add negative delay tests for CSS-Transitions event. r=birtles
MozReview-Commit-ID: KOVljOtRqFt

--HG--
extra : rebase_source : 324e0075339a99e7abadb82f3033ec7e4e7175e8
2016-10-21 11:37:53 +09:00
Mantaroh Yoshinaga
cf59836bae Bug 1287983 part 6 - Integrate ElapsedTimeToTimeStamp function to the Animation class. r=birtles
MozReview-Commit-ID: 43AGaTYQoqn

--HG--
extra : rebase_source : 728380db2c6f3e035d05b6c746d2c0f08a1369b7
2016-10-19 15:16:52 +09:00
Mantaroh Yoshinaga
f48cb567a6 Bug 1287983 part 4 - Add transition event handler test for checking elapsed time. r=birtles
MozReview-Commit-ID: KwtsVbII95v

--HG--
extra : rebase_source : 5204130473f452d2bca028f34ca2d4199aa18206
2016-10-19 15:16:52 +09:00
Boris Chiou
51c83c2c86 Bug 1272549 - Part 10: Test. r=hiro
MozReview-Commit-ID: DOiNI2DoS7c

--HG--
extra : rebase_source : cbfdbadb05334c3d28b533e002e42eed266679f4
2016-10-06 12:49:11 +08:00
Boris Chiou
304026cd9d Bug 1272549 - Part 9: Compute distance for mismatched transform lists. r=birtles
MozReview-Commit-ID: JJWcMgj88GX

--HG--
extra : rebase_source : 3f1c314a2bf9c7c12991fb3873738c79b0152ea9
2016-10-05 15:36:16 +08:00
Xidorn Quan
a899c1a9ac Bug 1312338 part 2 - Use nsACString to pass string parameters in binding functions. r=manishearth
MozReview-Commit-ID: BRKZBQJCrMQ

--HG--
extra : source : c0a7498ea402f1db4aca1c05508f577bacf21f0c
2016-10-25 10:19:45 +11:00
Xidorn Quan
0e7a21831d Bug 1311598 part 4 - Split binding types from ServoBindings.h into ServoBindingTypes, and merge ServoBindingHelpers into it. r=heycam
MozReview-Commit-ID: CKvBMOapqlI

--HG--
extra : rebase_source : 83531296b4b8a8a9c54f03953cab2a48e8c6cbad
extra : source : e1c6c680a4718619e1a4cbecd84cccac4101d69b
2016-10-24 20:16:46 +11:00
Xidorn Quan
131121fc77 Bug 1311598 part 3 - Add include ServoBindings.h to files need it. r=heycam
MozReview-Commit-ID: 3fI0bt4p8Jd

--HG--
extra : rebase_source : 86fa88f15183d1503c92044afca3e86649ec2523
extra : source : 5acc7cffb73234e2664c31f8283fa8a50f0be1b5
2016-10-24 20:16:46 +11:00
Xidorn Quan
d5b39f0e15 Bug 1311598 part 1 - Move PropertyValuePair::operator== into cpp file. r=birtles
MozReview-Commit-ID: 3TC11FtqDsu

--HG--
extra : rebase_source : 9b2f8abe575b14368b8962c5a51c776fcb9ad3d1
extra : source : 8a45444e157137455409e639ddd743b079ed9b0f
2016-10-24 20:16:46 +11:00
Phil Ringnalda
8377010e6a Merge m-c to m-i
MozReview-Commit-ID: Ihd0iacfcIW

--HG--
rename : devtools/.eslintrc => devtools/.eslintrc.js
2016-10-18 19:45:02 -07:00
Phil Ringnalda
6c91017f20 Merge m-i to m-c, a=merge
MozReview-Commit-ID: FA9OZyjP59N
2016-10-18 19:36:18 -07:00
Hiroyuki Ikezoe
a0f9171658 Bug 1310605 - Part 4: Drop gRecordPromiseResolvers. r=boris
MozReview-Commit-ID: 7CrVgGJQjRV

--HG--
extra : rebase_source : 789bb90aa4793fc58f0a4befcac72dc10784aff7
2016-10-18 18:45:35 +09:00
Hiroyuki Ikezoe
fa753fd6ca Bug 1310605 - Part 3: Move test case for pseudo element that can be rewritten to synchronous test. r=boris
tree_ordering test can not be moved because the test waits for animationend
event.

createPseudo() were picked from
testing/web-platform/tests/web-animations/testcommon.js .

MozReview-Commit-ID: EZ2sGEgdMFM

--HG--
extra : rebase_source : 1ebf46dd91f42ba75f5711e781d72e77948e6150
2016-10-18 18:44:53 +09:00
Hiroyuki Ikezoe
9df35ab563 Bug 1310605 - Part 2: Move test cases for CSS animation that can be rewriten to synchronus test. r=boris.
All of cleaning up code were dropped. Also some trivial comments were dropped.

Note that test cases can not be rewritten to synchronous test.
* Waiting for events, e.g. transitionend.
 * single_transition
 * single_animation

* Manipulated by style, e.g. style.animationDuraton = "0.5s".
 * single_transition_cancelled_property
 * single_transition_cancelled_value
 * single_transition_cancelled_noninterpolable
 * single_transition_reversed
 * multiple_transitions
 * single_animation_cancelled_name
 * single_animation_cancelled_duration
 * single_animation_cancelled_delay
 * single_animation_cancelled_fill
 * single_animation_cancelled_iteration_count
 * single_animation_change_XXX
 * coalesce_change_cancel

* Falling into a pending state, e.g. play() or pause().
 * finish_from_pause
 * finish_from_pause_pending
 * play
 * play_filling_forwards
 * play_after_finish
 * pause
 * pause_while_pause_pending
 * aborted_pause

MozReview-Commit-ID: 5bTzO7GtEHF

--HG--
extra : rebase_source : 905f5144706e20c743030b4bcff428ef124abfff
2016-10-18 18:44:42 +09:00
Hiroyuki Ikezoe
5b264f1aac Bug 1310605 - Part 1: Rname test_observers_for_script_animation.html to test_observers_for_sync_api.html. r=boris
MozReview-Commit-ID: K9QJgcdcJu8

--HG--
rename : dom/animation/test/chrome/test_observers_for_script_animation.html => dom/animation/test/chrome/test_observers_for_sync_api.html
extra : rebase_source : 76a7e60e2a60eb307874c6c2b6765977c04405ce
2016-10-18 18:05:41 +09:00
Xidorn Quan
00100a750f Bug 1309109 part 3 - Rename ServoDeclarationBlock to RawServoDeclarationBlock. r=heycam
So that the new subclass of DeclarationBlock could just be
ServoDeclarationBlock.

MozReview-Commit-ID: 55KgfmWmmyU

--HG--
extra : source : 27c55355da341fce112b15d966eb9b2fa2c8834b
2016-10-18 15:29:03 +11:00
Nathan Froyd
d1108c1e52 Bug 1311068 - remove InitializerList.h; r=botond
We needed this polyfill for <initializer_list> when some of our C++
standard libraries did not support said header.  They all do now, so the
polyfill is redundant.
2016-10-19 00:33:14 -04:00
Hiroyuki Ikezoe
9d5b7d6fc9 Bug 1223658 - Part 6: Remove Animation::HasInPlayEffect and AnimationEffectReadOnly::IsInPlay. r=birtles
MozReview-Commit-ID: JQ167ol4Ty9

--HG--
extra : rebase_source : 4a2a5090f1af9d39c3143fd4552f43c1fd3efb03
2016-10-14 19:14:12 +09:00
Hiroyuki Ikezoe
ca0f6e0ff5 Bug 1223658 - Part 5: Send animations to compositor even though it's in delay phase. r=birtles
To send animations to compositor in the delay phase we need to
modify Animation::IsPlaying returning true in the delay phase.

Note about background-position-in-delay.html:
After this patch, background-position animation also creates an active layer
from its delay phase.

Also note about test cases in test_animations_omta.html:
After landing bug 1279071, getOMTAStyle() returns the style value only
specified by animations, also in this patch we don't apply any opacity or
transform values in the delay phase, as a result we can't tell animating
value during delay phase on the compositor.

MozReview-Commit-ID: ILYKig3c08d

--HG--
extra : rebase_source : 5715c1f9ec43da3c8374f08cdca82e2ca29fe474
2016-10-14 19:14:12 +09:00
Hiroyuki Ikezoe
c9f76b2935 Bug 1223658 - Part 4: Add a function to check active duration is zero. r=birtles,dholbert
We are going to pass animations to the compositor in before phase but not to
pass when active duration is zero.  To distinguish this state we need a new
function to check that the active duration is zero.

MozReview-Commit-ID: 2Lckmt4LQcV

--HG--
extra : rebase_source : aa059b8c75bcea4ff4c5788aac98d1e17a4a5d7b
2016-10-14 19:14:11 +09:00
Hiroyuki Ikezoe
d8ec730df8 Bug 1223658 - Part 2: Pass delay property to compositor. r=birtles
The check of negative elapsedDuration is basically no longer valid since
animation delay is not factored into start time any more.  But still we have
somtimes met negative elapsedDuration sice we use a previous vsync time stamp
for async animations to make the animations more sync.  This is not a problem
in most cases but makes two reftests intermitent failure because both of them
used steps(1, start), the steps(1, start) composed different results in the
before phase and in the active phase. To avoid this difference this patch
replace the steps(1, start) with steps(1, end).

Once we incorpolate playbackRate into GetCurrentOrPendingStartTime, we don't
need to call AnimationTimeToTimeStamp for deviding delay by playbackRate since
the time passed to AnimationTimeToTimeStamp does not contain delay any more.

MozReview-Commit-ID: IVE2IFfNgm0

--HG--
extra : rebase_source : 7cb42e57067c21451706bd89284016d996dc8b12
2016-10-14 19:14:01 +09:00
Carsten "Tomcat" Book
b474cb6353 merge mozilla-inbound to mozilla-central a=merge 2016-10-14 11:59:12 +02:00
Hiroyuki Ikezoe
db9f210a8c Bug 1283754 - Part 5: Run tests with subtree:true option. r=boris
We should run basically tests with subtree true or false option.

MozReview-Commit-ID: 8HDAnKh7Xq

--HG--
extra : rebase_source : 13d1551240bf68b776df5111c512cd13e248a0ea
2016-10-14 09:34:37 +09:00
Hiroyuki Ikezoe
5e4865cab0 Bug 1283754 - Part 4: Split test cases for script animations which can be re-written to synchronous test in test_animation_observers.html. r=boris
All of the split out test cases were re-written with synchronous API.
Also, cleanup codes in the end of each test cases, e.g. anim.cancel(), were
dropped because we now create a new MutationObserver and a new element for
each test respectively.

MozReview-Commit-ID: 9Bx0OUOU9On

--HG--
extra : rebase_source : c51b9e850bfdc692344012b9176a17083187ab89
2016-10-14 07:58:32 +09:00
Hiroyuki Ikezoe
16b8fd8f57 Bug 1283754 - Part 3: Add setupSynchronousObserver to write synchronouse tests for MutaionObserver. r=boris
MozReview-Commit-ID: 1sV5QHVeEyw

--HG--
extra : rebase_source : 766a282f486a9b68c53771a7d56de3fe659b57ca
2016-10-14 06:52:11 +09:00
Hiroyuki Ikezoe
4e61e83811 Bug 1283754 - Part 2: Replace await_frame() with waitForFrame(). r=boris
MozReview-Commit-ID: 3PhjL7H5qip

--HG--
extra : rebase_source : 222e405e52e8cab709318680151761bc97534d4f
2016-10-14 06:51:48 +09:00
Hiroyuki Ikezoe
4b0ac89265 Bug 1283754 - Part 1: Drop await_timeout() and await_timeout(). r=boris
No one uses these functions.

MozReview-Commit-ID: DLZXQdOzBZA

--HG--
extra : rebase_source : 8471202815f4baf0d0ea911ceb21e21f59800d50
2016-10-14 06:51:37 +09:00
Hiroyuki Ikezoe
ff84f76fce Bug 1278136 - Part 5: Create a stacking context for opacity/transform animations even if it's in delay phase and even if the property is overridden by !important rules. r=birtles
This patch introduces a new functions named HasEffectiveAnimationOfProperty.
This function checks that a given CSS property is overridden by !important
rules.
On the other hand, now KeyframeEffetReadOnly::HasAnimationOfProperty() does
just check that the effect has a given CSS property.  This is used to create
a stacking context because we should create a stacking context for opacity or
transform animations even if the property is overridden by !important rules.

Note about no-stacking-context-(opacity|transform)-removing-animation-in-delay.html
Before this patch we don't create any stacking context for animations overridden
by !important rules, but after this patch we do create a stacking context for
such animations.  As a result, in the test case we did paint a stacking context
in the first rAF callback and then in the second rAF callback we did clear the
painted stacking context. Unfortunately sometimes the second rAF callback was
called prior to clear the stacking context on the compositor because of
compositor delay. To avoid this situation, we have to wait for MozAfterPaint
instead of rAF callback.

MozReview-Commit-ID: AG1Y0IgoB3U
2016-10-13 16:54:25 +09:00
Hiroyuki Ikezoe
2653be237d Bug 1307295 - Do not request restyle for animations on orphaned element. r=birtles
Also we skip to update the cascade and compose style for orphaned elements if
the animation reqeusted restyle but the target element has been removed from
document before a subsequent tick.

MozReview-Commit-ID: 3I6uyvuSPO5

--HG--
extra : rebase_source : 817b123a4e1b64c89cfbe796073d88410792bf84
2016-10-12 15:58:53 +09:00
Brian Birtles
b813bcffe5 Bug 1302973 - Store timelines on document; r=smaug
MozReview-Commit-ID: KHtAq0VgPZW

--HG--
extra : rebase_source : 7daa2a4202f489308981e9cff02e2d7f3bf92c1e
2016-10-09 22:36:56 +09:00
Hiroyuki Ikezoe
22ccc8580a Bug 1308369 - Use longer duration to avoid intermittent failure. r=birtles
MozReview-Commit-ID: 1PVKWIPm23B

--HG--
extra : rebase_source : a38ca5ec5651842e65ef3866d5f2bfb83c904cf1
2016-10-07 10:48:56 +09:00
Sebastian Hengst
256c9cf9ff Merge mozilla-central to autoland 2016-10-05 17:15:26 +02:00
Brian Birtles
d70d0c2bd5 Bug 1302949 - Skip calling CalculateCumulativeChangeHint; r=heycam
There are a few pieces missing before we can do this with Servo. Since this
only enables an optimization for off-screen animations we should skip this
for now so it doesn't block animations from running.

MozReview-Commit-ID: GecHWQZYxpK

--HG--
extra : rebase_source : c0330b104afb4b970569c0cb650315e633b7e796
extra : histedit_source : db91b37d3370c9b766976b42b0701f6e0ec56159
2016-09-16 11:35:59 +09:00
Brian Birtles
33c4f00dda Bug 1302949 - Compute StyleAnimationValue objects from servo declaration blocks; r=heycam
MozReview-Commit-ID: 6Am1FRC9uV0

--HG--
extra : rebase_source : 570ed28437ecaa22ac7571a9b47388e8abd0cb96
extra : histedit_source : 04443b7b7d89296b8498a5e657b1e7eeb3105dc8
2016-09-16 11:08:44 +09:00
Brian Birtles
620aaf6580 Bug 1302949 - Parse animation values with Servo backend; r=heycam
MozReview-Commit-ID: 4UW1fIIjvdi

--HG--
extra : rebase_source : edeaec568446897c5005640d63390ec5bf3751d2
extra : histedit_source : e7498ae2f573a3766fbf7686f1c6cdcc64ca3280
2016-09-16 10:24:05 +09:00
Brian Birtles
4f94caf471 Bug 1302949 - Skip invalid animation values; r=heycam
For animation values parsed using the Servo backend that are invalid,
we simply end up with an empty declaration block (and we fill in |mValue|
with the string so we can later serialize it).

MozReview-Commit-ID: 6ruwJGVzRla

--HG--
extra : rebase_source : 83e415febf10cf90631fd7a1b447921822a44bc0
2016-09-16 09:58:35 +09:00
Brian Birtles
a803b5ac49 Bug 1302949 - Serialize specified keyframe values; r=heycam
MozReview-Commit-ID: 9BSkci1kqU6

--HG--
extra : rebase_source : b0532e144b3208d79e1e26ce3bff9a20c896abad
2016-09-16 09:26:48 +09:00
Brian Birtles
8de1442b19 Bug 1302949 - Store Servo declaration block in keyframe values; r=heycam
MozReview-Commit-ID: I09XpkU8bT0

--HG--
extra : rebase_source : 2403ee41f8a71261705eca0f6e5fd250dfc5c007
2016-09-15 16:26:07 +09:00
Hiroyuki Ikezoe
8dbb9e3b52 Bug 1304922 - Part 10: Drop non-const version of KeyframeEffectReadOnly::Properties(). r=birtles
We no longer modify AnimationProperty outside KeyframeEffectReadOnly class.

MozReview-Commit-ID: 1YJglDhuS1w

--HG--
extra : rebase_source : 59ac4ff0fb34f93df7f28763bd207615790ec390
2016-10-05 14:54:01 +09:00
Hiroyuki Ikezoe
06298d3994 Bug 1304922 - Part 9: Early return from FindAnimationsForCompositor() if we have neither transitions and animations level effect for a given property. r=birtles
MozReview-Commit-ID: 8BZkKA2Jcs1

--HG--
extra : rebase_source : cc3d2cdb6dd183240c14e953d04e455c9aaf6c2a
2016-10-05 14:53:58 +09:00
Hiroyuki Ikezoe
989299c9fa Bug 1304922 - Part 8: Add a test case to check we don't request restyle for layer when cascading result for the property not running on the compositor is changed r=birtles
Actually this test case does not pass for now, since we don't throttle
animation properties running on the main thread overridden by important
rules.  But after part 6, we don't request restyle layer in the case
when the cascading result of the property which is not running on the
compositor is changed, so this test case is meaningful.

MozReview-Commit-ID: eraPs9WAe9

--HG--
extra : rebase_source : a0d6f6629299fbbad59bcabeae3b8c48b7c7ce1a
2016-10-05 14:53:54 +09:00
Hiroyuki Ikezoe
f5b0e6e0b3 Bug 1304922 - Part 7: Drop mWinsInCascade. r=birtles
MozReview-Commit-ID: 1q4glZenZNa

--HG--
extra : rebase_source : 7855710197758505a195f1cf7063e74cb5493534
2016-10-05 14:48:05 +09:00
Hiroyuki Ikezoe
c354bf91e5 Bug 1304922 - Part 6: Introduce mPropertiesWithImportantRules and mPropertiesForAnimationsLevel and use it to detect conditions that we need to update layers. r=birtles
This patch also makes composite order lowest to highest, as a result we also
need to replace mWinsInCascade checks with the the properties.
The mWinsInCascade membed itself will be removed in a subsequent patch.

Now we call RequestRestyle(Layer) respectively for transition and animation,
so a test case in test_restyles.html works as expected.

And now lower-priority animations are also sent to the compositor so this patch
fixed some tests in test_running_on_compositor.html and
test_animation_performance_warning.html

MozReview-Commit-ID: BchUsJbmatg

--HG--
extra : rebase_source : ff295aecb08bb672ac5f02e26e37a4ea4f3eb7c0
2016-10-05 14:42:56 +09:00
Hiroyuki Ikezoe
6989f07b4c Bug 1304922 - Part 5: AnimValuesStyleRule::AddValue replaces the existence entry's mValue. r=birtles
MozReview-Commit-ID: GqpUsXUZaHy

--HG--
extra : rebase_source : 61607d0e0eb2d5916d959fb65f490e7ec91aefc4
2016-10-05 14:26:44 +09:00
Hiroyuki Ikezoe
d087a2c911 Bug 1304922 - Part 4: Add EffectSet::Count(). r=birtles
MozReview-Commit-ID: HqXNf4938Rb

--HG--
extra : rebase_source : f95a7974c76657acb780d5798106698a934e309f
2016-10-05 14:26:32 +09:00
Hiroyuki Ikezoe
a85f4d14cd Bug 1304922 - Part 2: Sort animation array before sending animations to the compositor. r=birtles
The result animatons of FindAnimationsForCompositor() should be sorted
by composite order because SampleAnimations() on the compositor expects
the animations are sorted by the order.

MozReview-Commit-ID: 4eI4EldFVcu

--HG--
extra : rebase_source : eabbea6aa54d1637b8baba8b6ac4959a1e6025b6
2016-10-05 14:26:25 +09:00