Bug 42771

Summary: Composited layers don't scroll in WebKit2
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: WebKit2Assignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, eric, fishd, jamesr, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
Patch for some prep work
none
More prep work: single bottleneck method
none
Patch andersca: review+

Simon Fraser (smfr)
Reported 2010-07-21 10:52:39 PDT
In WebKit2, composited layers don't scroll with the rest of the page.
Attachments
Patch for some prep work (4.22 KB, patch)
2010-07-21 12:20 PDT, Simon Fraser (smfr)
no flags
More prep work: single bottleneck method (3.43 KB, patch)
2010-07-22 11:54 PDT, Simon Fraser (smfr)
no flags
Patch (12.07 KB, patch)
2010-07-22 17:29 PDT, Simon Fraser (smfr)
andersca: review+
Simon Fraser (smfr)
Comment 1 2010-07-21 12:20:37 PDT
Created attachment 62217 [details] Patch for some prep work
Simon Fraser (smfr)
Comment 2 2010-07-21 14:07:47 PDT
James Robinson
Comment 3 2010-07-21 21:54:26 PDT
I tried the patch at http://pastie.org/1054420 in a Chromium mac build and it appears to work fine - the scrolling repaint pixel tests all pass and the scrolling behavior appears correct when manually tested as well.
Simon Fraser (smfr)
Comment 4 2010-07-22 11:54:00 PDT
Created attachment 62322 [details] More prep work: single bottleneck method
Simon Fraser (smfr)
Comment 5 2010-07-22 13:19:12 PDT
Comment on attachment 62322 [details] More prep work: single bottleneck method http://trac.webkit.org/changeset/63907
Simon Fraser (smfr)
Comment 6 2010-07-22 17:29:06 PDT
Eric Seidel (no email)
Comment 7 2010-07-22 18:41:28 PDT
Comment on attachment 62217 [details] Patch for some prep work Cleared Anders Carlsson's review+ from obsolete attachment 62217 [details] so that this bug does not appear in http://webkit.org/pending-commit.
Eric Seidel (no email)
Comment 8 2010-07-22 18:41:34 PDT
Comment on attachment 62322 [details] More prep work: single bottleneck method Cleared Darin Adler's review+ from obsolete attachment 62322 [details] so that this bug does not appear in http://webkit.org/pending-commit.
Anders Carlsson
Comment 9 2010-07-26 10:18:09 PDT
Comment on attachment 62365 [details] Patch > diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp > index 234ad7f270191ef8a7ba5870b072d875bf6f7423..14d45927b3ca31cce19bce537343bbd90ccf8553 100644 > --- a/WebCore/rendering/RenderLayerCompositor.cpp > +++ b/WebCore/rendering/RenderLayerCompositor.cpp > -void RenderLayerCompositor::updateContentLayerScrollPosition(const IntPoint& scrollPosition) > +void RenderLayerCompositor::frameViewDidScroll(const IntPoint& scrollPosition) > { > if (m_scrollLayer) > m_scrollLayer->setPosition(FloatPoint(-scrollPosition.x(), -scrollPosition.y())); > @@ -1039,6 +1039,9 @@ bool RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame() const > // On non-Mac platforms, let compositing propagate for all iframes. > return true; > #else > + if (!m_renderView->frameView()->platformWidget()) > + return true; > + Could you add a comment about why we check for a null platform widget here? Looks fine otherwise!
Simon Fraser (smfr)
Comment 10 2010-07-26 10:48:49 PDT
WebKit Review Bot
Comment 11 2010-07-26 11:58:48 PDT
http://trac.webkit.org/changeset/64054 might have broken Leopard Intel Debug (Tests) The following changes are on the blame list: http://trac.webkit.org/changeset/64053 http://trac.webkit.org/changeset/64054
Darin Fisher (:fishd, Google)
Comment 12 2010-08-16 16:36:35 PDT
This patch broke scrolling in Chromium when there is a fixed position element. Chromium bug: http://code.google.com/p/chromium/issues/detail?id=52332 It seems like we end up missing some invalidates after scrolling.
Simon Fraser (smfr)
Comment 13 2010-08-16 16:48:56 PDT
(In reply to comment #12) > This patch broke scrolling in Chromium when there is a fixed position element. > > Chromium bug: > http://code.google.com/p/chromium/issues/detail?id=52332 > > It seems like we end up missing some invalidates after scrolling. Sounds like bug 42949.
Note You need to log in before you can comment on or make changes to this bug.