WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
137328
SVG fragment identifier rendering issue
https://bugs.webkit.org/show_bug.cgi?id=137328
Summary
SVG fragment identifier rendering issue
me
Reported
2014-10-01 18:38:59 PDT
Created
attachment 239075
[details]
Artifacting experienced when hovering over an SVG sprite SVG fragment identifiers added in Safari 7.1 for Mavericks (and also in iOS 8) render incorrectly when multiple remote images are referenced using the same URL path. Sometimes the wrong image is displayed, other times no image at all. When using hover effects images can be rendered with inline artefacts (see attached image).
Attachments
Artifacting experienced when hovering over an SVG sprite
(25.96 KB, image/jpeg)
2014-10-01 18:38 PDT
,
me
no flags
Details
Additional test file (svg sprite sheet)
(548 bytes, image/svg+xml)
2014-10-23 11:55 PDT
,
Bear Travis
no flags
Details
Test File (html)
(611 bytes, text/html)
2014-10-23 11:57 PDT
,
Bear Travis
no flags
Details
Test case showing issue with no interaction at all.
(484 bytes, text/html)
2014-10-28 13:30 PDT
,
Antoine Quint
no flags
Details
Patch
(3.93 KB, patch)
2015-05-26 12:55 PDT
,
Said Abou-Hallawa
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Bear Travis
Comment 1
2014-10-23 11:55:21 PDT
Created
attachment 240358
[details]
Additional test file (svg sprite sheet) This also causes issues when customizing the viewBox or specifying a view id. When two with the same viewBox are rendered next to each other, the latter will render correctly, but the first will not.
Bear Travis
Comment 2
2014-10-23 11:57:39 PDT
Created
attachment 240359
[details]
Test File (html) Additional test case html file.
Antoine Quint
Comment 3
2014-10-28 13:30:19 PDT
Created
attachment 240569
[details]
Test case showing issue with no interaction at all. With this test case, SVGImage::draw(GraphicsContext* context, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace, CompositeOperator compositeOp, BlendMode blendMode, ImageOrientationDescription) is called constantly and results in a wrong rendering showing cogs / car / flag instead of car / flag / cogs.
Antoine Quint
Comment 4
2014-10-28 13:53:07 PDT
It appears that each time we draw an SVG image, we draw whatever the last draw state was for the actual SVG image, so we're seeing the wrong content.
Antoine Quint
Comment 5
2014-10-28 14:18:17 PDT
It's as if when we set the :target, it only gets picked up on the next draw of the image, which is for the next element, so we're always off by one.
Antoine Quint
Comment 6
2014-10-28 14:22:56 PDT
All the <img> element share a single SVGImage, which gets redrawn each time with a new fragment identifier. I wonder if we should have different SVGImage instances for each fragment identifier. It's also unclear why we constantly redraw.
Radar WebKit Bug Importer
Comment 7
2015-04-20 14:27:24 PDT
<
rdar://problem/20623034
>
Said Abou-Hallawa
Comment 8
2015-05-26 12:55:28 PDT
Created
attachment 253720
[details]
Patch
WebKit Commit Bot
Comment 9
2015-05-26 14:24:21 PDT
Comment on
attachment 253720
[details]
Patch Clearing flags on attachment: 253720 Committed
r184874
: <
http://trac.webkit.org/changeset/184874
>
WebKit Commit Bot
Comment 10
2015-05-26 14:24:25 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug