| 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 3e3994026144de1d09a3d555870a53e52f4c6465..7097fc79b10a05cda7a8d408c99e3ce7bb6e377d 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
|
| @@ -8,6 +8,7 @@ import android.annotation.SuppressLint;
|
| import android.app.Activity;
|
| import android.graphics.Point;
|
| import android.os.StrictMode;
|
| +import android.support.design.widget.CoordinatorLayout;
|
| import android.view.MotionEvent;
|
| import android.view.Surface;
|
| import android.view.SurfaceHolder;
|
| @@ -26,6 +27,7 @@ import org.chromium.base.annotations.JNINamespace;
|
| import org.chromium.chrome.browser.ChromeSwitches;
|
| import org.chromium.chrome.browser.ChromeVersionInfo;
|
| import org.chromium.chrome.browser.WebContentsFactory;
|
| +import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.content.browser.ContentView;
|
| import org.chromium.content.browser.ContentViewCore;
|
| @@ -59,6 +61,7 @@ public class VrShellImpl extends GvrLayout implements VrShell, SurfaceHolder.Cal
|
| private static final float DEFAULT_UI_HEIGHT = 1080f;
|
|
|
| private final Activity mActivity;
|
| + private final CompositorViewHolder mCompositorViewHolder;
|
| private final VirtualDisplayAndroid mContentVirtualDisplay;
|
| private final VirtualDisplayAndroid mUiVirtualDisplay;
|
|
|
| @@ -81,9 +84,14 @@ public class VrShellImpl extends GvrLayout implements VrShell, SurfaceHolder.Cal
|
|
|
| private boolean mReprojectedRendering;
|
|
|
| - public VrShellImpl(Activity activity) {
|
| + private CoordinatorLayout.LayoutParams mRestoreCompositorViewHolderParams = null;
|
| +
|
| + public VrShellImpl(Activity activity, CompositorViewHolder compositorViewHolder) {
|
| super(activity);
|
| mActivity = activity;
|
| + mCompositorViewHolder = compositorViewHolder;
|
| + mRestoreCompositorViewHolderParams = (CoordinatorLayout.LayoutParams) mCompositorViewHolder
|
| + .getLayoutParams();
|
| mUiCVCContainer = new FrameLayout(getContext()) {
|
| @Override
|
| public boolean dispatchTouchEvent(MotionEvent event) {
|
| @@ -198,6 +206,8 @@ public class VrShellImpl extends GvrLayout implements VrShell, SurfaceHolder.Cal
|
|
|
| Point size = new Point(surfaceWidth, surfaceHeight);
|
| mContentVirtualDisplay.update(size, size, dpr, null, null, null);
|
| + mCompositorViewHolder.setLayoutParams(new CoordinatorLayout.LayoutParams(
|
| + surfaceWidth, surfaceHeight));
|
| mContentCVC.onSizeChanged(surfaceWidth, surfaceHeight, 0, 0);
|
| mContentCVC.onPhysicalBackingSizeChanged(surfaceWidth, surfaceHeight);
|
| nativeContentPhysicalBoundsChanged(mNativeVrShell, surfaceWidth, surfaceHeight, dpr);
|
| @@ -251,6 +261,7 @@ public class VrShellImpl extends GvrLayout implements VrShell, SurfaceHolder.Cal
|
| nativeDestroy(mNativeVrShell);
|
| mNativeVrShell = 0;
|
| }
|
| + mCompositorViewHolder.setLayoutParams(mRestoreCompositorViewHolderParams);
|
| mTab.updateWindowAndroid(mOriginalWindowAndroid);
|
| mContentCVC.onSizeChanged(mContentCVC.getContainerView().getWidth(),
|
| mContentCVC.getContainerView().getHeight(), 0, 0);
|
|
|