RESOLVED FIXED196330
Overlays on instagram.com are shifted if you click on a photo after scrolling
https://bugs.webkit.org/show_bug.cgi?id=196330
Summary Overlays on instagram.com are shifted if you click on a photo after scrolling
Simon Fraser (smfr)
Reported 2019-03-27 17:16:46 PDT
Go to an instagram page with photos. Scroll down. Click on a photo. The fixed overlay that comes up is offset by your scroll position.
Attachments
Reduction (1.57 KB, text/html)
2019-03-27 17:17 PDT, Simon Fraser (smfr)
no flags
Patch (8.12 KB, patch)
2019-03-27 21:22 PDT, Simon Fraser (smfr)
koivisto: review+
Simon Fraser (smfr)
Comment 1 2019-03-27 17:17:42 PDT
Created attachment 366131 [details] Reduction
Simon Fraser (smfr)
Comment 2 2019-03-27 17:18:51 PDT
Simon Fraser (smfr)
Comment 3 2019-03-27 17:20:55 PDT
The site basically does: document.body.style.top = -window.scrollY + 'px'; document.body.style.position = "fixed"; // show fixed overlay so we get a scrolling tree commit that has a new layout viewport (goes from origin 0,scrollTop to 0,0) and a new scrollPosition. In this case, we have to clobber the scrolling thread's notion of scroll position because the document suddenly became non-scrollable, so this has to act like a requestedScrollPosition change.
Simon Fraser (smfr)
Comment 4 2019-03-27 20:07:44 PDT
Ah, this is about the race between the scrolling tree commit and calling ScrollingTree::applyLayerPositions() on the main thread. I might have to have the main thread wait on the commit.
Simon Fraser (smfr)
Comment 5 2019-03-27 21:22:21 PDT
Simon Fraser (smfr)
Comment 6 2019-03-28 08:04:08 PDT
I'll try to make the attachment into a test case.
Simon Fraser (smfr)
Comment 7 2019-03-28 09:45:42 PDT
Note You need to log in before you can comment on or make changes to this bug.