[blink-gen-property-trees] Fix NonFastScrollRegion

This CL fixes non-fast-scroll-region when blink-gen-property-trees is
turned on.

NonFastScrollRegions are added onto a cc::Layer to specify that
scrolling within the region must be handled on the main thread (for
example, becauser there's a non-composited scroller there).

Pre-BGPT, these were copied from the cc::Layer to the cc::ScrollNode
during property tree building. With BGPT, the property trees are built
in Blink but the NonFastScrollRegion is now only stored on the
cc::Layer. See disucssion in the bug for the reasoning.

This patch makes the compositor read the regions off the cc::Layer
rather than the ScrollNode. This requires the ability to get a Layer
given a ScrollNode. We add a map in LayerTreeImpl from element_id to
scrollable LayerImpls for this reason.

Bug: 877576
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux-blink-gen-property-trees;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id9f545d50b7a90177c21b60668a6d93f3afb2106
Reviewed-on: https://chromium-review.googlesource.com/1223248
Reviewed-by: Philip Rogers <[email protected]>
Commit-Queue: Philip Rogers <[email protected]>
Cr-Commit-Position: refs/heads/master@{#591586}
11 files changed