Hey Chris,
It looks to me like PLSA::shouldScrollOnMainThread is used to decide where to
run scroll animations while PLSA::usesCompositedScrolling is used to calculate
the main thread scrolling regions for the compositor. It seems strange that we
have two separate methods for this. I think the reason that condition being only
in the one method hasn't been a problem is because this was meant for touch
scrolling which doesn't use scroll animations. Adding it to
shouldScrollOnMainThread wouldn't hurt though.
I think the reason the test continues to pass is that LayoutTests send events to
the main thread, not CC, so the usesCompositedScrolling decision is moot since
scrolling will happen on the main thread in the test. It's the
userInputScrollable change in my CL that actually made it work once the scroll
happened on the main thread. With this CL, can you touch scroll an input field
with overflowing text? It's possible enough has changed that this isn't actually
needed anymore.
FYI, I think this was the first CL I landed in Chrome so I didn't have a great
understanding of how things worked. There's probably a better way to make the
input box scrollable. IIRC, the reason it didn't work was because
userInputScrollable would check the box's overflow style but the input box
wasn't styled as overflowing; instead, it hid some child elements that were. We
could probably rearrange that make scrolling inputs less special. Maybe it could
even scroll on the compositor, though I'm not sure about how that would work
with selection/carets and the like.
https://codereview.chromium.org/2271883002/