RESOLVED FIXED 25282
RenderBox::outlineBoundsForRepaint should use the repaintContainer
https://bugs.webkit.org/show_bug.cgi?id=25282
Summary RenderBox::outlineBoundsForRepaint should use the repaintContainer
Simon Fraser (smfr)
Reported 2009-04-17 17:35:02 PDT
RenderBox::outlineBoundsForRepaint does: FloatQuad absOutlineQuad = localToAbsoluteQuad(FloatRect(box)); box = absOutlineQuad.enclosingBoundingBox(); ignoring the repaintContainer. Bad RenderBox!
Attachments
Patch, testcases, changelog (12.08 KB, patch)
2009-04-17 23:33 PDT, Simon Fraser (smfr)
eric: review+
Simon Fraser (smfr)
Comment 1 2009-04-17 23:33:14 PDT
Created attachment 29599 [details] Patch, testcases, changelog
Eric Seidel (no email)
Comment 2 2009-04-18 01:29:39 PDT
I need more context to understand your test cases. Could you please provide more description in the ChangeLogs or, better yet, in the tests themselves? What was the old behavior? what is the next behavior? How is this testing with repaint containers?
Simon Fraser (smfr)
Comment 3 2009-04-18 09:54:17 PDT
In the changelog, I refer to bug 12885, which is the fix that added the original version of outlineBoundsForRepaint() (then called absoluteOutlineBox()). That changelog says: + Changed repaintAfterLayoutIfNeeded() to take, in addition to the clipped overflow + rect, the unclipped border box plus outline, and to repaint any areas that + were added or removed from that box, in addition to any areas added or removed + from the clipped overflow rect. The testcases I added here clone two of the testcases that were added for that fix, and wrap the content in a div with a 3d-transform. That will force that div into a compositing layer, and hence test the need to compute the repaint rects relative to the container.
Eric Seidel (no email)
Comment 4 2009-04-20 11:03:33 PDT
Comment on attachment 29599 [details] Patch, testcases, changelog Verbage saying "this only fails on accellerated_compositing builds" would be useful I think. r=me
Simon Fraser (smfr)
Comment 5 2009-04-20 11:12:31 PDT
Note You need to log in before you can comment on or make changes to this bug.