Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style: Some animation cleanups and fixes. #20757

Merged
merged 5 commits into from Oct 16, 2018
Merged

Conversation

@emilio
Copy link
Member

emilio commented May 6, 2018

The transitions code is still terribly broken, but I ran out of time fixing it. We have nothing that stops transitions, which is just plain wrong. Most of this code should probably be rewritten, since with the current setup is pretty hard to get it right. Anyway...

Fixes #20731.
Fixes #20116.


This change is Reviewable

@highfive
Copy link

highfive commented May 6, 2018

Heads up! This PR modifies the following files:

  • @bholley: components/style/matching.rs, components/style/animation.rs, components/style/properties/helpers/animated_properties.mako.rs
  • @canaltinova: components/style/matching.rs, components/style/animation.rs, components/style/properties/helpers/animated_properties.mako.rs
@highfive
Copy link

highfive commented May 6, 2018

warning Warning warning

  • These commits modify style and layout code, but no tests are modified. Please consider adding a test!
@emilio emilio force-pushed the emilio:animations branch from fba4937 to 31ffd84 May 6, 2018
@emilio
Copy link
Member Author

emilio commented May 6, 2018

@emilio
Copy link
Member Author

emilio commented May 7, 2018

@bors-servo
Copy link
Contributor

bors-servo commented May 7, 2018

Trying commit 31ffd84 with merge 458a54c...

bors-servo added a commit that referenced this pull request May 7, 2018
style: Some animation cleanups and fixes.

The transitions code is still terribly broken, but I ran out of time fixing it. We have nothing that stops transitions, which is just plain wrong. Most of this code should probably be rewritten, since with the current setup is pretty hard to get it right. Anyway...

Fixes #20731.
Fixes #20116.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20757)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented May 7, 2018

💔 Test failed - linux-rel-css

@CYBAI
Copy link
Collaborator

CYBAI commented May 7, 2018

In linux-rel-css:

{"status": "FAIL", "group": "default", "message": "assert_in_array: color is green after transition runs value \"rgb(0, 0, 255)\" not in array [\"rgb(0, 128, 0)\", \"rgba(0, 128, 0, 1)\"]", "stack": "@http://web-platform.test:8000/css/css-variables/variable-transitions-transition-property-all-before-value.html:59:9\nTest.prototype.step@http://web-platform.test:8000/resources/testharness.js:1490:20\nTest.prototype.step_func_done/<@http://web-platform.test:8000/resources/testharness.js:1530:17\n", "subtest": "Verify substituted color value after transition", "test": "/css/css-variables/variable-transitions-transition-property-all-before-value.html", "line": 40081, "action": "test_result", "expected": "PASS"}
{"status": "PASS", "group": "default", "message": null, "stack": null, "subtest": "font-style animation", "test": "/css/css-fonts/variations/font-style-interpolation.html", "line": 60956, "action": "test_result", "expected": "TIMEOUT"}
{"status": "TIMEOUT", "group": "default", "message": "Test timed out", "stack": null, "subtest": "font-style transition", "test": "/css/css-fonts/variations/font-style-interpolation.html", "line": 60957, "action": "test_result", "expected": "PASS"}
{"status": "PASS", "group": "default", "message": null, "stack": null, "subtest": "font-weight animation", "test": "/css/css-fonts/variations/font-weight-interpolation.html", "line": 104452, "action": "test_result", "expected": "TIMEOUT"}
{"status": "FAIL", "group": "default", "message": "assert_in_array: color is green after transition runs value \"rgb(0, 0, 255)\" not in array [\"rgb(0, 128, 0)\", \"rgba(0, 128, 0, 1)\"]", "stack": "@http://web-platform.test:8000/css/css-variables/variable-transitions-value-before-transition-property-all.html:58:9\nTest.prototype.step@http://web-platform.test:8000/resources/testharness.js:1490:20\nTest.prototype.step_func_done/<@http://web-platform.test:8000/resources/testharness.js:1530:17\n", "subtest": "Verify substituted color value after transition", "test": "/css/css-variables/variable-transitions-value-before-transition-property-all.html", "line": 115469, "action": "test_result", "expected": "PASS"}

In mac-rel-wpt4:

{"status": "PASS", "group": "default", "message": null, "stack": null, "subtest": "font-style animation", "test": "/css/css-fonts/variations/font-style-interpolation.html", "line": 22039, "action": "test_result", "expected": "TIMEOUT"}
{"status": "TIMEOUT", "group": "default", "message": "Test timed out", "stack": null, "subtest": "font-style transition", "test": "/css/css-fonts/variations/font-style-interpolation.html", "line": 22040, "action": "test_result", "expected": "PASS"}
{"status": "NOTRUN", "group": "default", "message": null, "stack": null, "subtest": "Overall test", "test": "/_mozilla/webgl/conformance-1.0.3/conformance/ogles/GL/swizzlers/swizzlers_017_to_024.html", "line": 90995, "action": "test_result", "expected": "PASS"}
{"status": "TIMEOUT", "group": "default", "message": null, "stack": null, "subtest": null, "test": "/_mozilla/webgl/conformance-1.0.3/conformance/ogles/GL/swizzlers/swizzlers_017_to_024.html", "line": 91012, "action": "test_result", "expected": "OK"}
@@ -207,7 +207,7 @@ pub enum Animation {
/// the f64 field is the start time as returned by `time::precise_time_s()`.
///
/// The `bool` field is werther this animation should no longer run.

This comment has been minimized.

Copy link
@gootorov

gootorov May 8, 2018

Contributor

Don't forget to remove this line too.

% endif
% if prop.animatable:
AnimatedProperty::${prop.camel_case}(..) => LonghandId::${prop.camel_case},
% endif

This comment has been minimized.

Copy link
@nox

nox May 10, 2018

Member

I wonder if AnimatedProperty should use the same trick as AnimationValue to just read the discriminant value as the LonghandId result.

@fabricedesre
Copy link
Contributor

fabricedesre commented May 30, 2018

@emilio do you need help pushing that to the finish line?

@bors-servo
Copy link
Contributor

bors-servo commented Jul 24, 2018

The latest upstream changes (presumably #21237) made this pull request unmergeable. Please resolve the merge conflicts.

emilio added 2 commits May 5, 2018
@emilio emilio force-pushed the emilio:animations branch from 31ffd84 to 9f3f438 Oct 15, 2018
emilio added 2 commits May 5, 2018
The last caller who used was #14418, which did fix a problem but introduced
multiple. In particular, now transitions don't get expired ever, until they
finish running of course.

That is not ok, given you can have something that the user can trigger to change
the style (hi, :hover, for example), and right now that triggers new
transitions, getting this into a really funny state.

I should give fixing this a shot, but it's non-trivial at all.
…tyle.

It's a long way to make this sound in general...

Fixes #20731
@emilio emilio force-pushed the emilio:animations branch from 9f3f438 to 7979b25 Oct 15, 2018
@emilio
Copy link
Member Author

emilio commented Oct 15, 2018

bors-servo added a commit that referenced this pull request Oct 15, 2018
style: Some animation cleanups and fixes.

The transitions code is still terribly broken, but I ran out of time fixing it. We have nothing that stops transitions, which is just plain wrong. Most of this code should probably be rewritten, since with the current setup is pretty hard to get it right. Anyway...

Fixes #20731.
Fixes #20116.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20757)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 15, 2018

Trying commit 7979b25 with merge c1a3d7e...

@bors-servo
Copy link
Contributor

bors-servo commented Oct 15, 2018

Testing commit 561e9c8 with merge 3b03f6d...

bors-servo added a commit that referenced this pull request Oct 15, 2018
style: Some animation cleanups and fixes.

The transitions code is still terribly broken, but I ran out of time fixing it. We have nothing that stops transitions, which is just plain wrong. Most of this code should probably be rewritten, since with the current setup is pretty hard to get it right. Anyway...

Fixes #20731.
Fixes #20116.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20757)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 16, 2018

@bors-servo bors-servo merged commit 561e9c8 into servo:master Oct 16, 2018
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@emilio emilio deleted the emilio:animations branch Oct 16, 2018
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Oct 18, 2018
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Oct 18, 2018
… r=emilio

The last caller who used was #14418, which did fix a problem but introduced
multiple. In particular, now transitions don't get expired ever, until they
finish running of course.

That is not ok, given you can have something that the user can trigger to change
the style (hi, :hover, for example), and right now that triggers new
transitions, getting this into a really funny state.

I should give fixing this a shot, but it's non-trivial at all.

This cherry-picks part of servo/servo#20757.
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Oct 18, 2018
…y the style. r=emilio

It's a long way to make this sound in general...

Fixes #20731

This cherry-picks part of servo/servo#20757.
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Oct 18, 2018
Transitions are still broken, but I found these messages more helpful than the
previous ones when diagnosing problems.

This cherry-picks part of servo/servo#20757.
xeonchen pushed a commit to xeonchen/gecko-cinnabar that referenced this pull request Oct 19, 2018
xeonchen pushed a commit to xeonchen/gecko-cinnabar that referenced this pull request Oct 19, 2018
… r=emilio

The last caller who used was #14418, which did fix a problem but introduced
multiple. In particular, now transitions don't get expired ever, until they
finish running of course.

That is not ok, given you can have something that the user can trigger to change
the style (hi, :hover, for example), and right now that triggers new
transitions, getting this into a really funny state.

I should give fixing this a shot, but it's non-trivial at all.

This cherry-picks part of servo/servo#20757.
xeonchen pushed a commit to xeonchen/gecko-cinnabar that referenced this pull request Oct 19, 2018
…y the style. r=emilio

It's a long way to make this sound in general...

Fixes #20731

This cherry-picks part of servo/servo#20757.
xeonchen pushed a commit to xeonchen/gecko-cinnabar that referenced this pull request Oct 19, 2018
Transitions are still broken, but I found these messages more helpful than the
previous ones when diagnosing problems.

This cherry-picks part of servo/servo#20757.
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 3, 2019
This cherry-picks part of servo/servo#20757.

UltraBlame original commit: bfac8c708a3f50ed6cb301548edec21b097c0a7f
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 3, 2019
… r=emilio

The last caller who used was #14418, which did fix a problem but introduced
multiple. In particular, now transitions don't get expired ever, until they
finish running of course.

That is not ok, given you can have something that the user can trigger to change
the style (hi, :hover, for example), and right now that triggers new
transitions, getting this into a really funny state.

I should give fixing this a shot, but it's non-trivial at all.

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 6d0c84abdfa1d1b5e64e78a1826762e110c7ea57
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 3, 2019
…y the style. r=emilio

It's a long way to make this sound in general...

Fixes #20731

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 7037075929099a8d88ef702257e88d15cbe3ab59
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 3, 2019
Transitions are still broken, but I found these messages more helpful than the
previous ones when diagnosing problems.

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 99cc3c6f76ef81913aea6d0a7d785e02e55f4648
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 3, 2019
This cherry-picks part of servo/servo#20757.

UltraBlame original commit: bfac8c708a3f50ed6cb301548edec21b097c0a7f
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 3, 2019
… r=emilio

The last caller who used was #14418, which did fix a problem but introduced
multiple. In particular, now transitions don't get expired ever, until they
finish running of course.

That is not ok, given you can have something that the user can trigger to change
the style (hi, :hover, for example), and right now that triggers new
transitions, getting this into a really funny state.

I should give fixing this a shot, but it's non-trivial at all.

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 6d0c84abdfa1d1b5e64e78a1826762e110c7ea57
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 3, 2019
…y the style. r=emilio

It's a long way to make this sound in general...

Fixes #20731

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 7037075929099a8d88ef702257e88d15cbe3ab59
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 3, 2019
Transitions are still broken, but I found these messages more helpful than the
previous ones when diagnosing problems.

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 99cc3c6f76ef81913aea6d0a7d785e02e55f4648
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 3, 2019
This cherry-picks part of servo/servo#20757.

UltraBlame original commit: bfac8c708a3f50ed6cb301548edec21b097c0a7f
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 3, 2019
… r=emilio

The last caller who used was #14418, which did fix a problem but introduced
multiple. In particular, now transitions don't get expired ever, until they
finish running of course.

That is not ok, given you can have something that the user can trigger to change
the style (hi, :hover, for example), and right now that triggers new
transitions, getting this into a really funny state.

I should give fixing this a shot, but it's non-trivial at all.

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 6d0c84abdfa1d1b5e64e78a1826762e110c7ea57
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 3, 2019
…y the style. r=emilio

It's a long way to make this sound in general...

Fixes #20731

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 7037075929099a8d88ef702257e88d15cbe3ab59
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 3, 2019
Transitions are still broken, but I found these messages more helpful than the
previous ones when diagnosing problems.

This cherry-picks part of servo/servo#20757.

UltraBlame original commit: 99cc3c6f76ef81913aea6d0a7d785e02e55f4648
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
9 participants
You can’t perform that action at this time.