 Chromium Code Reviews
 Chromium Code Reviews Issue 1615703002:
  Removal of rel=preload link elements should stop the download.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1615703002:
  Removal of rel=preload link elements should stop the download.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| 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) |