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

Side by Side Diff: third_party/WebKit/Source/core/loader/resource/LinkPreloadResourceClients.h

Issue 2797423003: Remove ResourceFetcher::preloads (Closed)
Patch Set: fix Created 3 years, 8 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 unified diff | Download patch
OLDNEW
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/loader/resource/CSSStyleSheetResource.h" 8 #include "core/loader/resource/CSSStyleSheetResource.h"
9 #include "core/loader/resource/FontResource.h" 9 #include "core/loader/resource/FontResource.h"
10 #include "core/loader/resource/ImageResource.h" 10 #include "core/loader/resource/ImageResource.h"
11 #include "core/loader/resource/ScriptResource.h" 11 #include "core/loader/resource/ScriptResource.h"
12 #include "core/loader/resource/StyleSheetResourceClient.h" 12 #include "core/loader/resource/StyleSheetResourceClient.h"
13 #include "platform/loader/fetch/RawResource.h" 13 #include "platform/loader/fetch/RawResource.h"
14 #include "platform/loader/fetch/ResourceOwner.h" 14 #include "platform/loader/fetch/ResourceOwner.h"
15 15
16 namespace blink { 16 namespace blink {
17 17
18 class LinkLoader; 18 class LinkLoader;
19 19
20 class LinkPreloadResourceClient 20 class LinkPreloadResourceClient
21 : public GarbageCollectedFinalized<LinkPreloadResourceClient> { 21 : public GarbageCollectedFinalized<LinkPreloadResourceClient> {
22 public: 22 public:
23 virtual ~LinkPreloadResourceClient() {} 23 virtual ~LinkPreloadResourceClient() {}
24 24
25 void triggerEvents(const Resource*); 25 void triggerEvents(const Resource*);
26 virtual Resource* resource() = 0;
26 virtual void clear() = 0; 27 virtual void clear() = 0;
27 28
28 DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(m_loader); } 29 DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(m_loader); }
29 30
30 protected: 31 protected:
31 explicit LinkPreloadResourceClient(LinkLoader* loader) : m_loader(loader) { 32 explicit LinkPreloadResourceClient(LinkLoader* loader) : m_loader(loader) {
32 DCHECK(loader); 33 DCHECK(loader);
33 } 34 }
34 35
35 private: 36 private:
36 Member<LinkLoader> m_loader; 37 Member<LinkLoader> m_loader;
37 }; 38 };
38 39
39 class LinkPreloadScriptResourceClient 40 class LinkPreloadScriptResourceClient
40 : public LinkPreloadResourceClient, 41 : public LinkPreloadResourceClient,
41 public ResourceOwner<ScriptResource, ScriptResourceClient> { 42 public ResourceOwner<ScriptResource, ScriptResourceClient> {
42 USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadScriptResourceClient); 43 USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadScriptResourceClient);
43 44
44 public: 45 public:
45 static LinkPreloadScriptResourceClient* create(LinkLoader* loader, 46 static LinkPreloadScriptResourceClient* create(LinkLoader* loader,
46 ScriptResource* resource) { 47 ScriptResource* resource) {
47 return new LinkPreloadScriptResourceClient(loader, resource); 48 return new LinkPreloadScriptResourceClient(loader, resource);
48 } 49 }
49 50
50 virtual String debugName() const { return "LinkPreloadScript"; } 51 virtual String debugName() const { return "LinkPreloadScript"; }
51 virtual ~LinkPreloadScriptResourceClient() {} 52 virtual ~LinkPreloadScriptResourceClient() {}
52 53
54 Resource* resource() override {
55 return ResourceOwner<ScriptResource>::resource();
56 }
53 void clear() override { clearResource(); } 57 void clear() override { clearResource(); }
54 58
55 void notifyFinished(Resource* resource) override { 59 void notifyFinished(Resource* resource) override {
56 DCHECK_EQ(this->resource(), resource); 60 DCHECK_EQ(this->resource(), resource);
57 triggerEvents(resource); 61 triggerEvents(resource);
58 } 62 }
59 63
60 DEFINE_INLINE_VIRTUAL_TRACE() { 64 DEFINE_INLINE_VIRTUAL_TRACE() {
61 LinkPreloadResourceClient::trace(visitor); 65 LinkPreloadResourceClient::trace(visitor);
62 ResourceOwner<ScriptResource, ScriptResourceClient>::trace(visitor); 66 ResourceOwner<ScriptResource, ScriptResourceClient>::trace(visitor);
(...skipping 14 matching lines...) Expand all
77 public: 81 public:
78 static LinkPreloadStyleResourceClient* create( 82 static LinkPreloadStyleResourceClient* create(
79 LinkLoader* loader, 83 LinkLoader* loader,
80 CSSStyleSheetResource* resource) { 84 CSSStyleSheetResource* resource) {
81 return new LinkPreloadStyleResourceClient(loader, resource); 85 return new LinkPreloadStyleResourceClient(loader, resource);
82 } 86 }
83 87
84 virtual String debugName() const { return "LinkPreloadStyle"; } 88 virtual String debugName() const { return "LinkPreloadStyle"; }
85 virtual ~LinkPreloadStyleResourceClient() {} 89 virtual ~LinkPreloadStyleResourceClient() {}
86 90
91 Resource* resource() override {
92 return ResourceOwner<CSSStyleSheetResource>::resource();
93 }
87 void clear() override { clearResource(); } 94 void clear() override { clearResource(); }
88 95
89 void setCSSStyleSheet(const String&, 96 void setCSSStyleSheet(const String&,
90 const KURL&, 97 const KURL&,
91 ReferrerPolicy, 98 ReferrerPolicy,
92 const String&, 99 const String&,
93 const CSSStyleSheetResource* resource) override { 100 const CSSStyleSheetResource* resource) override {
94 DCHECK_EQ(this->resource(), resource); 101 DCHECK_EQ(this->resource(), resource);
95 triggerEvents(static_cast<const Resource*>(resource)); 102 triggerEvents(static_cast<const Resource*>(resource));
96 } 103 }
(...skipping 18 matching lines...) Expand all
115 122
116 public: 123 public:
117 static LinkPreloadImageResourceClient* create(LinkLoader* loader, 124 static LinkPreloadImageResourceClient* create(LinkLoader* loader,
118 ImageResource* resource) { 125 ImageResource* resource) {
119 return new LinkPreloadImageResourceClient(loader, resource); 126 return new LinkPreloadImageResourceClient(loader, resource);
120 } 127 }
121 128
122 virtual String debugName() const { return "LinkPreloadImage"; } 129 virtual String debugName() const { return "LinkPreloadImage"; }
123 virtual ~LinkPreloadImageResourceClient() {} 130 virtual ~LinkPreloadImageResourceClient() {}
124 131
132 Resource* resource() override {
133 return ResourceOwner<ImageResource>::resource();
134 }
125 void clear() override { clearResource(); } 135 void clear() override { clearResource(); }
126 136
127 void notifyFinished(Resource* resource) override { 137 void notifyFinished(Resource* resource) override {
128 DCHECK_EQ(this->resource(), toImageResource(resource)); 138 DCHECK_EQ(this->resource(), toImageResource(resource));
129 triggerEvents(resource); 139 triggerEvents(resource);
130 } 140 }
131 141
132 DEFINE_INLINE_VIRTUAL_TRACE() { 142 DEFINE_INLINE_VIRTUAL_TRACE() {
133 LinkPreloadResourceClient::trace(visitor); 143 LinkPreloadResourceClient::trace(visitor);
134 ResourceOwner<ImageResource>::trace(visitor); 144 ResourceOwner<ImageResource>::trace(visitor);
(...skipping 13 matching lines...) Expand all
148 158
149 public: 159 public:
150 static LinkPreloadFontResourceClient* create(LinkLoader* loader, 160 static LinkPreloadFontResourceClient* create(LinkLoader* loader,
151 FontResource* resource) { 161 FontResource* resource) {
152 return new LinkPreloadFontResourceClient(loader, resource); 162 return new LinkPreloadFontResourceClient(loader, resource);
153 } 163 }
154 164
155 virtual String debugName() const { return "LinkPreloadFont"; } 165 virtual String debugName() const { return "LinkPreloadFont"; }
156 virtual ~LinkPreloadFontResourceClient() {} 166 virtual ~LinkPreloadFontResourceClient() {}
157 167
168 Resource* resource() override {
169 return ResourceOwner<FontResource>::resource();
170 }
158 void clear() override { clearResource(); } 171 void clear() override { clearResource(); }
159 172
160 void notifyFinished(Resource* resource) override { 173 void notifyFinished(Resource* resource) override {
161 DCHECK_EQ(this->resource(), toFontResource(resource)); 174 DCHECK_EQ(this->resource(), toFontResource(resource));
162 triggerEvents(resource); 175 triggerEvents(resource);
163 } 176 }
164 177
165 DEFINE_INLINE_VIRTUAL_TRACE() { 178 DEFINE_INLINE_VIRTUAL_TRACE() {
166 LinkPreloadResourceClient::trace(visitor); 179 LinkPreloadResourceClient::trace(visitor);
167 ResourceOwner<FontResource, FontResourceClient>::trace(visitor); 180 ResourceOwner<FontResource, FontResourceClient>::trace(visitor);
(...skipping 13 matching lines...) Expand all
181 194
182 public: 195 public:
183 static LinkPreloadRawResourceClient* create(LinkLoader* loader, 196 static LinkPreloadRawResourceClient* create(LinkLoader* loader,
184 RawResource* resource) { 197 RawResource* resource) {
185 return new LinkPreloadRawResourceClient(loader, resource); 198 return new LinkPreloadRawResourceClient(loader, resource);
186 } 199 }
187 200
188 virtual String debugName() const { return "LinkPreloadRaw"; } 201 virtual String debugName() const { return "LinkPreloadRaw"; }
189 virtual ~LinkPreloadRawResourceClient() {} 202 virtual ~LinkPreloadRawResourceClient() {}
190 203
204 Resource* resource() override {
205 return ResourceOwner<RawResource>::resource();
206 }
191 void clear() override { clearResource(); } 207 void clear() override { clearResource(); }
192 208
193 void notifyFinished(Resource* resource) override { 209 void notifyFinished(Resource* resource) override {
194 DCHECK_EQ(this->resource(), toRawResource(resource)); 210 DCHECK_EQ(this->resource(), toRawResource(resource));
195 triggerEvents(resource); 211 triggerEvents(resource);
196 } 212 }
197 213
198 DEFINE_INLINE_VIRTUAL_TRACE() { 214 DEFINE_INLINE_VIRTUAL_TRACE() {
199 LinkPreloadResourceClient::trace(visitor); 215 LinkPreloadResourceClient::trace(visitor);
200 ResourceOwner<RawResource, RawResourceClient>::trace(visitor); 216 ResourceOwner<RawResource, RawResourceClient>::trace(visitor);
201 } 217 }
202 218
203 private: 219 private:
204 LinkPreloadRawResourceClient(LinkLoader* loader, RawResource* resource) 220 LinkPreloadRawResourceClient(LinkLoader* loader, RawResource* resource)
205 : LinkPreloadResourceClient(loader) { 221 : LinkPreloadResourceClient(loader) {
206 setResource(resource, Resource::DontMarkAsReferenced); 222 setResource(resource, Resource::DontMarkAsReferenced);
207 } 223 }
208 }; 224 };
209 225
210 } // namespace blink 226 } // namespace blink
211 227
212 #endif // LinkPreloadResourceClients_h 228 #endif // LinkPreloadResourceClients_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698