Bug 71550

Summary: REGRESSION (r93614): Content remains despite parent element being scrolled off page using javascript.
Product: WebKit Reporter: Matt Bee <bee.matt>
Component: Layout and RenderingAssignee: Julien Chaffraix <jchaffraix>
Status: RESOLVED FIXED    
Severity: Normal CC: asvitkine, jchaffraix, mitz, simon.fraser, webkit.review.bot
Priority: P1 Keywords: HasReduction, Regression
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
URL: http://ec2-79-125-31-197.eu-west-1.compute.amazonaws.com/
Attachments:
Description Flags
Screenshots of working page and incorrect rendering on subsequent navigation
none
Reduction, there should be no red on the page
none
WIP fix 1: be more correct but keep the previous table optimization, needs some more testing.
none
Fix 2: better table coverage, same code change, only Chromium-linux baseline.
none
Patch for landing none

Description Matt Bee 2011-11-04 03:16:42 PDT
Chrome Version       : 15.0.874.106
OS Version: OS X 10.7.2
URLs (if applicable) : http://ec2-79-125-31-197.eu-west-1.compute.amazonaws.com/
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari 5: OK
  Firefox 7.x: OK
     IE 7/8/9: OK
 Opera 11.51: OK

Bug replicated on chrome and as per Chromium report:
It seems that this is an Webkit issue because I can also reproduce it with the Latest Webkit r98912. Please file a report at https://bugs.webkit.org/ and post the webkit-bug-no here. Thanks in advance!
http://code.google.com/p/chromium/issues/detail?id=102471

What steps will reproduce the problem?
1. Visit http://ec2-79-125-31-197.eu-west-1.compute.amazonaws.com/ (qa site)
2. Click on The Fabric Offering (note title and content)
3. Click on the "Unified Customer Profile"

What is the expected result?
The Fabric offering content scrolls off screen using javascript

What happens instead?
Only some of the content scrolls off screen.  If the content is selected or mouseover occurs, the content is then revealed as it should be. Inspect element also reveals content as it should do.

Please provide any additional information below. Attach a screenshot if
possible.

UserAgentString: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2
Comment 1 Matt Bee 2011-11-04 03:18:17 PDT
Created attachment 113641 [details]
Screenshots of working page and incorrect rendering on subsequent navigation
Comment 2 Alexey Proskuryakov 2011-11-04 13:25:22 PDT
Possibly a duplicate of bug 67100.
Comment 3 Julien Chaffraix 2011-11-04 14:22:38 PDT
(In reply to comment #2)
> Possibly a duplicate of bug 67100.

Difficult to say without knowing what's going on in the Reader. See also bug 71475.
Comment 4 Julien Chaffraix 2011-11-04 16:03:01 PDT
Created attachment 113725 [details]
Reduction, there should be no red on the page
Comment 5 Julien Chaffraix 2011-11-07 16:56:38 PST
*** Bug 71475 has been marked as a duplicate of this bug. ***
Comment 6 Julien Chaffraix 2011-11-07 18:21:44 PST
Created attachment 113972 [details]
WIP fix 1: be more correct but keep the previous table optimization, needs some more testing.
Comment 7 Julien Chaffraix 2011-11-08 14:54:50 PST
Created attachment 114158 [details]
Fix 2: better table coverage, same code change, only Chromium-linux baseline.
Comment 8 Simon Fraser (smfr) 2011-11-09 10:59:11 PST
Comment on attachment 114158 [details]
Fix 2: better table coverage, same code change, only Chromium-linux baseline.

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

> Source/WebCore/rendering/RenderLayer.cpp:439
> +    if (flags & HasSeenFixedPositionedAncestor || renderer()->style()->position() == FixedPosition) {

Would prefer parens around flags & HasSeenFixedPositionedAncestor

> Source/WebCore/rendering/RenderLayer.cpp:448
> +    } else if (flags & HasSeenAncestorWithOverflowClip && !m_canSkipRepaintRectsUpdateOnScroll) {

Ditto

> Source/WebCore/rendering/RenderLayer.h:475
> +        HasSeenFixedPositionedAncestor = 1 << 1,
> +        HasSeenAncestorWithOverflowClip = 1 << 2

Should be 1 << 0 and 1 << 1
Comment 9 Julien Chaffraix 2011-11-09 12:01:25 PST
Created attachment 114336 [details]
Patch for landing
Comment 10 WebKit Review Bot 2011-11-09 12:35:40 PST
Comment on attachment 114336 [details]
Patch for landing

Clearing flags on attachment: 114336

Committed r99752: <http://trac.webkit.org/changeset/99752>
Comment 11 WebKit Review Bot 2011-11-09 12:35:48 PST
All reviewed patches have been landed.  Closing bug.