void MemoryCache::replace(Resource* newResource, Resource* oldResource) { ASSERT(newResource->cacheIdentifier() == oldResource->cacheIdentifier()); ResourceMap* resources = ensureResourceMap(oldResource->cacheIdentifier()); if (MemoryCacheEntry* oldEntry = resources->get(oldResource->url())) evict(oldEntry); add(newResource); if (newResource->decodedSize() && newResource->hasClients()) insertInLiveDecodedResourcesList(resources->get(newResource->url())); }
void MemoryCache::add(Resource* resource) { ASSERT(WTF::isMainThread()); ASSERT(resource->url().isValid()); ResourceMap* resources = ensureResourceMap(resource->cacheIdentifier()); RELEASE_ASSERT(!resources->contains(resource->url())); resources->set(resource->url(), MemoryCacheEntry::create(resource)); update(resource, 0, resource->size(), true); WTF_LOG(ResourceLoading, "MemoryCache::add Added '%s', resource %p\n", resource->url().string().latin1().data(), resource); }