OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "android_webview/native/android_protocol_handler.h" | 5 #include "android_webview/native/android_protocol_handler.h" |
6 | 6 |
7 #include "android_webview/browser/net/android_stream_reader_url_request_job.h" | 7 #include "android_webview/browser/net/android_stream_reader_url_request_job.h" |
8 #include "android_webview/browser/net/aw_url_request_job_factory.h" | 8 #include "android_webview/browser/net/aw_url_request_job_factory.h" |
9 #include "android_webview/common/url_constants.h" | 9 #include "android_webview/common/url_constants.h" |
10 #include "android_webview/native/input_stream_impl.h" | 10 #include "android_webview/native/input_stream_impl.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 return request->GetUserData(kPreviouslyFailedKey) != NULL; | 55 return request->GetUserData(kPreviouslyFailedKey) != NULL; |
56 } | 56 } |
57 | 57 |
58 class AndroidStreamReaderURLRequestJobDelegateImpl | 58 class AndroidStreamReaderURLRequestJobDelegateImpl |
59 : public AndroidStreamReaderURLRequestJob::Delegate { | 59 : public AndroidStreamReaderURLRequestJob::Delegate { |
60 public: | 60 public: |
61 AndroidStreamReaderURLRequestJobDelegateImpl(); | 61 AndroidStreamReaderURLRequestJobDelegateImpl(); |
62 | 62 |
63 virtual scoped_ptr<InputStream> OpenInputStream( | 63 virtual scoped_ptr<InputStream> OpenInputStream( |
64 JNIEnv* env, | 64 JNIEnv* env, |
65 const GURL& url) OVERRIDE; | 65 const GURL& url) override; |
66 | 66 |
67 virtual void OnInputStreamOpenFailed(net::URLRequest* request, | 67 virtual void OnInputStreamOpenFailed(net::URLRequest* request, |
68 bool* restart) OVERRIDE; | 68 bool* restart) override; |
69 | 69 |
70 virtual bool GetMimeType(JNIEnv* env, | 70 virtual bool GetMimeType(JNIEnv* env, |
71 net::URLRequest* request, | 71 net::URLRequest* request, |
72 InputStream* stream, | 72 InputStream* stream, |
73 std::string* mime_type) OVERRIDE; | 73 std::string* mime_type) override; |
74 | 74 |
75 virtual bool GetCharset(JNIEnv* env, | 75 virtual bool GetCharset(JNIEnv* env, |
76 net::URLRequest* request, | 76 net::URLRequest* request, |
77 InputStream* stream, | 77 InputStream* stream, |
78 std::string* charset) OVERRIDE; | 78 std::string* charset) override; |
79 | 79 |
80 virtual void AppendResponseHeaders( | 80 virtual void AppendResponseHeaders( |
81 JNIEnv* env, | 81 JNIEnv* env, |
82 net::HttpResponseHeaders* headers) OVERRIDE; | 82 net::HttpResponseHeaders* headers) override; |
83 | 83 |
84 virtual ~AndroidStreamReaderURLRequestJobDelegateImpl(); | 84 virtual ~AndroidStreamReaderURLRequestJobDelegateImpl(); |
85 }; | 85 }; |
86 | 86 |
87 class AndroidRequestInterceptorBase : public net::URLRequestInterceptor { | 87 class AndroidRequestInterceptorBase : public net::URLRequestInterceptor { |
88 public: | 88 public: |
89 virtual net::URLRequestJob* MaybeInterceptRequest( | 89 virtual net::URLRequestJob* MaybeInterceptRequest( |
90 net::URLRequest* request, | 90 net::URLRequest* request, |
91 net::NetworkDelegate* network_delegate) const OVERRIDE; | 91 net::NetworkDelegate* network_delegate) const override; |
92 | 92 |
93 virtual bool ShouldHandleRequest(const net::URLRequest* request) const = 0; | 93 virtual bool ShouldHandleRequest(const net::URLRequest* request) const = 0; |
94 }; | 94 }; |
95 | 95 |
96 class AssetFileRequestInterceptor : public AndroidRequestInterceptorBase { | 96 class AssetFileRequestInterceptor : public AndroidRequestInterceptorBase { |
97 public: | 97 public: |
98 AssetFileRequestInterceptor(); | 98 AssetFileRequestInterceptor(); |
99 | 99 |
100 virtual ~AssetFileRequestInterceptor() OVERRIDE; | 100 virtual ~AssetFileRequestInterceptor() override; |
101 virtual bool ShouldHandleRequest( | 101 virtual bool ShouldHandleRequest( |
102 const net::URLRequest* request) const OVERRIDE; | 102 const net::URLRequest* request) const override; |
103 | 103 |
104 private: | 104 private: |
105 // file:///android_asset/ | 105 // file:///android_asset/ |
106 const std::string asset_prefix_; | 106 const std::string asset_prefix_; |
107 // file:///android_res/ | 107 // file:///android_res/ |
108 const std::string resource_prefix_; | 108 const std::string resource_prefix_; |
109 }; | 109 }; |
110 | 110 |
111 // Protocol handler for content:// scheme requests. | 111 // Protocol handler for content:// scheme requests. |
112 class ContentSchemeRequestInterceptor : public AndroidRequestInterceptorBase { | 112 class ContentSchemeRequestInterceptor : public AndroidRequestInterceptorBase { |
113 public: | 113 public: |
114 ContentSchemeRequestInterceptor(); | 114 ContentSchemeRequestInterceptor(); |
115 virtual bool ShouldHandleRequest( | 115 virtual bool ShouldHandleRequest( |
116 const net::URLRequest* request) const OVERRIDE; | 116 const net::URLRequest* request) const override; |
117 }; | 117 }; |
118 | 118 |
119 static ScopedJavaLocalRef<jobject> GetResourceContext(JNIEnv* env) { | 119 static ScopedJavaLocalRef<jobject> GetResourceContext(JNIEnv* env) { |
120 if (g_resource_context) | 120 if (g_resource_context) |
121 return g_resource_context->get(env); | 121 return g_resource_context->get(env); |
122 ScopedJavaLocalRef<jobject> context; | 122 ScopedJavaLocalRef<jobject> context; |
123 // We have to reset as GetApplicationContext() returns a jobject with a | 123 // We have to reset as GetApplicationContext() returns a jobject with a |
124 // global ref. The constructor that takes a jobject would expect a local ref | 124 // global ref. The constructor that takes a jobject would expect a local ref |
125 // and would assert. | 125 // and would assert. |
126 context.Reset(env, base::android::GetApplicationContext()); | 126 context.Reset(env, base::android::GetApplicationContext()); |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 env, android_webview::kAndroidAssetPath).Release(); | 319 env, android_webview::kAndroidAssetPath).Release(); |
320 } | 320 } |
321 | 321 |
322 static jstring GetAndroidResourcePath(JNIEnv* env, jclass /*clazz*/) { | 322 static jstring GetAndroidResourcePath(JNIEnv* env, jclass /*clazz*/) { |
323 // OK to release, JNI binding. | 323 // OK to release, JNI binding. |
324 return ConvertUTF8ToJavaString( | 324 return ConvertUTF8ToJavaString( |
325 env, android_webview::kAndroidResourcePath).Release(); | 325 env, android_webview::kAndroidResourcePath).Release(); |
326 } | 326 } |
327 | 327 |
328 } // namespace android_webview | 328 } // namespace android_webview |
OLD | NEW |