| Index: android_webview/browser/aw_web_resource_response.cc
|
| diff --git a/android_webview/browser/intercepted_request_data.cc b/android_webview/browser/aw_web_resource_response.cc
|
| similarity index 53%
|
| rename from android_webview/browser/intercepted_request_data.cc
|
| rename to android_webview/browser/aw_web_resource_response.cc
|
| index 6e25ce14474fbff9d4389581e6de9c0d21251abf..e69f09ebe9dbeb9459763ec63c2067a59ce45d35 100644
|
| --- a/android_webview/browser/intercepted_request_data.cc
|
| +++ b/android_webview/browser/aw_web_resource_response.cc
|
| @@ -2,10 +2,12 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "android_webview/browser/intercepted_request_data.h"
|
| +#include "android_webview/browser/aw_web_resource_response.h"
|
|
|
| #include "android_webview/browser/input_stream.h"
|
| #include "android_webview/browser/net/android_stream_reader_url_request_job.h"
|
| +#include "base/strings/string_number_conversions.h"
|
| +#include "net/http/http_response_headers.h"
|
|
|
| namespace android_webview {
|
|
|
| @@ -15,14 +17,14 @@ class StreamReaderJobDelegateImpl
|
| : public AndroidStreamReaderURLRequestJob::Delegate {
|
| public:
|
| StreamReaderJobDelegateImpl(
|
| - scoped_ptr<InterceptedRequestData> intercepted_request_data)
|
| - : intercepted_request_data_(intercepted_request_data.Pass()) {
|
| - DCHECK(intercepted_request_data_);
|
| + scoped_ptr<AwWebResourceResponse> aw_web_resource_response)
|
| + : aw_web_resource_response_(aw_web_resource_response.Pass()) {
|
| + DCHECK(aw_web_resource_response_);
|
| }
|
|
|
| virtual scoped_ptr<InputStream> OpenInputStream(JNIEnv* env,
|
| const GURL& url) OVERRIDE {
|
| - return intercepted_request_data_->GetInputStream(env).Pass();
|
| + return aw_web_resource_response_->GetInputStream(env).Pass();
|
| }
|
|
|
| virtual void OnInputStreamOpenFailed(net::URLRequest* request,
|
| @@ -34,28 +36,44 @@ class StreamReaderJobDelegateImpl
|
| net::URLRequest* request,
|
| android_webview::InputStream* stream,
|
| std::string* mime_type) OVERRIDE {
|
| - return intercepted_request_data_->GetMimeType(env, mime_type);
|
| + return aw_web_resource_response_->GetMimeType(env, mime_type);
|
| }
|
|
|
| virtual bool GetCharset(JNIEnv* env,
|
| net::URLRequest* request,
|
| android_webview::InputStream* stream,
|
| std::string* charset) OVERRIDE {
|
| - return intercepted_request_data_->GetCharset(env, charset);
|
| + return aw_web_resource_response_->GetCharset(env, charset);
|
| + }
|
| +
|
| + virtual void AppendResponseHeaders(
|
| + JNIEnv* env,
|
| + net::HttpResponseHeaders* headers) OVERRIDE {
|
| + int status_code;
|
| + std::string reason_phrase;
|
| + if (aw_web_resource_response_->GetStatusInfo(
|
| + env, &status_code, &reason_phrase)) {
|
| + std::string status_line("HTTP/1.1 ");
|
| + status_line.append(base::IntToString(status_code));
|
| + status_line.append(" ");
|
| + status_line.append(reason_phrase);
|
| + headers->ReplaceStatusLine(status_line);
|
| + }
|
| + aw_web_resource_response_->GetResponseHeaders(env, headers);
|
| }
|
|
|
| private:
|
| - scoped_ptr<InterceptedRequestData> intercepted_request_data_;
|
| + scoped_ptr<AwWebResourceResponse> aw_web_resource_response_;
|
| };
|
|
|
| } // namespace
|
|
|
| // static
|
| -net::URLRequestJob* InterceptedRequestData::CreateJobFor(
|
| - scoped_ptr<InterceptedRequestData> intercepted_request_data,
|
| +net::URLRequestJob* AwWebResourceResponse::CreateJobFor(
|
| + scoped_ptr<AwWebResourceResponse> aw_web_resource_response,
|
| net::URLRequest* request,
|
| net::NetworkDelegate* network_delegate) {
|
| - DCHECK(intercepted_request_data);
|
| + DCHECK(aw_web_resource_response);
|
| DCHECK(request);
|
| DCHECK(network_delegate);
|
|
|
| @@ -63,7 +81,7 @@ net::URLRequestJob* InterceptedRequestData::CreateJobFor(
|
| request,
|
| network_delegate,
|
| make_scoped_ptr(
|
| - new StreamReaderJobDelegateImpl(intercepted_request_data.Pass()))
|
| + new StreamReaderJobDelegateImpl(aw_web_resource_response.Pass()))
|
| .PassAs<AndroidStreamReaderURLRequestJob::Delegate>());
|
| }
|
|
|
|
|