bool WebAccessibilityCacheImpl::isCached(const WebAccessibilityObject& object) { if (!object.isValid()) return false; RefPtr<AccessibilityObject> o = toAccessibilityObject(object); IdMap::iterator it = m_idMap.find(o.get()); if (it == m_idMap.end()) return false; return true; }
void WebAccessibilityCacheImpl::initialize(WebView* view) { AXObjectCache::enableAccessibility(); WebAccessibilityObject root = view->accessibilityObject(); if (root.isNull()) return; RefPtr<AccessibilityObject> rootObject = toAccessibilityObject(root); // Insert root in hashmaps. m_objectMap.set(m_nextNewId, WeakHandle::create(rootObject.get())); m_idMap.set(rootObject.get(), m_nextNewId++); m_initialized = true; }
int WebAccessibilityCacheImpl::addOrGetId(const WebAccessibilityObject& object) { if (object.isNull()) return invalidObjectId; RefPtr<AccessibilityObject> o = toAccessibilityObject(object); IdMap::iterator it = m_idMap.find(o.get()); if (it != m_idMap.end()) return it->second; // Insert new accessibility object in hashmaps and return its newly // assigned accessibility object id. m_objectMap.set(m_nextNewId, WeakHandle::create(o.get())); m_idMap.set(o.get(), m_nextNewId); return m_nextNewId++; }