OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 InspectorResourceContentLoader_h | 5 #ifndef InspectorResourceContentLoader_h |
6 #define InspectorResourceContentLoader_h | 6 #define InspectorResourceContentLoader_h |
7 | 7 |
8 #include "core/fetch/ResourcePtr.h" | 8 #include "core/fetch/ResourcePtr.h" |
9 #include "wtf/HashSet.h" | 9 #include "wtf/HashSet.h" |
10 #include "wtf/Noncopyable.h" | 10 #include "wtf/Noncopyable.h" |
11 #include "wtf/Vector.h" | 11 #include "wtf/Vector.h" |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
15 class Page; | 15 class Page; |
16 class Resource; | 16 class Resource; |
17 class VoidCallback; | 17 class VoidCallback; |
18 | 18 |
19 class InspectorResourceContentLoader FINAL : public NoBaseWillBeGarbageCollected
Finalized<InspectorResourceContentLoader> { | 19 class InspectorResourceContentLoader FINAL : public NoBaseWillBeGarbageCollected
Finalized<InspectorResourceContentLoader> { |
20 WTF_MAKE_NONCOPYABLE(InspectorResourceContentLoader); | 20 WTF_MAKE_NONCOPYABLE(InspectorResourceContentLoader); |
21 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; | 21 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
22 public: | 22 public: |
23 explicit InspectorResourceContentLoader(Page*); | 23 explicit InspectorResourceContentLoader(Page*); |
24 void ensureResourcesContentLoaded(PassOwnPtrWillBeRawPtr<VoidCallback>); | 24 void ensureResourcesContentLoaded(VoidCallback*); |
25 ~InspectorResourceContentLoader(); | 25 ~InspectorResourceContentLoader(); |
26 void trace(Visitor*); | 26 void trace(Visitor*); |
27 void dispose(); | 27 void dispose(); |
28 bool hasFinished(); | 28 bool hasFinished(); |
29 void stop(); | 29 void stop(); |
30 | 30 |
31 private: | 31 private: |
32 class ResourceClient; | 32 class ResourceClient; |
33 | 33 |
34 void resourceFinished(ResourceClient*); | 34 void resourceFinished(ResourceClient*); |
35 void checkDone(); | 35 void checkDone(); |
36 void start(); | 36 void start(); |
37 | 37 |
38 WillBeHeapVector<OwnPtrWillBeMember<VoidCallback> > m_callbacks; | 38 PersistentHeapVectorWillBeHeapVector<Member<VoidCallback> > m_callbacks; |
39 bool m_allRequestsStarted; | 39 bool m_allRequestsStarted; |
40 bool m_started; | 40 bool m_started; |
41 RawPtrWillBeMember<Page> m_page; | 41 RawPtrWillBeMember<Page> m_page; |
42 HashSet<ResourceClient*> m_pendingResourceClients; | 42 HashSet<ResourceClient*> m_pendingResourceClients; |
43 Vector<ResourcePtr<Resource> > m_resources; | 43 Vector<ResourcePtr<Resource> > m_resources; |
44 | 44 |
45 friend class ResourceClient; | 45 friend class ResourceClient; |
46 }; | 46 }; |
47 | 47 |
48 } // namespace blink | 48 } // namespace blink |
49 | 49 |
50 | 50 |
51 #endif // !defined(InspectorResourceContentLoader_h) | 51 #endif // !defined(InspectorResourceContentLoader_h) |
OLD | NEW |