diff options
Diffstat (limited to 'android_webview/native/aw_web_resource_response_impl.h')
-rw-r--r-- | android_webview/native/aw_web_resource_response_impl.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/android_webview/native/aw_web_resource_response_impl.h b/android_webview/native/aw_web_resource_response_impl.h new file mode 100644 index 0000000000..2cef1c0e89 --- /dev/null +++ b/android_webview/native/aw_web_resource_response_impl.h @@ -0,0 +1,48 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef ANDROID_WEBVIEW_NATIVE_INTERCEPTED_REQUEST_DATA_IMPL_H_ +#define ANDROID_WEBVIEW_NATIVE_INTERCEPTED_REQUEST_DATA_IMPL_H_ + +#include "android_webview/browser/aw_web_resource_response.h" +#include "base/android/scoped_java_ref.h" +#include "base/compiler_specific.h" +#include "base/memory/scoped_ptr.h" + +namespace net { +class HttpResponseHeaders; +} + +namespace android_webview { + +class InputStream; + +class AwWebResourceResponseImpl : public AwWebResourceResponse { + public: + // It is expected that |obj| is an instance of the Java-side + // org.chromium.android_webview.AwWebResourceResponse class. + AwWebResourceResponseImpl(const base::android::JavaRef<jobject>& obj); + virtual ~AwWebResourceResponseImpl(); + + virtual scoped_ptr<InputStream> GetInputStream(JNIEnv* env) const OVERRIDE; + virtual bool GetMimeType(JNIEnv* env, std::string* mime_type) const OVERRIDE; + virtual bool GetCharset(JNIEnv* env, std::string* charset) const OVERRIDE; + virtual bool GetStatusInfo(JNIEnv* env, + int* status_code, + std::string* reason_phrase) const OVERRIDE; + virtual bool GetResponseHeaders( + JNIEnv* env, + net::HttpResponseHeaders* headers) const OVERRIDE; + + private: + base::android::ScopedJavaGlobalRef<jobject> java_object_; + + DISALLOW_COPY_AND_ASSIGN(AwWebResourceResponseImpl); +}; + +bool RegisterAwWebResourceResponse(JNIEnv* env); + +} // namespace android_webview + +#endif // ANDROID_WEBVIEW_NATIVE_INTERCEPTED_REQUEST_DATA_IMPL_H_ |