Files
brave-core/components/tabs
Sangwoo Ko 6a49c03cd0 [Tree Tabs] Make TreeTabModel::SetCollapsed/DoesBelongToCollapsedNode() (#34380)
* Make TreeTabModel::SetCollapsed/DoesBelongToCollapsedNode()

TreeTabModel:
- Cache closest collapsed ancestor per node for O(1) visibility checks.
- Add SetCollapsed(id, collapsed) as UI entry point; calls TreeTabNode::set_collapsed()
  and updates cache for affected descendants.
- Add DoesBelongToCollapsedNode(id) for quick "under collapsed" queries.
- Update cache in AddTreeTabNode (new node's closest collapsed), RemoveTreeTabNode
  (recompute nodes that had removed id as closest), and OnTreeTabNodeMoved (recompute
  moved node and its descendants after reparent).

TreeTabNode:
- Add GetClosestCollapsedAncestorId(), IsUnderCollapsedAncestor(), CollectDescendantIds()
  for cache maintenance and tree traversal.

TreeTabNodeTabCollection:
- Add on_move callback; BuildTreeTabs and constructor take on_move.
- OnReparented invokes on_move so TreeTabModel can refresh collapse cache.
- Change on_create signature from void(const TreeTabNode&) to void(TreeTabNode&) so
  delegate can pass AddTreeTabNode (non-const).

BraveTreeTabStripCollectionDelegate:
- Wire on_move to TreeTabModel::OnTreeTabNodeMoved in BuildTreeTabs and in
  single-node TreeTabNodeTabCollection creation sites.
2026-03-05 08:00:19 +09:00
..