| Index: chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
|
| index 3bdbb7277dbfd37b107a0d578a55294a664af351..ff2445bfaf82ada39ee75d22b975a8ca2ffcf0d5 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
|
| @@ -6,13 +6,18 @@ package org.chromium.chrome.browser.vr_shell;
|
|
|
| import android.annotation.SuppressLint;
|
| import android.app.Activity;
|
| +import android.content.Context;
|
| import android.graphics.Point;
|
| import android.os.StrictMode;
|
| +import android.view.Choreographer;
|
| +import android.view.Choreographer.FrameCallback;
|
| +import android.view.Display;
|
| import android.view.MotionEvent;
|
| import android.view.Surface;
|
| import android.view.SurfaceHolder;
|
| import android.view.SurfaceView;
|
| import android.view.View;
|
| +import android.view.WindowManager;
|
| import android.widget.FrameLayout;
|
|
|
| import com.google.vr.ndk.base.AndroidCompat;
|
| @@ -172,6 +177,17 @@ public class VrShellImpl extends GvrLayout implements VrShell, SurfaceHolder.Cal
|
|
|
| mOriginalWindowAndroid = mContentCVC.getWindowAndroid();
|
| mTab.updateWindowAndroid(mContentVrWindowAndroid);
|
| +
|
| + Choreographer choreographer = Choreographer.getInstance();
|
| + choreographer.postFrameCallback(new FrameCallback() {
|
| + @Override
|
| + public void doFrame(long frameTimeNanos) {
|
| + Display display = ((WindowManager) mActivity.getSystemService(
|
| + Context.WINDOW_SERVICE)).getDefaultDisplay();
|
| + nativeUpdateVSyncInterval(mNativeVrShell, frameTimeNanos,
|
| + 1.0d / display.getRefreshRate());
|
| + }
|
| + });
|
| }
|
|
|
| @CalledByNative
|
| @@ -324,4 +340,6 @@ public class VrShellImpl extends GvrLayout implements VrShell, SurfaceHolder.Cal
|
| float dpr);
|
| private native void nativeUIBoundsChanged(long nativeVrShell, int width, int height, float dpr);
|
| private native void nativeSetWebVrMode(long nativeVrShell, boolean enabled);
|
| + private native void nativeUpdateVSyncInterval(long nativeVrShell, long timebaseNanos,
|
| + double intervalSeconds);
|
| }
|
|
|