1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
// 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 UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_TREE_FORMATTER_AURALINUX_H_
#define UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_TREE_FORMATTER_AURALINUX_H_
#include <atk/atk.h>
#include <atspi/atspi.h>
#include "base/component_export.h"
#include "ui/accessibility/platform/inspect/ax_tree_formatter_base.h"
namespace ui {
class AXPlatformNodeAuraLinux;
class COMPONENT_EXPORT(AX_PLATFORM) AXTreeFormatterAuraLinux
: public AXTreeFormatterBase {
public:
AXTreeFormatterAuraLinux();
~AXTreeFormatterAuraLinux() override;
private:
std::string ProcessTreeForOutput(
const base::Value::Dict& node) const override;
base::Value::Dict BuildTree(AXPlatformNodeDelegate* root) const override;
base::Value::Dict BuildTreeForSelector(
const AXTreeSelector& selector) const override;
base::Value::Dict BuildNode(AXPlatformNodeDelegate* node) const override;
std::string EvaluateScript(const AXTreeSelector& selector,
const AXInspectScenario& scenario) const override;
void RecursiveBuildTree(AtspiAccessible* node, base::Value::Dict* dict) const;
void RecursiveBuildTree(AtkObject*, base::Value::Dict*) const;
void AddProperties(AtkObject*, base::Value::Dict*) const;
void AddProperties(AtspiAccessible*, base::Value::Dict*) const;
void AddTextProperties(AtkObject* atk_object, base::Value::Dict* dict) const;
void AddHypertextProperties(AtkObject* atk_object,
base::Value::Dict* dict) const;
void AddActionProperties(AtkObject* atk_object,
base::Value::Dict* dict) const;
void AddRelationProperties(AtkObject* atk_object,
base::Value::Dict* dict) const;
void AddValueProperties(AtkObject* atk_object, base::Value::Dict* dict) const;
void AddTableProperties(AtkObject* atk_object, base::Value::Dict* dict) const;
void AddTableCellProperties(const AXPlatformNodeAuraLinux* node,
AtkObject* atk_object,
base::Value::Dict* dict) const;
// Returns a string with the relation's name and the roles of the targets it
// points to.
static std::string ToString(AtkRelation* relation);
};
} // namespace ui
#endif // UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_TREE_FORMATTER_AURALINUX_H_
|