Changeset 194898 in webkit
- Timestamp:
- Jan 12, 2016 9:31:02 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r194897 r194898 1 2016-01-12 Antti Koivisto <antti@apple.com> 2 3 Don't reuse memory cache entries with different charset 4 https://bugs.webkit.org/show_bug.cgi?id=110031 5 6 Reviewed by Andreas Kling. 7 8 * fast/loader/cache-encoding-expected.txt: Added. 9 * fast/loader/cache-encoding.html: Added. 10 * fast/loader/resources/success.js: Added. 11 1 12 2016-01-12 Ryan Haddad <ryanhaddad@apple.com> 2 13 -
trunk/Source/WebCore/ChangeLog
r194896 r194898 1 2016-01-12 Antti Koivisto <antti@apple.com> 2 3 Don't reuse memory cache entries with different charset 4 https://bugs.webkit.org/show_bug.cgi?id=110031 5 rdar://problem/13666418 6 7 Reviewed by Andreas Kling. 8 9 Test: fast/loader/cache-encoding.html 10 11 * loader/cache/CachedResourceLoader.cpp: 12 (WebCore::CachedResourceLoader::requestResource): 13 (WebCore::logResourceRevalidationDecision): 14 (WebCore::CachedResourceLoader::determineRevalidationPolicy): 15 16 Pass full CachedResourceRequest to the function. 17 If charset differs don't reuse the cache entry. 18 19 * loader/cache/CachedResourceLoader.h: 20 1 21 2016-01-12 Gyuyoung Kim <gyuyoung.kim@webkit.org> 2 22 -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp
r194419 r194898 575 575 logMemoryCacheResourceRequest(frame(), resource ? DiagnosticLoggingKeys::inMemoryCacheKey() : DiagnosticLoggingKeys::notInMemoryCacheKey()); 576 576 577 const RevalidationPolicy policy = determineRevalidationPolicy(type, request .mutableResourceRequest(), request.forPreload(), resource.get(), request.defer());577 const RevalidationPolicy policy = determineRevalidationPolicy(type, request, resource.get()); 578 578 switch (policy) { 579 579 case Reload: … … 714 714 } 715 715 716 CachedResourceLoader::RevalidationPolicy CachedResourceLoader::determineRevalidationPolicy(CachedResource::Type type, ResourceRequest& request, bool forPreload, CachedResource* existingResource, CachedResourceRequest::DeferOption defer) const 717 { 716 CachedResourceLoader::RevalidationPolicy CachedResourceLoader::determineRevalidationPolicy(CachedResource::Type type, CachedResourceRequest& cachedResourceRequest, CachedResource* existingResource) const 717 { 718 auto& request = cachedResourceRequest.resourceRequest(); 719 718 720 if (!existingResource) 719 721 return Load; 720 722 721 723 // We already have a preload going for this URL. 722 if ( forPreload&& existingResource->isPreloaded())724 if (cachedResourceRequest.forPreload() && existingResource->isPreloaded()) 723 725 return Use; 724 726 … … 729 731 return Reload; 730 732 } 733 734 if (existingResource->encoding() != TextEncoding(cachedResourceRequest.charset())) 735 return Reload; 731 736 732 737 // FIXME: We should use the same cache policy for all resource types. The raw resource policy is overly strict … … 744 749 // Do not load from cache if images are not enabled. The load for this image will be blocked 745 750 // in CachedImage::load. 746 if ( CachedResourceRequest::DeferredByClient == defer)751 if (cachedResourceRequest.defer() == CachedResourceRequest::DeferredByClient) 747 752 return Reload; 748 753 -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.h
r194209 r194898 149 149 150 150 enum RevalidationPolicy { Use, Revalidate, Reload, Load }; 151 RevalidationPolicy determineRevalidationPolicy(CachedResource::Type, ResourceRequest&, bool forPreload, CachedResource* existingResource, CachedResourceRequest::DeferOption) const;151 RevalidationPolicy determineRevalidationPolicy(CachedResource::Type, CachedResourceRequest&, CachedResource* existingResource) const; 152 152 153 153 bool shouldContinueAfterNotifyingLoadedFromMemoryCache(const CachedResourceRequest&, CachedResource*);
Note: See TracChangeset
for help on using the changeset viewer.