Commit graph

159 commits

Author SHA1 Message Date
projektir
b4c50de31e Don't serialize initial text-decoration-style #15790 2017-03-09 00:33:17 -05:00
Simon Sapin
da4e5146e9 Make PropertyDeclarationBlock::important_count private. 2017-03-07 23:37:31 +01:00
Xidorn Quan
6b03760213 Simplify animation shorthand parsing code 2017-03-06 22:01:15 +11:00
Bobby Holley
3a56899201 Revert "Auto merge of #15793 - upsuper:animation, r=emilio,bholley"
This reverts commit 7cd4c69c40, reversing
changes made to 1b1fadb8b8.
2017-03-03 11:50:15 -08:00
Xidorn Quan
1bb1eeeb53 Simplify animation shorthand parsing code 2017-03-03 16:12:09 +11:00
Xidorn Quan
2cc6593fa1 Don't serialize shorthand when some but not all of its longhands are CSS-wide keyword
Shorthand cannot represent CSS-wide keyword in individual longhands, and
thus we cannot serialize longhand with CSS-wide keyword as part of a
shorthand.
2017-03-02 11:09:05 +11:00
Xidorn Quan
03f6d21cb5 Make DeclaredValue store CSSWideKeyword
Rather than having separate variant for each CSS-wide keyword.
2017-03-02 11:09:05 +11:00
Karl
ec865c3702 Fix border shorthand serialization
Fix border shorthand serialization when sides are not identical
2017-02-28 20:27:09 -05:00
Michael Nelson
f5af381f19 Fixes serialization of multiple transitions.
Similar to animations and backgrounds, multiple transitions should be
serialized as a list of shorthand values only if the number of values
for each longhand property is the same. Otherwise we default to the
longhand serialization. Fixes #15398
2017-02-26 20:48:18 +11:00
Michael Nelson
3a812b02a6 Background serialization of multiple values.
Similar to animation, the serialization of multiple backgrounds should
return the longhands serialization if there are an unequal number of
values for the required properties.
2017-02-26 07:37:06 +11:00
Michael Nelson
bcafe21dc9 Animation shorthand should be serialized only when the value lists have the same length.
Fixes #15398

The previous commit did most of the work here of updating the algorithm
to skip shorthands if a shorthand value was an empty string. This commit
just updates animations LonghandToSerialize's implementation of
to_css_declared to write an empty string value if the list lengths
differ (and updates the test to match).
2017-02-24 12:03:04 +11:00
Michael Nelson
75a993ce0c Fix serialization of animation. 2017-02-17 09:01:20 +11:00
bors-servo
357bf3b85a Auto merge of #15518 - emilio:color, r=SimonSapin
style: Unbox a bunch of color properties.

This builds on https://github.com/servo/rust-cssparser/pull/118.

<!-- 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/15518)
<!-- Reviewable:end -->
2017-02-14 11:43:16 -08:00
Emilio Cobos Álvarez
0c102e2350
style: Unbox a bunch of color properties.
This builds on https://github.com/servo/rust-cssparser/pull/118.
2017-02-14 20:18:31 +01:00
Eddie Quan
bdd3ab1fe0 fixes quote transform: none serialization 2017-02-14 12:05:41 -05:00
bors-servo
ce7827eadf Auto merge of #15454 - jlevesy:bg-size-reject-negative-values, r=SimonSapin
use `::parse_non_negative instead` of `::parse` for background_size property parsing

Use  `::parse_non_negative` instead of `::parse` for background_size property parsing

---
<!-- 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
- [X] These changes fix #15450

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- 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/15454)
<!-- Reviewable:end -->
2017-02-09 14:55:14 -08:00
Julien Levesy
3da559488d use ::parse_non_negative instead of ::parse for background_size parsing 2017-02-09 23:47:29 +01:00
Nazım Can Altınova
78afe2b8d1 Box larger specified values to avoid memmove impact 2017-02-09 11:10:08 +01:00
bors-servo
368af6f861 Auto merge of #15357 - dashed:gh-15207, r=Wafflespeanut,emilio
Refactor outline-style to accept "auto" value in addition to border-style values.

Fixes https://github.com/servo/servo/issues/15207

Refactored as per https://github.com/servo/servo/issues/15207#issuecomment-275171590 .

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

- [x] Correct refactor? I'd appreciate any feedback on this.
- [x] ~~~proper borderstyle value for `outline-style: auto;`?~~~ ~~~(EDIT: deferred to a `FIXME`)~~~ (EDIT2: it is now solid for behaviour parity with firefox)
- [x] squash pending PR review
- [x] mako code review

---
<!-- 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
- [x] These changes fix #15207 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- 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/15357)
<!-- Reviewable:end -->
2017-02-08 21:10:57 -08:00
Alberto Leal
09d4751054 Refactor outline-style to accept "auto" value in addition to border-style values.
Fixes https://github.com/servo/servo/issues/15207
2017-02-08 23:13:20 -05:00
Ms2ger
2ddf1f2d91 Fix some build warnings. 2017-02-07 16:11:56 +01:00
mrmiywj
eb115e02e1 add support for mask_position_parse/serial 2017-02-05 00:38:03 +08:00
Ravi Shankar
bdb08b9a82 Change LengthOrPercentageOrAuto to make use of NoCalcLength 2017-01-29 02:30:34 +05:30
Ravi Shankar
590c9579f0 Change LengthOrPercentage to make use of NoCalcLength 2017-01-29 02:30:25 +05:30
Ravi Shankar
377a23df50 Refactor and modify stuff to make use of NoCalcLength 2017-01-29 02:04:24 +05:30
Dexter Haslem
cba88f213d fix transform: none serialization 2017-01-25 10:56:35 -07:00
Nazım Can Altınova
8e21d65303 Convert transition-timing-function longhand into vector_longhand 2017-01-08 17:19:01 +03:00
Nazım Can Altınova
55ae25c3ae Convert transition-duration longhand into vector_longhand 2017-01-08 16:29:48 +03:00
Nazım Can Altınova
533ac6bdb4 Convert computed_value::T to SpecifiedValue in serialization.rs 2017-01-08 02:26:26 +03:00
Manish Goregaokar
33966a84fb Support property aliases 2017-01-07 13:17:00 -08:00
Nazım Can Altınova
ca85221525 Fix unit tests 2016-12-15 23:04:08 +03:00
Nazım Can Altınova
a409d41d1d Implement HorizontalPosition / VerticalPosition 2016-12-12 13:48:36 +03:00
Simon Sapin
137e30b825 Introduce enums for identifying CSS properties.
* `LonghandId` and `ShorthandId` are C-like enums
* `Atom` is used for the name of custom properties.
* `PropertyDeclarationId` is the identifier for `PropertyDeclaration`,
  after parsing and shorthand expansion. (Longhand or custom property.)
* `PropertyId` represents any CSS property, e.g. in CSSOM.
  (Longhand, shorthand, or custom.)

Using these instead of strings avoids some memory allocations and copies.
2016-12-09 10:56:22 -10:00
bors-servo
a913815a4d Auto merge of #14394 - jcdyer:jcdyer/either-column-width, r=Wafflespeanut
Convert column-width to use Either

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

* Converted column-width to use `Either<Length, Auto>`
* Added gecko glue code
* Cleaned up old column-width glue code

---
<!-- 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
- [x] These changes fix #14350 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because tests already surround the refactored code.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- 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/14394)
<!-- Reviewable:end -->
2016-12-01 23:03:37 -08:00
J. Cliff Dyer
5821ff77db Convert column-width to use Either
Fixes #14350
2016-12-01 15:17:51 +05:30
Thiago Pontes
206f4ea5b8 use Either type for UrlOrNone
fix test-tidy errors

fix style unit test

use the Parse trait instead of ParseWithContext

fix stylo test and geckolib build

move all specified url parse code to parse trait and remove refs to unused type
2016-11-30 11:43:14 -05:00
Manish Goregaokar
c387eff065 Fix single_value_to_css 2016-11-13 23:50:50 -08:00
Rohit Burra
bdedcb9eb4 Adds scroll-snap-type shorthand property, tests 2016-11-14 12:08:49 +05:30
Emilio Cobos Álvarez
5f2e7af864
style: Centralize specified url value handling, and refcount urls. 2016-11-10 13:15:21 +01:00
Ravi Shankar
5ac1c11e9e Fix the unit tests to make use of local ToCss 2016-11-07 09:14:30 +05:30
Ting-Yu Lin
0fc38f79d6 Use enum BorderWidth as SpecifiedValue
Use enum BorderWidth instead of a tuple-like struct to store the specified
value. BorderWidth is needed to be used in both longhand and shorthand
border width properties, so I put it in `specified` module.

Fixed #13869.
2016-10-26 16:24:12 +08:00
Manish Goregaokar
b0c50d8219 Fix style unit tests 2016-10-18 20:46:59 +05:30
Nazım Can Altınova
564b003146 Add test for mask shorthand 2016-09-29 01:48:41 +03:00
bors-servo
28bce69d24 Auto merge of #13386 - Manishearth:style-testing, r=emilio
Run style tests with all properties included

This turns on all properties (including stylo-only ones) when the style unit tests are compiled. This lets us test the parsing of gecko-only properties.

These tests can't go in tests/stylo since this introduces dependencies on `Gecko_*` symbols. This method lets us test parsing and serialization of geckolib properties compiled in Servo mode (e.g. using Servo atoms, Servo URLs)

r? @emilio

<!-- 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/13386)
<!-- Reviewable:end -->
2016-09-24 00:36:28 -05:00
Manish Goregaokar
919bf17e51 Run style with all properties enabled 2016-09-23 15:10:40 +05:30
Manish Goregaokar
153ec64c15 Rename SpecifiedExplicitSize to ExplicitSize 2016-09-23 09:44:31 +05:30
UK992
93a103ba73 Reorder use statements 2016-09-09 04:55:19 +02:00
crypto-universe
493fc7b864 Add new command for Windows configuration 2016-09-01 23:33:44 +02:00
Simon Sapin
ad3437b98a Remove now-redundant Arc inside PropertyDeclarationBlock. 2016-08-31 02:34:08 +02:00
Nazım Can Altınova
8372f295b3 Change parsing behavior and implement to_computed_value function 2016-08-27 22:56:46 +03:00