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

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

Issue 1174613002: [Android] Add a Java version of net::test_server::EmbeddedTestServer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
OLDNEW
(Empty)
1 #include "net/test/embedded_test_server/android/embedded_test_server_android.h"
2
3 #include "base/android/jni_array.h"
mef 2015/06/19 19:26:07 unused?
jbudorick 2015/06/22 22:01:11 Yes. Removed.
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 jobj)
15 : weak_java_server_(env, jobj), test_server_() {
16 Java_EmbeddedTestServer_setNativePtr(env, jobj,
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 jobj) {
27 return test_server_.InitializeAndWaitUntilReady();
28 }
29
30 jboolean EmbeddedTestServerAndroid::ShutdownAndWaitUntilComplete(JNIEnv* env,
31 jobject jobj) {
32 return test_server_.ShutdownAndWaitUntilComplete();
33 }
34
35 base::android::ScopedJavaLocalRef<jstring> EmbeddedTestServerAndroid::GetURL(
36 JNIEnv* env,
37 jobject jobj,
38 jstring jrelative_url) const {
39 const GURL gurl(test_server_.GetURL(
40 base::android::ConvertJavaStringToUTF8(env, jrelative_url)));
41 return base::android::ConvertUTF8ToJavaString(env, gurl.spec());
42 }
43
44 void EmbeddedTestServerAndroid::ServeFilesFromDirectory(
45 JNIEnv* env,
46 jobject jobj,
47 jstring jdirectory_path) {
48 const base::FilePath directory(
49 base::android::ConvertJavaStringToUTF8(env, jdirectory_path));
50 test_server_.ServeFilesFromDirectory(directory);
51 }
52
53 void EmbeddedTestServerAndroid::Destroy(JNIEnv* env, jobject jobj) {
54 delete this;
55 }
56
57 static void Init(JNIEnv* env, jobject jobj) {
58 TRACE_EVENT0("native", "EmbeddedTestServerAndroid::Init");
59 new EmbeddedTestServerAndroid(env, jobj);
60 }
61
62 // static
63 bool EmbeddedTestServerAndroid::RegisterEmbeddedTestServerAndroid(JNIEnv* env) {
64 return RegisterNativesImpl(env);
65 }
66
67 } // namespace test_server
68 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698