In bug 108112 I made empty position:fixed elements not composited. However, that now makes us repaint those (empty) layers on every scroll.
Created attachment 189460 [details] Testcase
<rdar://problem/13260967>
In bug 113238, sfmr wrote: Where is NotCompositedForNoVisibleContent actually consulted? I would expect to see a test for it in FrameView::scrollContentsFastPath(), but do not. wangxianzhu wrote: Seems that we need the same test in FrameView::scrollContentsFastPath() (as in ScrollingCoordinator)... Will work on this.
Created attachment 195196 [details] For EWS to generate layout test baseline
Comment on attachment 195196 [details] For EWS to generate layout test baseline Not for formal review yet.
Created attachment 195198 [details] Patch
Comment on attachment 195198 [details] Patch Passed most EWS. The expectations seem ok.
Comment on attachment 195198 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=195198&action=review > Source/WebCore/page/FrameView.cpp:1624 > + if (layer->viewportConstrainedNotCompositedReason() == RenderLayer::NotCompositedForNoVisibleContent) { > + // Don't invalidate for fixed layers that don't have visible contents. > + continue; I think we should also skip if the reason is NotCompositedForBoundsOutOfView.
Created attachment 195371 [details] Add out-of-view case
Comment on attachment 195371 [details] Add out-of-view case View in context: https://bugs.webkit.org/attachment.cgi?id=195371&action=review Code changes look good, but the tests should be proper repaint tests. > LayoutTests/ChangeLog:13 > + * compositing/repaint/scroll-fixed-layer-no-content.html: Added. > + * compositing/repaint/scroll-fixed-layer-no-content-expected.png: Added. > + * compositing/repaint/scroll-fixed-layer-no-content-expected.txt: Added. > + * compositing/repaint/scroll-fixed-layer-out-of-view.html: Added. > + * compositing/repaint/scroll-fixed-layer-out-of-view-expected.png: Added. > + * compositing/repaint/scroll-fixed-layer-out-of-view-expected.txt: Added. These tests should be text tests that dump repaint rects.
Created attachment 195385 [details] New style repaint tests
Comment on attachment 195385 [details] New style repaint tests View in context: https://bugs.webkit.org/attachment.cgi?id=195385&action=review > LayoutTests/compositing/repaint/scroll-fixed-layer-no-content-expected.txt:1 > + It would be nice if the output looked like: "There should be no repaints here."
Comment on attachment 195385 [details] New style repaint tests Attachment 195385 [details] did not pass win-ews (win): Output: http://webkit-commit-queue.appspot.com/results/17230761
Created attachment 195571 [details] For landing
Comment on attachment 195571 [details] For landing Clearing flags on attachment: 195571 Committed r147120: <http://trac.webkit.org/changeset/147120>
All reviewed patches have been landed. Closing bug.