| Index: chrome/browser/renderer_host/resource_queue.h
|
| ===================================================================
|
| --- chrome/browser/renderer_host/resource_queue.h (revision 75488)
|
| +++ chrome/browser/renderer_host/resource_queue.h (working copy)
|
| @@ -6,95 +6,7 @@
|
| #define CHROME_BROWSER_RENDERER_HOST_RESOURCE_QUEUE_H_
|
| #pragma once
|
|
|
| -#include <map>
|
| -#include <set>
|
| +// TODO(jam): remove this file when all files have been converted.
|
| +#include "content/browser/renderer_host/resource_queue.h"
|
|
|
| -#include "base/basictypes.h"
|
| -
|
| -namespace net {
|
| -class URLRequest;
|
| -} // namespace net
|
| -
|
| -class ResourceDispatcherHostRequestInfo;
|
| -struct GlobalRequestID;
|
| -
|
| -// Makes decisions about delaying or not each net::URLRequest in the queue.
|
| -// All methods are called on the IO thread.
|
| -class ResourceQueueDelegate {
|
| - public:
|
| - // Should return true if it wants the |request| to not be started at this
|
| - // point. To start the delayed request, ResourceQueue::StartDelayedRequest
|
| - // should be used.
|
| - virtual bool ShouldDelayRequest(
|
| - net::URLRequest* request,
|
| - const ResourceDispatcherHostRequestInfo& request_info,
|
| - const GlobalRequestID& request_id) = 0;
|
| -
|
| - // Called just before ResourceQueue shutdown. After that, the delegate
|
| - // should not use the ResourceQueue.
|
| - virtual void WillShutdownResourceQueue() = 0;
|
| -
|
| - protected:
|
| - virtual ~ResourceQueueDelegate();
|
| -};
|
| -
|
| -// Makes it easy to delay starting URL requests until specified conditions are
|
| -// met.
|
| -class ResourceQueue {
|
| - public:
|
| - typedef std::set<ResourceQueueDelegate*> DelegateSet;
|
| -
|
| - // UI THREAD ONLY ------------------------------------------------------------
|
| -
|
| - // Construct the queue. You must initialize it using Initialize.
|
| - ResourceQueue();
|
| - ~ResourceQueue();
|
| -
|
| - // Initialize the queue with set of delegates it should ask for each incoming
|
| - // request.
|
| - void Initialize(const DelegateSet& delegates);
|
| -
|
| - // IO THREAD ONLY ------------------------------------------------------------
|
| -
|
| - // Must be called before destroying the queue. No other methods can be called
|
| - // after that.
|
| - void Shutdown();
|
| -
|
| - // Takes care to start the |request| after all delegates allow that. If no
|
| - // delegate demands delaying the request it will be started immediately.
|
| - void AddRequest(net::URLRequest* request,
|
| - const ResourceDispatcherHostRequestInfo& request_info);
|
| -
|
| - // Tells the queue that the net::URLRequest object associated with
|
| - // |request_id| is no longer valid.
|
| - void RemoveRequest(const GlobalRequestID& request_id);
|
| -
|
| - // A delegate should call StartDelayedRequest when it wants to allow the
|
| - // request to start. If it was the last delegate that demanded the request
|
| - // to be delayed, the request will be started.
|
| - void StartDelayedRequest(ResourceQueueDelegate* delegate,
|
| - const GlobalRequestID& request_id);
|
| -
|
| - private:
|
| - typedef std::map<GlobalRequestID, net::URLRequest*> RequestMap;
|
| - typedef std::map<GlobalRequestID, DelegateSet> InterestedDelegatesMap;
|
| -
|
| - // The registered delegates. Will not change after the queue has been
|
| - // initialized.
|
| - DelegateSet delegates_;
|
| -
|
| - // Stores net::URLRequest objects associated with each GlobalRequestID. This
|
| - // helps decoupling the queue from ResourceDispatcherHost.
|
| - RequestMap requests_;
|
| -
|
| - // Maps a GlobalRequestID to the set of delegates that want to prevent the
|
| - // associated request from starting yet.
|
| - InterestedDelegatesMap interested_delegates_;
|
| -
|
| - // True when we are shutting down.
|
| - bool shutdown_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ResourceQueue);
|
| -};
|
| -
|
| #endif // CHROME_BROWSER_RENDERER_HOST_RESOURCE_QUEUE_H_
|
|
|