Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: chrome/renderer/extensions/automation_internal_custom_bindings.cc

Issue 1716663002: Add a treeChange type to Automation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git cl set_commit Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698