[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
Thu Jun 6 17:29:00 PDT 2013


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


Simon Fraser (smfr) <simon.fraser at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #203661|review?                     |review+
               Flag|                            |




--- Comment #13 from Simon Fraser (smfr) <simon.fraser at apple.com>  2013-06-06 17:27:33 PST ---
(From update of attachment 203661)
View in context: https://bugs.webkit.org/attachment.cgi?id=203661&action=review

> Source/WebCore/ChangeLog:18
> +        In the reproduced content, overflow:hidden parent(called P) has display:none replaced child(called C).
> +        If we hover a element, P becomes overflow:visible, and C becomes display:block.
> +        If we mouse out from the element, P becomes hidden, and C becomes none, and part of C is not repainted.
> +
> +        When we mouse out from the element, P and C request repaint.
> +        Before requesting repaint, P becomes overflow: hidden, and it makes hasOverflowClip() true.
> +        Requesting repaint from C is clipped by P at RenderBox::computeRectForRepaint().
> +        The rect which P requests repaint is content rect of P, so the rect which is overflowed from P is not requested.
> +
> +        If C is not relative, visual overflow rect of P has the rect of C, so we can repaint well.
> +        If C doesn't become display:none, layouting C requests repaint the rect of C, so we can repaint well.

I don't think this long explanation is necessary.

> Source/WebCore/rendering/RenderLayerModelObject.cpp:82
> +    return !hasSelfPaintingLayer() && container->hasOverflowClip();

You should ASSERT that o is the container.

> LayoutTests/fast/repaint/change-overflow-and-display-of-relative-expected.html:2
> +<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Don't need the <meta> tag.

> LayoutTests/fast/repaint/change-overflow-and-display-of-relative.html:32
> +        }, 50);

Can this be < 50ms?

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