Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3858)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java

Issue 2624633002: Remove Sync GetPose VRService call, implement VRVSyncProvider (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
« no previous file with comments | « no previous file | chrome/browser/android/vr_shell/vr_shell.h » ('j') | third_party/WebKit/Source/modules/vr/VRDisplay.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698