void CachedRawResource::redirectReceived(ResourceRequest& request, const ResourceResponse& response)
{
    CachedResourceHandle<CachedRawResource> protect(this);
    if (!response.isNull()) {
        CachedResourceClientWalker<CachedRawResourceClient> w(m_clients);
        while (CachedRawResourceClient* c = w.next())
            c->redirectReceived(this, request, response);
        m_redirectChain.append(RedirectPair(request, response));
    }
    CachedResource::redirectReceived(request, response);
}
void Resource::willFollowRedirect(ResourceRequest& newRequest, const ResourceResponse& redirectResponse)
{
    m_redirectChain.append(RedirectPair(newRequest, redirectResponse));
    m_requestedFromNetworkingLayer = true;
}