[Webkit-unassigned] [Bug 116994] Setting overflow:hidden on position:absolute does not repaint hidden content

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 4 05:28:13 PDT 2013


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





--- Comment #10 from Yuki Sekiguchi <yuki.sekiguchi at access-company.com>  2013-06-04 05:26:46 PST ---
Hi  Robert,

(In reply to comment #7)
> (From update of attachment 203434 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=203434&action=review
> 
> Seems like a nice catch!
> 
> > Source/WebCore/rendering/RenderBox.cpp:2036
> > +    if (!hasSelfPaintingLayer() && o->hasOverflowClip()) {
> 
> This pattern pops up in a couple of other places too. Why not make a helper called shouldUseOverflowClip() or similar - that would also be a good place to add a comment about why we only need to worry about clipping on layers that aren't self-painting, something from the Changelog in r41203 for example. I say this because I had to dig around a bit to find out for myself.
> 
> You also need to fix this function in RenderObject.

I found two method using this pattern, but all of them (including my patch) check different conditions.
* RenderBlock::nodeAtPoint() want probability that children overflow, so it only checks whether it clips children or not.
* RenderBox::addOverflowFromChild() want to know it should add a child to its visual overflow, so it checks that it has overflow clip (never overflow) and it should contain the child as visual overflow(if the child have self painting layer, it never overflow).
* My patch checks that parent contains it as visual overflow.

Yes. We can rewrite addOverflowFromChild() to the following:
> if ((!child->hasSelfPaintingLayer() && hasOverflowClip())  || child->hasSelfPaintingLayer())
Then, we can refactor the code to use helper function.
However, I think original code is more clear than refactored code.

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