diff options
Diffstat (limited to 'third_party/WebKit/Source/core/fetch/Resource.h')
-rw-r--r-- | third_party/WebKit/Source/core/fetch/Resource.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/third_party/WebKit/Source/core/fetch/Resource.h b/third_party/WebKit/Source/core/fetch/Resource.h index 68d1c6b..d6fb851 100644 --- a/third_party/WebKit/Source/core/fetch/Resource.h +++ b/third_party/WebKit/Source/core/fetch/Resource.h @@ -127,11 +127,11 @@ public: ResourceLoaderOptions& mutableOptions() { return m_options; } void didChangePriority(ResourceLoadPriority, int intraPriorityValue); - ResourcePriority priorityFromClients(); + virtual ResourcePriority priorityFromObservers() { return ResourcePriority(); } void addClient(ResourceClient*); void removeClient(ResourceClient*); - bool hasClients() const { return !m_clients.isEmpty() || !m_clientsAwaitingCallback.isEmpty() || !m_finishedClients.isEmpty(); } + virtual bool hasClientsOrObservers() const { return !m_clients.isEmpty() || !m_clientsAwaitingCallback.isEmpty() || !m_finishedClients.isEmpty(); } enum PreloadResult { PreloadNotReferenced, @@ -141,10 +141,6 @@ public: }; PreloadResult getPreloadResult() const { return static_cast<PreloadResult>(m_preloadResult); } - virtual void didAddClient(ResourceClient*); - virtual void didRemoveClient(ResourceClient*) { } - virtual void allClientsRemoved(); - unsigned count() const { return m_clients.size(); } Status getStatus() const { return static_cast<Status>(m_status); } @@ -266,6 +262,13 @@ protected: void finishPendingClients(); + virtual void didAddClient(ResourceClient*); + void willAddClientOrObserver(); + + // |this| object may be dead after didRemoveClientOrObserver(). + void didRemoveClientOrObserver(); + virtual void allClientsAndObserversRemoved(); + HashCountedSet<ResourceClient*> m_clients; HashCountedSet<ResourceClient*> m_clientsAwaitingCallback; HashCountedSet<ResourceClient*> m_finishedClients; |