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

SVG Painting: property parsing #14114

Merged
merged 1 commit into from
Nov 21, 2018

Conversation

ewilligers
Copy link
Contributor

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/

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/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants