RESOLVED FIXED 101644
Fixed header on Facebook news feed becomes detached from top of viewport after rubber band scrolling
https://bugs.webkit.org/show_bug.cgi?id=101644
Summary Fixed header on Facebook news feed becomes detached from top of viewport afte...
Beth Dakin
Reported 2012-11-08 14:12:53 PST
When scrolling upwards rapidly on my Facebook news feed, the blue header at the top of the page often detaches from the top of the page after my scrolling reaches the top and rubber-bands back. This regression appeared once we started scrolling pages with fixed positioning on the scrolling thread. <rdar://problem/12651944>
Attachments
Patch (12.33 KB, patch)
2012-11-08 14:30 PST, Beth Dakin
simon.fraser: review+
Beth Dakin
Comment 1 2012-11-08 14:30:05 PST
Simon Fraser (smfr)
Comment 2 2012-11-08 16:50:18 PST
Comment on attachment 173118 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=173118&action=review > Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:88 > +IntSize scrollOffsetForFixedPosition(const IntRect visibleContentRect, const IntSize contentsSize, const IntPoint scrollPosition, const IntPoint scrollOrigin, float frameScaleFactor, bool fixedElementsLayoutRelativeToFrame) All the const IntFoo should be references. > Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:281 > + LayoutRect viewportRect = IntRect(scrollOffsetForFixed.width(), scrollOffsetForFixed.height(), visibleContentRect.width(), visibleContentRect.height()); I think we have toPoint() and toSize() now. > Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:285 > + IntRect viewportRect = IntRect(scrollOffsetForFixedChildren.width(), scrollOffsetForFixedChildren.height(), viewportSize.width(), viewportSize.height()); Here you can just do viewportRect = this->viewportRect(); viewportRect.setLocation(toInt(scrollOffsetForFixedChildren)).
Beth Dakin
Comment 3 2012-11-08 17:02:08 PST
Thanks, Simon! I made the suggested changes. http://trac.webkit.org/changeset/133974
Note You need to log in before you can comment on or make changes to this bug.