w3c / fxtf-drafts

Mirror of https://hg.fxtf.org/drafts
https://drafts.fxtf.org/
Other
69 stars 49 forks source link

[css-masking-1] Fix overlapping <rect()> #468

Closed cdoublev closed 1 year ago

cdoublev commented 2 years ago

The <rect()> definition for clip is overlapping with the newer <rect()> definition in CSS Basic Shapes. This change inlines the definition for clip instead of using a production type.

Fixes https://github.com/w3c/csswg-drafts/issues/7219

w3cbot commented 2 years ago

svgeesus marked as non substantive for IPR from ash-nazg.

cdoublev commented 2 years ago

Actually I think the following is also required:

-   : <dfn function>rect()</dfn> = rect( <<clip/top>>, <<clip/right>>, <<clip/bottom>>, <<clip/left>> )
+   : <dfn value>rect()</dfn> = rect( <<clip/top>>, <<clip/right>>, <<clip/bottom>>, <<clip/left>> )

Waiting for your review.

Related: https://github.com/w3c/csswg-drafts/issues/7682

cdoublev commented 1 year ago

I reverted the commit described by my previous comment, following https://github.com/w3c/csswg-drafts/issues/7682#issuecomment-1236152633:

Right, the functions should still be marked as functions rather than values, but their context-sensitivity (indicated by the presence of the for value) means they can't be meaningfully used as productions.

cdoublev commented 1 year ago

After all, I prefer rect([<length> | auto]{4} | [<length> | auto]#{4}), which gets rid of redudant <top>, <right>, <bottom>, <left>, and endorse this:

User agents must support separation with commas, but may also support separation without commas (but not a combination), because a previous revision of this specification was ambiguous in this respect.

But it requires larger changes in the specification, and this PR does not seem to spark interest, therefore I prefer to close it and let someone make the appropriate changes, if any.