| Index: net/base/network_delegate.h
|
| ===================================================================
|
| --- net/base/network_delegate.h (revision 145862)
|
| +++ net/base/network_delegate.h (working copy)
|
| @@ -49,6 +49,12 @@
|
| };
|
| typedef base::Callback<void(AuthRequiredResponse)> AuthCallback;
|
|
|
| + enum CacheWaitState {
|
| + CACHE_WAIT_STATE_START,
|
| + CACHE_WAIT_STATE_FINISH,
|
| + CACHE_WAIT_STATE_DONE
|
| + };
|
| +
|
| virtual ~NetworkDelegate() {}
|
|
|
| // Notification interface called by the network stack. Note that these
|
| @@ -91,6 +97,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
|
| @@ -215,6 +224,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 completely done (CACHE_WAIT_STATE_DONE), indicating
|
| + // cancellation of any pending cache waits for this request. Notice that
|
| + // START 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
|
|
|