Exemple #1
0
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);
}