| 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
|
|
|