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

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: 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 660 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 671
672 // See if we can use an existing resource from the cache. 672 // See if we can use an existing resource from the cache.
673 ResourcePtr<Resource> resource = memoryCache()->resourceForURL(url); 673 ResourcePtr<Resource> resource = memoryCache()->resourceForURL(url);
674 674
675 const RevalidationPolicy policy = determineRevalidationPolicy(type, request. mutableResourceRequest(), request.forPreload(), resource.get(), request.defer(), request.options()); 675 const RevalidationPolicy policy = determineRevalidationPolicy(type, request. mutableResourceRequest(), request.forPreload(), resource.get(), request.defer(), request.options());
676 switch (policy) { 676 switch (policy) {
677 case Reload: 677 case Reload:
678 memoryCache()->remove(resource.get()); 678 memoryCache()->remove(resource.get());
679 // Fall through 679 // Fall through
680 case Load: 680 case Load:
681 resource = loadResource(type, request, request.charset()); 681 resource = createResourceForLoading(type, request, request.charset());
682 break; 682 break;
683 case Revalidate: 683 case Revalidate:
684 resource = revalidateResource(request, resource.get()); 684 resource = createResourceForRevalidation(request, resource.get());
685 break; 685 break;
686 case Use: 686 case Use:
687 memoryCache()->updateForAccess(resource.get()); 687 memoryCache()->updateForAccess(resource.get());
688 notifyLoadedFromMemoryCache(resource.get()); 688 notifyLoadedFromMemoryCache(resource.get());
689 break; 689 break;
690 } 690 }
691 691
692 if (!resource) 692 if (!resource)
693 return 0; 693 return 0;
694 694
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 if (request.cachePolicy() == UseProtocolCachePolicy) 810 if (request.cachePolicy() == UseProtocolCachePolicy)
811 request.setCachePolicy(resourceRequestCachePolicy(request, type)); 811 request.setCachePolicy(resourceRequestCachePolicy(request, type));
812 if (request.targetType() == ResourceRequest::TargetIsUnspecified) 812 if (request.targetType() == ResourceRequest::TargetIsUnspecified)
813 determineTargetType(request, type); 813 determineTargetType(request, type);
814 if (type == Resource::LinkPrefetch || type == Resource::LinkSubresource) 814 if (type == Resource::LinkPrefetch || type == Resource::LinkSubresource)
815 request.setHTTPHeaderField("Purpose", "prefetch"); 815 request.setHTTPHeaderField("Purpose", "prefetch");
816 816
817 context().addAdditionalRequestHeaders(document(), request, (type == Resource ::MainResource) ? FetchMainResource : FetchSubresource); 817 context().addAdditionalRequestHeaders(document(), request, (type == Resource ::MainResource) ? FetchMainResource : FetchSubresource);
818 } 818 }
819 819
820 ResourcePtr<Resource> ResourceFetcher::revalidateResource(const FetchRequest& re quest, Resource* resource) 820 ResourcePtr<Resource> ResourceFetcher::createResourceForRevalidation(const Fetch Request& request, Resource* resource)
821 { 821 {
822 ASSERT(resource); 822 ASSERT(resource);
823 ASSERT(memoryCache()->contains(resource)); 823 ASSERT(memoryCache()->contains(resource));
824 ASSERT(resource->isLoaded()); 824 ASSERT(resource->isLoaded());
825 ASSERT(resource->canUseCacheValidator()); 825 ASSERT(resource->canUseCacheValidator());
826 ASSERT(!resource->resourceToRevalidate()); 826 ASSERT(!resource->resourceToRevalidate());
827 827
828 ResourceRequest revalidatingRequest(resource->resourceRequest()); 828 ResourceRequest revalidatingRequest(resource->resourceRequest());
829 revalidatingRequest.clearHTTPReferrer(); 829 revalidatingRequest.clearHTTPReferrer();
830 addAdditionalRequestHeaders(revalidatingRequest, resource->type()); 830 addAdditionalRequestHeaders(revalidatingRequest, resource->type());
831 831
832 const AtomicString& lastModified = resource->response().httpHeaderField("Las t-Modified"); 832 const AtomicString& lastModified = resource->response().httpHeaderField("Las t-Modified");
833 const AtomicString& eTag = resource->response().httpHeaderField("ETag"); 833 const AtomicString& eTag = resource->response().httpHeaderField("ETag");
834 if (!lastModified.isEmpty() || !eTag.isEmpty()) { 834 if (!lastModified.isEmpty() || !eTag.isEmpty()) {
835 ASSERT(context().cachePolicy(document()) != CachePolicyReload); 835 ASSERT(context().cachePolicy(document()) != CachePolicyReload);
836 if (context().cachePolicy(document()) == CachePolicyRevalidate) 836 if (context().cachePolicy(document()) == CachePolicyRevalidate)
837 revalidatingRequest.setHTTPHeaderField("Cache-Control", "max-age=0") ; 837 revalidatingRequest.setHTTPHeaderField("Cache-Control", "max-age=0") ;
838 if (!lastModified.isEmpty())
839 revalidatingRequest.setHTTPHeaderField("If-Modified-Since", lastModi fied);
840 if (!eTag.isEmpty())
841 revalidatingRequest.setHTTPHeaderField("If-None-Match", eTag);
842 } 838 }
839 if (!lastModified.isEmpty())
840 revalidatingRequest.setHTTPHeaderField("If-Modified-Since", lastModified );
841 if (!eTag.isEmpty())
842 revalidatingRequest.setHTTPHeaderField("If-None-Match", eTag);
843 843
844 ResourcePtr<Resource> newResource = createResource(resource->type(), revalid atingRequest, resource->encoding()); 844 ResourcePtr<Resource> newResource = createResource(resource->type(), revalid atingRequest, resource->encoding());
845 WTF_LOG(ResourceLoading, "Resource %p created to revalidate %p", newResource .get(), resource);
845 846
846 WTF_LOG(ResourceLoading, "Resource %p created to revalidate %p", newResource .get(), resource);
847 newResource->setResourceToRevalidate(resource); 847 newResource->setResourceToRevalidate(resource);
848 848
849 memoryCache()->remove(resource); 849 memoryCache()->remove(resource);
850 memoryCache()->add(newResource.get()); 850 memoryCache()->add(newResource.get());
851
Nate Chapin 2014/06/06 16:16:31 Why the newlines here and below?
tyoshino (SeeGerritForStatus) 2014/06/09 02:03:32 I tend to insert a blank line right before the las
851 return newResource; 852 return newResource;
852 } 853 }
853 854
854 ResourcePtr<Resource> ResourceFetcher::loadResource(Resource::Type type, FetchRe quest& request, const String& charset) 855 ResourcePtr<Resource> ResourceFetcher::createResourceForLoading(Resource::Type t ype, FetchRequest& request, const String& charset)
855 { 856 {
856 ASSERT(!memoryCache()->resourceForURL(request.resourceRequest().url())); 857 ASSERT(!memoryCache()->resourceForURL(request.resourceRequest().url()));
857 858
858 WTF_LOG(ResourceLoading, "Loading Resource for '%s'.", request.resourceReque st().url().elidedString().latin1().data()); 859 WTF_LOG(ResourceLoading, "Loading Resource for '%s'.", request.resourceReque st().url().elidedString().latin1().data());
859 860
860 addAdditionalRequestHeaders(request.mutableResourceRequest(), type); 861 addAdditionalRequestHeaders(request.mutableResourceRequest(), type);
861 ResourcePtr<Resource> resource = createResource(type, request.mutableResourc eRequest(), charset); 862 ResourcePtr<Resource> resource = createResource(type, request.resourceReques t(), charset);
862 863
863 memoryCache()->add(resource.get()); 864 memoryCache()->add(resource.get());
865
864 return resource; 866 return resource;
865 } 867 }
866 868
867 void ResourceFetcher::storeResourceTimingInitiatorInformation(Resource* resource ) 869 void ResourceFetcher::storeResourceTimingInitiatorInformation(Resource* resource )
868 { 870 {
869 if (resource->options().requestInitiatorContext != DocumentContext) 871 if (resource->options().requestInitiatorContext != DocumentContext)
870 return; 872 return;
871 873
872 RefPtr<ResourceTimingInfo> info = ResourceTimingInfo::create(resource->optio ns().initiatorInfo.name, monotonicallyIncreasingTime()); 874 RefPtr<ResourceTimingInfo> info = ResourceTimingInfo::create(resource->optio ns().initiatorInfo.name, monotonicallyIncreasingTime());
873 875
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
1470 } 1472 }
1471 } 1473 }
1472 1474
1473 void ResourceFetcher::trace(Visitor* visitor) 1475 void ResourceFetcher::trace(Visitor* visitor)
1474 { 1476 {
1475 visitor->trace(m_document); 1477 visitor->trace(m_document);
1476 ResourceLoaderHost::trace(visitor); 1478 ResourceLoaderHost::trace(visitor);
1477 } 1479 }
1478 1480
1479 } 1481 }
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