#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"
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;
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