Chromium Code Reviews
DescriptionReland: Refactor unreliable hit test code to avoid owning_layers
In [1] we switched the unreliable hit test code from using ScrollNode's
owning_layer to using the ScrollTree's layer_id_to_scroll_node_index.
This patch improves on [1] to not use layer_id_to_scroll_node_index
either, which turned out to be owning_layer in disguise.
The existing IsClosestScrollAncestor code has been refactored into a
helper (IsInitialScrollHitTestReliable) that makes the main thread
fallback cases more obvious (see: [2,3]). A test has been added for
the failure case noticed by Ali Juma in [1] where a drawn scrollbar
is the child of a scrolling layer but itself does not scroll.
[1] https://codereview.chromium.org/2702143002
[2] https://codereview.chromium.org/238803005
[3] https://codereview.chromium.org/1878323002
This is a reland of https://codereview.chromium.org/2718833002 which
was rolled out but turned out to not be the actual cause of
https://crbug.com/696919.
TBR=ajuma@chromium.org
BUG=693740
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Review-Url: https://codereview.chromium.org/2720713004
Cr-Commit-Position: refs/heads/master@{#453686}
Committed: https://chromium.googlesource.com/chromium/src/+/dbe75656dc50037306c8a3b6968a5592f4b17106
Patch Set 1 #
Messages
Total messages: 6 (4 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||