⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 195162 in webkit


Ignore:
Timestamp:
Jan 15, 2016, 6:08:08 PM (11 years ago)
Author:
jiewen_tan@apple.com
Message:

FrameLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame() is never called when loading a main resource from the memory cache
https://bugs.webkit.org/show_bug.cgi?id=152520
<rdar://problem/23305737>

Reviewed by Andy Estes.

Source/WebCore:

Test: http/tests/loading/server-redirect-for-provisional-load-caching.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
Dispatch message to notify client that a cached resource was redirected. So,
client can make proper actions to treat server side redirection.

  • loader/cache/CachedRawResource.h:

Add a method to tell whether the cached resource was redirected.

LayoutTests:

  • http/tests/loading/resources/server-redirect-result.html: Added.
  • http/tests/loading/resources/server-redirect.php: Added.
  • http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
  • http/tests/loading/server-redirect-for-provisional-load-caching.html: Added.
Location:
trunk
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r195161 r195162  
     12016-01-15  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        FrameLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame() is never called when loading a main resource from the memory cache
     4        https://bugs.webkit.org/show_bug.cgi?id=152520
     5        <rdar://problem/23305737>
     6
     7        Reviewed by Andy Estes.
     8
     9        * http/tests/loading/resources/server-redirect-result.html: Added.
     10        * http/tests/loading/resources/server-redirect.php: Added.
     11        * http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
     12        * http/tests/loading/server-redirect-for-provisional-load-caching.html: Added.
     13
    1142016-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r195160 r195162  
     12016-01-15  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        FrameLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame() is never called when loading a main resource from the memory cache
     4        https://bugs.webkit.org/show_bug.cgi?id=152520
     5        <rdar://problem/23305737>
     6
     7        Reviewed by Andy Estes.
     8
     9        Test: http/tests/loading/server-redirect-for-provisional-load-caching.html
     10
     11        * loader/DocumentLoader.cpp:
     12        (WebCore::DocumentLoader::responseReceived):
     13        Dispatch message to notify client that a cached resource was redirected. So,
     14        client can make proper actions to treat server side redirection.
     15        * loader/cache/CachedRawResource.h:
     16        Add a method to tell whether the cached resource was redirected.
     17
    1182016-01-15  Chris Dumez  <cdumez@apple.com>
    219
  • trunk/Source/WebCore/loader/DocumentLoader.cpp

    r195010 r195162  
    663663
    664664    if (m_identifierForLoadWithoutResourceLoader) {
     665        if (m_mainResource && m_mainResource->wasRedirected()) {
     666            ASSERT(m_mainResource->status() == CachedResource::Status::Cached);
     667            frameLoader()->client().dispatchDidReceiveServerRedirectForProvisionalLoad();
     668        }
    665669        addResponse(m_response);
    666670        frameLoader()->notifier().dispatchDidReceiveResponse(this, m_identifierForLoadWithoutResourceLoader, m_response, 0);
  • trunk/Source/WebCore/loader/cache/CachedRawResource.h

    r188468 r195162  
    4949    bool canReuse(const ResourceRequest&) const;
    5050
     51    bool wasRedirected() const { return !m_redirectChain.isEmpty(); };
     52
    5153private:
    5254    virtual void didAddClient(CachedResourceClient*) override;
Note: See TracChangeset for help on using the changeset viewer.