Most of types just derive it using proc_macro directly. Some of value
types need manual impl.
In my current plan, this new trait will be used in bug 1434130 to expose
values as well.
MozReview-Commit-ID: LI7fy45VkRw
Now that rustfmt is getting close to stable, and work on the style system has died down a bit, it seemed like an opportune time to auto-format the style crates.
The first commit disables import reordering, since tidy and rustfmt don't currently agree on the correct ordering. The second commit does a bunch of manual fixups such that the output of rustfmt passes tidy. The third commit runs rustfmt on the three aforementioned crate.
There are a few dozen warnings in the style crate about lines longer than 100 characters. It would be good to fix these, but I don't have time for that now.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a900ef019cd643bff961d7b20db6da69f3edb29
<!-- 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 -d` and `./mach build-geckolib` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fixes#19961
- [X] These changes do not require tests because this is refactoring.
~Just as a sanity check I ran `./mach test-wpt tests/wpt/web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-001.xht` though I'm not sure if I'm correct since we are also building for `geckolib`. I guess the buildbot will make sure to run all the relevant tests anyway.~ I guess Travis and AppVeyor will run the web platform tests before the buildbot run all the tests later on.
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 9677d5c1ba6a5174ff251280a9cb1e88b53bebbe
<!-- Please describe your changes on the following line: -->
Extracted the text-emphasis-style property out of the inherited_text.mako.rs.
This is a part of #19015
---
<!-- 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] `./mach cargo-geckolib check` does not report any errors
- [X] These changes fix#19940 (github issue number if applicable).
<!-- Either: -->
- [X] These changes do not require tests because it's a refactoring
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: aa8fb3a2044c03301e23aa9ffbee1161b9bd092c
eq_ignore_ascii_case is not in AsciiExt since rustc 1.23.
Source-Repo: https://github.com/servo/servo
Source-Revision: fbeb5a81a8eb3fa2f5feb4c039620158ab1f87f2
Similar to #19865
r? jdm
Note: Should I squash all the commits into one commit?
---
- [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 should not break anything
Source-Repo: https://github.com/servo/servo
Source-Revision: c9ba16f9fbdf7f43cb19feedfaaa68c85bbcbe3b
This allows it to be used as an expression, which I'd like to do very soon.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5355265c7481ef5f1a9d869927ad8bb1d8d8357b
It is bogus, because it depends on the display property as it's cascaded, but
the display property can change afterwards, for example, if we get blockified
because we're the root element or a flex item.
Replace it with a normal field instead.
Also, it carries some weight, because it's the last property that uses this
concept of "derived" property, and "custom cascade". So we can remove some code
after this.
Compute it after the cascade process in StyleAdjuster.
Source-Repo: https://github.com/servo/servo
Source-Revision: f2036e7661a3f865b38d8296cc1b8ab98e60f679
I will need this refactoring before my next job. I didn't actually fix the FIXME's along the way. My other PR probably will cover these.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
Source-Repo: https://github.com/servo/servo
Source-Revision: a9c17970c19a993920ce1ba2ff9faebd033c52b4
See #19128, this part is cherry-picked so Gecko can build with rust nightly.
Source-Repo: https://github.com/servo/servo
Source-Revision: e7a654dd13f589e127193267bcb576ffd661c11d
<!-- 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 -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes are apart of #19015 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because refactoring.
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f8842f7a9be0a6673654c7b98be4ed529cb7abe
… rather than the start location of the current construct. This likely places the error just *after* of the unexpected token whereas before would be best, but that’s likely a much bigger change.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1378861
Source-Repo: https://github.com/servo/servo
Source-Revision: c79a54dbd9d3a590f5fd8191b8e57a0b9d1d0fdb
These are the inter-dependent patches of bug 1392161. We want to handle
extreme small lengths carefully for some properties, such as transform, so we
shouldn't use |Au| as the computed value of specified::Length. Now, we introduce
a new type, CSSPixelLength, which is a wrapper of CSSFloat, and it is the
computed value of specified::Length, so we can keep the fractional part
of computed::Length.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1392161](https://bugzilla.mozilla.org/show_bug.cgi?id=1392161).
- [X] These changes do not require tests because there is a wpt test for this, and I also add some others in Gecko.
Source-Repo: https://github.com/servo/servo
Source-Revision: ac1b49b1987d37b3c1ba67213b43c6d5fc373579
As silly as it may seem to specify font-sizes using viewport units, we weren't
handling zoom for them correctly either.
Bug: 1388588
Reviewed-by: Manishearth
MozReview-Commit-ID: 3Q6phYAu5CE
Source-Repo: https://github.com/servo/servo
Source-Revision: 1457f999099b74df8822750ff16628443402d408
Some properties only accept non-negative values, or values greater than or equal to one. It is possible to produce an negative interpolated values while using negative timing functions, so we have to apply a restriction to these values to avoid getting invalid values.
For example, line-height must be non-negative, but the output progress of some timing functions (e,g. cubic-bezier(0.25, -2, 0.75, 1)) may be a negative value, so the interpolated result of line-height is also negative.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1374233.
- [X] These changes do not require tests because we have tests in Gecko side already.
Source-Repo: https://github.com/servo/servo
Source-Revision: 016ea11cbaf7586db144be122581c5b110649aee
This requires https://github.com/servo/rust-cssparser/pull/143 for the final commit. There's no better way to split that work up, unfortunately, and it's extremely easy to bitrot. I would appreciate if we could expedite reviewing this work.
This is the work necessary to enable https://bugzilla.mozilla.org/show_bug.cgi?id=1352669. It makes sense to merge it separately because it's so much effort to keep it up to date with the ongoing Stylo work.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: 061cb5f48e5c93a5decf39e530aea4a566e97341