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/ImageResource.h" | 10 #include "core/fetch/ImageResource.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 } | 39 } |
40 | 40 |
41 private: | 41 private: |
42 RawPtrWillBeMember<LinkLoader> m_loader; | 42 RawPtrWillBeMember<LinkLoader> m_loader; |
43 }; | 43 }; |
44 | 44 |
45 class LinkPreloadScriptResourceClient: public LinkPreloadResourceClient, public
ResourceOwner<ScriptResource, ScriptResourceClient> { | 45 class LinkPreloadScriptResourceClient: public LinkPreloadResourceClient, public
ResourceOwner<ScriptResource, ScriptResourceClient> { |
46 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadScriptResourceClient); | 46 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadScriptResourceClient); |
47 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadScriptResourceClient); | 47 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadScriptResourceClient); |
48 public: | 48 public: |
49 static PassOwnPtrWillBeRawPtr<LinkPreloadScriptResourceClient> create(LinkLo
ader* loader, ScriptResource* resource) | 49 static PassOwnPtrWillBeRawPtr<LinkPreloadScriptResourceClient> create(LinkLo
ader* loader, PassRefPtrWillBeRawPtr<ScriptResource> resource) |
50 { | 50 { |
51 return adoptPtrWillBeNoop(new LinkPreloadScriptResourceClient(loader, re
source)); | 51 return adoptPtrWillBeNoop(new LinkPreloadScriptResourceClient(loader, re
source)); |
52 } | 52 } |
53 | 53 |
54 virtual String debugName() const { return "LinkPreloadScript"; } | 54 virtual String debugName() const { return "LinkPreloadScript"; } |
55 virtual ~LinkPreloadScriptResourceClient() { } | 55 virtual ~LinkPreloadScriptResourceClient() { } |
56 | 56 |
57 void clear() override { clearResource(); } | 57 void clear() override { clearResource(); } |
58 | 58 |
59 void notifyFinished(Resource* resource) override | 59 void notifyFinished(Resource* resource) override |
60 { | 60 { |
61 ASSERT(this->resource() == resource); | 61 ASSERT(this->resource() == resource); |
62 triggerEvents(resource); | 62 triggerEvents(resource); |
63 } | 63 } |
64 | 64 |
65 DEFINE_INLINE_VIRTUAL_TRACE() | 65 DEFINE_INLINE_VIRTUAL_TRACE() |
66 { | 66 { |
67 LinkPreloadResourceClient::trace(visitor); | 67 LinkPreloadResourceClient::trace(visitor); |
68 ResourceOwner<ScriptResource, ScriptResourceClient>::trace(visitor); | 68 ResourceOwner<ScriptResource, ScriptResourceClient>::trace(visitor); |
69 } | 69 } |
70 | 70 |
71 private: | 71 private: |
72 LinkPreloadScriptResourceClient(LinkLoader* loader, ScriptResource* resource
) | 72 LinkPreloadScriptResourceClient(LinkLoader* loader, PassRefPtrWillBeRawPtr<S
criptResource> resource) |
73 : LinkPreloadResourceClient(loader) | 73 : LinkPreloadResourceClient(loader) |
74 { | 74 { |
75 setResource(resource); | 75 setResource(resource); |
76 } | 76 } |
77 }; | 77 }; |
78 | 78 |
79 class LinkPreloadStyleResourceClient: public LinkPreloadResourceClient, public R
esourceOwner<CSSStyleSheetResource, StyleSheetResourceClient> { | 79 class LinkPreloadStyleResourceClient: public LinkPreloadResourceClient, public R
esourceOwner<CSSStyleSheetResource, StyleSheetResourceClient> { |
80 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadStyleResourceClient); | 80 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadStyleResourceClient); |
81 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadStyleResourceClient); | 81 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadStyleResourceClient); |
82 public: | 82 public: |
83 static PassOwnPtrWillBeRawPtr<LinkPreloadStyleResourceClient> create(LinkLoa
der* loader, CSSStyleSheetResource* resource) | 83 static PassOwnPtrWillBeRawPtr<LinkPreloadStyleResourceClient> create(LinkLoa
der* loader, PassRefPtrWillBeRawPtr<CSSStyleSheetResource> resource) |
84 { | 84 { |
85 return adoptPtrWillBeNoop(new LinkPreloadStyleResourceClient(loader, res
ource)); | 85 return adoptPtrWillBeNoop(new LinkPreloadStyleResourceClient(loader, res
ource)); |
86 } | 86 } |
87 | 87 |
88 virtual String debugName() const { return "LinkPreloadStyle"; } | 88 virtual String debugName() const { return "LinkPreloadStyle"; } |
89 virtual ~LinkPreloadStyleResourceClient() { } | 89 virtual ~LinkPreloadStyleResourceClient() { } |
90 | 90 |
91 void clear() override { clearResource(); } | 91 void clear() override { clearResource(); } |
92 | 92 |
93 void setCSSStyleSheet(const String&, const KURL&, const String&, const CSSSt
yleSheetResource* resource) override | 93 void setCSSStyleSheet(const String&, const KURL&, const String&, const CSSSt
yleSheetResource* resource) override |
94 { | 94 { |
95 ASSERT(this->resource() == resource); | 95 ASSERT(this->resource() == resource); |
96 triggerEvents(static_cast<const Resource*>(resource)); | 96 triggerEvents(static_cast<const Resource*>(resource)); |
97 } | 97 } |
98 | 98 |
99 DEFINE_INLINE_VIRTUAL_TRACE() | 99 DEFINE_INLINE_VIRTUAL_TRACE() |
100 { | 100 { |
101 LinkPreloadResourceClient::trace(visitor); | 101 LinkPreloadResourceClient::trace(visitor); |
102 ResourceOwner<CSSStyleSheetResource, StyleSheetResourceClient>::trace(vi
sitor); | 102 ResourceOwner<CSSStyleSheetResource, StyleSheetResourceClient>::trace(vi
sitor); |
103 } | 103 } |
104 | 104 |
105 private: | 105 private: |
106 LinkPreloadStyleResourceClient(LinkLoader* loader, CSSStyleSheetResource* re
source) | 106 LinkPreloadStyleResourceClient(LinkLoader* loader, PassRefPtrWillBeRawPtr<CS
SStyleSheetResource> resource) |
107 : LinkPreloadResourceClient(loader) | 107 : LinkPreloadResourceClient(loader) |
108 { | 108 { |
109 setResource(resource); | 109 setResource(resource); |
110 } | 110 } |
111 }; | 111 }; |
112 | 112 |
113 class LinkPreloadImageResourceClient: public LinkPreloadResourceClient, public R
esourceOwner<ImageResource, ImageResourceClient> { | 113 class LinkPreloadImageResourceClient: public LinkPreloadResourceClient, public R
esourceOwner<ImageResource, ImageResourceClient> { |
114 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadImageResourceClient); | 114 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadImageResourceClient); |
115 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadImageResourceClient); | 115 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadImageResourceClient); |
116 public: | 116 public: |
117 static PassOwnPtrWillBeRawPtr<LinkPreloadImageResourceClient> create(LinkLoa
der* loader, ImageResource* resource) | 117 static PassOwnPtrWillBeRawPtr<LinkPreloadImageResourceClient> create(LinkLoa
der* loader, PassRefPtrWillBeRawPtr<ImageResource> resource) |
118 { | 118 { |
119 return adoptPtrWillBeNoop(new LinkPreloadImageResourceClient(loader, res
ource)); | 119 return adoptPtrWillBeNoop(new LinkPreloadImageResourceClient(loader, res
ource)); |
120 } | 120 } |
121 | 121 |
122 virtual String debugName() const { return "LinkPreloadImage"; } | 122 virtual String debugName() const { return "LinkPreloadImage"; } |
123 virtual ~LinkPreloadImageResourceClient() { } | 123 virtual ~LinkPreloadImageResourceClient() { } |
124 | 124 |
125 void clear() override { clearResource(); } | 125 void clear() override { clearResource(); } |
126 | 126 |
127 void notifyFinished(Resource* resource) override | 127 void notifyFinished(Resource* resource) override |
128 { | 128 { |
129 ASSERT(this->resource() == toImageResource(resource)); | 129 ASSERT(this->resource() == toImageResource(resource)); |
130 triggerEvents(resource); | 130 triggerEvents(resource); |
131 } | 131 } |
132 | 132 |
133 DEFINE_INLINE_VIRTUAL_TRACE() | 133 DEFINE_INLINE_VIRTUAL_TRACE() |
134 { | 134 { |
135 LinkPreloadResourceClient::trace(visitor); | 135 LinkPreloadResourceClient::trace(visitor); |
136 ResourceOwner<ImageResource, ImageResourceClient>::trace(visitor); | 136 ResourceOwner<ImageResource, ImageResourceClient>::trace(visitor); |
137 } | 137 } |
138 | 138 |
139 private: | 139 private: |
140 LinkPreloadImageResourceClient(LinkLoader* loader, ImageResource* resource) | 140 LinkPreloadImageResourceClient(LinkLoader* loader, PassRefPtrWillBeRawPtr<Im
ageResource> resource) |
141 : LinkPreloadResourceClient(loader) | 141 : LinkPreloadResourceClient(loader) |
142 { | 142 { |
143 setResource(resource); | 143 setResource(resource); |
144 } | 144 } |
145 }; | 145 }; |
146 | 146 |
147 class LinkPreloadFontResourceClient: public LinkPreloadResourceClient, public Re
sourceOwner<FontResource, FontResourceClient> { | 147 class LinkPreloadFontResourceClient: public LinkPreloadResourceClient, public Re
sourceOwner<FontResource, FontResourceClient> { |
148 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadFontResourceClient); | 148 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadFontResourceClient); |
149 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadFontResourceClient); | 149 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadFontResourceClient); |
150 public: | 150 public: |
151 static PassOwnPtrWillBeRawPtr<LinkPreloadFontResourceClient> create(LinkLoad
er* loader, FontResource* resource) | 151 static PassOwnPtrWillBeRawPtr<LinkPreloadFontResourceClient> create(LinkLoad
er* loader, PassRefPtrWillBeRawPtr<FontResource> resource) |
152 { | 152 { |
153 return adoptPtrWillBeNoop(new LinkPreloadFontResourceClient(loader, reso
urce)); | 153 return adoptPtrWillBeNoop(new LinkPreloadFontResourceClient(loader, reso
urce)); |
154 } | 154 } |
155 | 155 |
156 virtual String debugName() const { return "LinkPreloadFont"; } | 156 virtual String debugName() const { return "LinkPreloadFont"; } |
157 virtual ~LinkPreloadFontResourceClient() { } | 157 virtual ~LinkPreloadFontResourceClient() { } |
158 | 158 |
159 void clear() override { clearResource(); } | 159 void clear() override { clearResource(); } |
160 | 160 |
161 void fontLoaded(FontResource* resource) override | 161 void fontLoaded(FontResource* resource) override |
162 { | 162 { |
163 ASSERT(this->resource() == resource); | 163 ASSERT(this->resource() == resource); |
164 triggerEvents(resource); | 164 triggerEvents(resource); |
165 } | 165 } |
166 | 166 |
167 DEFINE_INLINE_VIRTUAL_TRACE() | 167 DEFINE_INLINE_VIRTUAL_TRACE() |
168 { | 168 { |
169 LinkPreloadResourceClient::trace(visitor); | 169 LinkPreloadResourceClient::trace(visitor); |
170 ResourceOwner<FontResource, FontResourceClient>::trace(visitor); | 170 ResourceOwner<FontResource, FontResourceClient>::trace(visitor); |
171 } | 171 } |
172 | 172 |
173 private: | 173 private: |
174 LinkPreloadFontResourceClient(LinkLoader* loader, FontResource* resource) | 174 LinkPreloadFontResourceClient(LinkLoader* loader, PassRefPtrWillBeRawPtr<Fon
tResource> resource) |
175 : LinkPreloadResourceClient(loader) | 175 : LinkPreloadResourceClient(loader) |
176 { | 176 { |
177 setResource(resource); | 177 setResource(resource); |
178 } | 178 } |
179 }; | 179 }; |
180 | 180 |
181 class LinkPreloadRawResourceClient: public LinkPreloadResourceClient, public Res
ourceOwner<RawResource, RawResourceClient> { | 181 class LinkPreloadRawResourceClient: public LinkPreloadResourceClient, public Res
ourceOwner<RawResource, RawResourceClient> { |
182 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadRawResourceClient); | 182 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LinkPreloadRawResourceClient); |
183 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadRawResourceClient); | 183 USING_FAST_MALLOC_WILL_BE_REMOVED(LinkPreloadRawResourceClient); |
184 public: | 184 public: |
185 static PassOwnPtrWillBeRawPtr<LinkPreloadRawResourceClient> create(LinkLoade
r* loader, RawResource* resource) | 185 static PassOwnPtrWillBeRawPtr<LinkPreloadRawResourceClient> create(LinkLoade
r* loader, PassRefPtrWillBeRawPtr<RawResource> resource) |
186 { | 186 { |
187 return adoptPtrWillBeNoop(new LinkPreloadRawResourceClient(loader, resou
rce)); | 187 return adoptPtrWillBeNoop(new LinkPreloadRawResourceClient(loader, resou
rce)); |
188 } | 188 } |
189 | 189 |
190 virtual String debugName() const { return "LinkPreloadRaw"; } | 190 virtual String debugName() const { return "LinkPreloadRaw"; } |
191 virtual ~LinkPreloadRawResourceClient() { } | 191 virtual ~LinkPreloadRawResourceClient() { } |
192 | 192 |
193 void clear() override { clearResource(); } | 193 void clear() override { clearResource(); } |
194 | 194 |
195 void notifyFinished(Resource* resource) override | 195 void notifyFinished(Resource* resource) override |
196 { | 196 { |
197 ASSERT(this->resource() == toRawResource(resource)); | 197 ASSERT(this->resource() == toRawResource(resource)); |
198 triggerEvents(resource); | 198 triggerEvents(resource); |
199 } | 199 } |
200 | 200 |
201 DEFINE_INLINE_VIRTUAL_TRACE() | 201 DEFINE_INLINE_VIRTUAL_TRACE() |
202 { | 202 { |
203 LinkPreloadResourceClient::trace(visitor); | 203 LinkPreloadResourceClient::trace(visitor); |
204 ResourceOwner<RawResource, RawResourceClient>::trace(visitor); | 204 ResourceOwner<RawResource, RawResourceClient>::trace(visitor); |
205 } | 205 } |
206 | 206 |
207 private: | 207 private: |
208 LinkPreloadRawResourceClient(LinkLoader* loader, RawResource* resource) | 208 LinkPreloadRawResourceClient(LinkLoader* loader, PassRefPtrWillBeRawPtr<RawR
esource> resource) |
209 : LinkPreloadResourceClient(loader) | 209 : LinkPreloadResourceClient(loader) |
210 { | 210 { |
211 setResource(resource); | 211 setResource(resource); |
212 } | 212 } |
213 }; | 213 }; |
214 | 214 |
215 } // namespace blink | 215 } // namespace blink |
216 | 216 |
217 #endif // LinkPreloadResourceClients_h | 217 #endif // LinkPreloadResourceClients_h |
OLD | NEW |