Index: third_party/WebKit/Source/core/fetch/Resource.h |
diff --git a/third_party/WebKit/Source/core/fetch/Resource.h b/third_party/WebKit/Source/core/fetch/Resource.h |
index 121252fe4622c4e18f37afe47b0e5b861adbfaf6..924265821a62d245b9455f9749693ad7b45f9604 100644 |
--- a/third_party/WebKit/Source/core/fetch/Resource.h |
+++ b/third_party/WebKit/Source/core/fetch/Resource.h |
@@ -272,6 +272,20 @@ |
HashCountedSet<ResourceClient*> m_clientsAwaitingCallback; |
HashCountedSet<ResourceClient*> m_finishedClients; |
+ class ResourceCallback : public GarbageCollectedFinalized<ResourceCallback> { |
+ public: |
+ static ResourceCallback* callbackHandler(); |
+ DECLARE_TRACE(); |
+ void schedule(Resource*); |
+ void cancel(Resource*); |
+ bool isScheduled(Resource*) const; |
+ private: |
+ ResourceCallback(); |
+ void runTask(); |
+ OwnPtr<CancellableTaskFactory> m_callbackTaskFactory; |
+ HeapHashSet<Member<Resource>> m_resourcesWithPendingClients; |
+ }; |
+ |
bool hasClient(ResourceClient* client) { return m_clients.contains(client) || m_clientsAwaitingCallback.contains(client) || m_finishedClients.contains(client); } |
struct RedirectPair { |
@@ -310,8 +324,6 @@ |
private: |
class CacheHandler; |
- class ResourceCallback; |
- |
void cancelTimerFired(Timer<Resource>*); |
void revalidationSucceeded(const ResourceResponse&); |