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

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, 1 month 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..6af78f1ac48e2d78c44533e53c5ebbdcd6137f98 100644
--- a/chrome/browser/extensions/api/automation_internal/automation_util.cc
+++ b/chrome/browser/extensions/api/automation_internal/automation_util.cc
@@ -8,6 +8,7 @@
#include <utility>
#include "base/values.h"
+#include "chrome/browser/accessibility/ax_tree_id_registry.h"
#include "chrome/common/extensions/api/automation_internal.h"
#include "extensions/browser/event_router.h"
#include "ui/accessibility/ax_enums.h"
@@ -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 =
+ 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,13 @@ void DispatchTreeDestroyedEventToAutomation(
int process_id,
int routing_id,
content::BrowserContext* browser_context) {
+ int tree_id = AXTreeIDRegistry::GetInstance()->GetOrCreateAXTreeID(
+ process_id, routing_id);
DispatchEventInternal(
browser_context,
api::automation_internal::OnAccessibilityTreeDestroyed::kEventName,
- api::automation_internal::OnAccessibilityTreeDestroyed::Create(
- process_id, routing_id));
+ api::automation_internal::OnAccessibilityTreeDestroyed::Create(tree_id));
+ AXTreeIDRegistry::GetInstance()->RemoveAXTreeID(tree_id);
}
} // namespace automation_util

Powered by Google App Engine
This is Rietveld 408576698