Bug 191934

Summary: Updating href on linearGradient and radialGradient doesn't update its rendering
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: SVGAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, dino, ews-watchlist, graouts, koivisto, rniwa, sabouhallawa, simon.fraser, webkit-bug-importer, zimmermann
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=191930
Attachments:
Description Flags
Reduction
none
Patch
none
Archive of layout-test-results from ews101 for mac-sierra
none
Archive of layout-test-results from ews107 for mac-sierra-wk2
none
Archive of layout-test-results from ews204 for win-future
none
Patch
none
Patch none

Ryosuke Niwa
Reported 2018-11-23 17:54:09 PST
Updating href content attribute on SVG radialGradient element doesn't update its rendering.
Attachments
Reduction (784 bytes, text/html)
2018-11-23 17:54 PST, Ryosuke Niwa
no flags
Patch (5.30 KB, patch)
2018-11-28 11:28 PST, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews101 for mac-sierra (2.66 MB, application/zip)
2018-11-28 12:10 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews107 for mac-sierra-wk2 (3.19 MB, application/zip)
2018-11-28 12:43 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews204 for win-future (12.83 MB, application/zip)
2018-11-28 13:08 PST, EWS Watchlist
no flags
Patch (5.60 KB, patch)
2018-11-28 13:12 PST, Said Abou-Hallawa
no flags
Patch (12.20 KB, patch)
2018-11-28 14:51 PST, Said Abou-Hallawa
no flags
Ryosuke Niwa
Comment 1 2018-11-23 17:54:47 PST
Created attachment 355543 [details] Reduction
Ryosuke Niwa
Comment 2 2018-11-23 18:53:33 PST
linearGradient has the same issue.
Simon Fraser (smfr)
Comment 3 2018-11-27 20:04:27 PST
A couple of issues here, by the look of it. First, a radial gradient with r="0" doesn't seem to render a solid color, so even if the attribute changing worked, you'd see nothing. Second, I think SVGGradientElement::svgAttributeChanged() needs to be like: void SVGGradientElement::svgAttributeChanged(const QualifiedName& attrName) { - if (isKnownAttribute(attrName)) { + if (isKnownAttribute(attrName) || SVGURIReference::isKnownAttribute(attrName)) { InstanceInvalidationGuard guard(*this); if (RenderObject* object = renderer()) object->setNeedsLayout();
Simon Fraser (smfr)
Comment 4 2018-11-27 20:09:11 PST
For the zero radius thing, it seems that CGContextDrawRadialGradient() doesn't fill with the end color even though we pass kCGGradientDrawsBeforeStartLocation | kCGGradientDrawsAfterEndLocation.
Said Abou-Hallawa
Comment 5 2018-11-28 11:28:58 PST
EWS Watchlist
Comment 6 2018-11-28 12:10:54 PST
Comment on attachment 355897 [details] Patch Attachment 355897 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/10185500 New failing tests: svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.svg svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.svg
EWS Watchlist
Comment 7 2018-11-28 12:10:56 PST
Created attachment 355902 [details] Archive of layout-test-results from ews101 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 8 2018-11-28 12:43:20 PST
Comment on attachment 355897 [details] Patch Attachment 355897 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/10185729 New failing tests: svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.svg
EWS Watchlist
Comment 9 2018-11-28 12:43:22 PST
Created attachment 355906 [details] Archive of layout-test-results from ews107 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 10 2018-11-28 13:08:40 PST
Comment on attachment 355897 [details] Patch Attachment 355897 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/10185869 New failing tests: svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.svg svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.svg
EWS Watchlist
Comment 11 2018-11-28 13:08:51 PST
Created attachment 355909 [details] Archive of layout-test-results from ews204 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews204 Port: win-future Platform: CYGWIN_NT-6.1-2.10.0-0.325-5-3-x86_64-64bit
Said Abou-Hallawa
Comment 12 2018-11-28 13:12:53 PST
Said Abou-Hallawa
Comment 13 2018-11-28 13:13:38 PST
(In reply to Said Abou-Hallawa from comment #12) > Created attachment 355910 [details] > Patch I forgot waitUntilDone()/notifyDone() in the tests.
Ryosuke Niwa
Comment 14 2018-11-28 13:19:05 PST
Comment on attachment 355910 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=355910&action=review > LayoutTests/ChangeLog:9 > + * svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop-expected.svg: Added. > + * svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.svg: Added. Could you add a test case for a shadow tree as I've done in https://trac.webkit.org/changeset/238524 ?
Said Abou-Hallawa
Comment 15 2018-11-28 14:51:31 PST
WebKit Commit Bot
Comment 16 2018-11-28 17:30:03 PST
Comment on attachment 355921 [details] Patch Clearing flags on attachment: 355921 Committed r238651: <https://trac.webkit.org/changeset/238651>
WebKit Commit Bot
Comment 17 2018-11-28 17:30:05 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 18 2018-11-28 17:32:03 PST
Note You need to log in before you can comment on or make changes to this bug.