| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2014 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 ManifestLoader_h |
| 6 #define ManifestLoader_h |
| 7 |
| 8 #include "core/fetch/ResourceClient.h" |
| 9 #include "core/fetch/ResourceOwner.h" |
| 10 |
| 11 namespace blink { |
| 12 class WebManifestRequest; |
| 13 } |
| 14 |
| 15 namespace WebCore { |
| 16 |
| 17 class Document; |
| 18 |
| 19 // The ManifestLoader is a class that fetches and parses a WebManifest and |
| 20 // informs the passed WebManifestRequest upon completion (success or failure). |
| 21 // The lifetime of the object is managed by itself. When ::LoadManifest() is |
| 22 // called an instance of the object is created and as soon as the processing |
| 23 // is finished, the object will destroy itself. |
| 24 // The call should make sure that the WebManifestRequest passed to |
| 25 // ::LoadManifest() is not destroyed before getting a result. |
| 26 class ManifestLoader FINAL : public ResourceOwner<Resource, ResourceClient> { |
| 27 public: |
| 28 static void loadManifest(blink::WebManifestRequest*, Document*); |
| 29 |
| 30 // This is public so we can use OwnPtr<>(this) in order in various methods. |
| 31 virtual ~ManifestLoader(); |
| 32 |
| 33 protected: |
| 34 // ResourceClient |
| 35 virtual void notifyFinished(Resource*) OVERRIDE; |
| 36 |
| 37 explicit ManifestLoader(blink::WebManifestRequest*); |
| 38 |
| 39 void startLoading(Document*); |
| 40 |
| 41 private: |
| 42 blink::WebManifestRequest* m_request; |
| 43 }; |
| 44 |
| 45 } // namespace WebCore |
| 46 |
| 47 #endif |
| OLD | NEW |