Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Unified Diff: third_party/WebKit/Source/core/loader/LinkPreloadResourceClients.h

Issue 1615703002: Removal of rel=preload link elements should stop the download. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/loader/LinkPreloadResourceClients.h
diff --git a/third_party/WebKit/Source/core/loader/LinkPreloadResourceClients.h b/third_party/WebKit/Source/core/loader/LinkPreloadResourceClients.h
index f73ac7237fca3469226138fef928e319666ed089..b7fd972d89e37ee23f315903d8d5f5d4fc611692 100644
--- a/third_party/WebKit/Source/core/loader/LinkPreloadResourceClients.h
+++ b/third_party/WebKit/Source/core/loader/LinkPreloadResourceClients.h
@@ -8,6 +8,7 @@
#include "core/fetch/CSSStyleSheetResource.h"
#include "core/fetch/FontResource.h"
#include "core/fetch/ImageResourceClient.h"
+#include "core/fetch/ResourceLoader.h"
#include "core/fetch/ResourceOwner.h"
#include "core/fetch/ScriptResource.h"
#include "core/fetch/StyleSheetResourceClient.h"
@@ -22,6 +23,8 @@ public:
void triggerEvents(const Resource*);
+ virtual void cancel() = 0;
+
DEFINE_INLINE_VIRTUAL_TRACE()
{
visitor->trace(m_loader);
@@ -61,6 +64,12 @@ public:
ResourceOwner<ScriptResource, ScriptResourceClient>::trace(visitor);
}
+ void cancel() override
+ {
+ if (resource() && resource()->loader())
+ resource()->loader()->cancel();
Nate Chapin 2016/01/21 19:03:50 This will cancel the load even if the preload is n
Yoav Weiss 2016/01/21 21:51:21 yeah. changed to clearResource()
+ }
+
private:
LinkPreloadScriptResourceClient(LinkLoader* loader, ScriptResource* resource)
: LinkPreloadResourceClient(loader)
@@ -92,6 +101,12 @@ public:
ResourceOwner<CSSStyleSheetResource, StyleSheetResourceClient>::trace(visitor);
}
+ void cancel() override
+ {
+ if (resource() && resource()->loader())
+ resource()->loader()->cancel();
+ }
+
private:
LinkPreloadStyleResourceClient(LinkLoader* loader, CSSStyleSheetResource* resource)
: LinkPreloadResourceClient(loader)

Powered by Google App Engine
This is Rietveld 408576698