[Webkit-unassigned] [Bug 25404] Bounds Calculation for stroke with opacity < 1 not correct

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 30 14:44:54 PST 2009


https://bugs.webkit.org/show_bug.cgi?id=25404





--- Comment #8 from Dirk Schulze <krit at webkit.org>  2009-12-30 14:44:54 PST ---
(In reply to comment #6)
> There are a couple places where we're still using objectBoundingBox() where we
> mean repaintRectInLocalCoordinates()  However changing those didn't fix the
> entire problem for full-pservers...
> 
> I think the full-pservers... bug is a separate issue.  This bug is likely cause
> by this code:
> 
> void SVGRootInlineBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int
> ty)
> {
>     if (paintInfo.context->paintingDisabled() || paintInfo.phase !=
> PaintPhaseForeground)
>         return;
> 
>     RenderObject::PaintInfo savedInfo(paintInfo);
>     paintInfo.context->save();
> 
>     SVGResourceFilter* filter = 0;
>     FloatRect boundingBox(tx + x(), ty + y(), width(), height());
> 
>     // Initialize text rendering
>     prepareToRenderSVGContent(renderer(), paintInfo, boundingBox, filter);
> 
> Which is using a bad boundingBox calculation there.  prepareToRenderSVGContent
> needs to be changed to take a separate objectBoundingBox() and
> repaintRectInLocalCoordinates() and use the repaint rect for  the opacity clip
> (which we do set up manually) and the objectBoundingBox for filter setup (which
> we're not actually doing in ToT since filters are turned off).
> 
> maybe x(), y(), width(), height() is right, but I doubt it includes stroke
> width.  SVGRootInlineBox probably needs its own repaintRectInLocalCoordinates()
> method.

I thing you're right. We give the objectBoundingBox to
prepareToRenderSVGContent instead of the repaint Rect. This is wrong. It's not
neccessary to give the obb to prepareToRenderSVGContent. It already has the
object and can ask for the obb itself.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list