Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1193)

Side by Side Diff: third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.h

Issue 2791943002: Re-land: Initial skeleton of Accessibility Object Model Phase 1 (Closed)
Patch Set: Fix for crash with test Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014, Google Inc. All rights reserved. 2 * Copyright (C) 2014, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 69
70 void remove(LayoutObject*) override; 70 void remove(LayoutObject*) override;
71 void remove(Node*) override; 71 void remove(Node*) override;
72 void remove(AbstractInlineTextBox*) override; 72 void remove(AbstractInlineTextBox*) override;
73 73
74 const Element* rootAXEditableElement(const Node*) override; 74 const Element* rootAXEditableElement(const Node*) override;
75 75
76 // Called by a node when text or a text equivalent (e.g. alt) attribute is 76 // Called by a node when text or a text equivalent (e.g. alt) attribute is
77 // changed. 77 // changed.
78 void textChanged(LayoutObject*) override; 78 void textChanged(LayoutObject*) override;
79 void textChanged(AXObject*);
79 // Called when a node has just been attached, so we can make sure we have the 80 // Called when a node has just been attached, so we can make sure we have the
80 // right subclass of AXObject. 81 // right subclass of AXObject.
81 void updateCacheAfterNodeIsAttached(Node*) override; 82 void updateCacheAfterNodeIsAttached(Node*) override;
82 83
83 void handleAttributeChanged(const QualifiedName& attrName, Element*) override; 84 void handleAttributeChanged(const QualifiedName& attrName, Element*) override;
84 void handleFocusedUIElementChanged(Node* oldFocusedNode, 85 void handleFocusedUIElementChanged(Node* oldFocusedNode,
85 Node* newFocusedNode) override; 86 Node* newFocusedNode) override;
86 void handleInitialFocus() override; 87 void handleInitialFocus() override;
87 void handleTextFormControlChanged(Node*) override; 88 void handleTextFormControlChanged(Node*) override;
88 void handleEditableTextContentChanged(Node*) override; 89 void handleEditableTextContentChanged(Node*) override;
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 HeapVector<Member<AXObject>>& ownedChildren); 182 HeapVector<Member<AXObject>>& ownedChildren);
182 183
183 // Given an element in the DOM tree that was either just added or whose id 184 // Given an element in the DOM tree that was either just added or whose id
184 // just changed, check to see if another object wants to be its parent due to 185 // just changed, check to see if another object wants to be its parent due to
185 // aria-owns. If so, update the tree by calling childrenChanged() on the 186 // aria-owns. If so, update the tree by calling childrenChanged() on the
186 // potential owner, possibly reparenting this element. 187 // potential owner, possibly reparenting this element.
187 void updateTreeIfElementIdIsAriaOwned(Element*); 188 void updateTreeIfElementIdIsAriaOwned(Element*);
188 189
189 protected: 190 protected:
190 void postPlatformNotification(AXObject*, AXNotification); 191 void postPlatformNotification(AXObject*, AXNotification);
191 void textChanged(AXObject*);
192 void labelChanged(Element*); 192 void labelChanged(Element*);
193 193
194 AXObject* createFromRenderer(LayoutObject*); 194 AXObject* createFromRenderer(LayoutObject*);
195 AXObject* createFromNode(Node*); 195 AXObject* createFromNode(Node*);
196 AXObject* createFromInlineTextBox(AbstractInlineTextBox*); 196 AXObject* createFromInlineTextBox(AbstractInlineTextBox*);
197 197
198 private: 198 private:
199 Member<Document> m_document; 199 Member<Document> m_document;
200 HeapHashMap<AXID, Member<AXObject>> m_objects; 200 HeapHashMap<AXID, Member<AXObject>> m_objects;
201 // LayoutObject and AbstractInlineTextBox are not on the Oilpan heap so we 201 // LayoutObject and AbstractInlineTextBox are not on the Oilpan heap so we
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 // This is the only subclass of AXObjectCache. 258 // This is the only subclass of AXObjectCache.
259 DEFINE_TYPE_CASTS(AXObjectCacheImpl, AXObjectCache, cache, true, true); 259 DEFINE_TYPE_CASTS(AXObjectCacheImpl, AXObjectCache, cache, true, true);
260 260
261 bool nodeHasRole(Node*, const String& role); 261 bool nodeHasRole(Node*, const String& role);
262 // This will let you know if aria-hidden was explicitly set to false. 262 // This will let you know if aria-hidden was explicitly set to false.
263 bool isNodeAriaVisible(Node*); 263 bool isNodeAriaVisible(Node*);
264 264
265 } // namespace blink 265 } // namespace blink
266 266
267 #endif 267 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698