[Webkit-unassigned] [Bug 111701] Basic child obscuration test for backgrounds
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Mar 12 15:49:16 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=111701
--- Comment #19 from Simon Fraser (smfr) <simon.fraser at apple.com> 2013-03-12 15:51:41 PST ---
(From update of attachment 192795)
View in context: https://bugs.webkit.org/attachment.cgi?id=192795&action=review
> Source/WebCore/rendering/RenderBox.cpp:1135
> +bool RenderBox::isOpaqueInRect(const LayoutRect& localRect) const
I think this should be backgroundIsOpaqueInRect() since it only checks the background.
> Source/WebCore/rendering/RenderBox.cpp:1174
> + // Table background painting is special.
> + if (isTable())
> + return false;
The body/document elements are also special, because of root background propagation.
> Source/WebCore/rendering/RenderBox.cpp:1176
> + LayoutRect backgroundRect = borderBoxRect();
Why doesn't this needs to get the right background rect by checking style()->backgroundClip() like the function above?
> Source/WebCore/rendering/RenderBox.cpp:1189
> + if (childStyle->visibility() != VISIBLE || childStyle->zIndex() < zIndex || childStyle->shapeOutside())
> + continue;
I don't think the z-index check makes sense if we're not a stacking context, or we're not positioned. It would be better to deal with this if the child is a layer, and it should be explicit about us being a stacking context. It's very hard for me to think about whether this check is correct.
> LayoutTests/fast/repaint/obscured-background-no-repaint.html:26
> + setTimeout(logRepaints, 200);
Do we really have to wait 200ms? This will be a very slow test.
--
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