Fix nested border radius with composited child.
Walk up the layer tree from a layer that needs an
AncestorChildClippingMaskLayer to find all border radius clips to
apply. Several auxiliary changes were required. The code in CLM for
determining if a mask layer is needed has also been reworked to
test against all clips.
Make LayerClipRecorder::CollectRoundedRectClips a public static member
so that CLM can use it to determine if the mask layer is required. Also
expand the conditions in which LayerClipRecorder uses the method to
catch all cases where masks need rounded clips.
Make several PaintLayer methods const, because they can be and we need
them so.
New tests for various cases of border radius where not just the parent
layer needs checking, or where we need to skip over the parent layer and
still check.
R=chrishtr@chromium.org
BUG=
672561
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Review-Url:
https://codereview.chromium.org/2923683002
Cr-Commit-Position: refs/heads/master@{#478814}
Committed:
https://chromium.googlesource.com/chromium/src/+/e4208d105f75a14f9719ae35c19d7104f08a5f0b