bors-servo
fa158a78b6
Auto merge of #17139 - emilio:parsing-simplify, r=nox
...
style: Simplify a bit the parsing code.
I plan to simplify it further, but this is worth landing on its own.
<!-- 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/17139 )
<!-- Reviewable:end -->
2017-06-02 05:38:48 -07:00
Emilio Cobos Álvarez
bbd85ccbda
style: Simplify the namespace setup for stylesheet parsing.
2017-06-02 14:38:05 +02:00
Emilio Cobos Álvarez
26ef0f6178
style: Simplify some attr() parsing code.
2017-06-02 12:51:33 +02:00
Anthony Ramine
e58f541951
Rename BorderImageWidthSide to BorderImageSideWidth
2017-06-02 10:53:28 +02:00
Anthony Ramine
7da94d0880
Use BorderSideWidth for outline-width
2017-06-02 10:53:27 +02:00
Anthony Ramine
2c7fbb4b4c
Use generics for text spacing properties
2017-06-02 10:21:22 +02:00
Anthony Ramine
5c6987a50d
Use generics for the line-height property
2017-06-02 10:21:21 +02:00
Manish Goregaokar
5de2f29080
stylo: Create separate Attr type
2017-06-01 14:20:56 -07:00
Anthony Ramine
5d70580813
Make use of generics for transform-origin
...
This allows us to preserve keywords during serialisation.
2017-05-31 09:58:07 +02:00
Anthony Ramine
b42aaf28df
Clean up some <time> properties
2017-05-30 16:04:24 +02:00
bors-servo
43862ba045
Auto merge of #17092 - heycam:document-colors, r=xidorn
...
style: Add support for disabled document colors.
Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1355716 .
<!-- 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/17092 )
<!-- Reviewable:end -->
2017-05-30 06:10:42 -05:00
bors-servo
433d68955b
Auto merge of #17071 - servo:derive-all-the-things, r=emilio
...
Reuse Rect<T> some more
<!-- 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/17071 )
<!-- Reviewable:end -->
2017-05-30 05:11:28 -05:00
Cameron McCormack
c768169149
style: Add support for disabled document colors.
2017-05-30 16:25:08 +08:00
Hiroyuki Ikezoe
33e16fe630
Support currentColor for fill and stroke.
2017-05-30 15:44:05 +09:00
Anthony Ramine
862fc4f88d
Rename BorderRadiusSize to BorderCornerSize
2017-05-29 00:58:53 +02:00
Anthony Ramine
af3ede418b
Refactor BorderRadius and move it to the border modules
...
BorderRadius now parses itself reusing Rect<T>.
2017-05-28 14:36:37 +02:00
Anthony Ramine
ca8fae91da
Use generics for background-size property
2017-05-25 17:27:11 +02:00
Anthony Ramine
078d4ed40c
Use generics for border-image-slice property
2017-05-23 14:36:54 +02:00
Anthony Ramine
c8eb277ca5
Use generics for the border-image-width property
2017-05-23 10:59:59 +02:00
Anthony Ramine
7a214831f0
Introduce style::values::generics::rect ▭
...
This defines a single type Rect<T> which allows us to abstract over
CSS values made of four sides top, right, bottom and left.
2017-05-23 10:59:57 +02:00
bors-servo
594479fe15
Auto merge of #16970 - MaloJaffre:grid_cleanup, r=wafflespeanut
...
Refactor grid style types and impls
Fixes #16949 .
- [x] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because it's just a refactor
<!-- 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/16970 )
<!-- Reviewable:end -->
2017-05-22 09:42:20 -05:00
Malo Jaffré
72db1765d0
Refactor grid style types and impls
...
Fixes #16949 .
2017-05-21 20:46:45 +02:00
Hiroyuki Ikezoe
57c27e5d35
Rename MinLength to MozLength.
...
So that we can reuse this for non-min-prefixed properties (e.g. width).
2017-05-21 08:33:12 +09:00
Anthony Ramine
90bae7f802
Derive HasViewportPercentage 🍷
2017-05-20 14:48:04 +02:00
Ravi Shankar
0c68471b5e
Auto-generate code for grid-template-{rows,columns}
2017-05-18 21:57:29 +05:30
Anthony Ramine
9964b328b1
Implement the hashless color quirk ( fixes #15341 )
2017-05-17 14:12:58 +02:00
bors-servo
eb7314b412
Auto merge of #16859 - nox:gradients, r=emilio
...
Rewrite style images with a good dose of generics 💉
<!-- 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/16859 )
<!-- Reviewable:end -->
2017-05-15 09:13:38 -05:00
Anthony Ramine
ea4e7299d4
Implement -webkit-gradient() ( fixes #16542 )
2017-05-15 15:36:26 +02:00
Anthony Ramine
73f77e0a53
Rename LayerImage to ImageLayer and make it a type alias
2017-05-15 15:36:21 +02:00
Anthony Ramine
abef5da9d8
Refactor Gradient
...
In a similar way to Position, now specified and computed gradients share
a common Gradient type defined in style::values::generics::image.
This allows us to reuse most code for many style traits like ToCss,
HasViewportPercentage and ToComputedValue.
The test changes are the fallout of the disappearance of AngleOrCorner::None,
which align our code to the spec for serialisation, where components that can
be omitted should be omitted.
2017-05-15 15:36:15 +02:00
Anthony Ramine
f2aaba685b
Kill side keywords from style::values::specified::image
2017-05-15 15:35:31 +02:00
Nazım Can Altınova
85fb3efd76
stylo: -moz-image-region shouldn't parse unitless lengths in quirks mode
2017-05-14 21:01:46 +03:00
Hiroyuki Ikezoe
59dd93f849
Add PARSING_MODE_ALLOW_ALL_NUMERIC_VALUES to force to parse negative values.
...
As per SVG spec [1], we should also parse negative color components values for
SMIL, but currently Gecko does not support it either.
[1] https://www.w3.org/TR/SVG/implnote.html#RangeClamping
2017-05-14 07:15:19 +09:00
Hiroyuki Ikezoe
130a08f0b5
Disallow negative duration for animation and transition.
2017-05-13 11:17:46 +09:00
Michael Brennan
f7459fd848
Make no_viewport_percentage! use an absolute path for HasViewportPercentage
2017-05-11 14:24:03 +02:00
Anthony Ramine
70ec61cf01
Refactor Position
...
A specified position is now a struct made of two values of different types,
the first one being PositionComponent<X>, and the second one PositionComponent<Y>.
A position component is represented by the new enum PositionComponent<Side>,
with the three values Center, Length(LengthOrPercentage), and
Side(Side, Option<LengthOrPercentage>).
Side keywords are represented by the X and Y enums, which don't include a value
for the center keyword anymore. They are accompanied by the Side trait, which
allows us to determine whether a side keyword is "left" or "top".
This refactor simplified the parsing and serialisation code and exposed bugs in it,
where it would reject valid <position> values followed by arbitrary tokens,
and where it would fail to prefer "left" to "right" when serialising positions
in basic shapes.
2017-05-10 16:56:01 +02:00
Emilio Cobos Álvarez
3608dc8088
style: Rewrite calc to be cleaner and support arbitrary expressions.
...
This improves Servo's calc support compliant with[1], and makes it cleaner and
more straight-forward.
[1]: https://github.com/w3c/csswg-drafts/issues/1241
2017-05-05 12:08:31 +02:00
cku
3c3e7f63ee
Stylo: Implement {specified|computed}::LayerImage.
2017-05-03 20:51:33 +08:00
Nazım Can Altınova
f8710bc189
stylo: Support other unit types in computed angle
2017-05-01 16:25:18 +03:00
Anthony Ramine
193e1d5569
Reverse Number and LengthOrPercentage in LengthOrPercentageOrNumber
...
"0" must be parsed as the number 0, not the unitless 0px length.
2017-04-28 11:51:24 +02:00
bors-servo
d8bcc0db1a
Auto merge of #16609 - nox:quirks, r=Manishearth,emilio
...
Implement unitless length quirk
The Gecko side doesn't propagate its quirks mode yet.
<!-- 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/16609 )
<!-- Reviewable:end -->
2017-04-27 22:32:24 -05:00
Anthony Ramine
ae82cdab34
Parse interpolation hints ( fixes #15166 )
2017-04-27 15:04:36 +02:00
Anthony Ramine
ba59fafb44
Implement the unitless length quirk for clip
2017-04-27 10:42:06 +02:00
Anthony Ramine
b5a558e592
Implement the unitless length quirk for border-*-width
2017-04-27 10:42:01 +02:00
Anthony Ramine
080f74ca63
Implement the unitless length quirk for background-position
2017-04-27 10:41:57 +02:00
Boris Chiou
f1feddf52c
Add frames into style system and update animation with frames functions.
2017-04-27 12:24:50 +08:00
Ravi Shankar
0249270f61
Create a module for generics and make BorderRadiusSize generic
2017-04-25 17:13:41 +05:30
coalman
fc34b9a14d
Fix indentation errors in servo rust code that tidy now finds.
2017-04-18 14:56:13 -04:00
Anthony Ramine
dfbd89860a
Don't reject out of bound calc() values at parsing-time
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1355014
2017-04-12 14:07:38 +02:00
J. Ryan Stinnett
1a31b87c22
Pass ParserContext down to lengths
...
To make it possible to check the rule type when parsing lengths, we need to pass
the `ParserContext` down through many layers to the place where length units are
parsed.
This change leaves it unused, so it's only to prepare for the next change.
MozReview-Commit-ID: 70YwtcCxnWw
2017-04-12 16:40:48 +08:00