Created attachment 359675 [details] test case SVG symbols are not repainted correctly if an element inside them has its stroke or fill style changed by JavaScript setTimeout() or requestAnimationFrame(). See the attached test case, which shows a rectangle outside and inside a symbol. The rectangle inside the symbol doesn't show changes in the fill style. However, changing the x or y property seem to force a repaint for the entire symbol. So, setting the "x" attribute of the rectangle makes also the fill style visible. Tested on Safari 10, 12.0.2 (14606.3.4) and Safari Technology Preview Release 73 (Safari 12.1, WebKit 14607.1.18.3). The test case works as expected on Firefox and Chrome. Here's the same test case as a CodePen: https://codepen.io/anon/pen/ZwzebM?editors=1000
<rdar://problem/47446843>
Created attachment 359766 [details] Patch
Comment on attachment 359766 [details] Patch Attachment 359766 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/10843999 New failing tests: svg/custom/svg-use-style-dynamic-change-invalidate.svg
Created attachment 359770 [details] Archive of layout-test-results from ews101 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-highsierra Platform: Mac OS X 10.13.6
Comment on attachment 359766 [details] Patch Attachment 359766 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/10844242 New failing tests: svg/custom/svg-use-style-dynamic-change-invalidate.svg
Created attachment 359773 [details] Archive of layout-test-results from ews114 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 359778 [details] Patch
Comment on attachment 359778 [details] Patch Clearing flags on attachment: 359778 Committed r240305: <https://trac.webkit.org/changeset/240305>
All reviewed patches have been landed. Closing bug.