Chromium Code Reviews| Index: android_webview/test/shell/src/org/chromium/android_webview/test/SecondBrowserProcessTestRunner.java |
| diff --git a/android_webview/test/shell/src/org/chromium/android_webview/test/SecondBrowserProcessTestRunner.java b/android_webview/test/shell/src/org/chromium/android_webview/test/SecondBrowserProcessTestRunner.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1b9beb938f82e0ede168dab5774cbb15866702ef |
| --- /dev/null |
| +++ b/android_webview/test/shell/src/org/chromium/android_webview/test/SecondBrowserProcessTestRunner.java |
| @@ -0,0 +1,37 @@ |
| +// Copyright 2016 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.android_webview.test; |
| + |
| +import android.app.Service; |
| +import android.os.Message; |
| +import android.os.Messenger; |
| +import android.os.RemoteException; |
| + |
| +import org.chromium.base.Log; |
| + |
| +/** |
| + * Class providing code starting the browser process in a Service in a separate process. |
| + */ |
| +public class SecondBrowserProcessTestRunner extends ServiceTestRunner { |
|
boliu
2016/09/15 04:57:53
can this just be an inner class of AwSecondBrowser
gsennton
2016/09/15 10:02:04
Since the Service lives in the shell apk (which do
boliu
2016/09/15 18:04:04
Oh so serializable isn't magic :p
I'm almost temp
|
| + private static final String TAG = "SndBrowserProcess"; |
| + public static final int RETURN_TEST_SUCCESS = 1; |
| + public static final int RETURN_TEST_FAILURE = 2; |
| + |
| + @Override |
| + public void runTestOnMainThread(final Messenger testMessenger, Service service) { |
| + final Message successMessage = Message.obtain(null, RETURN_TEST_SUCCESS); |
| + final Message failureMessage = Message.obtain(null, RETURN_TEST_FAILURE); |
| + try { |
| + AwTestBaseUtility.startBrowserProcess(service); |
| + testMessenger.send(successMessage); |
| + } catch (Exception e) { |
| + Log.e(TAG, "Tried to start browser process in external service", e); |
| + try { |
| + testMessenger.send(failureMessage); |
| + } catch (RemoteException re) { |
| + } |
| + } |
| + } |
| +} |