WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
78165
Calling RenderBox::absoluteQuads on RenderSVGRoot returns incorrect values when zoom or viewbox is involved
https://bugs.webkit.org/show_bug.cgi?id=78165
Summary
Calling RenderBox::absoluteQuads on RenderSVGRoot returns incorrect values wh...
Max Vujovic
Reported
2012-02-08 15:33:35 PST
RenderSVGRoot applies its local transform on itself when calling RenderBox::absoluteQuads. This happens in RenderSVGRoot::mapLocalToContainer. The call hierarchy is: RenderBox::absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; RenderObject::localToAbsoluteQuad(const FloatQuad& quad, bool fixed = false, bool* wasFixed = 0) const RenderObject::localToContainerQuad(const FloatQuad&, RenderBoxModelObject* repaintContainer, bool fixed = false, bool* wasFixed = 0) const; RenderSVGRoot::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&, bool* wasFixed = 0) const; absoluteQuads takes in a quad with the size of the SVG root element in screen space, after page zoom. mapLocalToContainer then transforms the quad by RenderSVGRoot's m_localToBorderBoxTransform, which contains the zoom transform and the viewbox transform. See RenderSVGRoot::buildLocalToBorderBoxTransform. Note that both getBoundingClientRect and the inspector highlight on SVG root elements rely on absoluteQuads to do their job. Links to related bugs are under the "Blocks:" field.
Attachments
Add attachment
proposed patch, testcase, etc.
Nikolas Zimmermann
Comment 1
2012-03-19 08:29:05 PDT
Is this bug fixed as well, now?
Max Vujovic
Comment 2
2012-03-19 08:33:23 PDT
(In reply to
comment #1
)
> Is this bug fixed as well, now?
Yes, after
bug 78037
, this bug should be fixed.
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