#include <string>
#include "base/memory/ref_counted.h"
+#include "base/time/time.h"
#include "content/browser/loader/resource_handler.h"
#include "content/browser/loader/resource_message_delegate.h"
#include "url/gurl.h"
ResourceDispatcherHostImpl* rdh);
virtual ~AsyncResourceHandler();
- virtual bool OnMessageReceived(const IPC::Message& message,
- bool* message_was_ok) OVERRIDE;
+ virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
// ResourceHandler implementation:
- virtual bool OnUploadProgress(int request_id,
- uint64 position,
- uint64 size) OVERRIDE;
- virtual bool OnRequestRedirected(int request_id,
- const GURL& new_url,
+ virtual bool OnUploadProgress(uint64 position, uint64 size) OVERRIDE;
+ virtual bool OnRequestRedirected(const net::RedirectInfo& redirect_info,
ResourceResponse* response,
bool* defer) OVERRIDE;
- virtual bool OnResponseStarted(int request_id,
- ResourceResponse* response,
+ virtual bool OnResponseStarted(ResourceResponse* response,
bool* defer) OVERRIDE;
- virtual bool OnWillStart(int request_id,
- const GURL& url,
- bool* defer) OVERRIDE;
- virtual bool OnBeforeNetworkStart(int request_id,
- const GURL& url,
- bool* defer) OVERRIDE;
- virtual bool OnWillRead(int request_id,
- scoped_refptr<net::IOBuffer>* buf,
+ virtual bool OnWillStart(const GURL& url, bool* defer) OVERRIDE;
+ virtual bool OnBeforeNetworkStart(const GURL& url, bool* defer) OVERRIDE;
+ virtual bool OnWillRead(scoped_refptr<net::IOBuffer>* buf,
int* buf_size,
int min_size) OVERRIDE;
- virtual bool OnReadCompleted(int request_id,
- int bytes_read,
- bool* defer) OVERRIDE;
- virtual void OnResponseCompleted(int request_id,
- const net::URLRequestStatus& status,
+ virtual bool OnReadCompleted(int bytes_read, bool* defer) OVERRIDE;
+ virtual void OnResponseCompleted(const net::URLRequestStatus& status,
const std::string& security_info,
bool* defer) OVERRIDE;
- virtual void OnDataDownloaded(int request_id,
- int bytes_downloaded) OVERRIDE;
+ virtual void OnDataDownloaded(int bytes_downloaded) OVERRIDE;
private:
// IPC message handlers:
- void OnFollowRedirect(int request_id,
- bool has_new_first_party_for_cookies,
- const GURL& new_first_party_for_cookies);
+ void OnFollowRedirect(int request_id);
void OnDataReceivedACK(int request_id);
bool EnsureResourceBufferIsInitialized();
bool sent_received_response_msg_;
bool sent_first_data_msg_;
+ int64_t reported_transfer_size_;
+
+ base::TimeTicks redirect_start_time_;
+
DISALLOW_COPY_AND_ASSIGN(AsyncResourceHandler);
};