Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3361)

Unified Diff: chrome/browser/renderer_host/resource_queue.h

Issue 6532073: Move core pieces of browser\renderer_host to src\content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698