Summary: | Updating href on linearGradient and radialGradient doesn't update its rendering | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> | ||||||||||||||||
Component: | SVG | Assignee: | 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
Ryosuke Niwa
2018-11-23 17:54:09 PST
Created attachment 355543 [details]
Reduction
linearGradient has the same issue. 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(); For the zero radius thing, it seems that CGContextDrawRadialGradient() doesn't fill with the end color even though we pass kCGGradientDrawsBeforeStartLocation | kCGGradientDrawsAfterEndLocation. Created attachment 355897 [details]
Patch
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 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
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 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
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 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
Created attachment 355910 [details]
Patch
(In reply to Said Abou-Hallawa from comment #12) > Created attachment 355910 [details] > Patch I forgot waitUntilDone()/notifyDone() in the tests. 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 ? Created attachment 355921 [details]
Patch
Comment on attachment 355921 [details] Patch Clearing flags on attachment: 355921 Committed r238651: <https://trac.webkit.org/changeset/238651> All reviewed patches have been landed. Closing bug. |