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

1217 Коммитов

Автор SHA1 Сообщение Дата
Boris Chiou c78d90ed63 Bug 1346052 - Part 1: Factor out ParseProperty. r=birtles
We can reuse ParseProperty in nsDOMWindowUtils::ComputeAnimationDistance(),
so factor out this function.

MozReview-Commit-ID: FdXGPxOZf84

--HG--
extra : rebase_source : 525bb436fdc1ce4d1241a08b198f9cd572506a86
2017-03-24 17:35:27 +08:00
Brian Birtles 5267613207 Bug 1334583 - Pass a separate timeOrigin and startTime for compositor animations; r=hiro
By passing the startTime as a TimeDuration we are able to represent times in the
distant past (and with the same range as we can represent on the main thread so
that if we do encounter range errors in future, they should not differ between
the main thread and the compositor).

This patch includes a crashtest. I have verified that, without the code changes
included in this patch, this crashtest fails on debug builds on OSX.

MozReview-Commit-ID: EDuKLzfEC0K

--HG--
extra : rebase_source : 1883080fdfac8c33f70698145f21e67cbdfdd4f2
2017-05-02 16:49:51 +09:00
Brian Birtles ec43d6df6d Bug 1361260 - Incorporate playbackRate when calculating the start time of a pending compositor animation; r=hiro
MozReview-Commit-ID: FBmT5ImBcYJ

--HG--
extra : rebase_source : 76058d69b844adb0725b7522fcbdfd8541f2b71f
2017-05-02 16:43:21 +09:00
Brian Birtles d8df0f7aa8 Bug 1361234 - Fix start time calculation for pending animations on layers; r=hiro
In bug 1223658 we separated out the delay from the start time but we failed to
remove it from this calculation. As a result, when a pending animation begins it
will have the delay applied twice (once here, and once when it is sampled on the
compositor). This will happen until the layer is next updated.

This bug was not exposed by any existing tests since we don't use this code path
when the refresh driver is under test control. Furthermore, the one test that
was supposed to cover this was refactored in such a way that it stopped testing
this code path. That test is restored earlier in this patch series and enabled
in this patch.

MozReview-Commit-ID: B2KR7YaPsMK

--HG--
extra : rebase_source : 6c888252813fbfc01baf5d4bb1728d989ee1586c
2017-05-02 16:41:13 +09:00
Brian Birtles d4b0e34e68 Bug 1361234 - Restore test_deferred_start.html to actually testing delay; r=hiro
Once upon a time[1] a test was added to test_deferred_start.html to test the
code path where we establish the start time to pass to the compositor when
resolving a pending animation.

Later[2], however, we encountered intermittent failures on B2G so we made it
stop waiting on animation.ready and use waitForPaints instead. There were two
problems with this, however.

Firstly, waiting for paints often means that extra paints are processed such
that we end up updating the start time on the layer using a different code path
and masking any potential bugs in the code path under test.

Secondly, when we made this change we replaced:

  return animation.ready.then(function() { /* test code */ })

with:

  return waitForPaints(function() { /* test code */ })

And sadly that means that 'test code' never runs. Of course, what we meant to
write was:

  return waitForPaints().then(function() { /* test code */ })

As a result, when we later broke the code path under test no one noticed.

This patch restores the test so that it tests what it intends to (and currently
fails, at least most of the time).

[1] https://hg.mozilla.org/mozilla-central/rev/79cac8c71159
[2] https://hg.mozilla.org/mozilla-central/rev/986b18fdfdba
[3] https://hg.mozilla.org/mozilla-central/rev/b66b75c2d042101b954e6423438cc07955c2b9bd

MozReview-Commit-ID: 1iMWLQP6zae

--HG--
extra : rebase_source : 2766f25b150af3e98afc6214f59a329798961943
2017-05-02 16:40:23 +09:00
Hiroyuki Ikezoe 0935c70f35 Bug 1361183 - Check Element::MayHaveAnimations() in EffectSet::GetEffectSet(). r=birtles
We can early return to call MayHaveAnimations() (and it should be fast) since
we set the flag in EffectSet::GetOrCreateEffectSet(),

MozReview-Commit-ID: 2UfWVVi6nY5

--HG--
extra : rebase_source : 97e98bf1fb9e725a107ed3200b95921375bfb637
2017-05-02 07:25:50 +09:00
Hiroyuki Ikezoe d8fafebff7 Bug 1360776 - Pass AnimationValueMap raw pointer instead of Arc to Gecko_GetAnimationRule(). r=emilio
MozReview-Commit-ID: 5o8NuJolG2R

--HG--
extra : rebase_source : 13d732112dfe5614a83657c7bf7703944050c0f4
2017-05-01 18:45:41 +09:00
Hiroyuki Ikezoe b0051604aa Bug 1358353 - Use rgb value instead of keyword colors. r=boris
MozReview-Commit-ID: HE0Qld7Tvi6

--HG--
extra : rebase_source : 196193064ec68808bc372a95846b30a2fbc91e9e
2017-04-28 13:07:54 +09:00
Hiroyuki Ikezoe bf97b2a40a Bug 1343884 - Add a tweak to cause a MozAfterPaint in 1239889-1.html. r=boris DONTBUILD
MozReview-Commit-ID: PiXLTTCXSi

--HG--
extra : rebase_source : 0a803674ece5a70b998dc4d8a5f77172962c7a21
2017-04-28 13:17:34 +09:00
Emilio Cobos Álvarez 78d50744d2 Bug 1331047: Fix another instance of a test relying on animating an non-existing pseudo-element. r=hiro
MozReview-Commit-ID: 5ewF4tMPMl6
2017-04-27 17:08:31 +02:00
Carsten "Tomcat" Book e1e203f1f5 Merge mozilla-central to autoland 2017-04-27 16:36:41 +02:00
Brian Birtles f37fe9b84d Bug 1355348 - Move ServoComputedValuesWithParent to separate file; r=hiro
We will use this type later in this patch series in nsSMILCSSProperty so this
patch moves it to a separate file so it can be re-used.

MozReview-Commit-ID: 4Z7YbsQ9xz4

--HG--
extra : rebase_source : 0f6f7248d1a4dfc77360829f3a0e6ed263f156db
2017-04-26 13:00:11 +09:00
Brian Birtles ba8b99bbb7 Bug 1355348 - Move IsFlattenedTreeDescendantOf helper to nsContentUtils; r=heycam
In the next patch in this series we would like to use this functionality in
nsSMILController as well so this patch moves it to somewhere we can share it.

MozReview-Commit-ID: 1IzWoCCw4aD

--HG--
extra : rebase_source : 9f2b230f774135c0c5bf60ebdff358ce0a6bc087
2017-04-26 13:00:10 +09:00
Brian Birtles d5097e1bda Bug 1359658 - Crashtest for clearing animation-only dirty descendants bit on display:none descendants; r=hiro
I have verified that this crashtest fails without the corresponding Servo-side
code changes.

MozReview-Commit-ID: 9obKluN3fgv

--HG--
extra : rebase_source : 71d82eb24ccb9fea1674d08be9b317997df7fe3f
2017-04-26 14:31:23 +09:00
Emilio Cobos Álvarez 6fe2b3e89d Bug 1355351: Simplify nsLayoutUtils callers, and make child iterators notice display: contents pseudos. r=heycam
This also happens to fix other bugs, like making display: contents pseudos
animatable, which weren't before.

MozReview-Commit-ID: LhwTPNbFvSZ

--HG--
extra : rebase_source : 785105b08d6bfa15ad257e61b769a263c6810ad0
2017-04-19 12:53:57 +02:00
Wes Kocher da57a3e4df Merge m-c to inbound, a=merge
MozReview-Commit-ID: DimBmdgo95e
2017-04-26 17:35:26 -07:00
Mantaroh Yoshinaga 0b52f5e3fb Bug 1264125 part 10 - Remove unnecessary whitespace and align the colum of variable definition on ComputedTiming.h. r=whitespace-only DONTBUILD
MozReview-Commit-ID: LQR2aypoA7k
2017-04-27 09:10:44 +09:00
Florian Queze 4b1556a5f2 Bug 1355056 - replace (function(args) { /* do stuff using this */ }).bind(this) with arrow functions, r=jaws. 2017-04-27 00:25:45 +02:00
Boris Chiou 600fb7770f Bug 1341372 - Part 1: Let animation-only restyle include css-transition. r=heycam,hiro
Animation-only restyle should include both Animation and Transition
cascade levels.

MozReview-Commit-ID: Jo1sb5fGUC0

--HG--
extra : rebase_source : ddd7d796b93f9e7ced912ec4fa2eb79e7ba58784
2017-04-17 14:22:28 +08:00
Hiroyuki Ikezoe 784bf46abc Bug 1324700 - Servo_ParseProperty() takes nsCSSPropertyID instead of nsACString. r=heycam
MozReview-Commit-ID: Gn90DBlJSS9

--HG--
extra : rebase_source : 444f4188de7e32f5414f2b75046903dc504db1a0
2017-04-15 07:37:34 +09:00
Boris Chiou 2317c8957e Bug 1343753 - Part 6: Move mAnimationGeneration into RestyleManager. r=birtles
So stylo can also use mAnimationGeneration.

MozReview-Commit-ID: KTc8vs2RKMm

--HG--
extra : rebase_source : 52aeb3bf91fa849cbddbedff28418736f96086bb
2017-03-09 17:15:08 +08:00
Cameron McCormack 73701ced74 Bug 1351535 - Part 5: Add EffectCompositor method to pre-traverse within a specific subtree. r=hiro
It's not great that we traverse up the tree looking for the subtree root for
each animating element that is in mElementsToRestyle.  An alternative could
be to traverse the entire subtree and build a hash set of the elements
within it, so that each test in the mElementsToRestyle loop can be done
quickly.  I suspect that most of the time looking up the tree for
each animation will be quicker, but it does have worse worst case behavior.

MozReview-Commit-ID: FWoQ7fD9YZC

--HG--
extra : rebase_source : 688a19f61e3eda9e84228b6f18913e1f4bb09f13
2017-04-04 19:12:54 +08:00
Xidorn Quan 2df49dbac2 Bug 1343964 part 1 - Move URLExtraData into its own header. r=heycam
This patch does the following in addition to a simple move:
* change the type of the pointers from RefPtr to nsCOMPtr
* move it from mozilla::css namespace to mozilla

MozReview-Commit-ID: 72MYq6kWm4s

--HG--
extra : rebase_source : 400fe0d7cc422f22592c302cfd4e457830b77e3e
2017-04-04 10:04:13 +10:00
Carsten "Tomcat" Book 207b516e89 merge mozilla-inbound to mozilla-central a=merge 2017-04-06 12:50:50 +02:00
Mantaroh Yoshinaga 0d0fa5f03f Bug 1338069 - Don't use 'window' object when using getComputedStyle in tests. r=birtles
MozReview-Commit-ID: KWUNCIaF183

--HG--
extra : rebase_source : 93d7ba66d996d2b7fa835da272b509937a71f454
2017-04-06 12:43:47 +09:00
Hiroyuki Ikezoe 50ce1998ae Bug 1311257 - Update test expectations. r=heycam
MozReview-Commit-ID: K3HlC794cCo

--HG--
extra : rebase_source : 03d3df88c1d4ca452ab6d810efb9e7a154768b71
2017-04-06 10:34:51 +09:00
Hiroyuki Ikezoe 79052959a8 Bug 1311257 - Support missing keyframes handling for stylo. r=birtles
MozReview-Commit-ID: 1Iz6By2Y2Gp

--HG--
extra : rebase_source : 94dd3845c271e89f88dc7351b4cea179bd3bb2e5
2017-04-06 10:34:51 +09:00
Hiroyuki Ikezoe e432173483 Bug 1311257 - getKeyframes() returns base computed values in missing keyframes. r=birtles
MozReview-Commit-ID: K8btLtALEfK

--HG--
extra : rebase_source : 1709e9a153790f90e26da7170273474a4a1d2dfd
2017-04-06 10:34:51 +09:00
Hiroyuki Ikezoe 2614ef2eac Bug 1311257 - Use underlying value for missing keyframes. r=birtles,heycam
mBaseStyleValuesForServo is a nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>
In this patch, we use void* instead of exposing nsRefPtrHashtable in FFI
because we just use the hash table as an argument of a C++ function, it means
we don't touch the hash table in Rust at all.

MozReview-Commit-ID: 1wM6NeF2S0t

--HG--
extra : rebase_source : 17908ff84d061e189f21641bf660dc9720b964bc
2017-04-06 10:34:51 +09:00
Hiroyuki Ikezoe fa100db77c Bug 1311257 - Move stuff of KeyframeEffectReadOnly::ComposeStyleRule in Rust. r=heycam
After this, we will implement additive or accumulative calculation
in this Rust function.

MozReview-Commit-ID: 4xAvLz1oTIZ

--HG--
extra : rebase_source : c0672cb1c894eadaaebec94dce2f0d1c1a77d244
2017-04-06 10:34:51 +09:00
Hiroyuki Ikezoe 472261864f Bug 1311257 - Move AnimationPropertySegment in a separate header and expose it in FFI. r=heycam
This will be used for animation value composition in Rust.

MozReview-Commit-ID: Lg4dZrQW1WC

--HG--
extra : rebase_source : e03b19aa7907c122f773b2b06df96aee4fe32ae2
2017-04-06 10:34:50 +09:00
Hiroyuki Ikezoe 80d32932a1 Bug 1311257 - Store base styles for stylo. r=birtles
MozReview-Commit-ID: DcEx4aTDOY0

--HG--
extra : rebase_source : 39d161ca8226b75c6b1c6afec675b8763eb83c1f
2017-04-06 10:34:50 +09:00
Brian Birtles 33041d1214 Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F

--HG--
extra : rebase_source : 3ba51f3b00d1ec7bc91102629d9c0abb88992fef
2017-04-05 14:39:23 +09:00
Xidorn Quan 2da48b454d Bug 1352025 part 2 - Stop passing in url as string for parsing. r=manishearth
MozReview-Commit-ID: CRgOO7NyYd9

--HG--
extra : rebase_source : 6b04d1c001082740abfc344fdb2a7f0351c3d7d9
2017-04-01 16:17:55 +11:00
Boris Chiou e8365c20d7 Bug 1349808 - Add telemetry for cases when we can't run async animations due to layer size being too large. data-review=bsmedberg, r=birtles,botond,bsmedberg
MozReview-Commit-ID: 61DBw1DHbQA

--HG--
extra : rebase_source : 1941cfb9e0a5ce65e4696ef422a642214176bf49
2017-03-24 15:53:54 +08:00
Xidorn Quan e3e4554871 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh

--HG--
extra : rebase_source : cae3dba21c916ab0f52056bd9db215249b650cd3
2017-03-30 18:54:48 +11:00
Boris Chiou a583863fc8 Bug 1352067 - Part 1: Make sure AnimationValue::{mGecko|mServo} are mutually exclusive. r=birtles,emilio
We will obsolete StyleAnimationValue in the future, and can treat
AnimationValue as a wrapper of RawServoAnimationValue to hide the FFIs
at that moment. For now, we still need both types, so it's better to make sure
they are mutually exclusive in AnimationValue. Therefore, let's add some
assertions.

Besides, I think those FFIs might do many things and it seems those methods
are not critical, so let's move them into the cpp file, so we can remove
some dependencies to avoid re-compiling so many files if someone needs
revise ServoBindings.h.

MozReview-Commit-ID: FJ1uTvEQ7NT

--HG--
extra : rebase_source : 8ef99c659f2721c8425364051db19b66536bccc6
2017-03-31 17:46:37 +08:00
Hiroyuki Ikezoe af52995ddf Bug 1351981 - Remove annotation for crashtests that are supposed to be run on the compositor. r=boris
MozReview-Commit-ID: 9KaPq7sa5UB

--HG--
extra : rebase_source : 81486f79bba74322cdd658636317fd46cebf94ae
2017-03-30 16:58:04 +09:00
Hiroyuki Ikezoe 089cd10211 Bug 1351981 - Enable crashtest, 1333539-1.html and 1333539-2.html. r=boris
MozReview-Commit-ID: 57JBEHFIQgo

--HG--
extra : rebase_source : a41f815bbf2c9a5362775943ca8d1acf91bf4b16
2017-03-30 16:58:04 +09:00
Hiroyuki Ikezoe 7d3b711ee6 Bug 1351898 - Don't set PropertyValuePair.mValue for stylo. r=birtles
Otherwise we hit below assertion in nsCSSValue::DoReset().

 MOZ_ASSERT(NS_IsInCompositorThread() || !ServoStyleSet::IsInServoTraversal());

PropertyValuePair.mValue was introduced for computing paced timing in the case
where there is some invalid values in keyframes. Paced timing has been removed
removed from the spec and stylo will not support paced timing. So we don't need
to set the value for stylo.

MozReview-Commit-ID: 3I8QSvF2jL8

--HG--
extra : rebase_source : 42155d7fac85aa7fb068e8a514867e8f1c27ed30
2017-03-30 11:08:47 +09:00
Boris Chiou f4b25f840f Bug 1336769 - Enable crashtests, 1272475-1.html and 1272475-2.html. r=heycam
MozReview-Commit-ID: 5o4ayOHRm4S

--HG--
extra : rebase_source : 0a7f73c1eeddbb7270783de67593f84cc1c5b8ab
2017-03-27 16:25:48 +08:00
Carsten "Tomcat" Book 1bff8bff6d Merge mozilla-central to autoland 2017-03-28 13:06:52 +02:00
Carsten "Tomcat" Book 5b9719c5fc merge mozilla-inbound to mozilla-central a=merge 2017-03-28 13:03:25 +02:00
Brian Birtles 4a53c81f51 Bug 1343589 - Add a test that reverse() updates animations on the compositor r=hiro
MozReview-Commit-ID: FR8kR7TMl33

--HG--
extra : rebase_source : 8cbe75de11323582567d184373f7025c2f133a74
2017-03-28 14:51:53 +09:00
Brian Birtles 3437435375 Bug 1343589 - Add a crashtest for when reverse() throws r=hiro
I have verified that this test fails without the fix from the previous patch.

MozReview-Commit-ID: Hx8D72nTb32

--HG--
extra : rebase_source : 48b53f86fbcf92db6a5d340d2348fe23003aab0f
2017-03-28 14:51:52 +09:00
Brian Birtles 9a4f3fcecb Bug 1343589 - Add animation mutation observer test for reverse() when it throws an exception r=hiro
This patch adds a test that when reverse throws an exception we don't report
anything to animation mutation observers. I have verified that this added test
fails without the early return added to Animation::Reverse() earlier in this
patch series.

MozReview-Commit-ID: 64yX4G7iaIt

--HG--
extra : rebase_source : 3f29335303c969a8e2ad5ac2c16aba276036b434
2017-03-28 14:51:52 +09:00
Brian Birtles f9b4b144b9 Bug 1343589 - Move setupSynchronousObserver from testcommon.js to test_animation_observers_sync.html r=hiro
This function is only used in test_animation_observers_sync.html. Putting it in
another file makes test_animation_observers_sync.html harder to follow so until
we actually share it with other files we should be it in the one file.

MozReview-Commit-ID: DJXWH4wFWxZ

--HG--
extra : rebase_source : cf5c93f0bee5b03862ad9162c55e1df97b875a6d
2017-03-28 14:51:52 +09:00
Brian Birtles 6c557986cc Bug 1343589 - Add comments to test_animation_observers_[a]sync.html to describe how they differ r=hiro
MozReview-Commit-ID: HxhsaOKDAsq

--HG--
extra : rebase_source : a6d99344126a05a00b33881072e5170845df29e6
2017-03-28 14:51:52 +09:00
Brian Birtles 7a32f654ff Bug 1343589 - Rename animation observer test files r=hiro
As part of this patch series I'd like to add an animation observer test.
However, the current arrangement of test files is quite confusing. We have:

  test_animation_observers.html - Tests that run async only
  test_observers_for_sync_api.html - Tests that can be run synchronously

It's not at all obvious that these are related or that one is related to the
other. In this patch we rename the files so that their relationship is more
obvious. In a subsequent patch we'll add comments to further clarify the
distinction.

MozReview-Commit-ID: CSYL8wruWdK

--HG--
rename : dom/animation/test/chrome/test_animation_observers.html => dom/animation/test/chrome/test_animation_observers_async.html
rename : dom/animation/test/chrome/test_observers_for_sync_api.html => dom/animation/test/chrome/test_animation_observers_sync.html
extra : rebase_source : a8bfde42b9996f172f090e95970e355106757d8a
2017-03-28 14:51:51 +09:00
Brian Birtles 09cda43419 Bug 1343589 - Restore the playbackRate when reverse() throws. r=hiro
MozReview-Commit-ID: FNIZK9yQWyV

--HG--
extra : rebase_source : 32cdcc52ccd8192addc0ed2239f74eb109970597
2017-03-28 14:51:51 +09:00