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

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

Issue 1081673003: Oilpan: Prepare to move AXObjectCache to the heap (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 6 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
« no previous file with comments | « Source/core/dom/Element.cpp ('k') | Source/modules/accessibility/AXObjectCacheImpl.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 struct TextMarkerData { 49 struct TextMarkerData {
50 AXID axID; 50 AXID axID;
51 Node* node; 51 Node* node;
52 int offset; 52 int offset;
53 EAffinity affinity; 53 EAffinity affinity;
54 }; 54 };
55 55
56 // This class should only be used from inside the accessibility directory. 56 // This class should only be used from inside the accessibility directory.
57 class MODULES_EXPORT AXObjectCacheImpl : public AXObjectCache { 57 class MODULES_EXPORT AXObjectCacheImpl : public AXObjectCache {
58 WTF_MAKE_NONCOPYABLE(AXObjectCacheImpl); WTF_MAKE_FAST_ALLOCATED(AXObjectCac heImpl); 58 WTF_MAKE_NONCOPYABLE(AXObjectCacheImpl);
59 public: 59 public:
60 static AXObjectCache* create(Document&); 60 static PassOwnPtrWillBeRawPtr<AXObjectCache> create(Document&);
61 61
62 explicit AXObjectCacheImpl(Document&); 62 explicit AXObjectCacheImpl(Document&);
63 ~AXObjectCacheImpl(); 63 ~AXObjectCacheImpl();
64 DECLARE_VIRTUAL_TRACE();
64 65
65 AXObject* focusedUIElementForPage(const Page*); 66 AXObject* focusedUIElementForPage(const Page*);
66 67
68 virtual void dispose() override;
69
67 virtual void selectionChanged(Node*) override; 70 virtual void selectionChanged(Node*) override;
68 virtual void childrenChanged(Node*) override; 71 virtual void childrenChanged(Node*) override;
69 virtual void childrenChanged(LayoutObject*) override; 72 virtual void childrenChanged(LayoutObject*) override;
70 virtual void checkedStateChanged(Node*) override; 73 virtual void checkedStateChanged(Node*) override;
71 virtual void listboxOptionStateChanged(HTMLOptionElement*); 74 virtual void listboxOptionStateChanged(HTMLOptionElement*);
72 virtual void listboxSelectedChildrenChanged(HTMLSelectElement*); 75 virtual void listboxSelectedChildrenChanged(HTMLSelectElement*);
73 virtual void listboxActiveIndexChanged(HTMLSelectElement*); 76 virtual void listboxActiveIndexChanged(HTMLSelectElement*);
74 77
75 virtual void remove(LayoutObject*) override; 78 virtual void remove(LayoutObject*) override;
76 virtual void remove(Node*) override; 79 virtual void remove(Node*) override;
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 HashMap<AXID, RefPtr<AXObject>> m_objects; 209 HashMap<AXID, RefPtr<AXObject>> m_objects;
207 HashMap<LayoutObject*, AXID> m_layoutObjectMapping; 210 HashMap<LayoutObject*, AXID> m_layoutObjectMapping;
208 HashMap<Widget*, AXID> m_widgetObjectMapping; 211 HashMap<Widget*, AXID> m_widgetObjectMapping;
209 HashMap<Node*, AXID> m_nodeObjectMapping; 212 HashMap<Node*, AXID> m_nodeObjectMapping;
210 HashMap<AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping; 213 HashMap<AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping;
211 HashSet<Node*> m_textMarkerNodes; 214 HashSet<Node*> m_textMarkerNodes;
212 int m_modificationCount; 215 int m_modificationCount;
213 216
214 HashSet<AXID> m_idsInUse; 217 HashSet<AXID> m_idsInUse;
215 218
219 #if ENABLE(ASSERT)
220 // Verified when finalizing.
221 bool m_hasBeenDisposed;
222 #endif
223
216 // 224 //
217 // Aria-owns 225 // Aria-owns
218 // 226 //
219 227
220 // Map from the AXID of the owner to the AXIDs of the children. 228 // Map from the AXID of the owner to the AXIDs of the children.
221 // This is a validated map, it doesn't contain illegal, duplicate, 229 // This is a validated map, it doesn't contain illegal, duplicate,
222 // or cyclical matches, or references to IDs that don't exist. 230 // or cyclical matches, or references to IDs that don't exist.
223 HashMap<AXID, Vector<AXID>> m_ariaOwnerToChildrenMapping; 231 HashMap<AXID, Vector<AXID>> m_ariaOwnerToChildrenMapping;
224 232
225 // Map from the AXID of a child to the AXID of the parent that owns it. 233 // Map from the AXID of a child to the AXID of the parent that owns it.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 // This is the only subclass of AXObjectCache. 265 // This is the only subclass of AXObjectCache.
258 DEFINE_TYPE_CASTS(AXObjectCacheImpl, AXObjectCache, cache, true, true); 266 DEFINE_TYPE_CASTS(AXObjectCacheImpl, AXObjectCache, cache, true, true);
259 267
260 bool nodeHasRole(Node*, const String& role); 268 bool nodeHasRole(Node*, const String& role);
261 // This will let you know if aria-hidden was explicitly set to false. 269 // This will let you know if aria-hidden was explicitly set to false.
262 bool isNodeAriaVisible(Node*); 270 bool isNodeAriaVisible(Node*);
263 271
264 } 272 }
265 273
266 #endif 274 #endif
OLDNEW
« no previous file with comments | « Source/core/dom/Element.cpp ('k') | Source/modules/accessibility/AXObjectCacheImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698