In additional to child_clipping_mask_layer_, CLM also applies clip-path to ancestor_clipping_mask_layer_. This is wrong because ancestor_clipping_mask_layer_ is in the space of pre-transform box, while clip-path should be applied in the transformed space.
For example (http://jsbin.com/fitexecacu/):
<div style="width:100px; height:100px; overflow:hidden; border-radius:1px;">
<div style="width:100px; height:100px; clip-path:circle(); background:red; transform:translate3d(30px, 30px, 0);"></div>
</div>
The clip-path is applied (wrongfully) twice, both in the pre-transform space and post-transform space.
Expectation (http://jsbin.com/mitixaxilo/):
<div style="width:100px; height:100px; overflow:hidden; border-radius:1px;">
<div style="position:relative; left:30px; top:30px; width:100px; height:100px; clip-path:circle(); background:red;"></div>
</div>
Similar to crbug.com/792280 , clip-path really, really, should only be applied by the mask layer.
Comment 1 by schenney@chromium.org
, Jan 2 2018