Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1335)

Unified Diff: android_webview/browser/aw_web_resource_response.cc

Issue 284123004: [android_webview] Add more params to request intercepting. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix accidentally broken test Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>());
}
« no previous file with comments | « android_webview/browser/aw_web_resource_response.h ('k') | android_webview/browser/intercepted_request_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698