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

Side by Side Diff: net/test/embedded_test_server/android/embedded_test_server_android.cc

Issue 2687573002: [Android Webview] Refactor LoadUrlTest and work on embedded_test_server custom handler (Closed)
Patch Set: Change AwETS intent class name Created 3 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 unified diff | Download patch
« no previous file with comments | « net/test/embedded_test_server/android/embedded_test_server_android.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "net/test/embedded_test_server/android/embedded_test_server_android.h" 5 #include "net/test/embedded_test_server/android/embedded_test_server_android.h"
6 6
7 #include "base/android/jni_array.h"
7 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
8 #include "base/android/scoped_java_ref.h" 9 #include "base/android/scoped_java_ref.h"
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
11 #include "base/test/test_support_android.h" 12 #include "base/test/test_support_android.h"
12 #include "base/trace_event/trace_event.h" 13 #include "base/trace_event/trace_event.h"
13 #include "net/test/jni/EmbeddedTestServerImpl_jni.h" 14 #include "net/test/jni/EmbeddedTestServerImpl_jni.h"
14 15
15 using base::android::JavaParamRef; 16 using base::android::JavaParamRef;
16 using base::android::JavaRef; 17 using base::android::JavaRef;
18 using base::android::ScopedJavaLocalRef;
17 19
18 namespace net { 20 namespace net {
19 namespace test_server { 21 namespace test_server {
20 22
21 EmbeddedTestServerAndroid::EmbeddedTestServerAndroid( 23 EmbeddedTestServerAndroid::EmbeddedTestServerAndroid(
22 JNIEnv* env, 24 JNIEnv* env,
23 const JavaRef<jobject>& jobj) 25 const JavaRef<jobject>& jobj)
24 : weak_java_server_(env, jobj), test_server_() { 26 : weak_java_server_(env, jobj), test_server_() {
25 Java_EmbeddedTestServerImpl_setNativePtr(env, jobj, 27 Java_EmbeddedTestServerImpl_setNativePtr(env, jobj,
26 reinterpret_cast<intptr_t>(this)); 28 reinterpret_cast<intptr_t>(this));
27 } 29 }
28 30
29 EmbeddedTestServerAndroid::~EmbeddedTestServerAndroid() { 31 EmbeddedTestServerAndroid::~EmbeddedTestServerAndroid() {
30 JNIEnv* env = base::android::AttachCurrentThread(); 32 JNIEnv* env = base::android::AttachCurrentThread();
31 Java_EmbeddedTestServerImpl_clearNativePtr(env, weak_java_server_.get(env)); 33 Java_EmbeddedTestServerImpl_clearNativePtr(env, weak_java_server_.get(env));
32 } 34 }
33 35
34 jboolean EmbeddedTestServerAndroid::Start(JNIEnv* env, 36 jboolean EmbeddedTestServerAndroid::Start(JNIEnv* env,
35 const JavaParamRef<jobject>& jobj) { 37 const JavaParamRef<jobject>& jobj) {
36 return test_server_.Start(); 38 return test_server_.Start();
37 } 39 }
38 40
39 jboolean EmbeddedTestServerAndroid::ShutdownAndWaitUntilComplete( 41 jboolean EmbeddedTestServerAndroid::ShutdownAndWaitUntilComplete(
40 JNIEnv* env, 42 JNIEnv* env,
41 const JavaParamRef<jobject>& jobj) { 43 const JavaParamRef<jobject>& jobj) {
42 return test_server_.ShutdownAndWaitUntilComplete(); 44 return test_server_.ShutdownAndWaitUntilComplete();
43 } 45 }
44 46
45 base::android::ScopedJavaLocalRef<jstring> EmbeddedTestServerAndroid::GetURL( 47 ScopedJavaLocalRef<jstring> EmbeddedTestServerAndroid::GetURL(
46 JNIEnv* env, 48 JNIEnv* env,
47 const JavaParamRef<jobject>& jobj, 49 const JavaParamRef<jobject>& jobj,
48 const JavaParamRef<jstring>& jrelative_url) const { 50 const JavaParamRef<jstring>& jrelative_url) const {
49 const GURL gurl(test_server_.GetURL( 51 const GURL gurl(test_server_.GetURL(
50 base::android::ConvertJavaStringToUTF8(env, jrelative_url))); 52 base::android::ConvertJavaStringToUTF8(env, jrelative_url)));
51 return base::android::ConvertUTF8ToJavaString(env, gurl.spec()); 53 return base::android::ConvertUTF8ToJavaString(env, gurl.spec());
52 } 54 }
53 55
54 void EmbeddedTestServerAndroid::AddDefaultHandlers( 56 void EmbeddedTestServerAndroid::AddDefaultHandlers(
55 JNIEnv* env, 57 JNIEnv* env,
56 const JavaParamRef<jobject>& jobj, 58 const JavaParamRef<jobject>& jobj,
57 const JavaParamRef<jstring>& jdirectory_path) { 59 const JavaParamRef<jstring>& jdirectory_path) {
58 const base::FilePath directory( 60 const base::FilePath directory(
59 base::android::ConvertJavaStringToUTF8(env, jdirectory_path)); 61 base::android::ConvertJavaStringToUTF8(env, jdirectory_path));
60 test_server_.AddDefaultHandlers(directory); 62 test_server_.AddDefaultHandlers(directory);
61 } 63 }
62 64
65 typedef std::unique_ptr<HttpResponse> (*HandleRequestPtr)(
66 const HttpRequest& request);
67
68 void EmbeddedTestServerAndroid::RegisterRequestHandler(
69 JNIEnv* env,
70 const JavaParamRef<jobject>& jobj,
71 jlong handler) {
72 HandleRequestPtr handler_ptr = reinterpret_cast<HandleRequestPtr>(handler);
73 test_server_.RegisterRequestHandler(base::Bind(handler_ptr));
74 }
75
63 void EmbeddedTestServerAndroid::ServeFilesFromDirectory( 76 void EmbeddedTestServerAndroid::ServeFilesFromDirectory(
64 JNIEnv* env, 77 JNIEnv* env,
65 const JavaParamRef<jobject>& jobj, 78 const JavaParamRef<jobject>& jobj,
66 const JavaParamRef<jstring>& jdirectory_path) { 79 const JavaParamRef<jstring>& jdirectory_path) {
67 const base::FilePath directory( 80 const base::FilePath directory(
68 base::android::ConvertJavaStringToUTF8(env, jdirectory_path)); 81 base::android::ConvertJavaStringToUTF8(env, jdirectory_path));
69 test_server_.ServeFilesFromDirectory(directory); 82 test_server_.ServeFilesFromDirectory(directory);
70 } 83 }
71 84
72 void EmbeddedTestServerAndroid::Destroy(JNIEnv* env, 85 void EmbeddedTestServerAndroid::Destroy(JNIEnv* env,
(...skipping 11 matching lines...) Expand all
84 new EmbeddedTestServerAndroid(env, jobj); 97 new EmbeddedTestServerAndroid(env, jobj);
85 } 98 }
86 99
87 // static 100 // static
88 bool EmbeddedTestServerAndroid::RegisterEmbeddedTestServerAndroid(JNIEnv* env) { 101 bool EmbeddedTestServerAndroid::RegisterEmbeddedTestServerAndroid(JNIEnv* env) {
89 return RegisterNativesImpl(env); 102 return RegisterNativesImpl(env);
90 } 103 }
91 104
92 } // namespace test_server 105 } // namespace test_server
93 } // namespace net 106 } // namespace net
OLDNEW
« no previous file with comments | « net/test/embedded_test_server/android/embedded_test_server_android.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698