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

Side by Side Diff: components/cronet/android/test/native_test_server.cc

Issue 1312153003: jni_generator: Pass object parameters as JavaParamRef. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "native_test_server.h" 5 #include "native_test_server.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 203
204 // TODO(xunjieli): Delete this once legacy API is removed. 204 // TODO(xunjieli): Delete this once legacy API is removed.
205 void RegisterHostResolverProcOnNetworkThreadLegacyAPI( 205 void RegisterHostResolverProcOnNetworkThreadLegacyAPI(
206 URLRequestContextAdapter* context_adapter) { 206 URLRequestContextAdapter* context_adapter) {
207 RegisterHostResolverProcHelper(context_adapter->GetURLRequestContext()); 207 RegisterHostResolverProcHelper(context_adapter->GetURLRequestContext());
208 } 208 }
209 209
210 } // namespace 210 } // namespace
211 211
212 jboolean StartNativeTestServer(JNIEnv* env, 212 jboolean StartNativeTestServer(JNIEnv* env,
213 jclass jcaller, 213 const JavaParamRef<jclass>& jcaller,
214 jstring jtest_files_root) { 214 const JavaParamRef<jstring>& jtest_files_root) {
215 // Shouldn't happen. 215 // Shouldn't happen.
216 if (g_test_server) 216 if (g_test_server)
217 return false; 217 return false;
218 g_test_server = new net::test_server::EmbeddedTestServer(); 218 g_test_server = new net::test_server::EmbeddedTestServer();
219 g_test_server->RegisterRequestHandler( 219 g_test_server->RegisterRequestHandler(
220 base::Bind(&NativeTestServerRequestHandler)); 220 base::Bind(&NativeTestServerRequestHandler));
221 g_test_server->RegisterRequestHandler(base::Bind(&SdchRequestHandler)); 221 g_test_server->RegisterRequestHandler(base::Bind(&SdchRequestHandler));
222 base::FilePath test_files_root( 222 base::FilePath test_files_root(
223 base::android::ConvertJavaStringToUTF8(env, jtest_files_root)); 223 base::android::ConvertJavaStringToUTF8(env, jtest_files_root));
224 224
225 // Add a third handler for paths that NativeTestServerRequestHandler does not 225 // Add a third handler for paths that NativeTestServerRequestHandler does not
226 // handle. 226 // handle.
227 g_test_server->ServeFilesFromDirectory(test_files_root); 227 g_test_server->ServeFilesFromDirectory(test_files_root);
228 return g_test_server->InitializeAndWaitUntilReady(); 228 return g_test_server->InitializeAndWaitUntilReady();
229 } 229 }
230 230
231 void RegisterHostResolverProc(JNIEnv* env, 231 void RegisterHostResolverProc(JNIEnv* env,
232 jclass jcaller, 232 const JavaParamRef<jclass>& jcaller,
233 jlong jadapter, 233 jlong jadapter,
234 jboolean jlegacy_api) { 234 jboolean jlegacy_api) {
235 if (jlegacy_api == JNI_TRUE) { 235 if (jlegacy_api == JNI_TRUE) {
236 URLRequestContextAdapter* context_adapter = 236 URLRequestContextAdapter* context_adapter =
237 reinterpret_cast<URLRequestContextAdapter*>(jadapter); 237 reinterpret_cast<URLRequestContextAdapter*>(jadapter);
238 context_adapter->PostTaskToNetworkThread( 238 context_adapter->PostTaskToNetworkThread(
239 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThreadLegacyAPI, 239 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThreadLegacyAPI,
240 base::Unretained(context_adapter))); 240 base::Unretained(context_adapter)));
241 } else { 241 } else {
242 CronetURLRequestContextAdapter* context_adapter = 242 CronetURLRequestContextAdapter* context_adapter =
243 reinterpret_cast<CronetURLRequestContextAdapter*>(jadapter); 243 reinterpret_cast<CronetURLRequestContextAdapter*>(jadapter);
244 context_adapter->PostTaskToNetworkThread( 244 context_adapter->PostTaskToNetworkThread(
245 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThread, 245 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThread,
246 base::Unretained(context_adapter))); 246 base::Unretained(context_adapter)));
247 } 247 }
248 } 248 }
249 249
250 void ShutdownNativeTestServer(JNIEnv* env, jclass jcaller) { 250 void ShutdownNativeTestServer(JNIEnv* env,
251 const JavaParamRef<jclass>& jcaller) {
251 if (!g_test_server) 252 if (!g_test_server)
252 return; 253 return;
253 delete g_test_server; 254 delete g_test_server;
254 g_test_server = NULL; 255 g_test_server = NULL;
255 } 256 }
256 257
257 ScopedJavaLocalRef<jstring> GetEchoBodyURL(JNIEnv* env, jclass jcaller) { 258 ScopedJavaLocalRef<jstring> GetEchoBodyURL(
259 JNIEnv* env,
260 const JavaParamRef<jclass>& jcaller) {
258 DCHECK(g_test_server); 261 DCHECK(g_test_server);
259 GURL url = g_test_server->GetURL(kEchoBodyPath); 262 GURL url = g_test_server->GetURL(kEchoBodyPath);
260 return base::android::ConvertUTF8ToJavaString(env, url.spec()); 263 return base::android::ConvertUTF8ToJavaString(env, url.spec());
261 } 264 }
262 265
263 ScopedJavaLocalRef<jstring> GetEchoHeaderURL(JNIEnv* env, 266 ScopedJavaLocalRef<jstring> GetEchoHeaderURL(
264 jclass jcaller, 267 JNIEnv* env,
265 jstring jheader) { 268 const JavaParamRef<jclass>& jcaller,
269 const JavaParamRef<jstring>& jheader) {
266 DCHECK(g_test_server); 270 DCHECK(g_test_server);
267 GURL url = g_test_server->GetURL(kEchoHeaderPath); 271 GURL url = g_test_server->GetURL(kEchoHeaderPath);
268 GURL::Replacements replacements; 272 GURL::Replacements replacements;
269 std::string header = base::android::ConvertJavaStringToUTF8(env, jheader); 273 std::string header = base::android::ConvertJavaStringToUTF8(env, jheader);
270 replacements.SetQueryStr(header.c_str()); 274 replacements.SetQueryStr(header.c_str());
271 url = url.ReplaceComponents(replacements); 275 url = url.ReplaceComponents(replacements);
272 return base::android::ConvertUTF8ToJavaString(env, url.spec()); 276 return base::android::ConvertUTF8ToJavaString(env, url.spec());
273 } 277 }
274 278
275 ScopedJavaLocalRef<jstring> GetEchoAllHeadersURL(JNIEnv* env, jclass jcaller) { 279 ScopedJavaLocalRef<jstring> GetEchoAllHeadersURL(
280 JNIEnv* env,
281 const JavaParamRef<jclass>& jcaller) {
276 DCHECK(g_test_server); 282 DCHECK(g_test_server);
277 GURL url = g_test_server->GetURL(kEchoAllHeadersPath); 283 GURL url = g_test_server->GetURL(kEchoAllHeadersPath);
278 return base::android::ConvertUTF8ToJavaString(env, url.spec()); 284 return base::android::ConvertUTF8ToJavaString(env, url.spec());
279 } 285 }
280 286
281 ScopedJavaLocalRef<jstring> GetEchoMethodURL(JNIEnv* env, jclass jcaller) { 287 ScopedJavaLocalRef<jstring> GetEchoMethodURL(
288 JNIEnv* env,
289 const JavaParamRef<jclass>& jcaller) {
282 DCHECK(g_test_server); 290 DCHECK(g_test_server);
283 GURL url = g_test_server->GetURL(kEchoMethodPath); 291 GURL url = g_test_server->GetURL(kEchoMethodPath);
284 return base::android::ConvertUTF8ToJavaString(env, url.spec()); 292 return base::android::ConvertUTF8ToJavaString(env, url.spec());
285 } 293 }
286 294
287 ScopedJavaLocalRef<jstring> GetRedirectToEchoBody(JNIEnv* env, jclass jcaller) { 295 ScopedJavaLocalRef<jstring> GetRedirectToEchoBody(
296 JNIEnv* env,
297 const JavaParamRef<jclass>& jcaller) {
288 DCHECK(g_test_server); 298 DCHECK(g_test_server);
289 GURL url = g_test_server->GetURL(kRedirectToEchoBodyPath); 299 GURL url = g_test_server->GetURL(kRedirectToEchoBodyPath);
290 return base::android::ConvertUTF8ToJavaString(env, url.spec()); 300 return base::android::ConvertUTF8ToJavaString(env, url.spec());
291 } 301 }
292 302
293 ScopedJavaLocalRef<jstring> GetFileURL(JNIEnv* env, 303 ScopedJavaLocalRef<jstring> GetFileURL(
294 jclass jcaller, 304 JNIEnv* env,
295 jstring jfile_path) { 305 const JavaParamRef<jclass>& jcaller,
306 const JavaParamRef<jstring>& jfile_path) {
296 DCHECK(g_test_server); 307 DCHECK(g_test_server);
297 std::string file = base::android::ConvertJavaStringToUTF8(env, jfile_path); 308 std::string file = base::android::ConvertJavaStringToUTF8(env, jfile_path);
298 GURL url = g_test_server->GetURL(file); 309 GURL url = g_test_server->GetURL(file);
299 return base::android::ConvertUTF8ToJavaString(env, url.spec()); 310 return base::android::ConvertUTF8ToJavaString(env, url.spec());
300 } 311 }
301 312
302 ScopedJavaLocalRef<jstring> GetSdchURL(JNIEnv* env, jclass jcaller) { 313 ScopedJavaLocalRef<jstring> GetSdchURL(JNIEnv* env,
314 const JavaParamRef<jclass>& jcaller) {
303 DCHECK(g_test_server); 315 DCHECK(g_test_server);
304 std::string url(base::StringPrintf("http://%s:%d", kFakeSdchDomain, 316 std::string url(base::StringPrintf("http://%s:%d", kFakeSdchDomain,
305 g_test_server->port())); 317 g_test_server->port()));
306 return base::android::ConvertUTF8ToJavaString(env, url); 318 return base::android::ConvertUTF8ToJavaString(env, url);
307 } 319 }
308 320
309 ScopedJavaLocalRef<jstring> GetHostPort(JNIEnv* env, jclass jcaller) { 321 ScopedJavaLocalRef<jstring> GetHostPort(JNIEnv* env,
322 const JavaParamRef<jclass>& jcaller) {
310 DCHECK(g_test_server); 323 DCHECK(g_test_server);
311 std::string host_port = 324 std::string host_port =
312 net::HostPortPair::FromURL(g_test_server->base_url()).ToString(); 325 net::HostPortPair::FromURL(g_test_server->base_url()).ToString();
313 return base::android::ConvertUTF8ToJavaString(env, host_port); 326 return base::android::ConvertUTF8ToJavaString(env, host_port);
314 } 327 }
315 328
316 jboolean IsDataReductionProxySupported(JNIEnv* env, jclass jcaller) { 329 jboolean IsDataReductionProxySupported(JNIEnv* env,
330 const JavaParamRef<jclass>& jcaller) {
317 #if defined(DATA_REDUCTION_PROXY_SUPPORT) 331 #if defined(DATA_REDUCTION_PROXY_SUPPORT)
318 return JNI_TRUE; 332 return JNI_TRUE;
319 #else 333 #else
320 return JNI_FALSE; 334 return JNI_FALSE;
321 #endif 335 #endif
322 } 336 }
323 337
324 bool RegisterNativeTestServer(JNIEnv* env) { 338 bool RegisterNativeTestServer(JNIEnv* env) {
325 return RegisterNativesImpl(env); 339 return RegisterNativesImpl(env);
326 } 340 }
327 341
328 } // namespace cronet 342 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698