Changeset 163148 in webkit
- Timestamp:
- Jan 30, 2014 6:02:05 PM (10 years ago)
- Location:
- trunk/Source
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r163146 r163148 1 2014-01-30 David Kilzer <ddkilzer@apple.com> 2 3 Add security-checked cast for WebCore::CachedImage 4 <http://webkit.org/b/127967> 5 6 Reviewed by Darin Adler. 7 8 * loader/cache/CachedImage.h: 9 (WebCore::toCachedImage): Add. 10 (WebCore::toCachedImageManual): Add. 11 * loader/cache/CachedResource.h: 12 (CACHED_RESOURCE_TYPE_CASTS): Add macro. 13 14 * loader/cache/CachedImage.cpp: 15 (WebCore::CachedImage::switchClientsToRevalidatedResource): 16 (WebCore::CachedImage::resumeAnimatingImagesForLoader): 17 * loader/cache/CachedResourceLoader.cpp: 18 (WebCore::CachedResourceLoader::requestImage): 19 * loader/cache/MemoryCache.cpp: 20 (WebCore::MemoryCache::removeImageFromCache): 21 - Use toCachedImage() and toCachedImageManual(). 22 1 23 2014-01-30 Simon Fraser <simon.fraser@apple.com> 2 24 -
trunk/Source/WebCore/loader/cache/CachedImage.cpp
r161309 r163148 142 142 switchContainerSizeRequests.set(it->key, it->value); 143 143 CachedResource::switchClientsToRevalidatedResource(); 144 CachedImage* revalidatedCachedImage = static_cast<CachedImage*>(resourceToRevalidate());144 CachedImage* revalidatedCachedImage = toCachedImage(resourceToRevalidate()); 145 145 for (ContainerSizeRequests::iterator it = switchContainerSizeRequests.begin(); it != switchContainerSizeRequests.end(); ++it) 146 146 revalidatedCachedImage->setContainerSizeForRenderer(it->key, it->value.first, it->value.second); … … 546 546 if (!resource || !resource->isImage()) 547 547 continue; 548 CachedImage* cachedImage = static_cast<CachedImage*>(resource.get());548 CachedImage* cachedImage = toCachedImage(resource.get()); 549 549 if (!cachedImage->hasImage()) 550 550 continue; -
trunk/Source/WebCore/loader/cache/CachedImage.h
r163111 r163148 162 162 #endif 163 163 164 CACHED_RESOURCE_TYPE_CASTS(CachedImage, CachedResource, CachedResource::ImageResource) 165 #if USE(CF) 166 TYPE_CASTS_BASE(CachedImageManual, CachedImage, resource, resource->isManual(), resource.isManual()) 167 #endif 168 164 169 } 165 170 -
trunk/Source/WebCore/loader/cache/CachedResource.h
r163111 r163148 369 369 }; 370 370 371 #define CACHED_RESOURCE_TYPE_CASTS(ToClassName, FromClassName, CachedResourceType) \ 372 TYPE_CASTS_BASE(ToClassName, FromClassName, resource, resource->type() == CachedResourceType, resource.type() == CachedResourceType) 373 371 374 } 372 375 -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp
r163111 r163148 161 161 } 162 162 request.setDefer(clientDefersImage(request.resourceRequest().url()) ? CachedResourceRequest::DeferredByClient : CachedResourceRequest::NoDefer); 163 return static_cast<CachedImage*>(requestResource(CachedResource::ImageResource, request).get());163 return toCachedImage(requestResource(CachedResource::ImageResource, request).get()); 164 164 } 165 165 -
trunk/Source/WebCore/loader/cache/MemoryCache.cpp
r161264 r163148 256 256 257 257 // A resource exists and is not a manually cached image, so just remove it. 258 if (!resource->isImage() || ! static_cast<CachedImage*>(resource)->isManual()) {258 if (!resource->isImage() || !toCachedImage(resource)->isManual()) { 259 259 evict(resource); 260 260 return; … … 266 266 // removing the last client triggers a MemoryCache::prune, so the 267 267 // resource may be deleted after this call. 268 static_cast<CachedImageManual*>(resource)->removeFakeClient();268 toCachedImageManual(toCachedImage(resource))->removeFakeClient(); 269 269 } 270 270 #endif -
trunk/Source/WebKit/mac/ChangeLog
r163111 r163148 1 2014-01-30 David Kilzer <ddkilzer@apple.com> 2 3 Add security-checked cast for WebCore::CachedImage 4 <http://webkit.org/b/127967> 5 6 Reviewed by Darin Adler. 7 8 * Misc/WebCache.mm: 9 (+[WebCache imageForURL:]): 10 - Use WebCore::toCachedImage(). 11 1 12 2014-01-30 David Kilzer <ddkilzer@apple.com> 2 13 -
trunk/Source/WebKit/mac/Misc/WebCache.mm
r163111 r163148 237 237 if (!cachedResource || !cachedResource->isImage()) 238 238 return nullptr; 239 WebCore::CachedImage* cachedImage = static_cast<WebCore::CachedImage*>(cachedResource);239 WebCore::CachedImage* cachedImage = WebCore::toCachedImage(cachedResource); 240 240 if (!cachedImage || !cachedImage->hasImage()) 241 241 return nullptr;
Note: See TracChangeset
for help on using the changeset viewer.