| Index: net/base/network_delegate.h
|
| ===================================================================
|
| --- net/base/network_delegate.h (revision 147972)
|
| +++ net/base/network_delegate.h (working copy)
|
| @@ -48,6 +48,12 @@
|
| };
|
| typedef base::Callback<void(AuthRequiredResponse)> AuthCallback;
|
|
|
| + enum CacheWaitState {
|
| + CACHE_WAIT_STATE_START,
|
| + CACHE_WAIT_STATE_FINISH,
|
| + CACHE_WAIT_STATE_RESET
|
| + };
|
| +
|
| virtual ~NetworkDelegate() {}
|
|
|
| // Notification interface called by the network stack. Note that these
|
| @@ -90,6 +96,9 @@
|
| int NotifyBeforeSocketStreamConnect(SocketStream* socket,
|
| const CompletionCallback& callback);
|
|
|
| + void NotifyCacheWaitStateChange(const URLRequest& request,
|
| + CacheWaitState state);
|
| +
|
| private:
|
| // This is the interface for subclasses of NetworkDelegate to implement. These
|
| // member functions will be called by the respective public notification
|
| @@ -214,6 +223,17 @@
|
| // Called before a SocketStream tries to connect.
|
| virtual int OnBeforeSocketStreamConnect(
|
| SocketStream* socket, const CompletionCallback& callback) = 0;
|
| +
|
| + // Called when the completion of a URLRequest is blocking on a cache
|
| + // transaction (CACHE_WAIT_STATE_START), or when a URLRequest is no longer
|
| + // blocked on a cache transaction (CACHE_WAIT_STATE_FINISH), or when a
|
| + // URLRequest is reset (CACHE_WAIT_STATE_RESET), indicating
|
| + // cancellation of any pending cache waits for this request. Notice that
|
| + // START can be called several times for the same request. It is the
|
| + // responsibility of the delegate to keep track of the number of outstanding
|
| + // cache transactions.
|
| + virtual void OnCacheWaitStateChange(const URLRequest& request,
|
| + CacheWaitState state) = 0;
|
| };
|
|
|
| } // namespace net
|
|
|