Commit graph

783 commits

Author SHA1 Message Date
Cameron McCormack
05ceafa981 Set nsStyleDisplay::mOriginalDisplay when computing display property.
MozReview-Commit-ID: JkjkCDUfcfE
2016-12-06 00:56:55 -10:00
Cameron McCormack
0bc711b023 stylo: Support remaining display property values.
MozReview-Commit-ID: HjLu7t2g7gF
2016-12-05 21:49:19 -10:00
Cameron McCormack
0ff7b5f2de Support declaring keyword property Gecko coverage as inexhaustive.
This allows us to control whether the catchall case in the match expression
that maps Gecko const to Servo enum will be generated.

MozReview-Commit-ID: L65IjTONdfl
2016-12-05 21:38:58 -10:00
Cameron McCormack
353b86a7dc Update -webkit-text-stroke-width glue. 2016-12-03 23:07:28 -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
bors-servo
290ff5c801 Auto merge of #14370 - thiagopnts:master, r=Wafflespeanut
use Either type for UrlOrNone

Use the Either type for UrlOrNone

---
<!-- 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 #14298 (github issue number if applicable).

<!-- Either: -->
- [ ] 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/14370)
<!-- Reviewable:end -->
2016-12-01 22:03:31 -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
Nazım Can Altınova
a067c46e96 Implement background-blend-mode and make align-items work in stylo 2016-11-30 00:52:10 +03:00
bors-servo
c4f87f451f Auto merge of #14358 - chenpighead:webkit-text-stroke, r=canaltinova
stylo - implement -webkit-text-fill-color and -webkit-text-stroke.

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

Implement -webkit-text-fill-color property.
Implement -webkit-text-stroke property, along with -webkit-text-stroke-width and -webkit-text-stroke-color longhand properties.

---
<!-- 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 #13849 (github issue number if applicable).

<!-- Either: -->
- [ ] 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/14358)
<!-- Reviewable:end -->
2016-11-26 07:17:34 -08:00
Jeremy Chen
3042747fcc stylo - implement -webkit-text-fill-color and -webkit-text-stroke. 2016-11-26 20:31:48 +08:00
Cameron McCormack
89f064b013 Move Servo_GetStyleVariables definition from the Gecko side. 2016-11-25 08:21:00 +08:00
bors-servo
a2babd6db8 Auto merge of #14316 - canaltinova:stylo-properties, r=emilio
Implement parsing/serialization and/or gecko glue for some properties

<!-- Please describe your changes on the following line: -->
The PR covers implementation and/or gecko glue for these properties:

1. Implemented parsing/serialization and gecko glue for column-rule-width, column-rule-color and column-span longhand properties (column-span is not implemented in gecko yet but I wanted to complete column properties :) )
2.  Implemented parsing/serialization and gecko glue for text-emphasis-color longhand and text-emphasis shorthand properties.
3. Implemented gecko glue for column-gap and order properties

I implemented column-rule-width and column-rule-color properties with `-moz-` prefixes, but I can remove them if it's not right.
I coudn't test them in full stylo build yet (LLVM messed up my current clang). But I'll test them soon.

r? @Manishearth or @emilio

---
<!-- 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

<!-- Either: -->
- [X] These changes do not require tests

<!-- 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/14316)
<!-- Reviewable:end -->
2016-11-22 23:51:21 -08:00
Nazım Can Altınova
c8c7240dc2 Implement gecko glue for column-gap and order properties 2016-11-23 01:50:55 +03:00
Shing Lyu
43002f2f07 Added stylo glue for drop-shadow filter 2016-11-22 10:53:20 +08:00
Nazım Can Altınova
61431b7fd6 Implement parsing/serialization of column-rule-width, column-rule-color and column-span 2016-11-21 23:04:43 +03:00
Cameron McCormack
830cc88283 Support cursor property url() values in stylo. r=manishearth
MozReview-Commit-ID: 6herzaXUz4i
2016-11-21 14:48:59 +08:00
Jeremy Chen
32bf5ab8b0 Stylo - gecko glue code for font-size-adjust. 2016-11-16 00:52:59 +08:00
bors-servo
3959817424 Auto merge of #14104 - iamrohit7:scroll-snap-type, r=Manishearth,waffles
Adds scroll-snap-type shorthand property

<!-- Please describe your changes on the following line: -->
Follow up to #14017

---
r=Manishearth
<!-- 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

<!-- Either: -->
- [X] There are tests for these changes `scroll_snap_type::should_serialize_to_single_value_if_sub_types_are_equal`, `scroll_snap_type::should_serialize_to_empty_string_if_sub_types_not_equal`

<!-- 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/14104)
<!-- Reviewable:end -->
2016-11-14 01:51:07 -06:00
Rohit Burra
1fff47586f Use re-exports for scroll-snap-type-y 2016-11-14 12:09:10 +05:30
Emilio Cobos Álvarez
6c3458767b
style: Refactor and add infrastructure for font metrics in style.
This commit itself only moves things around and adds an extra parameter to the
`apply_declarations` function to eventually handle #14079 correctly.

Probably needs a more granular API to query fonts, á la nsFontMetrics, but
that's trivial to do once this is landed.

Then we should make the font provider mandatory, and implement the missing stylo
bits.
2016-11-13 11:54:10 +01:00
bors-servo
4b9693cf81 Auto merge of #14120 - Manishearth:logical, r=emilio
Support logical properties in style

Adds support for the logical block-end/inline-start/etc properties. These properties (like `border-block-end-color`) map to "physical" properties (e.g. `border-top-color`) depending on the writing mode.

Todo:

 - [x] Handle shorthands
 - [x] Make geckolib setters work
 - [x] Handle padding/offset logical properties
 - [x] Perhaps handle `-block-size`, `-inline-size` type logical properties?
 - [x] Tests?

This will overall add 16 new longhands and 4 new shorthands, taking a big bite out of the [remaining properties work](https://manishearth.github.io/css-properties-list/?stylo=hide&servo=hide&firefox=only&chrome=show&mdn=false&alexa=false)

f? @emilio @SimonSapin

<!-- 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/14120)
<!-- Reviewable:end -->
2016-11-11 15:41:08 -06:00
Manish Goregaokar
e34eb13d65 Support logical properties 2016-11-11 11:55:57 -08:00
Manish Goregaokar
bb5f351f4a stylo: support transform 2016-11-10 16:38:15 -08:00
Emilio Cobos Álvarez
5f2e7af864
style: Centralize specified url value handling, and refcount urls. 2016-11-10 13:15:21 +01:00
Nazım Can Altınova
7720fe4d9c Move LengthOrNumber to style/values and implement GeckoStyleCoordConvertible 2016-11-06 20:08:31 +03:00
Nazım Can Altınova
9a2ef2e6ef Move set_image and set_gradient into nsStyleImage impl 2016-11-06 20:08:29 +03:00
Nazım Can Altınova
6014c0c8ed Implement gecko glue for border-image-slice 2016-11-06 20:08:27 +03:00
Nazım Can Altınova
8387d7e8b6 Implement gecko glue for border-image-width 2016-11-06 20:08:24 +03:00
Nazım Can Altınova
cbd43f7acc Implement gecko glue for border-image-repeat 2016-11-06 20:08:22 +03:00
Nazım Can Altınova
dc55e80752 Implement gecko glue for border-image-outset 2016-11-06 20:08:20 +03:00
Nazım Can Altınova
132b36835b Refactor image code and implement gecko glue for border-image-source 2016-11-06 20:08:18 +03:00
Rohit Burra
b676f1422f Parsing/Serialization for scroll-snap-points-* 2016-11-02 04:46:32 +05:30
bors-servo
a27d54e07f Auto merge of #13786 - heycam:background-image, r=Manishearth
support url() values in background-image, mask-image and list-style-image in stylo

<!-- Please describe your changes on the following line: -->
Corresponding Gecko bugs, where @Manishearth has given r+s:

* https://bugzilla.mozilla.org/show_bug.cgi?id=1288302
* https://bugzilla.mozilla.org/show_bug.cgi?id=1310463

(Sorry for the large structs_{debug,release}.rs changes; I thought it was too much trouble to disentangle the useless changes from the legitimate ones.)

Holding off on landing this until the Gecko patches are reviewed and landed.

---
<!-- 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 #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I've tested the stylo functionality manually and we can rely on Gecko's existing tests going forward

<!-- 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/13786)
<!-- Reviewable:end -->
2016-10-28 07:16:30 -05:00
Cameron McCormack
e65bbdee01 Support list-style-image in stylo. r=manishearth
MozReview-Commit-ID: HyGWZevQYEo
2016-10-28 19:31:07 +08:00
Cameron McCormack
2d232cecb2 Support url() values in background-image and mask-image in stylo. r=manishearth
MozReview-Commit-ID: 7IUzzVV9rOi
2016-10-28 19:29:01 +08:00
Rohit Burra
690cf65a85 Implements parser/serializer for font-synthesis 2016-10-28 15:02:15 +05:30
Ravi Shankar
e7cbd10ece Auto-generate 'image-rendering' using 'single_keyword' 2016-10-26 12:56:11 +05:30
Ravi Shankar
1c34162220 Make use of existing codegen methods for font-* 2016-10-26 11:56:53 +05:30
Ravi Shankar
af8899edf0 Merge keyword and predefined type longhands 2016-10-26 11:56:52 +05:30
bors-servo
bfd966f819 Auto merge of #13860 - canaltinova:text-emphasis-style, r=Manishearth,emilio
Implement parsing/serialization and gecko glue for text-emphasis-style

<!-- Please describe your changes on the following line: -->
Implementation of parsing/serialization and gecko glue for text-emphasis-style.

r? @Manishearth

---
<!-- 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 #13853 (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/13860)
<!-- Reviewable:end -->
2016-10-22 19:47:07 -05:00
Nazım Can Altınova
769129f5c2 Add gecko glue for text-emphasis-style 2016-10-22 19:37:48 +03:00
bors-servo
97feac079c Auto merge of #13890 - Wafflespeanut:glue, r=Manishearth
Auto-generate some glue

<!-- 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-geckolib` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a refactor

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

r? @Manishearth or @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/13890)
<!-- Reviewable:end -->
2016-10-22 03:58:36 -05:00
Ravi Shankar
b446f0e28a Auto-generate color glue 2016-10-22 14:27:01 +05:30
Ravi Shankar
caa745cb81 Minor codegen refactor for auto-generating some predefined types 2016-10-22 14:20:06 +05:30
bors-servo
ee713bc7d9 Auto merge of #13795 - shinglyu:stylo-filter, r=Manishearth
Implement CSS filter for Stylo

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

This patch is part of https://bugzilla.mozilla.org/show_bug.cgi?id=1310117

---
<!-- 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 #__ (github issue number if applicable).

<!-- 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/13795)
<!-- Reviewable:end -->
2016-10-20 09:40:35 -05:00
Shing Lyu
ff7bb691d7 Implement CSS filter for Stylo 2016-10-19 12:24:17 +05:30
Cameron McCormack
c9eae16ece Make use statements in gecko.mako.rs neater. 2016-10-17 11:24:00 +08:00
Cameron McCormack
75e97c02dc Factor out a UrlOrNone value type and make -moz-binding use it.
MozReview-Commit-ID: L57QEf40e2m
2016-10-16 11:32:57 +08:00
bors-servo
b94f074b52 Auto merge of #13751 - joewalker:font-kerning, r=Manishearth
Add support for 'font-kerning' in geckolib

Add support for 'font-kerning' in geckolib
These changes fix #13667

    $ ./mach build -d
    It looks like you passed an unrecognized argument into mach.

    $ ./mach test-tidy
    It looks like you are trying to run an unknown mach command: test-tidy

I'm clearly doing something wrong here, but I'm not sure what

- [x] These changes do not require tests because "[For stylo it's okay to not have tests since many of the reftests fail due to unrelated reasons](https://github.com/servo/servo/pull/13570#issuecomment-251354116)" :)

<!-- 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/13751)
<!-- Reviewable:end -->
2016-10-14 08:56:54 -05:00