| 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 680a5ab1b4bbac2b09319e1b7b6c9d685e896b07..f29cc5e5001c93c50a76763e732ea4d70e06ac93 100644
|
| --- a/third_party/WebKit/Source/core/loader/LinkLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/LinkLoader.cpp
|
| @@ -216,7 +216,7 @@ void LinkLoader::createLinkPreloadResourceClient(ResourcePtr<Resource> resource)
|
| }
|
| }
|
|
|
| -static ResourcePtr<Resource> preloadIfNeeded(const LinkRelAttribute& relAttribute, const KURL& href, Document& document, const String& as)
|
| +static ResourcePtr<Resource> preloadIfNeeded(const LinkRelAttribute& relAttribute, const KURL& href, Document& document, const String& as, LinkCaller caller)
|
| {
|
| if (!document.loader() || !relAttribute.isLinkPreload())
|
| return nullptr;
|
| @@ -227,6 +227,8 @@ static ResourcePtr<Resource> preloadIfNeeded(const LinkRelAttribute& relAttribut
|
| document.addConsoleMessage(ConsoleMessage::create(OtherMessageSource, WarningMessageLevel, String("<link rel=preload> has an invalid `href` value")));
|
| return nullptr;
|
| }
|
| + if (caller == LinkCalledFromHeader)
|
| + UseCounter::count(document, UseCounter::LinkHeaderPreload);
|
| Resource::Type type = LinkLoader::getTypeFromAsAttribute(as, &document);
|
| ResourceRequest resourceRequest(document.completeURL(href));
|
| ResourceFetcher::determineRequestContext(resourceRequest, type, false);
|
| @@ -260,7 +262,7 @@ bool LinkLoader::loadLinkFromHeader(const String& headerValue, Document* documen
|
| preconnectIfNeeded(relAttribute, url, *document, header.crossOrigin(), networkHintsInterface, LinkCalledFromHeader);
|
| } else {
|
| if (RuntimeEnabledFeatures::linkPreloadEnabled())
|
| - preloadIfNeeded(relAttribute, url, *document, header.as());
|
| + preloadIfNeeded(relAttribute, url, *document, header.as(), LinkCalledFromHeader);
|
| }
|
| // TODO(yoav): Add more supported headers as needed.
|
| }
|
| @@ -278,7 +280,7 @@ bool LinkLoader::loadLink(const LinkRelAttribute& relAttribute, CrossOriginAttri
|
| preconnectIfNeeded(relAttribute, href, document, crossOrigin, networkHintsInterface, LinkCalledFromMarkup);
|
|
|
| if (m_client->shouldLoadLink())
|
| - createLinkPreloadResourceClient(preloadIfNeeded(relAttribute, href, document, as));
|
| + createLinkPreloadResourceClient(preloadIfNeeded(relAttribute, href, document, as, LinkCalledFromMarkup));
|
|
|
| // FIXME(crbug.com/323096): Should take care of import.
|
| if ((relAttribute.isLinkPrefetch() || relAttribute.isLinkSubresource()) && href.isValid() && document.frame()) {
|
|
|