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++;
}