-
ap@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=86027 <rdar://problem/10615880> Reviewed by Antti Koivisto. Source/WebCore: Added an API test. The fix is to use CachedResourceHandle throughout MemoryCache, which will certainly keep the resource alive. Also removed earlier fixes. * css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet): * css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage): * css/WebKitCSSShaderValue.cpp: (WebCore::WebKitCSSShaderValue::cachedShader): * history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow): * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load): * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::requestImage): (WebCore::CachedResourceLoader::requestFont): (WebCore::CachedResourceLoader::requestTextTrack): (WebCore::CachedResourceLoader::requestShader): (WebCore::CachedResourceLoader::requestCSSStyleSheet): (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): (WebCore::CachedResourceLoader::requestScript): (WebCore::CachedResourceLoader::requestXSLStyleSheet): (WebCore::CachedResourceLoader::requestSVGDocument): (WebCore::CachedResourceLoader::requestLinkResource): (WebCore::CachedResourceLoader::requestRawResource): (WebCore::CachedResourceLoader::requestResource): (WebCore::CachedResourceLoader::revalidateResource): (WebCore::CachedResourceLoader::loadResource): (WebCore::CachedResourceLoader::requestPreload): * loader/cache/CachedResourceLoader.h: (CachedResourceLoader): * loader/cache/MemoryCache.h: (WebCore::MemoryCache::setPruneEnabled): * loader/cache/CachedResourceHandle.h: (WebCore::CachedResourceHandle::CachedResourceHandle): (WebCore::CachedResourceHandle::operator=): Teach CachedResourceHandle how to make CachedResourceHandle<CachedResource> from a handle to subclass. Tools: Added a test that's very similar to MemoryCachePruneWithinResourceLoadDelegate, but for disabling the cache instead of triggering a prune. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.html: Added. * TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.mm: Added. (-[MemoryCacheDisableTestResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]): (-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): (-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]): (-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]): (TestWebKitAPI::TEST): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
6edc42b4