| Index: chrome/renderer/extensions/automation_internal_custom_bindings.cc
|
| diff --git a/chrome/renderer/extensions/automation_internal_custom_bindings.cc b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
|
| index 826859edb42390cdf33ddb20fa405a2085ebf4ae..e14f43ee56fe0716dad6e0a4ed55d9bf5da579bd 100644
|
| --- a/chrome/renderer/extensions/automation_internal_custom_bindings.cc
|
| +++ b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
|
| @@ -989,6 +989,14 @@ void AutomationInternalCustomBindings::OnAccessibilityEvent(
|
| args->Set(0U, event_params);
|
| context()->DispatchEvent("automationInternal.onAccessibilityEvent", args);
|
| }
|
| +void AutomationInternalCustomBindings::OnNodeDataWillChange(
|
| + ui::AXTree* tree,
|
| + const ui::AXNodeData& old_node_data,
|
| + const ui::AXNodeData& new_node_data) {
|
| + if (old_node_data.GetStringAttribute(ui::AX_ATTR_NAME) !=
|
| + new_node_data.GetStringAttribute(ui::AX_ATTR_NAME))
|
| + text_changed_node_ids_.push_back(new_node_data.id);
|
| +}
|
|
|
| void AutomationInternalCustomBindings::OnTreeDataChanged(ui::AXTree* tree) {}
|
|
|
| @@ -1030,7 +1038,7 @@ void AutomationInternalCustomBindings::OnAtomicUpdateFinished(
|
| if (iter == axtree_to_tree_cache_map_.end())
|
| return;
|
|
|
| - for (auto change : changes) {
|
| + for (const auto change : changes) {
|
| ui::AXNode* node = change.node;
|
| switch (change.type) {
|
| case NODE_CREATED:
|
| @@ -1050,6 +1058,13 @@ void AutomationInternalCustomBindings::OnAtomicUpdateFinished(
|
| break;
|
| }
|
| }
|
| +
|
| + for (int id : text_changed_node_ids_) {
|
| + LOG(ERROR) << "got id!" << id;
|
| + SendTreeChangeEvent(api::automation::TREE_CHANGE_TYPE_TEXTCHANGED, tree,
|
| + tree->GetFromId(id));
|
| + }
|
| + text_changed_node_ids_.clear();
|
| }
|
|
|
| void AutomationInternalCustomBindings::SendTreeChangeEvent(
|
|
|