Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(236)

Side by Side Diff: Source/core/fetch/ResourceFetcher.cpp

Issue 318003002: Rename methods in ResourceFetcher to describe what's done in them correctly (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Addressed #2 Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/fetch/ResourceFetcher.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org)
4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org)
5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ 6 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
7 7
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 694
695 // See if we can use an existing resource from the cache. 695 // See if we can use an existing resource from the cache.
696 ResourcePtr<Resource> resource = memoryCache()->resourceForURL(url); 696 ResourcePtr<Resource> resource = memoryCache()->resourceForURL(url);
697 697
698 const RevalidationPolicy policy = determineRevalidationPolicy(type, request. mutableResourceRequest(), request.forPreload(), resource.get(), request.defer(), request.options()); 698 const RevalidationPolicy policy = determineRevalidationPolicy(type, request. mutableResourceRequest(), request.forPreload(), resource.get(), request.defer(), request.options());
699 switch (policy) { 699 switch (policy) {
700 case Reload: 700 case Reload:
701 memoryCache()->remove(resource.get()); 701 memoryCache()->remove(resource.get());
702 // Fall through 702 // Fall through
703 case Load: 703 case Load:
704 resource = loadResource(type, request, request.charset()); 704 resource = createResourceForLoading(type, request, request.charset());
705 break; 705 break;
706 case Revalidate: 706 case Revalidate:
707 resource = revalidateResource(request, resource.get()); 707 resource = createResourceForRevalidation(request, resource.get());
708 break; 708 break;
709 case Use: 709 case Use:
710 memoryCache()->updateForAccess(resource.get()); 710 memoryCache()->updateForAccess(resource.get());
711 break; 711 break;
712 } 712 }
713 713
714 if (!resource) 714 if (!resource)
715 return 0; 715 return 0;
716 716
717 if (!resource->hasClients()) 717 if (!resource->hasClients())
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 if (request.cachePolicy() == UseProtocolCachePolicy) 832 if (request.cachePolicy() == UseProtocolCachePolicy)
833 request.setCachePolicy(resourceRequestCachePolicy(request, type)); 833 request.setCachePolicy(resourceRequestCachePolicy(request, type));
834 if (request.targetType() == ResourceRequest::TargetIsUnspecified) 834 if (request.targetType() == ResourceRequest::TargetIsUnspecified)
835 determineTargetType(request, type); 835 determineTargetType(request, type);
836 if (type == Resource::LinkPrefetch || type == Resource::LinkSubresource) 836 if (type == Resource::LinkPrefetch || type == Resource::LinkSubresource)
837 request.setHTTPHeaderField("Purpose", "prefetch"); 837 request.setHTTPHeaderField("Purpose", "prefetch");
838 838
839 context().addAdditionalRequestHeaders(document(), request, (type == Resource ::MainResource) ? FetchMainResource : FetchSubresource); 839 context().addAdditionalRequestHeaders(document(), request, (type == Resource ::MainResource) ? FetchMainResource : FetchSubresource);
840 } 840 }
841 841
842 ResourcePtr<Resource> ResourceFetcher::revalidateResource(const FetchRequest& re quest, Resource* resource) 842 ResourcePtr<Resource> ResourceFetcher::createResourceForRevalidation(const Fetch Request& request, Resource* resource)
843 { 843 {
844 ASSERT(resource); 844 ASSERT(resource);
845 ASSERT(memoryCache()->contains(resource)); 845 ASSERT(memoryCache()->contains(resource));
846 ASSERT(resource->isLoaded()); 846 ASSERT(resource->isLoaded());
847 ASSERT(resource->canUseCacheValidator()); 847 ASSERT(resource->canUseCacheValidator());
848 ASSERT(!resource->resourceToRevalidate()); 848 ASSERT(!resource->resourceToRevalidate());
849 849
850 ResourceRequest revalidatingRequest(resource->resourceRequest()); 850 ResourceRequest revalidatingRequest(resource->resourceRequest());
851 revalidatingRequest.clearHTTPReferrer(); 851 revalidatingRequest.clearHTTPReferrer();
852 addAdditionalRequestHeaders(revalidatingRequest, resource->type()); 852 addAdditionalRequestHeaders(revalidatingRequest, resource->type());
853 853
854 const AtomicString& lastModified = resource->response().httpHeaderField("Las t-Modified"); 854 const AtomicString& lastModified = resource->response().httpHeaderField("Las t-Modified");
855 const AtomicString& eTag = resource->response().httpHeaderField("ETag"); 855 const AtomicString& eTag = resource->response().httpHeaderField("ETag");
856 if (!lastModified.isEmpty() || !eTag.isEmpty()) { 856 if (!lastModified.isEmpty() || !eTag.isEmpty()) {
857 ASSERT(context().cachePolicy(document()) != CachePolicyReload); 857 ASSERT(context().cachePolicy(document()) != CachePolicyReload);
858 if (context().cachePolicy(document()) == CachePolicyRevalidate) 858 if (context().cachePolicy(document()) == CachePolicyRevalidate)
859 revalidatingRequest.setHTTPHeaderField("Cache-Control", "max-age=0") ; 859 revalidatingRequest.setHTTPHeaderField("Cache-Control", "max-age=0") ;
860 if (!lastModified.isEmpty())
861 revalidatingRequest.setHTTPHeaderField("If-Modified-Since", lastModi fied);
862 if (!eTag.isEmpty())
863 revalidatingRequest.setHTTPHeaderField("If-None-Match", eTag);
864 } 860 }
861 if (!lastModified.isEmpty())
862 revalidatingRequest.setHTTPHeaderField("If-Modified-Since", lastModified );
863 if (!eTag.isEmpty())
864 revalidatingRequest.setHTTPHeaderField("If-None-Match", eTag);
865 865
866 ResourcePtr<Resource> newResource = createResource(resource->type(), revalid atingRequest, resource->encoding()); 866 ResourcePtr<Resource> newResource = createResource(resource->type(), revalid atingRequest, resource->encoding());
867 WTF_LOG(ResourceLoading, "Resource %p created to revalidate %p", newResource .get(), resource);
867 868
868 WTF_LOG(ResourceLoading, "Resource %p created to revalidate %p", newResource .get(), resource);
869 newResource->setResourceToRevalidate(resource); 869 newResource->setResourceToRevalidate(resource);
870 870
871 memoryCache()->remove(resource); 871 memoryCache()->remove(resource);
872 memoryCache()->add(newResource.get()); 872 memoryCache()->add(newResource.get());
873 return newResource; 873 return newResource;
874 } 874 }
875 875
876 ResourcePtr<Resource> ResourceFetcher::loadResource(Resource::Type type, FetchRe quest& request, const String& charset) 876 ResourcePtr<Resource> ResourceFetcher::createResourceForLoading(Resource::Type t ype, FetchRequest& request, const String& charset)
877 { 877 {
878 ASSERT(!memoryCache()->resourceForURL(request.resourceRequest().url())); 878 ASSERT(!memoryCache()->resourceForURL(request.resourceRequest().url()));
879 879
880 WTF_LOG(ResourceLoading, "Loading Resource for '%s'.", request.resourceReque st().url().elidedString().latin1().data()); 880 WTF_LOG(ResourceLoading, "Loading Resource for '%s'.", request.resourceReque st().url().elidedString().latin1().data());
881 881
882 addAdditionalRequestHeaders(request.mutableResourceRequest(), type); 882 addAdditionalRequestHeaders(request.mutableResourceRequest(), type);
883 ResourcePtr<Resource> resource = createResource(type, request.mutableResourc eRequest(), charset); 883 ResourcePtr<Resource> resource = createResource(type, request.resourceReques t(), charset);
884 884
885 memoryCache()->add(resource.get()); 885 memoryCache()->add(resource.get());
886 return resource; 886 return resource;
887 } 887 }
888 888
889 void ResourceFetcher::storeResourceTimingInitiatorInformation(Resource* resource ) 889 void ResourceFetcher::storeResourceTimingInitiatorInformation(Resource* resource )
890 { 890 {
891 if (resource->options().requestInitiatorContext != DocumentContext) 891 if (resource->options().requestInitiatorContext != DocumentContext)
892 return; 892 return;
893 893
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
1492 } 1492 }
1493 } 1493 }
1494 1494
1495 void ResourceFetcher::trace(Visitor* visitor) 1495 void ResourceFetcher::trace(Visitor* visitor)
1496 { 1496 {
1497 visitor->trace(m_document); 1497 visitor->trace(m_document);
1498 ResourceLoaderHost::trace(visitor); 1498 ResourceLoaderHost::trace(visitor);
1499 } 1499 }
1500 1500
1501 } 1501 }
OLDNEW
« no previous file with comments | « Source/core/fetch/ResourceFetcher.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698