Bug 76126

Summary: REGRESSION (r94016): Element with visibility:hidden but visible descendant may not be properly repainted
Product: WebKit Reporter: hrant.novikov
Component: Layout and RenderingAssignee: Julien Chaffraix <jchaffraix>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, hyatt, jchaffraix, simon.fraser, webkit.review.bot
Priority: P1 Keywords: HasReduction, Regression
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
URL: http://stackoverflow.com/questions/8568673/is-there-a-bug-in-chromes-css-visibility-rendering
Attachments:
Description Flags
test case
none
Proposed fix: correct the optimization to not forget some cases.
none
Patch for landing none

Description hrant.novikov 2012-01-11 16:50:55 PST
Setting visibility:hidden and position:fixed to an outer element then overriding the properties to visible and relative/absolute respectively breaks rendering. This seems to be a regression that occurred in the 534 - 535 range (Safari is not affected Chrome 15+ is) and can be reproduced as early as r103795 running under Safari 5.1.2 (didn't try other revisions or browsers).
Comment 1 Alexey Proskuryakov 2012-01-12 12:28:37 PST
Regression range: <http://trac.webkit.org/log/trunk/?rev=94017&stop_rev=94008>, meaning it's <http://trac.webkit.org/changeset/94016>.
Comment 2 Alexey Proskuryakov 2012-01-12 12:28:58 PST
Created attachment 122290 [details]
test case

Same test as an attachment.
Comment 3 Julien Chaffraix 2012-01-17 06:37:17 PST
Created attachment 122758 [details]
Proposed fix: correct the optimization to not forget some cases.
Comment 4 Simon Fraser (smfr) 2012-01-20 11:39:14 PST
Is this different to the fix I made yesterday, http://trac.webkit.org/changeset/105471 ?
Comment 5 Julien Chaffraix 2012-01-20 12:08:10 PST
(In reply to comment #4)
> Is this different to the fix I made yesterday, http://trac.webkit.org/changeset/105471 ?

Yes. This bug does not involve composited layers at all and is about scrolling.
Comment 6 Julien Chaffraix 2012-01-27 15:27:51 PST
Simon, could you look at this patch when you have a minute? I really would like to knock this regression out.
Comment 7 Simon Fraser (smfr) 2012-01-28 01:12:38 PST
Comment on attachment 122758 [details]
Proposed fix: correct the optimization to not forget some cases.

View in context: https://bugs.webkit.org/attachment.cgi?id=122758&action=review

> LayoutTests/fast/layers/scroll-no-visible-content-but-visible-descendant.html:28
> +<div style="overflow: hidden; visibility: hidden;" id="outerDiv">
> +    <div style="position: relative; background: red; visibility: visible;"></div>
> +    <div style="position: relative; overflow: hidden; visibility: visible;">
> +        <div style="background: green"></div>
> +    </div>

I'd prefer the style to not be inline, and use descriptive class names.
Comment 8 Julien Chaffraix 2012-01-28 09:41:27 PST
Created attachment 124438 [details]
Patch for landing
Comment 9 WebKit Review Bot 2012-01-28 11:29:02 PST
Comment on attachment 124438 [details]
Patch for landing

Clearing flags on attachment: 124438

Committed r106191: <http://trac.webkit.org/changeset/106191>
Comment 10 WebKit Review Bot 2012-01-28 11:29:07 PST
All reviewed patches have been landed.  Closing bug.