Index: third_party/WebKit/Source/core/loader/LinkLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/LinkLoader.cpp b/third_party/WebKit/Source/core/loader/LinkLoader.cpp |
index 208b30de570ab9194c954f28b6ee10ccecb8cf34..a4e9894daef421bf9c6d189e7f7b588501689831 100644 |
--- a/third_party/WebKit/Source/core/loader/LinkLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/LinkLoader.cpp |
@@ -186,6 +186,8 @@ bool LinkLoader::getResourceTypeFromAsAttribute(const String& as, Resource::Type |
type = Resource::Font; |
} else if (as == "track") { |
type = Resource::TextTrack; |
+ } else if (as == "document") { |
+ type = Resource::MainResource; |
} else { |
type = Resource::Raw; |
if (!as.isEmpty()) |
@@ -211,6 +213,9 @@ void LinkLoader::createLinkPreloadResourceClient(Resource* resource) |
case Resource::Font: |
m_linkPreloadResourceClient = LinkPreloadFontResourceClient::create(this, toFontResource(resource)); |
break; |
+ case Resource::MainResource: |
+ m_linkPreloadResourceClient = LinkPreloadRawResourceClient::create(this, toRawResource(resource)); |
+ break; |
case Resource::Media: |
case Resource::TextTrack: |
case Resource::Raw: |
@@ -239,6 +244,7 @@ static bool isSupportedType(Resource::Type resourceType, const String& mimeType) |
case Resource::TextTrack: |
return MIMETypeRegistry::isSupportedTextTrackMIMEType(mimeType); |
case Resource::Raw: |
+ case Resource::MainResource: |
return true; |
default: |
ASSERT_NOT_REACHED(); |
@@ -283,6 +289,8 @@ static Resource* preloadIfNeeded(const LinkRelAttribute& relAttribute, const KUR |
return nullptr; |
} |
ResourceRequest resourceRequest(document.completeURL(href)); |
+ if (resourceType == Resource::MainResource) |
+ resourceRequest.setFrameType(WebURLRequest::FrameTypePreload); |
ResourceFetcher::determineRequestContext(resourceRequest, resourceType, false); |
FetchRequest linkRequest(resourceRequest, FetchInitiatorTypeNames::link, document.encodingName()); |