Index: third_party/mojo/src/mojo/public/java/application/src/org/chromium/mojo/application/ApplicationRunner.java |
diff --git a/third_party/mojo/src/mojo/public/java/application/src/org/chromium/mojo/application/ApplicationRunner.java b/third_party/mojo/src/mojo/public/java/application/src/org/chromium/mojo/application/ApplicationRunner.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1a903b4696b253c0e5b6b588a6f11ebfe90033fc |
--- /dev/null |
+++ b/third_party/mojo/src/mojo/public/java/application/src/org/chromium/mojo/application/ApplicationRunner.java |
@@ -0,0 +1,32 @@ |
+// Copyright 2015 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.mojo.application; |
+ |
+import org.chromium.mojo.system.Core; |
+import org.chromium.mojo.system.MessagePipeHandle; |
+import org.chromium.mojo.system.RunLoop; |
+ |
+/** |
+ * A utility for running an Application. |
+ * |
+ */ |
+public class ApplicationRunner { |
+ /** |
+ * Runs the delegate in a RunLoop. |
+ * |
+ * @param delegate Application specific functionality. |
+ * @param core Core mojo interface. |
+ * @param applicationRequest Handle for the application request. |
+ */ |
+ public static void run( |
+ ApplicationDelegate delegate, Core core, MessagePipeHandle applicationRequest) { |
+ try (RunLoop runLoop = core.createDefaultRunLoop()) { |
+ try (ApplicationImpl application = |
+ new ApplicationImpl(delegate, core, applicationRequest)) { |
+ runLoop.run(); |
+ } |
+ } |
+ } |
+} |