[Webkit-unassigned] [Bug 93703] fast/repaint/float-in-new-block-with-layout-delta.html is overpainting

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 10 03:04:39 PDT 2012


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





--- Comment #2 from Eric Seidel <eric at webkit.org>  2012-08-10 03:05:06 PST ---
Yup, re-confirmed.

repaintDirtyFloats() causes this new float to repaint it's old (invalid) bounds of 8,8; 100,100

This code in layoutBlockChild():
    if (!childHadLayout && child->checkForRepaintDuringLayout()) {
        child->repaint();
        child->repaintOverhangingFloats(true);
    }

is causing the new bounds to repaint.  Which is correct.  Except checkForRepaintDuringLayout() may be wrong there.

This is an example of the current contract whereby your parent will force you to repaint when you're painting for the first time.

In bug 92800, I'm exploring making checkForRepaintDuringLayout return true only if the object has ever painted before.  Obviously that would be incompatible with this usage here.

>From this analysis it looks like repaintDirtyFloats() is intentionally repainting the old bounds.  Which is just wrong in the first-layout case.

-- 
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