| Index: shell/android/apk/src/org/chromium/mojo/shell/JavaApplicationRegistry.java
|
| diff --git a/shell/android/apk/src/org/chromium/mojo/shell/JavaApplicationRegistry.java b/shell/android/apk/src/org/chromium/mojo/shell/JavaApplicationRegistry.java
|
| index b0e81db1e71e7574162ad711934e3452a3875e1b..67241c10b798da448ce50d20bbfa238adaf381c6 100644
|
| --- a/shell/android/apk/src/org/chromium/mojo/shell/JavaApplicationRegistry.java
|
| +++ b/shell/android/apk/src/org/chromium/mojo/shell/JavaApplicationRegistry.java
|
| @@ -4,6 +4,8 @@
|
|
|
| package org.chromium.mojo.shell;
|
|
|
| +import android.os.HandlerThread;
|
| +
|
| import org.chromium.base.ApplicationStatus;
|
| import org.chromium.base.CalledByNative;
|
| import org.chromium.base.JNINamespace;
|
| @@ -30,6 +32,8 @@ import java.util.Map;
|
| @JNINamespace("shell")
|
| public class JavaApplicationRegistry {
|
| private final Map<String, ApplicationDelegate> mApplicationDelegateMap = new HashMap<>();
|
| + // Thread with a Looper required to get callbacks from the android framework..
|
| + private final HandlerThread mHandlerThread = new HandlerThread("FrameworkThread");
|
|
|
| private static final class ApplicationRunnable implements Runnable {
|
| private final ApplicationDelegate mApplicationDelegate;
|
| @@ -51,7 +55,9 @@ public class JavaApplicationRegistry {
|
| }
|
| }
|
|
|
| - private JavaApplicationRegistry() {}
|
| + private JavaApplicationRegistry() {
|
| + mHandlerThread.start();
|
| + }
|
|
|
| private void registerApplicationDelegate(String url, ApplicationDelegate applicationDelegate) {
|
| mApplicationDelegateMap.put(url, applicationDelegate);
|
| @@ -97,6 +103,9 @@ public class JavaApplicationRegistry {
|
| registry.registerApplicationDelegate("mojo:sharing", new SharingApplicationDelegate());
|
| registry.registerApplicationDelegate(
|
| "mojo:native_viewport_support", new NativeViewportSupportApplicationDelegate());
|
| + registry.registerApplicationDelegate(
|
| + "mojo:vsync", new ServiceProviderFactoryApplicationDelegate(
|
| + new VsyncFactory(registry.mHandlerThread.getLooper())));
|
| return registry;
|
| }
|
|
|
|
|