Commit graph

31490 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
349d6e7167
style: Cleanup StyleBuilder.
This is in preparation of a cascade optimization for custom properties.

This fixes various fishiness around our StyleBuilder stuff. In particular,
StyleBuilder::for_derived_style (renamed to for_animation) is only used to
compute specified values, and thus doesn't need to know about rules, visited
style, or other things like that.

The flag propagation that was done in StyleAdjuster is now done in StyleBuilder,
since we know beforehand which ones are always inherited, and it simplified the
callers and the StyleAdjuster code. It also fixed some fishiness wrt which flags
were propagated to anon boxes and text.

The text-decoration-lines bit is interesting, because the way it was implemented
in #17722 meant that display: contents elements did get HAS_DECORATION_LINES
flags only if its parent also had it, so in practice the Contents check
preserves behavior, but it's only an optimization looking at Gecko's call-sites,
so we can remove it too.

MozReview-Commit-ID: 6BHCyEO2U8c
2018-02-03 18:07:25 +01:00
Emilio Cobos Álvarez
7fb470c373
style: Remove some uses of StyleBuilder::for_derived_style.
for_derived_style(default_values) is effectively for_inheritance(default_values).

MozReview-Commit-ID: DfTeD49uTlp
2018-02-03 17:40:35 +01:00
bors-servo
1662fd7357
Auto merge of #19932 - servo:jdm-patch-14, r=aneeshusa
Fix syntax error in WPT syncing script.

<!-- 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/19932)
<!-- Reviewable:end -->
2018-02-02 01:15:27 -05:00
Josh Matthews
ee2ef627c8
Fix syntax error in WPT syncing script. 2018-02-01 23:10:45 -05:00
bors-servo
b5e5a99cb7
Auto merge of #19920 - servo:jdm-patch-10, r=aneeshusa
Supress output from git push in WPT sync.

Pushing to the remote exposes sensitive data in the logs of the job. The old token has been revoked as a consequence.

<!-- 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/19920)
<!-- Reviewable:end -->
2018-02-01 18:09:55 -05:00
Josh Matthews
b003f5ad06 Supress output from git push in WPT sync. 2018-02-01 18:08:57 -05:00
bors-servo
ac9b1cfd03
Auto merge of #19930 - jonleighton:enable-wpt-css-fonts, r=jdm
Enable css-fonts WPT tests

See https://github.com/servo/servo/pull/19928#issuecomment-362354270

Note that some of these tests require you to install the fonts found in
tests/wpt/web-platform-tests/css/fonts.

r? @jdm

<!-- 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/19930)
<!-- Reviewable:end -->
2018-02-01 15:30:41 -06:00
Jon Leighton
f578ec9b70 Enable css-fonts WPT tests
See https://github.com/servo/servo/pull/19928#issuecomment-362354270

Note that some of these tests require you to install the fonts found in
tests/wpt/web-platform-tests/css/fonts.
2018-02-01 22:14:53 +01:00
bors-servo
0a8c58dce9
Auto merge of #19927 - bholley:sheet_flush_optimization, r=emilio
Avoid stylist flushes when sheets are appended and then removed again before flusing layout

https://bugzilla.mozilla.org/show_bug.cgi?id=1434756

<!-- 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/19927)
<!-- Reviewable:end -->
2018-02-01 12:59:35 -06:00
bors-servo
b20f01f1de
Auto merge of #19926 - servo:jdm-patch-13, r=emilio
Make the syncing PR a bit harder to mess up.

While the system is in testing, it's best to err on the side of making the PRs harder to merge.

<!-- 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/19926)
<!-- Reviewable:end -->
2018-02-01 12:04:55 -06:00
bors-servo
a32db10d01
Auto merge of #19921 - servo:jdm-patch-11, r=asajeffrey
test commit for wpt syncing

This is just a test of the automated syncing service.

<!-- 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/19921)
<!-- Reviewable:end -->
2018-02-01 11:14:22 -06:00
Bobby Holley
1d6841b9fd Avoid stylist flushes when sheets are appended and then removed again before flushing layout.
MozReview-Commit-ID: CHgbqfHnjwI
2018-02-01 09:14:07 -08:00
Josh Matthews
bce6d59102 test commit for wpt syncing 2018-02-01 11:32:59 -05:00
bors-servo
a07002a0f0
Auto merge of #19923 - emilio:less-crappy-code, r=nox
style: Cleanup and remove unused / dubious Length stuff.

On top of #19918, turns out that the parse_numbers_are_pixels stuff is unused.

<!-- 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/19923)
<!-- Reviewable:end -->
2018-02-01 10:27:57 -06:00
bors-servo
38ef515463
Auto merge of #19529 - DonatJR:counter-reset-out-of-mako, r=emilio
style: moved css longhand counter-reset out of mako

<!-- Please describe your changes on the following line: -->
This is a sub-PR of #19015
Code does not yet compile with `build-geckolib`.
r? 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
- [x] These changes fix #19387

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/19529)
<!-- Reviewable:end -->
2018-02-01 09:42:40 -06:00
Josh Matthews
910e9db277
Make the syncing PR a bit harder to mess up. 2018-02-01 09:53:56 -05:00
Jonas Reinwald
d24301b7a0
moved css longhand counter-reset out of mako 2018-02-01 15:43:40 +01:00
Emilio Cobos Álvarez
deac051cb9
style: Cleanup and remove unused / dubious Length stuff.
On top of #19918, turns out that the parse_numbers_are_pixels stuff is unused.
2018-02-01 15:27:39 +01:00
bors-servo
d222c9501b
Auto merge of #19924 - emilio:bim, r=emilio
style: Move border-image-repeat outside of mako.

This is a rebased / nitpick-addressed / bug-fixed version of #19021, and with a commit from #19668 renaming the two `RepeatKeyword`s to different names.

<!-- 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/19924)
<!-- Reviewable:end -->
2018-02-01 08:24:12 -06:00
Mauricio Collares
8e411105ce
style: Rename background::RepeatKeyword and border::RepeatKeyword. 2018-02-01 15:23:41 +01:00
chansuke
50b517d0db
style: Move border-image-repeat outside of mako. 2018-02-01 13:59:10 +01:00
bors-servo
dcd13b857c
Auto merge of #19918 - emilio:font-stuff-is-a-mess, r=nox
style: Refactor font-feature-settings and font-variation-settings.

This fixes all known issues with serialization and parsing of these two
properties, and in particular calc handling and such:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1434692
  https://bugzilla.mozilla.org/show_bug.cgi?id=1434724

Also does a fair amount of cleanup and all that, which was needed, this code
was a mess.

There are further cleanups that can be done, like renaming the
font-variation-settings animation stuff.

<!-- 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/19918)
<!-- Reviewable:end -->
2018-02-01 06:45:20 -06:00
Emilio Cobos Álvarez
3b34d734e6
style: Refactor font-feature-settings and font-variation-settings.
This fixes all known issues with serialization and parsing of these two
properties, and in particular calc handling and such:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1434692
  https://bugzilla.mozilla.org/show_bug.cgi?id=1434724

Also does a fair amount of cleanup and all that, which was needed.
2018-02-01 12:54:45 +01:00
bors-servo
b4339ab5c8
Auto merge of #19903 - servo:derive-all-the-things, r=emilio
Derive more Parse implementations (fixes #19827)

Fixes #19827.

<!-- 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/19903)
<!-- Reviewable:end -->
2018-02-01 05:52:08 -06:00
Anthony Ramine
1fa88b8c6a Simplify define_css_keyword_enum 2018-02-01 12:43:51 +01:00
Anthony Ramine
3d99a4489c Don't use define_css_keyword_enum in style anymore 2018-02-01 12:43:48 +01:00
Anthony Ramine
09e304adb3 Rename FillRule variants to follow the same rules as other enums 2018-02-01 12:43:29 +01:00
Anthony Ramine
bac8781cc7 Kill define_numbered_css_keyword_enum 2018-02-01 12:43:28 +01:00
Anthony Ramine
1f8777bb0b Move TransformStyle out of Mako files 2018-02-01 12:40:36 +01:00
Anthony Ramine
579cef6a69 Rename #[parse(aliases)] to #[css(aliases)] 2018-02-01 10:36:14 +01:00
Anthony Ramine
3fba02a0d6 Fix naming of ExtremumLength variants 2018-02-01 10:04:27 +01:00
bors-servo
e6d9c251d1
Auto merge of #19912 - emilio:ordermap, r=Manishearth
style: Temporarily use OrderMap on Gecko.

This will allow us to discard std hash map as a source of crashes.

<!-- 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/19912)
<!-- Reviewable:end -->
2018-01-31 21:33:36 -06:00
bors-servo
1bd3f0e9e4
Auto merge of #19919 - servo-wpt-sync:wpt_update_31-01-2018, r=jdm
Sync WPT with upstream (31-01-2018)

Automated downstream sync of changes from upstream as of 31-01-2018.
[no-wpt-sync]

<!-- 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/19919)
<!-- Reviewable:end -->
2018-01-31 20:40:31 -06:00
WPT Sync Bot
ba118104e4 Update web-platform-tests to revision fcc7ecef8ee95ba3776cfa3b1de30101c30432aa 2018-01-31 21:02:57 -05:00
Emilio Cobos Álvarez
09398d42af
style: Move a bunch of font stuff living under generics to the proper module.
FontSettingsTagInt and such shouldn't be in the generic module, I know...

But that will change in a bit.
2018-02-01 02:35:33 +01:00
Emilio Cobos Álvarez
1380f1a14f
style: Remove the stupid space serialization on font-settings. 2018-02-01 02:35:32 +01:00
Emilio Cobos Álvarez
190e9b9715
style: Tidy and sprinkle some comments. 2018-02-01 02:35:31 +01:00
bors-servo
3e27459ad3
Auto merge of #19859 - birtles:individual-transforms, r=emilio
Implement individual CSS transform properties: translate, rotate, scale

These are the servo-side changes for [Gecko bug 1207734](https://bugzilla.mozilla.org/show_bug.cgi?id=1207734).

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Gecko bug 1207734](https://bugzilla.mozilla.org/show_bug.cgi?id=1207734)
- [X] There are tests for these changes on the Gecko side including web-platform-tests

<!-- 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/19859)
<!-- Reviewable:end -->
2018-01-31 16:16:25 -06:00
CJ Ku
8a4661b829 Implement Animate trait for individual transforms 2018-01-31 22:15:31 +00:00
CJ Ku
9a62c0bf02 Implement interpolation of Quaternions
So that we can reuse the code in ComputedRotate.
2018-01-31 22:12:35 +00:00
CJ Ku
174f5f7128 Implement scale property styling 2018-01-31 22:12:34 +00:00
CJ Ku
de3e8c9a8b Implement translate property styling 2018-01-31 22:12:33 +00:00
CJ Ku
62c0c6feee Implement rotate property styling 2018-01-31 22:12:26 +00:00
Brian Birtles
a8c133d07e Update bindings 2018-01-31 21:10:10 +00:00
bors-servo
01f51bb35f
Auto merge of #19913 - jdm:update-the-wpt, r=jdm
Update web-platform-tests

<!-- 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/19913)
<!-- Reviewable:end -->
2018-01-31 13:40:24 -06:00
bors-servo
4bd0590117
Auto merge of #19915 - emilio:color-errors-whee, r=jdm
stylo: Fix missing null terminator in error reporting code.

This was causing the patch in bug 1420026 to fail.

<!-- 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/19915)
<!-- Reviewable:end -->
2018-01-31 12:37:33 -06:00
Josh Matthews
0e1caebaf4 Update web-platform-tests to revision 10168e9a5d44efbc6e7d416d1d454eb9c9f1396c 2018-01-31 12:24:47 -05:00
bors-servo
7546c37f1e Auto merge of #19914 - servo:dont-deny, r=nox
Remove #![deny(warnings)]

We already have https://github.com/servo/servo/pull/19612 to deny warnings at the time of landing into master. But it’s not useful to break the build when later compiler with a more recent Rust version that has introduced new warnings:

https://bugzilla.mozilla.org/show_bug.cgi?id=1434619

<!-- 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/19914)
<!-- Reviewable:end -->
2018-01-31 11:01:26 -06:00
Emilio Cobos Álvarez
d82c54bd30
stylo: Fix missing null terminators in error reporting code.
This was causing the patch in bug 1420026 to fail.
2018-01-31 17:49:15 +01:00
Simon Sapin
cace4fc6eb Remove #![deny(warnings)]
We already have https://github.com/servo/servo/pull/19612
to deny warnings at the time of landing into master.
But it’s not useful to break the build when later compiler
with a more recent Rust version that has introduced new warnings:

https://bugzilla.mozilla.org/show_bug.cgi?id=1434619
2018-01-31 17:00:27 +01:00