cssparser provides a way to set the initial line number on a
ParserInput. This patch changes servo to use this facility, rather than
reimplement the same functionality itself.
Rework MediaType to be an atom-based struct instead of an enum.
MozReview-Commit-ID: 1Tfrs9PBkhA
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1371395https://reviewboard.mozilla.org/r/163194/
---
<!-- 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 _____
<!-- 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/18024)
<!-- Reviewable:end -->
The alias is left there temporarilly and will be removed completely in a later commit where
also components/style/gecko/generated/structs_{debug|release}.rs are re-generated (they still
use the old alias).
This makes the code cleaner, and also documents the fact that effective_rules
recurses into imports.
No we're not adding the imported stylesheets twice, and we share code with the
invalidation analysis.
MozReview-Commit-ID: DOF2AViTlmR
passes test-tidy
removed match and used map
added new test test_report_error_passing_correct_url(...) and modified old unit tests
removed the option for servourl and tidied up
removed the duplicate test.
made a few more changes after @cbrewster suggestions.
changed _url to url in few places
fixed the indenting
This is necessary for the upcoming work in Stylo, given I plan to make MediaType
different for Servo and Gecko, and the Unknown variant doesn't fit in MediaType
to be fair, the device is never going to have any unknown media type.
failing test for correct to_css of "width"
separate test for mq and to_css
implement css serialization for Eq
remove PASS test expectation
remove FIXME
simplify serialization
And make empty list the default value of MediaList.
This commit also removes Option wrapper of Stylesheet.media because
a stylesheet should always have an associated media query list.
In rust-url 1.0 the `Url` struct is going to have private fields, and there
is no way to to create an aribitrary one without going through the parser.
The plugin never had a clear demonstrated performance benefit,
it was made mostly because it was possible and relatively easy at the time.
This commit refactors the style crate to be completely independent of
the actual implementation and pseudo-elements supported.
This also adds a gecko backend which introduces parsing for the
anonymous box pseudo-elements[1], although there's still no way of
querying them.
https://mxr.mozilla.org/mozilla-central/source/layout/style/nsCSSAnonBoxList.h
The pipeline id stuff is currently unused. If someone needs it, they can add
an additional trait bound on their css error reporter to get the pipeline id.