[Webkit-unassigned] [Bug 59863] Incomplete repaint with box-shadow and padding when Javascript updates document

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 28 04:52:57 PDT 2012


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





--- Comment #22 from Andrei Bucur <abucur at adobe.com>  2012-05-28 04:52:56 PST ---
(In reply to comment #21)
> (From update of attachment 143767 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=143767&action=review
> 
> > LayoutTests/ChangeLog:3
> > +        Incomplete repaint with box-shadow and padding when Javascript updates document
> 
> "when Javascript updates document" is too vague. The bug title and change log should be changed to be more specific (what's being updated?)
Will do.

> 
> > LayoutTests/fast/repaint/box-shadow-inset-repaint.html:14
> > +		document.getElementById('container').innerHTML = "<div style='width:100px; height:100px; background-color:green'></div>";
> 
> I suspect the bug could be reproduced just by changing style, rather than setting innerHTML. This would result in a cleaner test case.
I remember trying to use style change a few months back, when I started looking into this. The bug stopped reproducing because the style diff would've triggered a full repaint. This seemed like the simplest way to do it.

> 
> > Source/WebCore/rendering/RenderObject.cpp:1446
> > +        LayoutUnit borderWidth = max<LayoutUnit>(-outlineStyle->outlineOffset(), max<LayoutUnit>(borderRight, max<LayoutUnit>(valueForLength(style()->borderTopRightRadius().width(), boxWidth, v), valueForLength(style()->borderBottomRightRadius().width(), boxWidth, v)))) + max<LayoutUnit>(ow, shadowRight) - insetShadowRight;
> 
> This line is incredibly hard to read. Maybe break it somehow, or use local variables.
Will do. While braking this out, I think I've noticed some possible improvements to the rectangle size.

> 
> > Source/WebCore/rendering/style/RenderStyle.cpp:1178
> > +void RenderStyle::getShadowInsetExtent(const ShadowData* shadow, LayoutUnit &top, LayoutUnit &right, LayoutUnit &bottom, LayoutUnit &left) const
> > +{
> 
> FractionalLayoutBoxExtent was added in 118076. Perhaps that should be used here.
What should I do with the other similar methods in RenderStyle (e.g. getShadowExtent)? Should I rewrite those as well?

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