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

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
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 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(AXObjectCacheImpl);
haraken 2015/05/29 09:16:19 I think you can just remove this, since we have WT
keishi 2015/06/08 06:27:52 Done.
59 public: 60 public:
60 static PassOwnPtr<AXObjectCache> create(Document&); 61 static PassOwnPtrWillBeRawPtr<AXObjectCache> create(Document&);
61 62
62 explicit AXObjectCacheImpl(Document&); 63 explicit AXObjectCacheImpl(Document&);
63 ~AXObjectCacheImpl(); 64 ~AXObjectCacheImpl();
65 DECLARE_VIRTUAL_TRACE();
64 66
65 AXObject* focusedUIElementForPage(const Page*); 67 AXObject* focusedUIElementForPage(const Page*);
66 68
69 virtual void dispose() override;
70
67 virtual void selectionChanged(Node*) override; 71 virtual void selectionChanged(Node*) override;
68 virtual void childrenChanged(Node*) override; 72 virtual void childrenChanged(Node*) override;
69 virtual void childrenChanged(LayoutObject*) override; 73 virtual void childrenChanged(LayoutObject*) override;
70 virtual void checkedStateChanged(Node*) override; 74 virtual void checkedStateChanged(Node*) override;
71 virtual void listboxOptionStateChanged(HTMLOptionElement*); 75 virtual void listboxOptionStateChanged(HTMLOptionElement*);
72 virtual void listboxSelectedChildrenChanged(HTMLSelectElement*); 76 virtual void listboxSelectedChildrenChanged(HTMLSelectElement*);
73 virtual void listboxActiveIndexChanged(HTMLSelectElement*); 77 virtual void listboxActiveIndexChanged(HTMLSelectElement*);
74 78
75 virtual void remove(LayoutObject*) override; 79 virtual void remove(LayoutObject*) override;
76 virtual void remove(Node*) override; 80 virtual void remove(Node*) override;
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 HashMap<AXID, RefPtr<AXObject>> m_objects; 210 HashMap<AXID, RefPtr<AXObject>> m_objects;
207 HashMap<LayoutObject*, AXID> m_layoutObjectMapping; 211 HashMap<LayoutObject*, AXID> m_layoutObjectMapping;
208 HashMap<Widget*, AXID> m_widgetObjectMapping; 212 HashMap<Widget*, AXID> m_widgetObjectMapping;
209 HashMap<Node*, AXID> m_nodeObjectMapping; 213 HashMap<Node*, AXID> m_nodeObjectMapping;
210 HashMap<AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping; 214 HashMap<AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping;
211 HashSet<Node*> m_textMarkerNodes; 215 HashSet<Node*> m_textMarkerNodes;
212 int m_modificationCount; 216 int m_modificationCount;
213 217
214 HashSet<AXID> m_idsInUse; 218 HashSet<AXID> m_idsInUse;
215 219
220 #if ENABLE(ASSERT)
221 // Verified when finalizing.
222 bool m_hasBeenDisposed;
223 #endif
224
216 // 225 //
217 // Aria-owns 226 // Aria-owns
218 // 227 //
219 228
220 // Map from the AXID of the owner to the AXIDs of the children. 229 // 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, 230 // This is a validated map, it doesn't contain illegal, duplicate,
222 // or cyclical matches, or references to IDs that don't exist. 231 // or cyclical matches, or references to IDs that don't exist.
223 HashMap<AXID, Vector<AXID>> m_ariaOwnerToChildrenMapping; 232 HashMap<AXID, Vector<AXID>> m_ariaOwnerToChildrenMapping;
224 233
225 // Map from the AXID of a child to the AXID of the parent that owns it. 234 // 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. 266 // This is the only subclass of AXObjectCache.
258 DEFINE_TYPE_CASTS(AXObjectCacheImpl, AXObjectCache, cache, true, true); 267 DEFINE_TYPE_CASTS(AXObjectCacheImpl, AXObjectCache, cache, true, true);
259 268
260 bool nodeHasRole(Node*, const String& role); 269 bool nodeHasRole(Node*, const String& role);
261 // This will let you know if aria-hidden was explicitly set to false. 270 // This will let you know if aria-hidden was explicitly set to false.
262 bool isNodeAriaVisible(Node*); 271 bool isNodeAriaVisible(Node*);
263 272
264 } 273 }
265 274
266 #endif 275 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698