Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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/