diff options
author | Torne (Richard Coles) <torne@google.com> | 2013-03-28 15:31:22 +0000 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2013-03-28 15:31:22 +0000 |
commit | 2a99a7e74a7f215066514fe81d2bfa6639d9eddd (patch) | |
tree | 7c2d04841fcd599fd83b0f0bb1100e1c89a35bae /android_webview/native/intercepted_request_data_impl.cc | |
parent | 61c449bbbb53310a8c041d8cefdd6b01a126cc7e (diff) | |
download | chromium_org-2a99a7e74a7f215066514fe81d2bfa6639d9eddd.tar.gz |
Merge from Chromium at DEPS revision r190564
This commit was generated by merge_to_master.py.
Change-Id: Icadecbce29854b8fa25fd335b2c1949b5ca5d170
Diffstat (limited to 'android_webview/native/intercepted_request_data_impl.cc')
-rw-r--r-- | android_webview/native/intercepted_request_data_impl.cc | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/android_webview/native/intercepted_request_data_impl.cc b/android_webview/native/intercepted_request_data_impl.cc index e3d90967bc..dc5fe225b2 100644 --- a/android_webview/native/intercepted_request_data_impl.cc +++ b/android_webview/native/intercepted_request_data_impl.cc @@ -4,7 +4,8 @@ #include "android_webview/native/intercepted_request_data_impl.h" -#include "android_webview/native/android_stream_reader_url_request_job.h" +#include "android_webview/browser/net/android_stream_reader_url_request_job.h" +#include "android_webview/native/input_stream_impl.h" #include "base/android/jni_android.h" #include "base/android/jni_string.h" #include "jni/InterceptedRequestData_jni.h" @@ -26,22 +27,27 @@ class StreamReaderJobDelegateImpl : DCHECK(intercepted_request_data_impl_); } - virtual base::android::ScopedJavaLocalRef<jobject> OpenInputStream( + virtual scoped_ptr<InputStream> OpenInputStream( JNIEnv* env, - net::URLRequest* request) OVERRIDE { - return intercepted_request_data_impl_->GetInputStream(env); + const GURL& url) OVERRIDE { + return intercepted_request_data_impl_->GetInputStream(env).Pass(); + } + + virtual void OnInputStreamOpenFailed(net::URLRequest* request, + bool* restart) OVERRIDE { + *restart = false; } virtual bool GetMimeType(JNIEnv* env, net::URLRequest* request, - jobject stream, + android_webview::InputStream* stream, std::string* mime_type) OVERRIDE { return intercepted_request_data_impl_->GetMimeType(env, mime_type); } virtual bool GetCharset(JNIEnv* env, net::URLRequest* request, - jobject stream, + android_webview::InputStream* stream, std::string* charset) OVERRIDE { return intercepted_request_data_impl_->GetCharset(env, charset); } @@ -60,9 +66,13 @@ InterceptedRequestDataImpl::InterceptedRequestDataImpl( InterceptedRequestDataImpl::~InterceptedRequestDataImpl() { } -ScopedJavaLocalRef<jobject> +scoped_ptr<InputStream> InterceptedRequestDataImpl::GetInputStream(JNIEnv* env) const { - return Java_InterceptedRequestData_getData(env, java_object_.obj()); + ScopedJavaLocalRef<jobject> jstream = + Java_InterceptedRequestData_getData(env, java_object_.obj()); + if (jstream.is_null()) + return scoped_ptr<InputStream>(); + return make_scoped_ptr<InputStream>(new InputStreamImpl(jstream)); } bool InterceptedRequestDataImpl::GetMimeType(JNIEnv* env, |