Summary: | getScreenCTM returns different values depending on zoom | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Hannes <bug> | ||||||||
Component: | SVG | Assignee: | Florin Malita <fmalita> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Major | CC: | abarth, bdakin, darin, fmalita, krit, pdr, simon.fraser, webkit.review.bot, zimmermann | ||||||||
Priority: | P2 | ||||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | All | ||||||||||
OS: | All | ||||||||||
URL: | http://jsfiddle.net/sqfzD/ | ||||||||||
Attachments: |
|
Description
Hannes
2012-09-11 00:32:36 PDT
Firefox works fine. Safari, Chrome have problems. Looks like SVGSVGElement::localCoordinateSpaceTransform() does not adjust for the zoom level factored into localToAbsolute(). Patch to follow. Created attachment 163384 [details]
Patch
Comment on attachment 163384 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=163384&action=review > Source/WebCore/svg/SVGSVGElement.cpp:441 > + float zoomFactor = 1.0f; just 1? You guys are fast. Thanks. When will it work for everybody in the whole world? Created attachment 163618 [details]
Patch for landing
Created attachment 163619 [details]
Patch for landing
(In reply to comment #4) > > Source/WebCore/svg/SVGSVGElement.cpp:441 > > + float zoomFactor = 1.0f; > > just 1? Done, thanks for reviewing. (In reply to comment #5) > You guys are fast. Thanks. When will it work for everybody in the whole world? This will probably be in Chrome 23 (dev channel after a few days, stable channel 1-2 months). Don't know about Safari. Comment on attachment 163619 [details] Patch for landing Clearing flags on attachment: 163619 Committed r128309: <http://trac.webkit.org/changeset/128309> All reviewed patches have been landed. Closing bug. I think this change caused a 2% regression in our hit testing benchmark: http://webkit-perf.appspot.com/graph.html#tests=[[5167282,2001,173262]]&sel=none&displayrange=30&datatype=running I looked at the profile and I don't think there is much we can do to avoid this, so I'll just note it here for posterity. |