Index: third_party/WebKit/Source/core/html/parser/HTMLResourcePreloader.cpp |
diff --git a/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloader.cpp b/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloader.cpp |
index e29b24e804a733d7b7c9ad0988b400cea1eb9193..88bf5409336fef8be9b651a9d47d7c5d63322a54 100644 |
--- a/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloader.cpp |
+++ b/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloader.cpp |
@@ -26,6 +26,7 @@ |
#include "core/html/parser/HTMLResourcePreloader.h" |
#include "core/dom/Document.h" |
+#include "core/fetch/CSSStyleSheetResource.h" |
#include "core/fetch/FetchInitiatorInfo.h" |
#include "core/fetch/ResourceFetcher.h" |
#include "core/loader/DocumentLoader.h" |
@@ -48,6 +49,13 @@ DEFINE_TRACE(HTMLResourcePreloader) |
visitor->trace(m_document); |
} |
+int HTMLResourcePreloader::countPreloads() |
+{ |
+ if (m_document->loader()) |
+ return m_document->loader()->fetcher()->countPreloads(); |
+ return 0; |
+} |
+ |
static void preconnectHost(PreloadRequest* request, const NetworkHintsInterface& networkHintsInterface) |
{ |
ASSERT(request); |
@@ -75,7 +83,12 @@ void HTMLResourcePreloader::preload(PassOwnPtr<PreloadRequest> preload, const Ne |
if (preload->resourceType() == Resource::Script || preload->resourceType() == Resource::CSSStyleSheet || preload->resourceType() == Resource::ImportResource) |
request.setCharset(preload->charset().isEmpty() ? m_document->characterSet().getString() : preload->charset()); |
request.setForPreload(true); |
- m_document->loader()->startPreload(preload->resourceType(), request); |
+ Resource* resource = m_document->loader()->startPreload(preload->resourceType(), request); |
+ if (resource && preload->resourceType() == Resource::CSSStyleSheet && RuntimeEnabledFeatures::cssPreloadImportEnabled()) { |
+ OwnPtr<CSSPreloaderResourceClient> client = adoptPtr(new CSSPreloaderResourceClient(resource, this)); |
+ resource->addClient(client.get()); |
+ m_cssPreloaders.add(client.release()); |
+ } |
} |
} // namespace blink |