Chromium Code Reviews| 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(); |