Summary: | Element with position:fixed stops scrolling at the bottom of the page, but is painted in the right place on Chacos.com. | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Stephanie Poll <stephanie.poll> | ||||||||
Component: | New Bugs | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | commit-queue, simon.fraser, thorton, webkit-bug-importer, zalan | ||||||||
Priority: | P2 | Keywords: | InRadar, PlatformOnly | ||||||||
Version: | Safari 11 | ||||||||||
Hardware: | iPhone / iPad | ||||||||||
OS: | iOS 11 | ||||||||||
URL: | http://www.chacos.com/US/en/home | ||||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=182052 | ||||||||||
Attachments: |
|
Description
Stephanie Poll
2018-01-17 07:01:59 PST
I can reproduce. Created attachment 331553 [details]
Reduction
Seems to happen on pages that have a viewport meta tag that triggers scaling. I'm surprised this is such a basic failure :(
So this issue happens when the minimum scale is > 1. FrameView::visualViewportRect() returns a visual viewport that's too big (larger than the document) because it assumes that it can scale the visible rect by the scale (~1.3 on this page). The iOS-only code in FrameView::unscaledMaximumScrollPosition() looks suspicious. Bug 174648 is relevant. Created attachment 331953 [details]
Patch
Comment on attachment 331953 [details] Patch Clearing flags on attachment: 331953 Committed r227430: <https://trac.webkit.org/changeset/227430> All reviewed patches have been landed. Closing bug. |