| 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 301e74d0258b6dea7baf89b6ad313f9487ace277..6fc8560df45170bede51497bc66601b52b015bcf 100644
|
| --- a/chrome/renderer/extensions/automation_internal_custom_bindings.cc
|
| +++ b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
|
| @@ -685,6 +685,8 @@ void AutomationInternalCustomBindings::OnMessageReceived(
|
| const IPC::Message& message) {
|
| IPC_BEGIN_MESSAGE_MAP(AutomationInternalCustomBindings, message)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_AccessibilityEvent, OnAccessibilityEvent)
|
| + IPC_MESSAGE_HANDLER(ExtensionMsg_AccessibilityLocationChange,
|
| + OnAccessibilityLocationChange)
|
| IPC_END_MESSAGE_MAP()
|
| }
|
|
|
| @@ -1126,6 +1128,21 @@ void AutomationInternalCustomBindings::OnAccessibilityEvent(
|
| context()->DispatchEvent("automationInternal.onAccessibilityEvent", args);
|
| }
|
|
|
| +void AutomationInternalCustomBindings::OnAccessibilityLocationChange(
|
| + const ExtensionMsg_AccessibilityLocationChangeParams& params) {
|
| + int tree_id = params.tree_id;
|
| + auto iter = tree_id_to_tree_cache_map_.find(tree_id);
|
| + if (iter == tree_id_to_tree_cache_map_.end())
|
| + return;
|
| + TreeCache* cache = iter->second;
|
| + ui::AXNode* node = cache->tree.GetFromId(params.id);
|
| + if (!node)
|
| + return;
|
| + node->SetLocation(params.new_location.offset_container_id,
|
| + params.new_location.bounds,
|
| + params.new_location.transform.get());
|
| +}
|
| +
|
| void AutomationInternalCustomBindings::OnNodeDataWillChange(
|
| ui::AXTree* tree,
|
| const ui::AXNodeData& old_node_data,
|
|
|