diff options
author | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
---|---|---|
committer | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
commit | 5f1ab04193ad0130ca8204aadaceae083aca9881 (patch) | |
tree | 5a92cd389e2cfe7fb67197ce14b38469462379f8 /WebCore/loader/loader.h | |
parent | 194315e5a908cc8ed67d597010544803eef1ac59 (diff) | |
download | external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.zip external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.gz external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.bz2 |
Get WebKit r44544.
Diffstat (limited to 'WebCore/loader/loader.h')
-rw-r--r-- | WebCore/loader/loader.h | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/WebCore/loader/loader.h b/WebCore/loader/loader.h index 19c3fda..c5b9416 100644 --- a/WebCore/loader/loader.h +++ b/WebCore/loader/loader.h @@ -49,15 +49,22 @@ namespace WebCore { enum Priority { Low, Medium, High }; void servePendingRequests(Priority minimumPriority = Low); + bool isSuspendingPendingRequests() { return m_isSuspendingPendingRequests; } + void suspendPendingRequests(); + void resumePendingRequests(); + private: Priority determinePriority(const CachedResource*) const; void scheduleServePendingRequests(); void requestTimerFired(Timer<Loader>*); - class Host : private SubresourceLoaderClient { + class Host : public RefCounted<Host>, private SubresourceLoaderClient { public: - Host(const AtomicString& name, unsigned maxRequestsInFlight); + static PassRefPtr<Host> create(const AtomicString& name, unsigned maxRequestsInFlight) + { + return adoptRef(new Host(name, maxRequestsInFlight)); + } ~Host(); const AtomicString& name() const { return m_name; } @@ -69,22 +76,7 @@ namespace WebCore { bool processingResource() const { return m_numResourcesProcessing != 0; } private: - class ProcessingResource { - public: - ProcessingResource(Host* host) - : m_host(host) - { - m_host->m_numResourcesProcessing++; - } - - ~ProcessingResource() - { - m_host->m_numResourcesProcessing--; - } - - private: - Host* m_host; - }; + Host(const AtomicString&, unsigned); virtual void didReceiveResponse(SubresourceLoader*, const ResourceResponse&); virtual void didReceiveData(SubresourceLoader*, const char*, int); @@ -103,11 +95,13 @@ namespace WebCore { const int m_maxRequestsInFlight; int m_numResourcesProcessing; }; - typedef HashMap<AtomicStringImpl*, Host*> HostMap; + typedef HashMap<AtomicStringImpl*, RefPtr<Host> > HostMap; HostMap m_hosts; - Host m_nonHTTPProtocolHost; + RefPtr<Host> m_nonHTTPProtocolHost; Timer<Loader> m_requestTimer; + + bool m_isSuspendingPendingRequests; }; } |