Hit testing in the compositor requires that there is a cc::Layer marked as being scrollable and sized to the scroll node's bounds. This is needed to ensure scroll events are always captured by a scrollable area and to ensure the hit test is reliable.
For example, layers A and B have been squashed into AB and are on top of scrollable layer C:
+--------------+-+
| |^|
| +---+- - - + | |
| | | | | |
| | A | X | |
| | | | | |
| +---+ | |
| | +---+ | |
| | | | |
| | | B | | |
| | | | |
| +- - - +---+ | |
| | |
| C |v|
+--------------+-+
If AB and C have different scroll nodes, the compositor does not have enough information to handle the hit test and goes to the main thread.
Comment 1 by chrishtr@chromium.org
, Jun 30 2017