Bug 98579 - REGRESSION (r128787): Fixed position div causes other elements to not update correctly
Summary: REGRESSION (r128787): Fixed position div causes other elements to not update ...
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac (Intel) OS X 10.8
: P1 Normal
Assignee: Simon Fraser (smfr)
URL: http://development.rhubarbproductions...
Keywords: InRadar, Regression
Depends on:
Reported: 2012-10-05 18:22 PDT by Kevin M. Dean
Modified: 2013-01-04 00:42 PST (History)
10 users (show)

See Also:

Simpler testcase (2.50 KB, text/html)
2012-10-15 21:54 PDT, Simon Fraser (smfr)
no flags Details
Patch (8.23 KB, patch)
2012-10-15 23:04 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (9.17 KB, patch)
2012-10-16 11:09 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin M. Dean 2012-10-05 18:22:42 PDT
This test link is reduced from a wordpress admin page where it places an admin bar with a position: fixed; on it.

Load the test page. Scroll the Shortcodes list. About 25% down it stops updating, but if you roll your arrow over the content, that triggers and rendering update. Scroll it back to the top and it starts updating normally again.

Removing the position: fixed; from the top div with Web Inspector causes the glitch to not occur.

Likely related to Bug 98578
Comment 1 Simon Fraser (smfr) 2012-10-08 11:59:25 PDT
It pops into compositing layers then stops updating.
Comment 2 Radar WebKit Bug Importer 2012-10-08 12:00:09 PDT
Comment 3 Simon Fraser (smfr) 2012-10-15 21:54:10 PDT
Created attachment 168848 [details]
Simpler testcase
Comment 4 Simon Fraser (smfr) 2012-10-15 22:16:47 PDT
As you scroll, the positioned children of the overflow div overlap the position:fixed bar, so they become composited (even though they are clipped out, which could be improved).

The issue here is related to the fact that we create a compositing layer for the overflow:hidden, but it is marked as not requiring its own backing store. When scrolling, we repaint this layer's m_repaintRect, but that has been computing local to this layer, even though the layer doesn't paint itself.
Comment 5 Simon Fraser (smfr) 2012-10-15 23:04:45 PDT
Created attachment 168860 [details]
Comment 6 Rik Cabanier 2012-10-15 23:09:06 PDT
Attachment 168860 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1
LayoutTests/compositing/repaint/requires-backing-repaint-expected.png:0:  Set the svn:mime-type property (svn propset svn:mime-type image/png LayoutTests/compositing/repaint/requires-backing-repaint-expected.png).  [image/png] [5]
Total errors found: 1 in 6 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 7 WebKit Review Bot 2012-10-16 00:00:47 PDT
Comment on attachment 168860 [details]

Attachment 168860 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14392050

New failing tests:
Comment 8 Simon Fraser (smfr) 2012-10-16 11:09:24 PDT
Created attachment 168981 [details]
Comment 9 Simon Fraser (smfr) 2012-10-16 11:30:05 PDT
Comment on attachment 168981 [details]


Keeping the bug open because there's still an issue with the scrollbar layers not showing up right away.
Comment 10 Eric Seidel (no email) 2013-01-04 00:42:39 PST
Comment on attachment 168981 [details]

Cleared Beth Dakin's review+ from obsolete attachment 168981 [details] so that this bug does not appear in http://webkit.org/pending-commit.