| Index: ui/accessibility/ax_tree.cc
|
| diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
|
| index 62e31e87e642e6de19bfb1b1fee0b7ad7e4c4003..a50a469adc61e1b1e206cada98f0a794b36393cc 100644
|
| --- a/ui/accessibility/ax_tree.cc
|
| +++ b/ui/accessibility/ax_tree.cc
|
| @@ -53,12 +53,12 @@ AXTree::AXTree()
|
| root.id = -1;
|
| root.role = AX_ROLE_ROOT_WEB_AREA;
|
|
|
| - AXTreeUpdate<AXNodeData> initial_state;
|
| + AXTreeUpdate initial_state;
|
| initial_state.nodes.push_back(root);
|
| CHECK(Unserialize(initial_state)) << error();
|
| }
|
|
|
| -AXTree::AXTree(const AXTreeUpdate<AXNodeData>& initial_state)
|
| +AXTree::AXTree(const AXTreeUpdate& initial_state)
|
| : delegate_(NULL), root_(NULL) {
|
| CHECK(Unserialize(initial_state)) << error();
|
| }
|
| @@ -77,10 +77,19 @@ AXNode* AXTree::GetFromId(int32 id) const {
|
| return iter != id_map_.end() ? iter->second : NULL;
|
| }
|
|
|
| -bool AXTree::Unserialize(const AXTreeUpdate<AXNodeData>& update) {
|
| +void AXTree::UpdateData(const AXTreeData& data) {
|
| + data_ = data;
|
| + if (delegate_)
|
| + delegate_->OnTreeDataChanged(this);
|
| +}
|
| +
|
| +bool AXTree::Unserialize(const AXTreeUpdate& update) {
|
| AXTreeUpdateState update_state;
|
| int32 old_root_id = root_ ? root_->id() : 0;
|
|
|
| + if (update.has_tree_data)
|
| + UpdateData(update.tree_data);
|
| +
|
| if (update.node_id_to_clear != 0) {
|
| AXNode* node = GetFromId(update.node_id_to_clear);
|
| if (!node) {
|
| @@ -144,7 +153,7 @@ bool AXTree::Unserialize(const AXTreeUpdate<AXNodeData>& update) {
|
| }
|
|
|
| std::string AXTree::ToString() const {
|
| - return TreeToStringHelper(root_, 0);
|
| + return "AXTree" + data_.ToString() + "\n" + TreeToStringHelper(root_, 0);
|
| }
|
|
|
| AXNode* AXTree::CreateNode(AXNode* parent, int32 id, int32 index_in_parent) {
|
|
|