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> { | |
| 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 ~LinkPreloadScriptResourceClient() override { clearResource(); } | |
| 45 | |
| 46 virtual String debugName() const { return "LinkPreloadScript"; } | |
| 47 | |
| 48 void notifyFinished(Resource* resource) override | |
| 49 { | |
| 50 ASSERT(this->resource() == resource); | |
| 51 triggerEvents(resource); | |
| 52 } | |
| 53 | |
| 54 private: | |
| 55 LinkPreloadScriptResourceClient(LinkLoader* loader, Resource* resource) | |
| 56 : LinkPreloadResourceClient(loader) | |
| 57 { | |
| 58 setResource(resource); | |
| 59 } | |
| 60 }; | |
| 61 | |
| 62 class LinkPreloadStyleResourceClient: public ResourceOwner<Resource, StyleSheetR esourceClient>, public LinkPreloadResourceClient { | |
| 63 public: | |
| 64 static PassOwnPtr<LinkPreloadStyleResourceClient> create(LinkLoader* loader, Resource* resource) | |
| 65 { | |
| 66 if (!loader || !resource) | |
| 67 return nullptr; | |
| 68 return adoptPtr(new LinkPreloadStyleResourceClient(loader, resource)); | |
| 69 } | |
| 70 | |
| 71 virtual String debugName() const { return "LinkPreloadStyle"; } | |
| 72 | |
| 73 void notifyFinished(Resource* resource) override | |
| 74 { | |
| 75 ASSERT(this->resource() == resource); | |
| 76 triggerEvents(resource); | |
| 77 } | |
| 78 | |
| 79 private: | |
| 80 LinkPreloadStyleResourceClient(LinkLoader* loader, Resource* resource) | |
| 81 : LinkPreloadResourceClient(loader) | |
| 82 { | |
| 83 setResource(resource); | |
| 84 } | |
| 85 }; | |
| 86 | |
| 87 class LinkPreloadImageResourceClient: public ResourceOwner<Resource, ImageResour ceClient>, public LinkPreloadResourceClient { | |
|
Nate Chapin
2016/01/14 23:10:53
Looks like you missed this one for reversing the s
| |
| 88 public: | |
| 89 static PassOwnPtr<LinkPreloadImageResourceClient> create(LinkLoader* loader, Resource* resource) | |
| 90 { | |
| 91 if (!loader || !resource) | |
| 92 return nullptr; | |
| 93 return adoptPtr(new LinkPreloadImageResourceClient(loader, resource)); | |
| 94 } | |
| 95 | |
| 96 virtual String debugName() const { return "LinkPreloadImage"; } | |
| 97 | |
| 98 void notifyFinished(Resource* resource) override | |
| 99 { | |
| 100 ASSERT(this->resource() == resource); | |
| 101 triggerEvents(resource); | |
| 102 } | |
| 103 | |
| 104 private: | |
| 105 LinkPreloadImageResourceClient(LinkLoader* loader, Resource* resource) | |
| 106 : LinkPreloadResourceClient(loader) | |
| 107 { | |
| 108 setResource(resource); | |
| 109 } | |
| 110 }; | |
| 111 | |
| 112 } | |
| 113 | |
| 114 #endif // LinkPreloadResourceClients_h | |
| OLD | NEW |