| Index: ui/accessibility/ax_tree_update.h
|
| diff --git a/ui/accessibility/ax_tree_update.h b/ui/accessibility/ax_tree_update.h
|
| index 0599821afc9acd17832db57aec67bebc0b7a990b..0280efe64490e1118c1f80d0f2c82c4bebf619dc 100644
|
| --- a/ui/accessibility/ax_tree_update.h
|
| +++ b/ui/accessibility/ax_tree_update.h
|
| @@ -15,13 +15,18 @@ namespace ui {
|
| // to an AXTree. The sender and receiver must be in sync; the update
|
| // is only meant to bring the tree from a specific previous state into
|
| // its next state. Trying to apply it to the wrong tree should immediately
|
| -// die with a fatal assertion. An AXTreeUpdate is just an ordered vector
|
| -// of AXNodeData structures to be applied to the tree in order.
|
| +// die with a fatal assertion.
|
| +//
|
| +// An AXTreeUpdate consists of an optional node id to clear (meaning
|
| +// that all of that node's children and their descendants are deleted),
|
| +// followed by an ordered vector of AXNodeData structures to be applied
|
| +// to the tree in order.
|
| //
|
| // Suppose that the next AXNodeData to be applied is |node|. The following
|
| // invariants must hold:
|
| -// 1. Either |node.id| is already in the tree, or else |node| is the new
|
| -// root of the tree and |node.role| == WebAXRoleRootWebArea.
|
| +// 1. Either |node.id| is already in the tree, or else the tree is empty,
|
| +// |node| is the new root of the tree, and
|
| +// |node.role| == WebAXRoleRootWebArea.
|
| // 2. Every child id in |node.child_ids| must either be already a child
|
| // of this node, or a new id not previously in the tree. It is not
|
| // allowed to "reparent" a child to this node without first removing
|
| @@ -35,6 +40,14 @@ struct AX_EXPORT AXTreeUpdate {
|
| AXTreeUpdate();
|
| ~AXTreeUpdate();
|
|
|
| + // The id of a node to clear, before applying any updates,
|
| + // or 0 if no nodes should be cleared. Clearing a node means deleting
|
| + // all of its children and their descendants, but leaving that node in
|
| + // the tree. It's an error to clear a node but not subsequently update it
|
| + // as part of the tree update.
|
| + int node_id_to_clear;
|
| +
|
| + // A vector of nodes to update, according to the rules above.
|
| std::vector<AXNodeData> nodes;
|
|
|
| // TODO(dmazzoni): location changes
|
|
|