servo/components/style/properties/shorthand
bors-servo b52288af00 Auto merge of #15685 - absoludity:fix-animation-serialization-15398-pt2, r=upsuper
Fix animation serialization 15398 pt2

Fixes animation serialization so that an animation shorthand is serialized only when the value lists have the same length (part of #15398)

There are two commits here - the first is a refactoring to update PropertyDeclarationBlock::to_css to match the spec (please see the full commit message for perhaps too many details).

The second commit utilizes the changes in the first, and updates the animation serialization itself to write an empty serialization if the longhand value lists have different lengths, as per the original issue.
Interestingly, the refactoring of the first commit simplified quite a lot more than the fix for this bug, in particular, the special case of 'overflow' shorthand serialization is handled by default, without the extra special case code (now removed).

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15398 (github issue number if applicable).
- [X] There are tests for these changes OR

<!-- 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/15685)
<!-- Reviewable:end -->
2017-02-23 20:12:30 -08:00
..
background.mako.rs Add spec links for background properties 2017-01-03 10:23:56 -08:00
border.mako.rs Add support for most of the border-image properties, pass to WR. 2017-02-23 14:15:20 +10:00
box.mako.rs Animation shorthand should be serialized only when the value lists have the same length. 2017-02-24 12:03:04 +11:00
column.mako.rs Correct serialization of column-rule shorthand 2017-01-24 16:00:55 +11:00
font.mako.rs stylo: Support font-family presentation attribute 2017-02-18 20:31:06 -08:00
inherited_svg.mako.rs Actually include file with marker shorthand 2017-02-18 23:20:39 -08:00
inherited_text.mako.rs Change LengthOrPercentage to make use of NoCalcLength 2017-01-29 02:30:25 +05:30
list.mako.rs Add spec links for list properties 2017-01-03 14:03:23 -08:00
margin.mako.rs Add spec links for margin properties, support spec links on four_sides_shorthand 2017-01-03 14:03:25 -08:00
mask.mako.rs Add comma between layers for mask shorthand 2017-02-06 09:58:08 +11:00
outline.mako.rs Refactor outline-style to accept "auto" value in addition to border-style values. 2017-02-08 23:13:20 -05:00
padding.mako.rs Add spec links for padding properties 2017-01-03 14:03:30 -08:00
position.mako.rs Change LengthOrPercentageOrAutoOrContent to use NoCalcLength 2017-01-29 02:30:39 +05:30
serialize.mako.rs Update PropertyDeclarationBlock::to_css so that the iteration of 2017-02-23 17:26:59 +11:00
text.mako.rs Ignore initial values in text-decoration 2017-02-02 15:41:56 +11:00