void PageCache::add(PassRefPtr<HistoryItem> prpItem, Page& page) { ASSERT(prpItem); ASSERT(canCache(&page)); HistoryItem* item = prpItem.leakRef(); // Balanced in remove(). // Remove stale cache entry if necessary. if (item->m_cachedPage) remove(item); item->m_cachedPage = std::make_unique<CachedPage>(page); addToLRUList(item); ++m_size; prune(); }
void PageCache::add(PassRefPtr<HistoryItem> prpItem, PassRefPtr<CachedPage> cachedPage) { ASSERT(prpItem); ASSERT(cachedPage); HistoryItem* item = prpItem.releaseRef(); // Balanced in remove(). // Remove stale cache entry if necessary. if (item->m_cachedPage) remove(item); item->m_cachedPage = cachedPage; addToLRUList(item); ++m_size; prune(); }