The attached test case produces layer tree (GraphicsLayer (anchor 0.00 0.00) (bounds 800.00 600.00) (deep color 1) (children 1 (GraphicsLayer (bounds 800.00 600.00) (contentsOpaque 1) (deep color 1) (children 2 (GraphicsLayer (position 8.00 8.00) (bounds 500.00 500.00) (contentsOpaque 1) (deep color 1) ) (GraphicsLayer (position 30.00 30.00) (bounds 250.00 250.00) (drawsContent 1) (contentsVisible 0) (deep color 1) ) ) ) ) ) The layer with (contentsVisible 0) has visible contents in backing sharing descendants.
Created attachment 369729 [details] test
Maybe we can simply remove contentsVisible and userInteractionEnabled GraphicsLayer properties? Their purpose seems to be entirely subsumed by the event region.
Does the event region control whether an overflow scroll is interactive? If so, then it sounds like we can remove these. But we need to make sure that the pointer-events and visibility properties are correctly reflected in event regions, and that event regions correctly disable interaction on UIScrollViews. More tests required!
(In reply to Simon Fraser (smfr) from comment #3) > Does the event region control whether an overflow scroll is interactive? Yep. > If > so, then it sounds like we can remove these. But we need to make sure that > the pointer-events and visibility properties are correctly reflected in > event regions, and that event regions correctly disable interaction on > UIScrollViews. More tests required! Event regions do respect both visibility and pointer-events and has some testing for those too already.