RESOLVED FIXED 78008
Investigate rubberbanding/transform-overhang-[e|se|s].html failures
https://bugs.webkit.org/show_bug.cgi?id=78008
Summary Investigate rubberbanding/transform-overhang-[e|se|s].html failures
asvitkine
Reported 2012-02-07 11:39:22 PST
These are the remaining rubberbanding / compositing test failures not fixed by https://bugs.webkit.org/show_bug.cgi?id=78007
Attachments
Patch (99.89 KB, patch)
2012-02-17 06:57 PST, asvitkine
no flags
Patch (100.50 KB, patch)
2012-02-22 09:32 PST, asvitkine
no flags
asvitkine
Comment 1 2012-02-16 14:08:47 PST
The code in ScrollView::calculateOverhangAreasForPainting() is not producing any overhang areas because contentsWidth() and contentsHeight() are both 0. Those checks is there to prevent a "full overhang" bug happening when the page is loading. It does make me think these are related to how the layout tests are setup for the composited case, since we're not seeing the same effect for the non-composited versions of these tests.
asvitkine
Comment 2 2012-02-16 14:42:11 PST
The issue is that in the Composited path, the overhang layer was only getting enabled/disabled in ScrollView::scrollContents(). However, the order of things was such that the scrolling took place before the size had been set, at which time overhang was rightfully calculated to not exist. However, there was no update to this when the size was finally set. The solution is to re-calculate overhang bounds on size change in addition to scrolling.
asvitkine
Comment 3 2012-02-17 06:57:30 PST
asvitkine
Comment 4 2012-02-17 06:59:17 PST
James, can you review?
asvitkine
Comment 5 2012-02-21 12:08:04 PST
Ping.
James Robinson
Comment 6 2012-02-21 22:44:27 PST
Comment on attachment 127583 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=127583&action=review Seems OK, but this weird mix of ScrollView/FrameView/RenderLayerCompositor for overhang areas is really annoying to try to understand and debug. On mac !CHROMIUM, the ScrollbarTheme sets up the overhang area layer to just be a tiled pattern and the shadow layer to be some sort of magic path-based layer. we don't support either of those in our compositor today, but I think we could with not too much effort. I think we'd be much better off using an approach like that rather than manually repainting + reuploading this overhang layer all the time. I suspect you won't want to work on improving this, but would you mind filing some bugs to improve this? I'm not super confident in our ability to maintain the current code. > Source/WebCore/platform/ScrollView.h:285 > + void updateOverhangAreas(); this should be private calculate...() probably should be private as well
asvitkine
Comment 7 2012-02-22 09:32:27 PST
asvitkine
Comment 8 2012-02-22 09:37:54 PST
(In reply to comment #6) > (From update of attachment 127583 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=127583&action=review > > Seems OK, but this weird mix of ScrollView/FrameView/RenderLayerCompositor for overhang areas is really annoying to try to understand and debug. > > On mac !CHROMIUM, the ScrollbarTheme sets up the overhang area layer to just be a tiled pattern and the shadow layer to be some sort of magic path-based layer. we don't support either of those in our compositor today, but I think we could with not too much effort. I think we'd be much better off using an approach like that rather than manually repainting + reuploading this overhang layer all the time. I suspect you won't want to work on improving this, but would you mind filing some bugs to improve this? Filed: https://bugs.webkit.org/show_bug.cgi?id=79251 > > Source/WebCore/platform/ScrollView.h:285 > > + void updateOverhangAreas(); > > this should be private > > calculate...() probably should be private as well Done.
WebKit Review Bot
Comment 9 2012-02-22 12:15:31 PST
The commit-queue encountered the following flaky tests while processing attachment 128228 [details]: storage/indexeddb/index-count.html bug 79266 (authors: hans@chromium.org and jsbell@chromium.org) The commit-queue is continuing to process your patch.
WebKit Review Bot
Comment 10 2012-02-22 12:18:17 PST
Comment on attachment 128228 [details] Patch Clearing flags on attachment: 128228 Committed r108536: <http://trac.webkit.org/changeset/108536>
WebKit Review Bot
Comment 11 2012-02-22 12:18:22 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.