#include "content/browser/accessibility/accessibility_tree_formatter_blink.h"
#include <cmath>
#include <cstddef>
#include <optional>
#include <utility>
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/accessibility/ax_selection.h"
#include "ui/accessibility/platform/ax_platform_node_delegate.h"
#include "ui/accessibility/platform/browser_accessibility.h"
#include "ui/accessibility/platform/browser_accessibility_manager.h"
#include "ui/accessibility/platform/compute_attributes.h"
#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/gfx/geometry/transform.h"
namespace content {
namespace {
std::optional<std::string> GetStringAttribute(const ui::AXNode& node,
ax::mojom::StringAttribute attr) { … }
std::string FormatColor(int argb) { … }
std::string IntAttrToString(const ui::AXNode& node,
ax::mojom::IntAttribute attr,
int32_t value) { … }
}
AccessibilityTreeFormatterBlink::AccessibilityTreeFormatterBlink() = default;
AccessibilityTreeFormatterBlink::~AccessibilityTreeFormatterBlink() = default;
void AccessibilityTreeFormatterBlink::AddDefaultFilters(
std::vector<AXPropertyFilter>* property_filters) { … }
const char* const TREE_DATA_ATTRIBUTES[] = …;
const char* STATE_FOCUSED = …;
const char* STATE_OFFSCREEN = …;
base::Value::Dict AccessibilityTreeFormatterBlink::BuildTree(
ui::AXPlatformNodeDelegate* root) const { … }
base::Value::Dict AccessibilityTreeFormatterBlink::BuildTreeForSelector(
const AXTreeSelector& selector) const { … }
base::Value::Dict AccessibilityTreeFormatterBlink::BuildTreeForNode(
ui::AXNode* node) const { … }
base::Value::Dict AccessibilityTreeFormatterBlink::BuildNode(
ui::AXPlatformNodeDelegate* node) const { … }
std::string AccessibilityTreeFormatterBlink::DumpInternalAccessibilityTree(
ui::AXTreeID tree_id,
const std::vector<AXPropertyFilter>& property_filters) { … }
void AccessibilityTreeFormatterBlink::RecursiveBuildTree(
const ui::BrowserAccessibility& node,
base::Value::Dict* dict) const { … }
void AccessibilityTreeFormatterBlink::RecursiveBuildTree(
const ui::AXNode& node,
base::Value::Dict* dict) const { … }
void AccessibilityTreeFormatterBlink::AddProperties(
const ui::BrowserAccessibility& node,
base::Value::Dict* dict) const { … }
void AccessibilityTreeFormatterBlink::AddProperties(
const ui::AXNode& node,
base::Value::Dict* dict) const { … }
std::string AccessibilityTreeFormatterBlink::ProcessTreeForOutput(
const base::Value::Dict& dict) const { … }
}