Chromium Code Reviews| Index: components/cronet/android/cronet_url_request_adapter.h |
| diff --git a/components/cronet/android/url_request_adapter.h b/components/cronet/android/cronet_url_request_adapter.h |
| similarity index 55% |
| copy from components/cronet/android/url_request_adapter.h |
| copy to components/cronet/android/cronet_url_request_adapter.h |
| index aad1893e6d1961004ee00828f9dda36d8edefbc9..ef280d8dd27a72194d2a7546517bc9e5f78d48fe 100644 |
| --- a/components/cronet/android/url_request_adapter.h |
| +++ b/components/cronet/android/cronet_url_request_adapter.h |
| @@ -2,8 +2,8 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef COMPONENTS_CRONET_ANDROID_URL_REQUEST_ADAPTER_H_ |
| -#define COMPONENTS_CRONET_ANDROID_URL_REQUEST_ADAPTER_H_ |
| +#ifndef COMPONENTS_CRONET_ANDROID_CRONET_URL_REQUEST_ADAPTER_H_ |
| +#define COMPONENTS_CRONET_ANDROID_CRONET_URL_REQUEST_ADAPTER_H_ |
| #include <jni.h> |
| @@ -24,31 +24,34 @@ class UploadDataStream; |
| namespace cronet { |
| -class URLRequestContextAdapter; |
| +class CronetURLRequestContextAdapter; |
| // An adapter from the JNI |UrlRequest| object and the Chromium |URLRequest| |
| // object. |
| -class URLRequestAdapter : public net::URLRequest::Delegate { |
| +class CronetURLRequestAdapter : public net::URLRequest::Delegate { |
|
mmenke
2014/10/02 15:24:09
I think we should make the JniCronetURLRequestAdap
mef
2014/10/02 22:07:43
Acknowledged. Per conversation we've agreed to hav
|
| public: |
| // The delegate which is called when the request finishes. |
| - class URLRequestAdapterDelegate |
| - : public base::RefCountedThreadSafe<URLRequestAdapterDelegate> { |
| + class CronetURLRequestAdapterDelegate |
| + : public base::RefCountedThreadSafe<CronetURLRequestAdapterDelegate> { |
| public: |
| - virtual void OnResponseStarted(URLRequestAdapter* request) = 0; |
| - virtual void OnBytesRead(URLRequestAdapter* request) = 0; |
| - virtual void OnRequestFinished(URLRequestAdapter* request) = 0; |
| - virtual int ReadFromUploadChannel(net::IOBuffer* buf, int buf_length) = 0; |
| + virtual void OnRedirect(CronetURLRequestAdapter* request, |
| + const GURL& newLocation) = 0; |
| + virtual void OnResponseStarted(CronetURLRequestAdapter* request) = 0; |
| + virtual void OnBytesRead(CronetURLRequestAdapter* request, |
| + int bytes_read) = 0; |
| + virtual void OnRequestFinished(CronetURLRequestAdapter* request, |
| + bool cancelled) = 0; |
| protected: |
| - friend class base::RefCountedThreadSafe<URLRequestAdapterDelegate>; |
| - virtual ~URLRequestAdapterDelegate() {} |
| + friend class base::RefCountedThreadSafe<CronetURLRequestAdapterDelegate>; |
| + virtual ~CronetURLRequestAdapterDelegate() {} |
| }; |
| - URLRequestAdapter(URLRequestContextAdapter* context, |
| - URLRequestAdapterDelegate* delegate, |
| - GURL url, |
| - net::RequestPriority priority); |
| - virtual ~URLRequestAdapter(); |
| + CronetURLRequestAdapter(CronetURLRequestContextAdapter* context, |
| + CronetURLRequestAdapterDelegate* delegate, |
| + GURL url, |
| + net::RequestPriority priority); |
| + virtual ~CronetURLRequestAdapter(); |
| // Sets the request method GET, POST etc |
| void SetMethod(const std::string& method); |
| @@ -56,23 +59,15 @@ class URLRequestAdapter : public net::URLRequest::Delegate { |
| // Adds a header to the request |
| void AddHeader(const std::string& name, const std::string& value); |
| - // Sets the contents of the POST or PUT request |
| - void SetUploadContent(const char* bytes, int bytes_len); |
| - |
| - // Sets the request to streaming upload. |
| - void SetUploadChannel(JNIEnv* env, int64 content_length); |
| - |
| - // Indicates that the request body will be streamed by calling AppendChunk() |
| - // repeatedly. This must be called before Start(). |
| - void EnableChunkedUpload(); |
| - |
| - // Appends a chunk to the POST body. |
| - // This must be called after EnableChunkedUpload() and Start(). |
| - void AppendChunk(const char* bytes, int bytes_len, bool is_last_chunk); |
| - |
| // Starts the request. |
| void Start(); |
| + // Follow redirect. |
| + void FollowDeferredRedirect(); |
| + |
| + // Read more data. |
| + void ReadData(); |
| + |
| // Cancels the request. |
| void Cancel(); |
| @@ -112,35 +107,38 @@ class URLRequestAdapter : public net::URLRequest::Delegate { |
| // Get NPN or ALPN Negotiated Protocol (if any) from HttpResponseInfo. |
| std::string GetNegotiatedProtocol() const; |
| + // Returns true if response is coming from the cache. |
| + bool GetWasCached() const; |
| + |
| + // Gets the total amount of data received from network after SSL decoding and |
| + // proxy handling. |
| + int64 GetTotalReceivedBytes() const; |
| + |
| + // net::URLRequest::Delegate overrides |
| + virtual void OnReceivedRedirect(net::URLRequest* request, |
| + const net::RedirectInfo& redirect_info, |
| + bool* defer_redirect) OVERRIDE; |
| + |
| virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; |
| virtual void OnReadCompleted(net::URLRequest* request, |
| int bytes_read) OVERRIDE; |
| private: |
| - static void OnDestroyRequest(URLRequestAdapter* self); |
| - |
| - void OnInitiateConnection(); |
| - void OnCancelRequest(); |
| - void OnRequestSucceeded(); |
| - void OnRequestFailed(); |
| - void OnRequestCompleted(); |
| - void OnRequestCanceled(); |
| - void OnBytesRead(int bytes_read); |
| - void OnAppendChunk(const scoped_ptr<char[]> bytes, int bytes_len, |
| - bool is_last_chunk); |
| - |
| - void Read(); |
| - |
| - URLRequestContextAdapter* context_; |
| - scoped_refptr<URLRequestAdapterDelegate> delegate_; |
| + static void DestroyOnNetworkThread(CronetURLRequestAdapter* self); |
| + void StartOnNetworkThread(); |
| + void FollowDeferredRedirectOnNetworkThread(); |
| + void ReadDataOnNetworkThread(); |
| + void CancelOnNetworkThread(); |
| + |
| + CronetURLRequestContextAdapter* context_; |
| + scoped_refptr<CronetURLRequestAdapterDelegate> delegate_; |
| GURL url_; |
| net::RequestPriority priority_; |
| std::string method_; |
| net::HttpRequestHeaders headers_; |
| scoped_ptr<net::URLRequest> url_request_; |
| - scoped_ptr<net::UploadDataStream> upload_data_stream_; |
| - scoped_refptr<net::GrowableIOBuffer> read_buffer_; |
| + scoped_refptr<net::IOBufferWithSize> read_buffer_; |
| int bytes_read_; |
| int total_bytes_read_; |
| int error_code_; |
| @@ -150,9 +148,9 @@ class URLRequestAdapter : public net::URLRequest::Delegate { |
| int64 expected_size_; |
| bool chunked_upload_; |
| - DISALLOW_COPY_AND_ASSIGN(URLRequestAdapter); |
| + DISALLOW_COPY_AND_ASSIGN(CronetURLRequestAdapter); |
| }; |
| } // namespace cronet |
| -#endif // COMPONENTS_CRONET_ANDROID_URL_REQUEST_ADAPTER_H_ |
| +#endif // COMPONENTS_CRONET_ANDROID_CRONET_URL_REQUEST_ADAPTER_H_ |