Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review property value definitions to ensure unitless lengths are correctly included #534

Closed
AmeliaBR opened this issue Aug 20, 2018 · 7 comments

Comments

@AmeliaBR
Copy link
Contributor

See discussion in #529, where it was discovered that stroke-width syntax definition in SVG 2 erroneously left out unitless length. There may be other errors.

@ewilligers
Copy link
Contributor

Lists of properties that accept a numeric value, in quirks mode and standard mode: https://docs.google.com/spreadsheets/d/1HRzb_-S28xq7GqYKhHbMP2YQlqWLvOWSS_twLXy-I40/edit?usp=sharing

@ewilligers
Copy link
Contributor

Raised w3c/csswg-drafts#3057
Blink and Safari also support numeric values for cx cy r rx ry x y.

@css-meeting-bot
Copy link
Member

The SVG Working Group just discussed Review property value definitions to ensure unitless lengths are correctly included, and agreed to the following:

  • RESOLUTION: Ask the CSS WG for feedback on number length values for currently SVG specific CSS propertoes
The full IRC log of that discussion <krit> topic: Review property value definitions to ensure unitless lengths are correctly included
<krit> GitHub: https://github.com//issues/534
<krit> ericwilligers: The google docs demonstrates which properties in implementations currently support length and number values as length: https://docs.google.com/spreadsheets/d/1HRzb_-S28xq7GqYKhHbMP2YQlqWLvOWSS_twLXy-I40/edit#gid=1297517027
<krit> ericwilligers: we need to look at the properties which we are going to change in the implementations and which in the specification like stroke-dash-array
<krit> AmeliaBR: those were defined in SVG 1. though it was redefined by CSS and we need to propose changes to the CSS WG.
<krit> AmeliaBR: for the geometry properties, thet are SVG specific and already ship in multiple properties I am happy to add the plain numbers for them
<krit> krit: there would be some inconsistencies for instance with width and height which do not support numbers.
<krit> krit: also, the layout properties currently are SVG specific but might not be in the future.
<krit> ericwilligers: we could say that those are in the quirks mode for SVG.
<krit> krit: IIRC there is no official quirks mode yet
<AmeliaBR> Usage data: https://developer.microsoft.com/en-us/microsoft-edge/platform/usage/css/cx/
<krit> krit: I'd suggest that we look if the cx, cy and so on properties could change to length only values
<krit> krit: seems like 20% are number versions
<krit> krit: I guess we have to decide case by case then
<krit> ericwilligers: but the numbers are all very very slow
<krit> krit: that is true
<krit> krit: starting with the layout properties first... anyone we want to reach out to or investigate?
<krit> AmeliaBR: we could bring this up as part of CSS discussions.
<krit> AmeliaBR: especially with being consistent with width and height and already shipping presentation attributes.
<krit> krit: we already have differences between attribute and property value definition so that by itself is not argument for number values on properties.
<krit> AmeliaBR: yes
<krit> krit: could we send the document to the CSS WG and ask for their feedback?
<krit> ericwilligers: I prepared it already and can present to the CSS WG
<krit> AmeliaBR: for the stroke-* properties this is just a correction but the other properties are more of a debate.
<krit> RESOLUTION: Ask the CSS WG for feedback on number length values for currently SVG specific CSS propertoes
<krit> s/propertoes/properties/

@svgeesus
Copy link
Contributor

CSS WG discussed this and resolved

  • RESOLVED: Only accept unitless values on SVG 1.1 supported properties with the exception of baseline-shift

@svgeesus
Copy link
Contributor

So, is the stroke-width definition in SVG2 the normative one, or the one in CSS fill and stroke?

@ericwilligers looks like we need a bit on SVGWG discussion of your document before making edits to SVG2?

dirkschulze added a commit that referenced this issue Nov 10, 2018
… values for old CSS properties, align computed styles, fix prop index. #534, #529, #555
@ewilligers
Copy link
Contributor

stroke-dashoffset and stroke-width accept unitless lengths in SVG 1.1, and in all browsers.
The SVG 1.1 definition for length says

A length is a distance measurement, given as a number along with a unit which may be optional.

We kept the SVG 1.1 grammar <length> for these properties, but this is incorrect as we changed the definition of <length>. We need to change stroke-dashoffset and stroke-width to accept <number>

is the stroke-width definition in SVG2 the normative one, or the one in CSS fill and stroke?

The SVG 2 definition is normative. CSS Fill and Stroke is not a normative reference for SVG 2.

ewilligers pushed a commit to ewilligers/web-platform-tests that referenced this issue Nov 17, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
ewilligers pushed a commit to ewilligers/svgwg that referenced this issue Nov 17, 2018
SVG 1.1 allowed stroke-width and stroke-dashoffset lengths
to be specified without units.
https://www.w3.org/TR/SVG11/types.html#DataTypeLength

SVG 2 needs to do the same, for web compatibility.

Discussed in  w3c#534
ewilligers pushed a commit to ewilligers/web-platform-tests that referenced this issue Nov 17, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
ewilligers pushed a commit to ewilligers/web-platform-tests that referenced this issue Nov 21, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
ewilligers added a commit to web-platform-tests/wpt that referenced this issue Nov 21, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
dirkschulze added a commit that referenced this issue Nov 26, 2018
… values for old CSS properties, align computed styles, fix prop index. #534, #529, #555
@dirkschulze
Copy link
Contributor

I think I covered the changes. @ericwilligers please review otherwise I'll close the issue within the next days.

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Nov 29, 2018
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114
xeonchen pushed a commit to xeonchen/gecko that referenced this issue Nov 29, 2018
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Oct 3, 2019
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114

UltraBlame original commit: 0818f88fb0cfb9216e37e2556fe85446e3e388e8
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Oct 3, 2019
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114

UltraBlame original commit: 0818f88fb0cfb9216e37e2556fe85446e3e388e8
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Oct 3, 2019
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114

UltraBlame original commit: 0818f88fb0cfb9216e37e2556fe85446e3e388e8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants