void Resource::finish()
{
    ASSERT(m_revalidatingRequest.isNull());
    ASSERT(!errorOccurred());
    finishOnePart();
    markClientsFinished();
    if (!errorOccurred())
        m_status = Cached;
}
void ImageResource::responseReceived(const ResourceResponse& response, PassOwnPtr<WebDataConsumerHandle> handle)
{
    if (loadingMultipartContent() && m_data)
        finishOnePart();
    if (RuntimeEnabledFeatures::clientHintsEnabled()) {
        m_devicePixelRatioHeaderValue = response.httpHeaderField("content-dpr").toFloat(&m_hasDevicePixelRatioHeaderValue);
        if (!m_hasDevicePixelRatioHeaderValue || m_devicePixelRatioHeaderValue <= 0.0) {
            m_devicePixelRatioHeaderValue = 1.0;
            m_hasDevicePixelRatioHeaderValue = false;
        }

    }
    Resource::responseReceived(response, handle);
}
void CachedResource::finish()
{
    finishOnePart();
    if (!errorOccurred())
        m_status = Cached;
}