Summary: | REGRESSION (r194898): Multi download of external SVG defs file by <use> xlinks:href (caching) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | hexalys <bruno> | ||||||||
Component: | Page Loading | Assignee: | Antti Koivisto <koivisto> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Major | CC: | aestes, beidson, bjankord, cdumez, commit-queue, elliotgeno, elrumordelaluz, japhet, koivisto, sabouhallawa, simon.fraser, steffen.weber, stephanie.rewis, timothy, webkit-bug-importer | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | Safari 9 | ||||||||||
Hardware: | All | ||||||||||
OS: | All | ||||||||||
URL: | http://www.hexanet.com/test/webkit-svg-cache-bug.htm | ||||||||||
Attachments: |
|
I am seeing this issue in Safari 9.1 and Mobile Safari 9.3 on iOS Seems to be a 9^ regression, since I have the same behaviour in 9.1 (OSX 10.11.4) but not in Safari 8.0.2 (OSX 10.10.1). Another test case here: https://github.com/martinwolf/safari-9-svg-external-content-bug (In reply to comment #4) > Another test case here: > https://github.com/martinwolf/safari-9-svg-external-content-bug Deployed this repo here: - External: https://safari-9-svg-external-content-bug-rmmbpapqov.now.sh/svg-use-external.html - Inline: https://safari-9-svg-external-content-bug-rmmbpapqov.now.sh/svg-use-inline.html Created attachment 277056 [details]
patch
Created attachment 277057 [details]
patch
This is pretty huge since our design system uses large sprites of our icons and the way they're currently downloading every time is a very big problem. I hope this will be prioritized and fixed quickly. Comment on attachment 277057 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=277057&action=review > Source/WebCore/loader/TextResourceDecoder.h:55 > + bool hasEqualEncodingForCharset(const String& charset) const; 'charset' argument name can be removed. > LayoutTests/ChangeLog:16 > + * platform/mac/fast/frames/frame-set-scaling-3d-expected.png: > + * platform/mac/fast/frames/frame-set-scaling-centered-expected.png: > + * platform/mac/fast/frames/frame-set-scaling-expected.png: > + * platform/mac/fast/frames/frame-set-scaling-rotate-expected.png: > + * platform/mac/fast/frames/frame-set-scaling-skew-expected.png: I don't think you meant to include these in the changelog. I think I found an additional bug... No SVGs are caching with an object tag: https://dl.dropboxusercontent.com/u/1256960/%20Research/JS/SVG_Parameters/dotObjectBug.html (In reply to comment #12) > I think I found an additional bug... No SVGs are caching with an object tag: > https://dl.dropboxusercontent.com/u/1256960/%20Research/JS/SVG_Parameters/ > dotObjectBug.html That sounds like a related but different bug. Could you file a new one to track it? (In reply to comment #13) > (In reply to comment #12) > > I think I found an additional bug... No SVGs are caching with an object tag: > > https://dl.dropboxusercontent.com/u/1256960/%20Research/JS/SVG_Parameters/ > > dotObjectBug.html > > That sounds like a related but different bug. > > Could you file a new one to track it? I believe that is already a bug for this: https://bugs.webkit.org/show_bug.cgi?id=106180 But I don't see a caching issue <object data=".svg"> in 202569. |
Created attachment 275939 [details] Sample network pane view of multi download on cold cache You can notice this bug while looking at the Network panel in the Web Inspector on latest Safari 9 or Nightly. The SVG file is requested 5 times for 5 different fragment identifiers. It appears to be a Safari 9.3 regression. I am not seeing the problem on a 9.2 Simulator or older QtWebkit(s). See URL for repro and snapshot.