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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 28 15:58:02 PDT 2009


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





------- Comment #6 from eric at webkit.org  2009-04-28 15:58 PDT -------
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.


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



More information about the webkit-unassigned mailing list