Chromium Code Reviews| Index: net/test/embedded_test_server/android/embedded_test_server_android.cc |
| diff --git a/net/test/embedded_test_server/android/embedded_test_server_android.cc b/net/test/embedded_test_server/android/embedded_test_server_android.cc |
| index 0b25220c38cbe91b20ae4d6aea1be454debabf47..30444822a0362c2363762521959bb7ff724285da 100644 |
| --- a/net/test/embedded_test_server/android/embedded_test_server_android.cc |
| +++ b/net/test/embedded_test_server/android/embedded_test_server_android.cc |
| @@ -4,6 +4,8 @@ |
| #include "net/test/embedded_test_server/android/embedded_test_server_android.h" |
| +#include "android_webview/embeddedtestserver/custom_handlers.h" |
|
shenghuazhang
2017/03/04 00:22:21
Shows presubmit error:
Illegal include: "android_w
sgurun-gerrit only
2017/03/06 18:35:17
Not acceptable. Android webview is a layer on top
jbudorick
2017/03/06 18:36:45
yeah, we discussed this & alternative mechanisms f
|
| +#include "base/android/jni_array.h" |
| #include "base/android/jni_string.h" |
| #include "base/android/scoped_java_ref.h" |
| #include "base/bind.h" |
| @@ -14,6 +16,7 @@ |
| using base::android::JavaParamRef; |
| using base::android::JavaRef; |
| +using base::android::ScopedJavaLocalRef; |
| namespace net { |
| namespace test_server { |
| @@ -42,7 +45,7 @@ jboolean EmbeddedTestServerAndroid::ShutdownAndWaitUntilComplete( |
| return test_server_.ShutdownAndWaitUntilComplete(); |
| } |
| -base::android::ScopedJavaLocalRef<jstring> EmbeddedTestServerAndroid::GetURL( |
| +ScopedJavaLocalRef<jstring> EmbeddedTestServerAndroid::GetURL( |
| JNIEnv* env, |
| const JavaParamRef<jobject>& jobj, |
| const JavaParamRef<jstring>& jrelative_url) const { |
| @@ -60,6 +63,24 @@ void EmbeddedTestServerAndroid::AddDefaultHandlers( |
| test_server_.AddDefaultHandlers(directory); |
| } |
| +ScopedJavaLocalRef<jlongArray> EmbeddedTestServerAndroid::GetCustomHandlers( |
| + JNIEnv* env, |
| + const JavaParamRef<jobject>& jobj) { |
| + return base::android::ToJavaLongArray(env, getHandlers()); |
| +} |
| + |
| +typedef std::unique_ptr<HttpResponse> (*HandlerUniquePtr)( |
| + const HttpRequest& request); |
| + |
| +void EmbeddedTestServerAndroid::RegisterRequestHandler( |
| + JNIEnv* env, |
| + const JavaParamRef<jobject>& jobj, |
| + jlong handler) { |
| + HandlerUniquePtr& handler_ptr = reinterpret_cast<HandlerUniquePtr&>(handler); |
| + test_server_.RegisterRequestHandler( |
| + base::Bind(handler_ptr)); |
| +} |
| + |
| void EmbeddedTestServerAndroid::ServeFilesFromDirectory( |
| JNIEnv* env, |
| const JavaParamRef<jobject>& jobj, |