| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef LinkPreloadResourceClients_h | 5 #ifndef LinkPreloadResourceClients_h | 
| 6 #define LinkPreloadResourceClients_h | 6 #define LinkPreloadResourceClients_h | 
| 7 | 7 | 
| 8 #include "core/fetch/CSSStyleSheetResource.h" | 8 #include "core/fetch/CSSStyleSheetResource.h" | 
| 9 #include "core/fetch/FontResource.h" | 9 #include "core/fetch/FontResource.h" | 
| 10 #include "core/fetch/ImageResourceClient.h" | 10 #include "core/fetch/ImageResourceClient.h" | 
|  | 11 #include "core/fetch/ResourceLoader.h" | 
| 11 #include "core/fetch/ResourceOwner.h" | 12 #include "core/fetch/ResourceOwner.h" | 
| 12 #include "core/fetch/ScriptResource.h" | 13 #include "core/fetch/ScriptResource.h" | 
| 13 #include "core/fetch/StyleSheetResourceClient.h" | 14 #include "core/fetch/StyleSheetResourceClient.h" | 
| 14 | 15 | 
| 15 namespace blink { | 16 namespace blink { | 
| 16 | 17 | 
| 17 class LinkLoader; | 18 class LinkLoader; | 
| 18 | 19 | 
| 19 class LinkPreloadResourceClient : public NoBaseWillBeGarbageCollectedFinalized<L
     inkPreloadResourceClient> { | 20 class LinkPreloadResourceClient : public NoBaseWillBeGarbageCollectedFinalized<L
     inkPreloadResourceClient> { | 
| 20 public: | 21 public: | 
| 21     virtual ~LinkPreloadResourceClient() { } | 22     virtual ~LinkPreloadResourceClient() { } | 
| 22 | 23 | 
| 23     void triggerEvents(const Resource*); | 24     void triggerEvents(const Resource*); | 
| 24 | 25 | 
|  | 26     virtual void clear() = 0; | 
|  | 27 | 
| 25     DEFINE_INLINE_VIRTUAL_TRACE() | 28     DEFINE_INLINE_VIRTUAL_TRACE() | 
| 26     { | 29     { | 
| 27         visitor->trace(m_loader); | 30         visitor->trace(m_loader); | 
| 28     } | 31     } | 
| 29 | 32 | 
| 30 protected: | 33 protected: | 
| 31     LinkPreloadResourceClient(LinkLoader* loader) | 34     LinkPreloadResourceClient(LinkLoader* loader) | 
| 32         : m_loader(loader) | 35         : m_loader(loader) | 
| 33     { | 36     { | 
| 34         ASSERT(loader); | 37         ASSERT(loader); | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 54         ASSERT(this->resource() == resource); | 57         ASSERT(this->resource() == resource); | 
| 55         triggerEvents(resource); | 58         triggerEvents(resource); | 
| 56     } | 59     } | 
| 57 | 60 | 
| 58     DEFINE_INLINE_VIRTUAL_TRACE() | 61     DEFINE_INLINE_VIRTUAL_TRACE() | 
| 59     { | 62     { | 
| 60         LinkPreloadResourceClient::trace(visitor); | 63         LinkPreloadResourceClient::trace(visitor); | 
| 61         ResourceOwner<ScriptResource, ScriptResourceClient>::trace(visitor); | 64         ResourceOwner<ScriptResource, ScriptResourceClient>::trace(visitor); | 
| 62     } | 65     } | 
| 63 | 66 | 
|  | 67     void clear() override | 
|  | 68     { | 
|  | 69         clearResource(); | 
|  | 70     } | 
|  | 71 | 
| 64 private: | 72 private: | 
| 65     LinkPreloadScriptResourceClient(LinkLoader* loader, ScriptResource* resource
     ) | 73     LinkPreloadScriptResourceClient(LinkLoader* loader, ScriptResource* resource
     ) | 
| 66         : LinkPreloadResourceClient(loader) | 74         : LinkPreloadResourceClient(loader) | 
| 67     { | 75     { | 
| 68         setResource(resource); | 76         setResource(resource); | 
| 69     } | 77     } | 
| 70 }; | 78 }; | 
| 71 | 79 | 
| 72 class LinkPreloadStyleResourceClient: public LinkPreloadResourceClient, public R
     esourceOwner<CSSStyleSheetResource, StyleSheetResourceClient> { | 80 class LinkPreloadStyleResourceClient: public LinkPreloadResourceClient, public R
     esourceOwner<CSSStyleSheetResource, StyleSheetResourceClient> { | 
| 73     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadStyleResourceClient); | 81     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadStyleResourceClient); | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 85         ASSERT(this->resource() == resource); | 93         ASSERT(this->resource() == resource); | 
| 86         triggerEvents(static_cast<const Resource*>(resource)); | 94         triggerEvents(static_cast<const Resource*>(resource)); | 
| 87     } | 95     } | 
| 88 | 96 | 
| 89     DEFINE_INLINE_VIRTUAL_TRACE() | 97     DEFINE_INLINE_VIRTUAL_TRACE() | 
| 90     { | 98     { | 
| 91         LinkPreloadResourceClient::trace(visitor); | 99         LinkPreloadResourceClient::trace(visitor); | 
| 92         ResourceOwner<CSSStyleSheetResource, StyleSheetResourceClient>::trace(vi
     sitor); | 100         ResourceOwner<CSSStyleSheetResource, StyleSheetResourceClient>::trace(vi
     sitor); | 
| 93     } | 101     } | 
| 94 | 102 | 
|  | 103     void clear() override | 
|  | 104     { | 
|  | 105         clearResource(); | 
|  | 106     } | 
|  | 107 | 
| 95 private: | 108 private: | 
| 96     LinkPreloadStyleResourceClient(LinkLoader* loader, CSSStyleSheetResource* re
     source) | 109     LinkPreloadStyleResourceClient(LinkLoader* loader, CSSStyleSheetResource* re
     source) | 
| 97         : LinkPreloadResourceClient(loader) | 110         : LinkPreloadResourceClient(loader) | 
| 98     { | 111     { | 
| 99         setResource(resource); | 112         setResource(resource); | 
| 100     } | 113     } | 
| 101 }; | 114 }; | 
| 102 | 115 | 
| 103 } | 116 } | 
| 104 | 117 | 
| 105 #endif // LinkPreloadResourceClients_h | 118 #endif // LinkPreloadResourceClients_h | 
| OLD | NEW | 
|---|