#include "third_party/blink/renderer/modules/accessibility/blink_ax_tree_source.h"
#include <stddef.h>
#include <algorithm>
#include <set>
#include "base/containers/contains.h"
#include "base/memory/ptr_util.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/html/html_head_element.h"
#include "third_party/blink/renderer/core/html/html_link_element.h"
#include "third_party/blink/renderer/core/html/html_meta_element.h"
#include "third_party/blink/renderer/core/html/html_script_element.h"
#include "third_party/blink/renderer/core/html/html_title_element.h"
#include "third_party/blink/renderer/modules/accessibility/ax_object.h"
#include "third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h"
#include "third_party/blink/renderer/modules/accessibility/ax_selection.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_deque.h"
#include "ui/accessibility/ax_common.h"
#include "ui/accessibility/ax_enum_util.h"
#include "ui/accessibility/ax_role_properties.h"
#include "ui/accessibility/ax_tree_id.h"
#include "ui/gfx/geometry/transform.h"
#include "ui/gfx/geometry/vector2d_f.h"
namespace blink {
BlinkAXTreeSource::BlinkAXTreeSource(AXObjectCacheImpl& ax_object_cache,
bool truncate_inline_textboxes)
: … { … }
BlinkAXTreeSource::~BlinkAXTreeSource() = default;
static ax::mojom::blink::TextAffinity ToAXAffinity(TextAffinity affinity) { … }
void BlinkAXTreeSource::Selection(
const AXObject* obj,
bool& is_selection_backward,
const AXObject** anchor_object,
int& anchor_offset,
ax::mojom::blink::TextAffinity& anchor_affinity,
const AXObject** focus_object,
int& focus_offset,
ax::mojom::blink::TextAffinity& focus_affinity) const { … }
static ui::AXTreeID GetAXTreeID(LocalFrame* local_frame) { … }
bool BlinkAXTreeSource::GetTreeData(ui::AXTreeData* tree_data) const { … }
void BlinkAXTreeSource::Freeze() { … }
void BlinkAXTreeSource::Thaw() { … }
const AXObject* BlinkAXTreeSource::GetRoot() const { … }
const AXObject* BlinkAXTreeSource::GetFocusedObject() const { … }
const AXObject* BlinkAXTreeSource::GetFromId(int32_t id) const { … }
int32_t BlinkAXTreeSource::GetId(const AXObject* node) const { … }
size_t BlinkAXTreeSource::GetChildCount(const AXObject* node) const { … }
AXObject* BlinkAXTreeSource::ChildAt(const AXObject* node, size_t index) const { … }
AXObject* BlinkAXTreeSource::GetParent(const AXObject* node) const { … }
bool BlinkAXTreeSource::IsIgnored(const AXObject* node) const { … }
bool BlinkAXTreeSource::IsEqual(const AXObject* node1, const AXObject* node2) const { … }
AXObject* BlinkAXTreeSource::GetNull() const { … }
std::string BlinkAXTreeSource::GetDebugString(const AXObject* node) const { … }
void BlinkAXTreeSource::SerializeNode(const AXObject* src,
ui::AXNodeData* dst) const { … }
void BlinkAXTreeSource::Trace(Visitor* visitor) const { … }
}