Changeset 85109 in webkit
- Timestamp:
- Apr 27, 2011 3:31:48 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r85101 r85109 1 2011-04-27 Pratik Solanki <psolanki@apple.com> 2 3 Reviewed by Antti Koivisto. 4 5 Part of WebCore should use CFNetwork-based loader on Mac 6 https://bugs.webkit.org/show_bug.cgi?id=51836 7 8 Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around 9 willCacheResponse/shouldCacheResponse. 10 11 * loader/EmptyClients.h: 12 * loader/FrameLoaderClient.h: 13 * loader/ResourceLoader.h: 14 * loader/cf/ResourceLoaderCFNet.cpp: 15 * loader/mac/ResourceLoaderMac.mm: 16 (WebCore::ResourceLoader::willCacheResponse): 17 * platform/network/ResourceHandleClient.h: 18 (WebCore::ResourceHandleClient::willCacheResponse): 19 (WebCore::ResourceHandleClient::shouldCacheResponse): 20 * platform/network/cf/ResourceHandleCFNet.cpp: 21 (WebCore::willCacheResponse): 22 1 23 2011-04-27 Ilya Tikhonovsky <loislo@chromium.org> 2 24 -
trunk/Source/WebCore/loader/EmptyClients.h
r85036 r85109 396 396 virtual NSCachedURLResponse* willCacheResponse(DocumentLoader*, unsigned long, NSCachedURLResponse* response) const { return response; } 397 397 #endif 398 #if USE(CFNETWORK) 398 #if PLATFORM(WIN) && USE(CFNETWORK) 399 // FIXME: Windows should use willCacheResponse - <https://bugs.webkit.org/show_bug.cgi?id=57257>. 399 400 virtual bool shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long) { return true; } 400 401 #endif -
trunk/Source/WebCore/loader/FrameLoaderClient.h
r84260 r85109 285 285 virtual NSCachedURLResponse* willCacheResponse(DocumentLoader*, unsigned long identifier, NSCachedURLResponse*) const = 0; 286 286 #endif 287 #if USE(CFNETWORK) 287 #if PLATFORM(WIN) && USE(CFNETWORK) 288 // FIXME: Windows should use willCacheResponse - <https://bugs.webkit.org/show_bug.cgi?id=57257>. 288 289 virtual bool shouldCacheResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const unsigned char* data, unsigned long long length) = 0; 289 290 #endif -
trunk/Source/WebCore/loader/ResourceLoader.h
r84260 r85109 120 120 virtual void willCacheResponse(ResourceHandle*, CacheStoragePolicy&); 121 121 #if PLATFORM(MAC) 122 #if USE(CFNETWORK) 123 virtual CFCachedURLResponseRef willCacheResponse(ResourceHandle*, CFCachedURLResponseRef); 124 #else 122 125 virtual NSCachedURLResponse* willCacheResponse(ResourceHandle*, NSCachedURLResponse*); 123 126 #endif 124 #if USE(CFNETWORK) 127 #endif // PLATFORM(MAC) 128 #if PLATFORM(WIN) && USE(CFNETWORK) 129 // FIXME: Windows should use willCacheResponse - <https://bugs.webkit.org/show_bug.cgi?id=57257>. 125 130 virtual bool shouldCacheResponse(ResourceHandle*, CFCachedURLResponseRef); 126 131 #endif -
trunk/Source/WebCore/loader/cf/ResourceLoaderCFNet.cpp
r74943 r85109 34 34 namespace WebCore { 35 35 36 #if PLATFORM(WIN) 37 36 38 bool ResourceLoader::shouldCacheResponse(ResourceHandle*, CFCachedURLResponseRef cachedResponse) 37 39 { … … 44 46 } 45 47 48 #endif 49 46 50 } // namespace WebCore 47 51 -
trunk/Source/WebCore/loader/mac/ResourceLoaderMac.mm
r81710 r85109 30 30 #include "ResourceLoader.h" 31 31 32 #if !USE(CFNETWORK)33 34 32 #include "FrameLoader.h" 35 33 #include "FrameLoaderClient.h" … … 40 38 #endif 41 39 40 #if USE(CFNETWORK) 41 @interface NSCachedURLResponse (Details) 42 -(id)_initWithCFCachedURLResponse:(CFCachedURLResponseRef)cachedResponse; 43 -(CFCachedURLResponseRef)_CFCachedURLResponse; 44 @end 45 #endif 46 42 47 namespace WebCore { 48 49 #if USE(CFNETWORK) 50 51 CFCachedURLResponseRef ResourceLoader::willCacheResponse(ResourceHandle*, CFCachedURLResponseRef cachedResponse) 52 { 53 if (!m_sendResourceLoadCallbacks) 54 return 0; 55 56 RetainPtr<NSCachedURLResponse> nsCachedResponse(AdoptNS, [[NSCachedURLResponse alloc] _initWithCFCachedURLResponse:cachedResponse]); 57 return [frameLoader()->client()->willCacheResponse(documentLoader(), identifier(), nsCachedResponse.get()) _CFCachedURLResponse]; 58 } 59 60 #else 43 61 44 62 NSCachedURLResponse* ResourceLoader::willCacheResponse(ResourceHandle*, NSCachedURLResponse* response) … … 48 66 return frameLoader()->client()->willCacheResponse(documentLoader(), identifier(), response); 49 67 } 68 69 #endif 50 70 51 71 #if HAVE(CFNETWORK_DATA_ARRAY_CALLBACK) … … 88 108 89 109 } 90 91 #endif // !USE(CFNETWORK) -
trunk/Source/WebCore/platform/network/ResourceHandleClient.h
r84260 r85109 32 32 33 33 #if USE(CFNETWORK) 34 #include <ConditionalMacros.h>35 34 #include <CFNetwork/CFURLCachePriv.h> 36 35 #include <CFNetwork/CFURLResponsePriv.h> 36 #endif 37 38 #if PLATFORM(WIN) 39 #include <ConditionalMacros.h> 37 40 #endif 38 41 … … 94 97 virtual void receivedCancellation(ResourceHandle*, const AuthenticationChallenge&) { } 95 98 96 #if PLATFORM(MAC) 99 #if PLATFORM(MAC) 100 #if USE(CFNETWORK) 101 virtual CFCachedURLResponseRef willCacheResponse(ResourceHandle*, CFCachedURLResponseRef response) { return response; } 102 #else 97 103 virtual NSCachedURLResponse* willCacheResponse(ResourceHandle*, NSCachedURLResponse* response) { return response; } 98 virtual void willStopBufferingData(ResourceHandle*, const char*, int) { }99 104 #endif 100 #if USE(CFNETWORK) 101 virtual bool shouldCacheResponse(ResourceHandle*, CFCachedURLResponseRef response) { return true; } 105 virtual void willStopBufferingData(ResourceHandle*, const char*, int) { } 106 #endif // PLATFORM(MAC) 107 #if PLATFORM(WIN) && USE(CFNETWORK) 108 virtual bool shouldCacheResponse(ResourceHandle*, CFCachedURLResponseRef) { return true; } 102 109 #endif 103 110 #if ENABLE(BLOB) -
trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp
r84260 r85109 252 252 } 253 253 254 CFCachedURLResponseRef willCacheResponse(CFURLConnectionRef conn, CFCachedURLResponseRef cachedResponse, const void* clientInfo) 254 static CFCachedURLResponseRef willCacheResponse(CFURLConnectionRef, CFCachedURLResponseRef cachedResponse, const void* clientInfo) 255 255 { 256 256 ResourceHandle* handle = static_cast<ResourceHandle*>(const_cast<void*>(clientInfo)); 257 257 258 #if PLATFORM(WIN) 258 259 if (handle->client() && !handle->client()->shouldCacheResponse(handle, cachedResponse)) 259 260 return 0; 261 #else 262 CFCachedURLResponseRef newResponse = handle->client()->willCacheResponse(handle, cachedResponse); 263 if (newResponse != cachedResponse) 264 return newResponse; 265 #endif 260 266 261 267 CacheStoragePolicy policy = static_cast<CacheStoragePolicy>(CFCachedURLResponseGetStoragePolicy(cachedResponse)); -
trunk/Source/WebKit2/ChangeLog
r85088 r85109 1 2011-04-27 Pratik Solanki <psolanki@apple.com> 2 3 Reviewed by Antti Koivisto. 4 5 Part of WebCore should use CFNetwork-based loader on Mac 6 https://bugs.webkit.org/show_bug.cgi?id=51836 7 8 Add PLATFORM(WIN) ifdef around shouldCacheResponse. 9 10 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 12 1 13 2011-04-27 Anders Carlsson <andersca@apple.com> 2 14 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r84260 r85109 1363 1363 1364 1364 #endif 1365 #if USE(CFNETWORK)1365 #if PLATFORM(WIN) && USE(CFNETWORK) 1366 1366 bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const unsigned char* data, unsigned long long length) 1367 1367 { -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
r84260 r85109 210 210 virtual NSCachedURLResponse* willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*) const; 211 211 #endif 212 #if USE(CFNETWORK) 212 #if PLATFORM(WIN) && USE(CFNETWORK) 213 // FIXME: Windows should use willCacheResponse - <https://bugs.webkit.org/show_bug.cgi?id=57257>. 213 214 virtual bool shouldCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length); 214 215 #endif
Note: See TracChangeset
for help on using the changeset viewer.