Index: third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
diff --git a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
index 3948e207db0502630466315551d47a537432a672..faaef173da3b3f53006d02a4086b5a5ed8ba82af 100644 |
--- a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
+++ b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
@@ -257,7 +257,8 @@ bool ResourceFetcher::isControlledByServiceWorker() const |
bool ResourceFetcher::resourceNeedsLoad(Resource* resource, const FetchRequest& request, RevalidationPolicy policy) |
{ |
- if (FetchRequest::DeferredByClient == request.defer()) |
+ // Defer a font load until it is actually needed unless this is a preload. |
+ if (resource->getType() == Resource::Font && !request.forPreload()) |
return false; |
if (resource->isImage() && shouldDeferImageLoad(resource->url())) |
return false; |
@@ -660,7 +661,7 @@ ResourceFetcher::RevalidationPolicy ResourceFetcher::determineRevalidationPolicy |
// affected by m_imagesEnabled but not m_autoLoadImages, in order to |
// allow for this differing behavior. |
// TODO(japhet): Can we get rid of one of these settings? |
- if (existingResource->isImage() && (FetchRequest::DeferredByClient == fetchRequest.defer() || !context().allowImage(m_imagesEnabled, existingResource->url()))) |
+ if (existingResource->isImage() && !context().allowImage(m_imagesEnabled, existingResource->url())) |
return Reload; |
// Never use cache entries for downloadToFile / useStreamOnResponse |