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

Unified Diff: chrome/browser/extensions/api/automation_internal/automation_util.cc

Issue 667713006: Implement automatic load of composed/embedded automation trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkcr
Patch Set: Created 6 years, 2 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/browser/extensions/api/automation_internal/automation_util.cc
diff --git a/chrome/browser/extensions/api/automation_internal/automation_util.cc b/chrome/browser/extensions/api/automation_internal/automation_util.cc
index 72a94b467e827a52badaef3ccdd2b336085806a7..43eca88c88e9c97e670e66633da4c4c799f633e7 100644
--- a/chrome/browser/extensions/api/automation_internal/automation_util.cc
+++ b/chrome/browser/extensions/api/automation_internal/automation_util.cc
@@ -12,6 +12,7 @@
#include "extensions/browser/event_router.h"
#include "ui/accessibility/ax_enums.h"
#include "ui/accessibility/ax_node_data.h"
+#include "ui/accessibility/ax_tree_id_registry.h"
namespace extensions {
@@ -136,8 +137,9 @@ void DispatchAccessibilityEventsToAutomation(
const content::AXEventNotificationDetails& event = *iter;
AXEventParams ax_event_params;
- ax_event_params.process_id = event.process_id;
- ax_event_params.routing_id = event.routing_id;
+ ax_event_params.tree_id =
+ ui::AXTreeIDRegistry::GetInstance()->GetOrCreateAXTreeID(
+ event.process_id, event.routing_id);
ax_event_params.event_type = ToString(iter->event_type);
ax_event_params.target_id = event.id;
@@ -168,11 +170,15 @@ void DispatchTreeDestroyedEventToAutomation(
int process_id,
int routing_id,
content::BrowserContext* browser_context) {
+ int tree_id =
+ ui::AXTreeIDRegistry::GetInstance()->GetOrCreateAXTreeID(
+ process_id, routing_id);
DispatchEventInternal(
browser_context,
api::automation_internal::OnAccessibilityTreeDestroyed::kEventName,
api::automation_internal::OnAccessibilityTreeDestroyed::Create(
- process_id, routing_id));
+ tree_id));
+ ui::AXTreeIDRegistry::GetInstance()->RemoveAXTreeID(tree_id);
}
} // namespace automation_util

Powered by Google App Engine
This is Rietveld 408576698