blob: 9b92b917bf57c83c8d6bbcb283addd85322f9d7c [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef EXTENSIONS_RENDERER_API_AUTOMATION_AUTOMATION_API_CONVERTERS_H_
#define EXTENSIONS_RENDERER_API_AUTOMATION_AUTOMATION_API_CONVERTERS_H_
#include "extensions/common/api/automation.h"
#include "ui/accessibility/ax_enums.mojom-shared.h"
#include "ui/accessibility/platform/automation/automation_api_util.h"
namespace extensions {
// Utility functions to convert to and from automation API types.
api::automation::MarkerType ConvertMarkerTypeFromAXToAutomation(
ax::mojom::MarkerType ax);
api::automation::TreeChangeType ConvertToAutomationTreeChangeType(
ax::mojom::Mutation change_type);
ui::TreeChangeObserverFilter ConvertAutomationTreeChangeObserverFilter(
api::automation::TreeChangeObserverFilter filter);
// Maps a key, a stringification of values in ui::AXEventGenerator::Event or
// ax::mojom::Event into a value, automation::api::EventType. The runtime
// invariant is that there should be exactly the same number of values in the
// map as is the size of api::automation::EventType.
api::automation::EventType AXEventToAutomationEventType(
ax::mojom::Event event_type);
api::automation::EventType AXGeneratedEventToAutomationEventType(
ui::AXEventGenerator::Event event_type);
} // namespace extensions
#endif // EXTENSIONS_RENDERER_API_AUTOMATION_AUTOMATION_API_CONVERTERS_H_