Index: Source/core/loader/LinkLoader.cpp |
diff --git a/Source/core/loader/LinkLoader.cpp b/Source/core/loader/LinkLoader.cpp |
index 25c23488f04ba758900e36b47a0f75d52ef52502..b8d1bb2ac9fdc9c523702dc7b041f78f08682352 100644 |
--- a/Source/core/loader/LinkLoader.cpp |
+++ b/Source/core/loader/LinkLoader.cpp |
@@ -36,13 +36,25 @@ |
#include "core/dom/Document.h" |
#include "core/fetch/FetchRequest.h" |
#include "core/fetch/ResourceFetcher.h" |
+#include "core/frame/Settings.h" |
#include "core/html/LinkRelAttribute.h" |
#include "core/loader/PrerenderHandle.h" |
-#include "core/frame/Settings.h" |
+#include "platform/Prerender.h" |
#include "platform/network/DNS.h" |
namespace WebCore { |
+static unsigned PrerenderRelTypesFromRelAttribute(const LinkRelAttribute& relAttribute) |
abarth-chromium
2013/12/20 04:32:06
PrerenderRelTypesFromRelAttribute -> prerenderRelT
gavinp
2013/12/20 15:54:00
Done.
|
+{ |
+ unsigned result = 0; |
+ if (relAttribute.isLinkPrerender()) |
+ result |= PrerenderRelTypePrerender; |
+ if (relAttribute.isLinkNext()) |
+ result |= PrerenderRelTypeNext; |
+ |
+ return result; |
+} |
+ |
LinkLoader::LinkLoader(LinkLoaderClient* client) |
: m_client(client) |
, m_linkLoadTimer(this, &LinkLoader::linkLoadTimerFired) |
@@ -117,12 +129,12 @@ bool LinkLoader::loadLink(const LinkRelAttribute& relAttribute, const String& ty |
setResource(document.fetcher()->fetchLinkResource(type, linkRequest)); |
} |
- if (relAttribute.isLinkPrerender()) { |
+ if (const unsigned prerenderRelTypes = PrerenderRelTypesFromRelAttribute(relAttribute)) { |
if (!m_prerender) { |
- m_prerender = PrerenderHandle::create(document, this, href); |
+ m_prerender = PrerenderHandle::create(document, this, href, prerenderRelTypes); |
} else if (m_prerender->url() != href) { |
m_prerender->cancel(); |
- m_prerender = PrerenderHandle::create(document, this, href); |
+ m_prerender = PrerenderHandle::create(document, this, href, prerenderRelTypes); |
} |
} else if (m_prerender) { |
m_prerender->cancel(); |