Chromium Code Reviews| Index: android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java |
| diff --git a/android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java b/android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ecf9aa91551db44fde78ea5197184eb3b43939a5 |
| --- /dev/null |
| +++ b/android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java |
| @@ -0,0 +1,50 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.net.test; |
|
jbudorick
2017/03/09 02:00:47
Everything in this directory should be in org.chro
shenghuazhang
2017/03/13 18:48:15
Done.
|
| + |
| +import android.content.Context; |
| +import android.content.Intent; |
| + |
| +/** A simple file server for java android webview tests which extends |
| + * from class EmbeddedTestServer. It is able to add custom handlers |
| + * which registers with net::test_server::EmbeddedTestServer native code. |
| + * |
| + * An example use: |
| + * AwEmbeddedTestServer s = new AwEmbeddedTestServer(); |
| + * s = AwEmbeddedTestServer.createAndStartServer(context); |
| + * |
| + * // serve requests... |
| + * s.getURL("/foo/bar.txt"); |
| + * |
| + * s.stopAndDestroyServer(); |
| + * |
| + * Note that this runs net::test_server::EmbeddedTestServer in a service in a separate APK. |
| + */ |
| +public class AwEmbeddedTestServer extends EmbeddedTestServer { |
| + @Override |
| + protected void setIntentClassName(Intent intent) { |
| + intent.setClassName("org.chromium.net.test.awsupport", |
| + "org.chromium.net.test.AwEmbeddedTestServerService"); |
| + } |
| + /** Create and initialize a server with the default handlers. |
| + * |
| + * This handles native object initialization, server configuration, and server initialization. |
| + * On returning, the server is ready for use. |
| + * |
| + * @param context The context in which the server will run. |
| + * @return The created server. |
| + */ |
| + public static AwEmbeddedTestServer createAndStartServer(Context context) |
|
jbudorick
2017/03/09 02:00:47
hmm, this logic is almost the same as the Embedded
shenghuazhang
2017/03/13 18:48:15
Yeah. Separated the common steps into a new method
|
| + throws InterruptedException { |
| + AwEmbeddedTestServer server = new AwEmbeddedTestServer(); |
| + server.initializeNative(context); |
| + server.addDefaultHandlers(""); |
| + if (!server.start()) { |
| + throw new EmbeddedTestServerFailure( |
| + "Failed to start serving using default and custom handlers."); |
| + } |
| + return server; |
| + } |
| +} |