コード例 #1
0
ファイル: CachedImage.cpp プロジェクト: CannedFish/webkitgtk
void CachedImage::switchClientsToRevalidatedResource()
{
    ASSERT(resourceToRevalidate());
    ASSERT(resourceToRevalidate()->isImage());
    // Pending container size requests need to be transferred to the revalidated resource.
    if (!m_pendingContainerSizeRequests.isEmpty()) {
        // A copy of pending size requests is needed as they are deleted during CachedResource::switchClientsToRevalidateResouce().
        ContainerSizeRequests switchContainerSizeRequests;
        for (ContainerSizeRequests::iterator it = m_pendingContainerSizeRequests.begin(); it != m_pendingContainerSizeRequests.end(); ++it)
            switchContainerSizeRequests.set(it->key, it->value);
        CachedResource::switchClientsToRevalidatedResource();
        CachedImage* revalidatedCachedImage = static_cast<CachedImage*>(resourceToRevalidate());
        for (ContainerSizeRequests::iterator it = switchContainerSizeRequests.begin(); it != switchContainerSizeRequests.end(); ++it)
            revalidatedCachedImage->setContainerSizeForRenderer(it->key, it->value.first, it->value.second);
        return;
    }

    CachedResource::switchClientsToRevalidatedResource();
}