Skip to content
  • carlosgc@webkit.org's avatar
    FrameLoaderClient::assignIdentifierToInitialRequest() not called for the main... · 85d5a175
    carlosgc@webkit.org authored
    FrameLoaderClient::assignIdentifierToInitialRequest() not called for the main resource when loaded from the memory cache
    https://bugs.webkit.org/show_bug.cgi?id=112418
    
    Source/WebCore:
    
    Reviewed by Darin Adler.
    
    When the main resource is loaded from the memory cache the
    response is not added to the ResponseVector of the document
    loader, so that when committing the provisional load the remaining
    delegate messages are not called because the ResponseVector of the
    document loader is empty. When the main resource is loaded from
    the memory cache, there's no resource loader, and the client is
    notified about the response received using
    ResourceLoadNotifier::dispatchDidReceiveResponse() directly
    instead of ResourceLoadNotifier::didReceiveResponse() which is the
    one adding the response to the ResponseVector of the document
    loader. So, the problem can be fixed by adding the response to the
    ResponseVector before calling dispatchDidReceiveResponse() when
    loading the main resource without a resource loade
    
    Test: loader/go-back-cached-main-resource.html
    
    * loader/DocumentLoader.cpp:
    (WebCore::DocumentLoader::responseReceived):
    
    LayoutTests:
    
    Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-04-11
    Reviewed by Darin Adler.
    
    * loader/go-back-cached-main-resource-expected.txt: Added.
    * loader/go-back-cached-main-resource.html: Added.
    * loader/resources/first-page.html: Added.
    * loader/resources/other-page.html: Added.
    * platform/gtk-wk1/loader/go-back-cached-main-resource-expected.txt: Added.
    * platform/wk2/loader/go-back-cached-main-resource-expected.txt: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    85d5a175