void WebCache::clear() { Cache* cache = WebCore::cache(); if (cache && !cache->disabled()) { // NOTE: I think using setDisabled() instead of setCapacities() will // remove from the cache items that won't actually be freed from memory // (due to other live references to them), so it just results in wasting // time later and not saving memory compared to the below technique. unsigned minDeadCapacity = cache->m_minDeadCapacity; unsigned maxDeadCapacity = cache->m_maxDeadCapacity; unsigned capacity = cache->m_capacity; cache->setCapacities(0, 0, 0); // Will prune the cache. cache->setCapacities(minDeadCapacity, maxDeadCapacity, capacity); } }
void WebCache::setCapacities( size_t minDeadCapacity, size_t maxDeadCapacity, size_t capacity) { Cache* cache = WebCore::cache(); if (cache) cache->setCapacities(static_cast<unsigned int>(minDeadCapacity), static_cast<unsigned int>(maxDeadCapacity), static_cast<unsigned int>(capacity)); }