CSS Page rules incorrectly parse a single empty page name and pseudo-class list for page rules with no selectors
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox130 | --- | fixed |
People
(Reporter: alaskanemily, Assigned: alaskanemily)
Details
Attachments
(1 file)
This can be seen with the serialization of @page{}, which serializes as @page {} with two spaces after the rule name. It seems like the WPT should have caught that, so we should also check if either a test related to that are disabled, or if such tests exist at all.
| Assignee | ||
Comment 1•1 year ago
|
||
Before this change, @page {} was parsed as though the rule had a single
selector with an empty atom as the name. We would generally accept things like
@page a, {} to include an empty selector too, since no matching tokens ended
up representing an empty page-name (as is the case with just pseudo-classes
and no page-name), and an empty pseudo-class list (as is the case with just a
page-name and no pseudo-classes).
We shouldn't be accepting both of those at the same time.
This also fixes serialization of empty page-rule selector list.
It seems there are no WPT that check how page-rules are specifically
serialized. This adds a few basic ones to catch at least this issue.
Comment 4•1 year ago
|
||
Backed out for causing wp failures in page-size-004-print.html
- Backout link
- Push with failures
- Failure Log
- Failure line: TEST-UNEXPECTED-FAIL | /css/css-page/page-size-004-print.html | Testing http://web-platform.test:8000/css/css-page/page-size-004-print.html == http://web-platform.test:8000/css/css-page/page-size-004-print-ref.html
Comment 7•1 year ago
|
||
| bugherder | ||
| Assignee | ||
Updated•1 year ago
|
Description
•