RESOLVED DUPLICATE of bug 40663 Bug 15386
RenderSVGText can't do partial repaints
https://bugs.webkit.org/show_bug.cgi?id=15386
Summary RenderSVGText can't do partial repaints
Eric Seidel (no email)
Reported 2007-10-05 18:03:39 PDT
RenderSVGText has a hack around RenderBlock's partial repaint code, because it's not (yet) SVG aware. void RenderSVGText::layout() { ASSERT(needsLayout()); // FIXME: This is a hack to avoid the RenderBlock::layout() partial repainting code which is not (yet) SVG aware setNeedsLayout(true); From RenderBlock::layoutBlock: if (!didFullRepaint && repaintTop != repaintBottom) { IntRect repaintRect(m_overflowLeft, repaintTop, m_overflowWidth - m_overflowLeft, repaintBottom - repaintTop); // FIXME: Deal with multiple column repainting. We have to split the repaint // rect up into multiple rects if it spans columns. repaintRect.inflate(maximalOutlineSize(PaintPhaseOutline)); if (hasOverflowClip()) { // Adjust repaint rect for scroll offset int x = repaintRect.x(); int y = repaintRect.y(); layer()->subtractScrollOffset(x, y); repaintRect.setX(x); repaintRect.setY(y); // Don't allow this rect to spill out of our overflow box. repaintRect.intersect(IntRect(0, 0, m_width, m_height)); } RenderView* v = view(); // Make sure the rect is still non-empty after intersecting for overflow above if (!repaintRect.isEmpty() && v && v->frameView()) v->frameView()->addRepaintInfo(this, repaintRect); // We need to do a partial repaint of our content. }
Attachments
Eric Seidel (no email)
Comment 1 2007-10-05 18:04:45 PDT
This issue was exposed by bug 14003 and worked around. This bug exists to track fixing the underlying bug by enhancing RenderSVGText to support partial-repaints.
Nikolas Zimmermann
Comment 2 2010-06-17 01:39:24 PDT
40663 will fix this bug. *** This bug has been marked as a duplicate of bug 40663 ***
Note You need to log in before you can comment on or make changes to this bug.