Changeset 260706 in webkit
- Timestamp:
- Apr 25, 2020 10:03:33 AM (4 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r260705 r260706 1 2020-04-25 Chris Fleizach <cfleizach@apple.com> 2 3 AX: Improve tracking of Element* pointers in AXObjectCache with WeakHashSet 4 https://bugs.webkit.org/show_bug.cgi?id=210879 5 6 Reviewed by Daniel Bates. 7 8 * accessibility/AXObjectCache.cpp: 9 (WebCore::AXObjectCache::remove): 10 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 11 (WebCore::filterListForRemoval): 12 (WebCore::AXObjectCache::performDeferredCacheUpdate): 13 * accessibility/AXObjectCache.h: 14 1 15 2020-04-25 Antoine Quint <graouts@apple.com> 2 16 -
trunk/Source/WebCore/accessibility/AXObjectCache.cpp
r259930 r260706 860 860 { 861 861 if (is<Element>(node)) { 862 m_deferredRecomputeIsIgnoredList.remove(downcast<Element>(&node));863 m_deferredSelectedChildredChangedList.remove(downcast<Element>(&node));864 862 m_deferredTextFormControlValue.remove(downcast<Element>(&node)); 865 863 m_deferredAttributeChange.remove(downcast<Element>(&node)); … … 2998 2996 filterListForRemoval(m_textMarkerNodes, document, nodesToRemove); 2999 2997 filterListForRemoval(m_modalNodesSet, document, nodesToRemove); 3000 filterListForRemoval(m_deferredRecomputeIsIgnoredList, document, nodesToRemove);3001 2998 filterListForRemoval(m_deferredTextChangedList, document, nodesToRemove); 3002 filterListForRemoval(m_deferredSelectedChildredChangedList, document, nodesToRemove);3003 2999 filterListForRemoval(m_deferredChildrenChangedNodeList, document, nodesToRemove); 3004 3000 filterMapForRemoval(m_deferredTextFormControlValue, document, nodesToRemove); … … 3049 3045 m_deferredTextChangedList.clear(); 3050 3046 3051 for (auto *element : m_deferredRecomputeIsIgnoredList) {3052 if (auto* renderer = element ->renderer())3047 for (auto& element : m_deferredRecomputeIsIgnoredList) { 3048 if (auto* renderer = element.renderer()) 3053 3049 recomputeIsIgnored(renderer); 3054 3050 } 3055 3051 m_deferredRecomputeIsIgnoredList.clear(); 3056 3052 3057 for (auto *selectElement : m_deferredSelectedChildredChangedList)3058 selectedChildrenChanged( selectElement);3053 for (auto& selectElement : m_deferredSelectedChildredChangedList) 3054 selectedChildrenChanged(&selectElement); 3059 3055 m_deferredSelectedChildredChangedList.clear(); 3060 3056 -
trunk/Source/WebCore/accessibility/AXObjectCache.h
r259633 r260706 488 488 489 489 AXTextStateChangeIntent m_textSelectionIntent; 490 ListHashSet<Element*> m_deferredRecomputeIsIgnoredList;490 WeakHashSet<Element> m_deferredRecomputeIsIgnoredList; 491 491 ListHashSet<Node*> m_deferredTextChangedList; 492 ListHashSet<Element*> m_deferredSelectedChildredChangedList;492 WeakHashSet<Element> m_deferredSelectedChildredChangedList; 493 493 ListHashSet<RefPtr<AXCoreObject>> m_deferredChildrenChangedList; 494 494 ListHashSet<Node*> m_deferredChildrenChangedNodeList;
Note: See TracChangeset
for help on using the changeset viewer.