1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_UTIL_H_
6#define CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_UTIL_H_
7
8#include <vector>
9
10#include "chrome/common/extensions/api/automation_internal.h"
11#include "content/public/browser/ax_event_notification_details.h"
12
13namespace content {
14class BrowserContext;
15}  // namespace content
16
17namespace ui {
18struct AXNodeData;
19}  // namespace ui
20
21namespace extensions {
22
23// Shared utility functions for the Automation API.
24namespace automation_util {
25
26// Dispatch events through the Automation API making any necessary conversions
27// from accessibility to Automation types.
28void DispatchAccessibilityEventsToAutomation(
29    const std::vector<content::AXEventNotificationDetails>& details,
30    content::BrowserContext* browser_context,
31    const gfx::Vector2d& location_offset);
32
33void DispatchTreeDestroyedEventToAutomation(
34    int process_id,
35    int routing_id,
36    content::BrowserContext* browser_context);
37}  // namespace automation_util
38
39}  // namespace extensions
40
41#endif  // CHROME_BROWSER_EXTENSIONS_API_AUTOMATION_INTERNAL_AUTOMATION_UTIL_H_
42