OLD | NEW |
---|---|
(Empty) | |
1 #include "net/test/embedded_test_server/android/embedded_test_server_android.h" | |
2 | |
3 #include "base/android/jni_array.h" | |
4 #include "base/android/jni_string.h" | |
5 #include "base/android/scoped_java_ref.h" | |
6 #include "base/bind.h" | |
7 #include "base/files/file_path.h" | |
8 #include "base/trace_event/trace_event.h" | |
9 #include "net/test/jni/EmbeddedTestServer_jni.h" | |
10 | |
11 namespace net { | |
12 namespace test_server { | |
13 | |
14 EmbeddedTestServerAndroid::EmbeddedTestServerAndroid(JNIEnv* env, jobject obj) | |
15 : weak_java_server_(env, obj), test_server_() { | |
16 Java_EmbeddedTestServer_setNativePtr(env, obj, | |
17 reinterpret_cast<intptr_t>(this)); | |
18 } | |
19 | |
20 EmbeddedTestServerAndroid::~EmbeddedTestServerAndroid() { | |
21 JNIEnv* env = base::android::AttachCurrentThread(); | |
22 Java_EmbeddedTestServer_clearNativePtr(env, weak_java_server_.get(env).obj()); | |
23 } | |
24 | |
25 jboolean EmbeddedTestServerAndroid::InitializeAndWaitUntilReady(JNIEnv* env, | |
26 jobject obj) { | |
27 return test_server_.InitializeAndWaitUntilReady(); | |
mef
2015/06/17 21:55:56
what if ServeFilesFromDirectory was not called?
jbudorick
2015/06/18 17:44:56
The server will hit this when attempting to handle
| |
28 } | |
29 | |
30 jboolean EmbeddedTestServerAndroid::ShutdownAndWaitUntilComplete(JNIEnv* env, | |
31 jobject obj) { | |
32 return test_server_.ShutdownAndWaitUntilComplete(); | |
33 } | |
34 | |
35 base::android::ScopedJavaLocalRef<jstring> EmbeddedTestServerAndroid::GetURL( | |
36 JNIEnv* env, | |
37 jobject obj, | |
38 jstring relative_url) const { | |
39 const GURL gurl(test_server_.GetURL( | |
40 base::android::ConvertJavaStringToUTF8(env, relative_url))); | |
41 return base::android::ConvertUTF8ToJavaString(env, gurl.spec()); | |
42 } | |
43 | |
44 void EmbeddedTestServerAndroid::ServeFilesFromDirectory( | |
45 JNIEnv* env, | |
46 jobject obj, | |
47 jstring directory_path) { | |
48 const base::FilePath directory( | |
49 base::android::ConvertJavaStringToUTF8(env, directory_path)); | |
50 test_server_.ServeFilesFromDirectory(directory); | |
51 } | |
52 | |
53 void EmbeddedTestServerAndroid::Destroy(JNIEnv* env, jobject obj) { | |
54 delete this; | |
55 } | |
56 | |
57 static void Init(JNIEnv* env, jobject obj) { | |
58 TRACE_EVENT0("native", "EmbeddedTestServerAndroid::Init"); | |
59 new EmbeddedTestServerAndroid(env, obj); | |
60 } | |
61 | |
62 // static | |
63 bool EmbeddedTestServerAndroid::RegisterEmbeddedTestServerAndroid(JNIEnv* env) { | |
64 return RegisterNativesImpl(env); | |
65 } | |
66 | |
67 } // namespace test_server | |
68 } // namespace net | |
OLD | NEW |