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

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

Issue 2891423002: Disable NTP URL bar while in VR on Android. (Closed)
Patch Set: javadoc Created 3 years, 7 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 0b45af51a0e0f12a7706702caeadaab1867b8025..e8811ba1069f07ef5aa943516f75dfbe232fe3c6 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
@@ -29,6 +29,7 @@ import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.NativePage;
import org.chromium.chrome.browser.UrlConstants;
+import org.chromium.chrome.browser.ntp.NewTabPage;
import org.chromium.chrome.browser.tab.EmptyTabObserver;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabObserver;
@@ -164,9 +165,8 @@ public class VrShellImpl
return;
}
if (mNativePage != null) {
- UiUtils.removeViewFromParent(mNativePage.getView());
+ restoreNativePageFromVR();
mNativePage = null;
- mMotionEventSynthesizer = null;
if (tab.getNativePage() == null) {
nativeRestoreContentSurface(mNativeVrShell);
mRenderToSurfaceLayoutParent.setVisibility(View.INVISIBLE);
@@ -176,13 +176,8 @@ public class VrShellImpl
if (tab.getNativePage() != null) {
mRenderToSurfaceLayoutParent.setVisibility(View.VISIBLE);
mNativePage = tab.getNativePage();
+ initializeNativePageForVR();
if (mSurface == null) mSurface = nativeTakeContentSurface(mNativeVrShell);
- mRenderToSurfaceLayout.addView(mNativePage.getView(),
- new FrameLayout.LayoutParams(
- LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
- mNativePage.getView().invalidate();
- mMotionEventSynthesizer =
- new MotionEventSynthesizer(mRenderToSurfaceLayout, VrShellImpl.this);
}
setContentCssSize(mLastContentWidth, mLastContentHeight, mLastContentDpr);
if (tab.getNativePage() == null && tab.getContentViewCore() != null) {
@@ -274,6 +269,8 @@ public class VrShellImpl
});
mRenderToSurfaceLayoutParent.addView(mRenderToSurfaceLayout);
addView(mRenderToSurfaceLayoutParent);
+ mMotionEventSynthesizer =
+ new MotionEventSynthesizer(mRenderToSurfaceLayout, VrShellImpl.this);
}
@Override
@@ -352,6 +349,23 @@ public class VrShellImpl
mNonVrTabRedirectHandler = null;
}
+ private void initializeNativePageForVR() {
+ if (mNativePage instanceof NewTabPage) {
+ ((NewTabPage) mNativePage).setUrlBarInputEnabled(false);
+ }
+ mRenderToSurfaceLayout.addView(mNativePage.getView(),
+ new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
+ mNativePage.getView().invalidate();
+ mRenderToSurfaceLayout.invalidate();
+ }
+
+ private void restoreNativePageFromVR() {
+ if (mNativePage instanceof NewTabPage) {
+ ((NewTabPage) mNativePage).setUrlBarInputEnabled(true);
+ }
+ UiUtils.removeViewFromParent(mNativePage.getView());
+ }
+
// Exits VR, telling the user to remove their headset, and returning to Chromium.
@CalledByNative
public void forceExitVr() {
@@ -454,7 +468,7 @@ public class VrShellImpl
nativeDestroy(mNativeVrShell);
mNativeVrShell = 0;
}
- if (mNativePage != null) UiUtils.removeViewFromParent(mNativePage.getView());
+ if (mNativePage != null) restoreNativePageFromVR();
mTabModelSelector.removeObserver(mTabModelSelectorObserver);
mTabModelSelectorTabObserver.destroy();
mTab.removeObserver(mTabObserver);

Powered by Google App Engine
This is Rietveld 408576698