Auto merge of #26407 - mrobinson:animation-restyle-model, r=jdm

Have animations more closely match the HTML spec

These two commits do two major things:

**Have animations ticks trigger a restyle**: This corrects synchronization issues with animations,
where the values used in layout are out of sync with what is returned by `getComputedStyle`.

**Tick the animation timer in script according to spec**: This greatly reduces the flakiness of
animation and transitions tests.

Fixes #13865.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #13865

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This commit is contained in:
bors-servo 2020-05-06 04:12:31 -04:00 committed by GitHub
commit b290ad95c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
76 changed files with 1389 additions and 3701 deletions

View file

@ -12871,7 +12871,7 @@
]
],
"transition-raf.html": [
"6159bb9ab333544b4485d11025889ee94186c7eb",
"c38404503408e04b3c75b42df18ec3a7ec0819f5",
[
null,
{}

View file

@ -1,3 +0,0 @@
[basic-transition.html]
type: reftest
disabled: https://github.com/servo/servo/issues/13865

View file

@ -1,3 +0,0 @@
[transition-raf.html]
type: testharness
disabled: https://github.com/servo/servo/issues/13865

View file

@ -34,7 +34,7 @@ async_test(function(t) {
assert_equals(getComputedStyle(box).getPropertyValue('width'), '100px');
box.className = "expose";
// Let the first restyle run at zero, then advance the clock.
setTimeout(function() { test.advanceClock(500, false) }, 0);
setTimeout(function() { test.advanceClock(500) }, 0);
});
}, "Transitions should work during RAF loop")
</script>