Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef LinkPreloadResourceClients_h | |
| 6 #define LinkPreloadResourceClients_h | |
| 7 | |
| 8 #include "core/fetch/FontResource.h" | |
| 9 #include "core/fetch/ImageResourceClient.h" | |
| 10 #include "core/fetch/ResourceOwner.h" | |
| 11 #include "core/fetch/ScriptResource.h" | |
| 12 #include "core/fetch/StyleSheetResourceClient.h" | |
| 13 | |
| 14 namespace blink { | |
| 15 | |
| 16 class LinkLoader; | |
| 17 | |
| 18 class LinkPreloadResourceClient : public NoBaseWillBeGarbageCollectedFinalized<L inkPreloadResourceClient> { | |
| 19 public: | |
| 20 virtual ~LinkPreloadResourceClient() { } | |
| 21 | |
| 22 void triggerEvents(Resource*); | |
| 23 | |
| 24 protected: | |
| 25 LinkPreloadResourceClient(LinkLoader* loader) | |
| 26 : m_loader(loader) | |
| 27 { | |
| 28 ASSERT(loader); | |
| 29 } | |
| 30 | |
| 31 private: | |
| 32 LinkLoader* m_loader; | |
| 33 }; | |
| 34 | |
| 35 class LinkPreloadScriptResourceClient: public LinkPreloadResourceClient, public ResourceOwner<Resource, ScriptResourceClient> { | |
|
Nate Chapin
2016/01/15 18:53:58
Maybe just hold this as a ResourceOwner<ScriptReso
Yoav Weiss
2016/01/15 21:40:25
sure
| |
| 36 public: | |
| 37 static PassOwnPtr<LinkPreloadScriptResourceClient> create(LinkLoader* loader , Resource* resource) | |
| 38 { | |
| 39 if (!loader || !resource) | |
| 40 return nullptr; | |
| 41 return adoptPtr(new LinkPreloadScriptResourceClient(loader, resource)); | |
| 42 } | |
| 43 | |
| 44 virtual String debugName() const { return "LinkPreloadScript"; } | |
| 45 | |
| 46 void notifyFinished(Resource* resource) override | |
| 47 { | |
| 48 ASSERT(this->resource() == resource); | |
| 49 triggerEvents(resource); | |
| 50 } | |
| 51 | |
| 52 private: | |
| 53 LinkPreloadScriptResourceClient(LinkLoader* loader, Resource* resource) | |
| 54 : LinkPreloadResourceClient(loader) | |
| 55 { | |
| 56 setResource(resource); | |
| 57 } | |
| 58 }; | |
| 59 | |
| 60 class LinkPreloadStyleResourceClient: public LinkPreloadResourceClient, public R esourceOwner<Resource, StyleSheetResourceClient> { | |
|
Nate Chapin
2016/01/15 18:53:58
Ditto here and CSSStyleSheetResource.
Yoav Weiss
2016/01/15 21:40:25
ok
| |
| 61 public: | |
| 62 static PassOwnPtr<LinkPreloadStyleResourceClient> create(LinkLoader* loader, Resource* resource) | |
| 63 { | |
| 64 if (!loader || !resource) | |
| 65 return nullptr; | |
| 66 return adoptPtr(new LinkPreloadStyleResourceClient(loader, resource)); | |
| 67 } | |
| 68 | |
| 69 virtual String debugName() const { return "LinkPreloadStyle"; } | |
| 70 | |
| 71 void notifyFinished(Resource* resource) override | |
|
Nate Chapin
2016/01/15 18:53:58
Should this be setCSSStyleSheet()?
Yoav Weiss
2016/01/15 21:40:25
changed
| |
| 72 { | |
| 73 ASSERT(this->resource() == resource); | |
| 74 triggerEvents(resource); | |
| 75 } | |
| 76 | |
| 77 private: | |
| 78 LinkPreloadStyleResourceClient(LinkLoader* loader, Resource* resource) | |
| 79 : LinkPreloadResourceClient(loader) | |
| 80 { | |
| 81 setResource(resource); | |
| 82 } | |
| 83 }; | |
| 84 | |
| 85 } | |
| 86 | |
| 87 #endif // LinkPreloadResourceClients_h | |
| OLD | NEW |