Summary: | Pixel snapping is incorrect for async scrolled overflow layers | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chris Lord <clord> | ||||||||||||
Component: | Compositing | Assignee: | Chris Lord <clord> | ||||||||||||
Status: | NEW --- | ||||||||||||||
Severity: | Normal | CC: | bfulgham, cdumez, changseok, darin, esprehn+autocc, ews-watchlist, fred.wang, glenn, kondapallykalyan, pdr, rego, simon.fraser, svillar, webkit-bug-importer, zalan | ||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||
Hardware: | Unspecified | ||||||||||||||
OS: | Unspecified | ||||||||||||||
Bug Depends on: | |||||||||||||||
Bug Blocks: | 224596 | ||||||||||||||
Attachments: |
|
Description
Chris Lord
2021-06-23 02:34:05 PDT
I'm more convinced there's a legitimate bug here (maybe just a rounding error?), but I've not found it yet... If you force mock scrollbars and load this test in minibrowser with async overflow scrolling enabled, it's clear to me that behaviour isn't quite right with respect to positioning. I'm examining positions and sizes at the moment, but I've not found any odd fractional sizes that might be causing this yet. I have a patch for this now and it is indeed a general problem (with an associated FIXME comment), but I'd like to get bug 227061 resolved first. Small update, it looks like fixing this bug fixes all the remaining failures in bug 224596 :) Can we do this one first? (In reply to Simon Fraser (smfr) from comment #4) > Can we do this one first? We can, just it's two awkward rebases for me :) I'll do that tomorrow assuming there's no movement on bug 227061 though. Created attachment 432579 [details]
Patch
(In reply to Chris Lord from comment #3) > Small update, it looks like fixing this bug fixes all the remaining failures > in bug 224596 :) Whoops, so when I ran tests, I was using the wrong platform - this only fixes 2 of those failures, not all of them. On the plus side, I was also wrong about the rebases being awkward, they were actually trivial. Comment on attachment 432579 [details]
Patch
Not quite correct yet.
Created attachment 432679 [details]
Patch
Comment on attachment 432679 [details]
Patch
With async overflow scrolling disabled, we render scrollbars in the wrong place too (I think because of integral snapping of Widget?) so I'm not sure how we expect scrollbars to render correctly.
Created attachment 432715 [details]
Subpixel scroller test
Created attachment 432725 [details]
Test case
Tested with the patch, things don't seem right. See test and screenshot. Created attachment 432726 [details]
Screenshot
(In reply to Simon Fraser (smfr) from comment #14) > Tested with the patch, things don't seem right. See test and screenshot. This displays correctly for me, but I'm guessing this is affected by a hidpi screen - thanks for this, I'll figure something out. (In reply to Simon Fraser (smfr) from comment #14) > Tested with the patch, things don't seem right. See test and screenshot. Using a device scale factor of 1.5 I reproduce this issue, but it seems to happen prior to this patch too. Is the issue that you expect this patch to also fix this issue? (In reply to Chris Lord from comment #17) > (In reply to Simon Fraser (smfr) from comment #14) > > Tested with the patch, things don't seem right. See test and screenshot. > > Using a device scale factor of 1.5 I reproduce this issue, but it seems to > happen prior to this patch too. Is the issue that you expect this patch to > also fix this issue? (just an extra note; this patch only touches scrolled contents rendering, it doesn't touch scrollbar rendering - so this behaviour is expected to me) |