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

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

Issue 2955483003: Show splash screen when entering VR from a deep-link (Closed)
Patch Set: fix compile error on bots Created 3 years, 6 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/VrShellDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
index 8f5cbecf78ce8f415efc7979171cdc1bda8d6b2c..4b44c0950465930b9c5888973b517061bd83db8a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
@@ -580,14 +580,18 @@ public class VrShellDelegate implements ApplicationStatus.ActivityStateListener,
return false;
}
- if (mListeningForWebVrActivateBeforePause && !mRequestedWebVr) {
+ // If the page is listening for vrdisplayactivate we assume it wants to request
+ // presentation. Go into WebVR mode tentatively. If the page doesn't request presentation
+ // in the vrdisplayactivate handler we will exit presentation later. Note that in the
+ // case of autopresentation, we don't want to enter WebVR mode so that we can show the
+ // splash screen. In this case, we enter WebVR mode when the site requests presentation.
+ boolean tentativeWebVrMode =
+ mListeningForWebVrActivateBeforePause && !mRequestedWebVr && !mAutopresentWebVr;
+ if (tentativeWebVrMode) {
nativeDisplayActivate(mNativeVrShellDelegate);
}
- // If the page is listening for vrdisplayactivate we assume it wants to request
- // presentation. Go into WebVR mode tentatively. If the page doesn't request presentation
- // in the vrdisplayactivate handler we will exit presentation later.
- enterVr(mListeningForWebVrActivateBeforePause && !mRequestedWebVr);
+ enterVr(tentativeWebVrMode);
// The user has successfully completed a DON flow.
RecordUserAction.record("VR.DON");
@@ -648,11 +652,10 @@ public class VrShellDelegate implements ApplicationStatus.ActivityStateListener,
mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
addVrViews();
- boolean webVrMode = mRequestedWebVr || tentativeWebVrMode;
+ boolean webVrMode = mRequestedWebVr || tentativeWebVrMode && !mAutopresentWebVr;
mVrShell.initializeNative(mActivity.getActivityTab(), webVrMode, mAutopresentWebVr,
mActivity instanceof CustomTabActivity);
- mVrShell.setWebVrModeEnabled(webVrMode, mAutopresentWebVr, false);
- mAutopresentWebVr = false;
+ mVrShell.setWebVrModeEnabled(webVrMode, false);
// We're entering VR, but not in WebVr mode.
mVrBrowserUsed = !webVrMode;
@@ -676,6 +679,7 @@ public class VrShellDelegate implements ApplicationStatus.ActivityStateListener,
// we're not in vr.
assert !mInVr;
mAutopresentWebVr = true;
+ mDonSucceeded = true;
}
/**
@@ -748,7 +752,7 @@ public class VrShellDelegate implements ApplicationStatus.ActivityStateListener,
mRequestedWebVr = true;
switch (enterVrInternal()) {
case ENTER_VR_NOT_NECESSARY:
- mVrShell.setWebVrModeEnabled(true, mAutopresentWebVr, true);
+ mVrShell.setWebVrModeEnabled(true, true);
maybeSetPresentResult(true);
break;
case ENTER_VR_CANCELLED:
@@ -762,6 +766,7 @@ public class VrShellDelegate implements ApplicationStatus.ActivityStateListener,
default:
Log.e(TAG, "Unexpected enum.");
}
+ mAutopresentWebVr = false;
}
/**
@@ -803,7 +808,7 @@ public class VrShellDelegate implements ApplicationStatus.ActivityStateListener,
} else {
mVrBrowserUsed = true;
mAutopresentWebVr = false;
- mVrShell.setWebVrModeEnabled(false, false, false);
+ mVrShell.setWebVrModeEnabled(false, false);
}
return true;
}

Powered by Google App Engine
This is Rietveld 408576698