[Webkit-unassigned] [Bug 83813] New: popstate restores incorrect scroll position if destination page is longer than the previous
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Apr 12 13:26:49 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=83813
Summary: popstate restores incorrect scroll position if
destination page is longer than the previous
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Page Loading
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: josh at joshpeek.com
CC: aroben at webkit.org
Created an attachment (id=136958)
--> (https://bugs.webkit.org/attachment.cgi?id=136958&action=review)
popstate scroll restore test case
If you scroll to the bottom of a long page and use pushstate to navigate forward, going back will restore the wrong position. The restored positioned will be clipped to the max height of the previous page rather than fully scrolling to the bottom.
It seems that if you force a synchronous relayout/reflow within the popstate handler, the position will be restored correctly.
The bug affects Safari, Chrome, and Firefox. But the hack doesn't appear to fix it in Firefox. Strangely it all works fine if you use the back/forward touch gestures in Safari.
See the attached test case. (Note that uncommenting the relayout line fixes the issue)
Possibly related issues:
* https://bugs.webkit.org/show_bug.cgi?id=33931
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list