Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d689b8edef147f0eab7c70fc6f0f3a1ad8db5e3b https://github.com/WebKit/WebKit/commit/d689b8edef147f0eab7c70fc6f0f3a1ad8db5e3b Author: Tim Horton <thor...@apple.com> Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths: M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm Log Message: ----------- visionOS: Compositing layers can end up getting shuffled out of order on layer tree mutation https://bugs.webkit.org/show_bug.cgi?id=268420 <rdar://121612730> Reviewed by Richard Robinson and Simon Fraser. It turns out it is not advisable to have interleaved UIView and CALayer children underneath a UIView. Avoid this by wrapping the interaction region root layer in a UIView. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (-[UIView _web_setSubviews:]): Add an assertion to avoid future re-debugging of this issue. (WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates): Don't bother moving the interaction region container around in the non-UIView case; it never comes up, as on UIKit-having platforms we always make UIViews for all but the tile contents layers, which never have interaction regions. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm: (WebKit::RemoteLayerTreeNode::ensureInteractionRegionsContainer): (WebKit::RemoteLayerTreeNode::removeInteractionRegionsContainer): (WebKit::RemoteLayerTreeNode::repositionInteractionRegionsContainerIfNeeded): Swap the CALayer for a UIView. However, we'll continue using the layer for maintaining state and our set of sublayers, since it has no view children. Originally-landed-as: 272448.443@safari-7618-branch (1b8630ced33e). rdar://124554005 Canonical link: https://commits.webkit.org/276644@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes