36 int child_index_or_text_offset,
76 if (child_tree_manager) {
86 *child_id = child->
id();
95 if (child_tree_manager)
122 std::stack<AXNode*> anchors;
131 while (current_anchor) {
132 anchors.push(current_anchor);
133 current_anchor = GetParent(
134 current_anchor , current_tree_id ,
135 &parent_tree_id , &parent_anchor_id );
137 current_anchor_id = parent_anchor_id;
138 current_tree_id = parent_tree_id;
163 tree_id , parent_id );
264 std::u16string
value =
267 return value.length();
271 return anchor->
data()
323 if (current_anchor_text_styles.
IsUnset()) {
325 if (!parent->IsNullPosition())
326 return parent->GetAnchor()->data().GetTextStyles();
328 return current_anchor_text_styles;
333 return std::vector<int32_t>();
347 return std::vector<int32_t>();
379 int previous_on_line_id;
382 &previous_on_line_id)) {
402 *parent_tree_id = child_tree_id;
408 parent =
manager->GetParentNodeFromParentTreeAsAXNode();
409 *parent_tree_id =
manager->GetParentTreeID();
418 *parent_id = parent->
id();
AXNode * GetLowestUnignoredAncestor() const override
int AnchorIndexInParent() const override
~AXNodePosition() override
AXNode::AXID GetPreviousOnLineID(AXNode::AXID node_id) const override
int AnchorSiblingCount() const override
AXPositionInstance Clone() const override
bool IsInTextObject() const override
std::u16string GetText() const override
std::vector< int32_t > GetWordStartOffsets() const override
bool IsInLineBreakingObject() const override
AXNodeTextStyles GetTextStyles() const override
void AnchorParent(AXTreeID *tree_id, AXNode::AXID *parent_id) const override
AXNode::AXID GetNextOnLineID(AXNode::AXID node_id) const override
void AnchorChild(int child_index, AXTreeID *tree_id, AXNode::AXID *child_id) const override
AXNode::AXID GetAnchorID(AXNode *node) const override
bool IsInWhiteSpace() const override
std::vector< int32_t > GetWordEndOffsets() const override
bool IsInLineBreak() const override
ax::mojom::Role GetAnchorRole() const override
bool IsEmbeddedObjectInParent() const override
int AnchorUnignoredChildCount() const override
int AnchorChildCount() const override
AXNode * GetNodeInTree(AXTreeID tree_id, AXNode::AXID node_id) const override
int MaxTextOffset() const override
std::stack< AXNode * > GetAncestorAnchors() const override
ax::mojom::Role GetRole(AXNode *node) const override
static AXPositionInstance CreatePosition(const AXNode &node, int child_index_or_text_offset, ax::mojom::TextAffinity affinity=ax::mojom::TextAffinity::kDownstream)
AXTreeID GetTreeID(AXNode *node) const override
virtual AXTreeID GetAXTreeID() const =0
size_t GetUnignoredChildCount() const
static constexpr AXID kInvalidAXID
AXNode * GetUnignoredParent() const
const std::vector< AXNode * > & children() const
bool IsChildOfLeaf() const
size_t index_in_parent() const
const AXNodeData & data() const
static constexpr char16_t kEmbeddedCharacter
AXPositionInstance CreateChildPositionAt(int child_index) const
std::unique_ptr< AXPosition< AXNodePosition, AXNode > > AXPositionInstance
static const int INVALID_OFFSET
static AXPositionInstance CreateNullPosition()
AXNode * GetAnchor() const
bool IsNullPosition() const
static AXPositionInstance CreateTreePosition(AXTreeID tree_id, AXNode::AXID anchor_id, int child_index)
ax::mojom::TextAffinity affinity() const
AXPositionInstance CreateParentPosition(ax::mojom::MoveDirection move_direction=ax::mojom::MoveDirection::kForward) const
static const int INVALID_INDEX
bool IsEmptyObjectReplacedByCharacter() const
static AXPositionInstance CreateTextPosition(AXTreeID tree_id, AXNode::AXID anchor_id, int text_offset, ax::mojom::TextAffinity affinity)
AXTreeManager * GetManagerForChildTree(const AXNode &parent_node)
AXTreeManager * GetManager(AXTreeID tree_id)
static AXTreeManagerMap & GetInstance()
virtual AXTreeID GetTreeID() const =0
virtual AXNode * GetRootAsAXNode() const =0
~ScopedAXEmbeddedObjectBehaviorSetter()
ScopedAXEmbeddedObjectBehaviorSetter(AXEmbeddedObjectBehavior behavior)
constexpr char16_t kWhitespaceUTF16
bool ContainsOnlyChars(std::u16string str, char16_t ch)
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font manager
const AXTreeID & AXTreeIDUnknown()
AXEmbeddedObjectBehavior g_ax_embedded_object_behavior
AXNodeTextStyles GetTextStyles() const
const std::vector< int32_t > & GetIntListAttribute(ax::mojom::IntListAttribute attribute) const
int GetIntAttribute(ax::mojom::IntAttribute attribute) const
bool GetString16Attribute(ax::mojom::StringAttribute attribute, std::u16string *value) const
std::shared_ptr< const fml::Mapping > data
#define BASE_DCHECK(condition)