void HitTestCache::addCachedResult(const HitTestResult& result, uint64_t domTreeVersion) { if (!result.isCacheable()) return; // If the result was a hit test on an LayoutPart and the request allowed // querying of the layout part; then the part hasn't been loaded yet. if (result.isOverWidget() && result.hitTestRequest().allowsChildFrameContent()) return; // For now don't support rect based or list based requests. if (result.hitTestLocation().isRectBasedTest() || result.hitTestRequest().listBased()) return; if (domTreeVersion != m_domTreeVersion) clear(); if (m_items.size() < HIT_TEST_CACHE_SIZE) m_items.resize(m_updateIndex + 1); m_items.at(m_updateIndex).cacheValues(result); m_domTreeVersion = domTreeVersion; m_updateIndex++; if (m_updateIndex >= HIT_TEST_CACHE_SIZE) m_updateIndex = 0; }