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

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

Issue 2727873002: Implement lazy initialization for VrShellDelegate (Closed)
Patch Set: Fix FindBugs errors - neat! Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.vr_shell; 5 package org.chromium.chrome.browser.vr_shell;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.graphics.Canvas; 8 import android.graphics.Canvas;
9 import android.graphics.Point; 9 import android.graphics.Point;
10 import android.os.StrictMode; 10 import android.os.StrictMode;
(...skipping 11 matching lines...) Expand all
22 import org.chromium.base.CommandLine; 22 import org.chromium.base.CommandLine;
23 import org.chromium.base.Log; 23 import org.chromium.base.Log;
24 import org.chromium.base.ThreadUtils; 24 import org.chromium.base.ThreadUtils;
25 import org.chromium.base.annotations.CalledByNative; 25 import org.chromium.base.annotations.CalledByNative;
26 import org.chromium.base.annotations.JNINamespace; 26 import org.chromium.base.annotations.JNINamespace;
27 import org.chromium.chrome.browser.ChromeActivity; 27 import org.chromium.chrome.browser.ChromeActivity;
28 import org.chromium.chrome.browser.ChromeSwitches; 28 import org.chromium.chrome.browser.ChromeSwitches;
29 import org.chromium.chrome.browser.ChromeVersionInfo; 29 import org.chromium.chrome.browser.ChromeVersionInfo;
30 import org.chromium.chrome.browser.NativePage; 30 import org.chromium.chrome.browser.NativePage;
31 import org.chromium.chrome.browser.WebContentsFactory; 31 import org.chromium.chrome.browser.WebContentsFactory;
32 import org.chromium.chrome.browser.compositor.CompositorViewHolder;
33 import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; 32 import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader;
34 import org.chromium.chrome.browser.tab.EmptyTabObserver; 33 import org.chromium.chrome.browser.tab.EmptyTabObserver;
35 import org.chromium.chrome.browser.tab.Tab; 34 import org.chromium.chrome.browser.tab.Tab;
36 import org.chromium.chrome.browser.tab.TabObserver; 35 import org.chromium.chrome.browser.tab.TabObserver;
37 import org.chromium.chrome.browser.tab.TabRedirectHandler; 36 import org.chromium.chrome.browser.tab.TabRedirectHandler;
38 import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver; 37 import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
39 import org.chromium.chrome.browser.tabmodel.TabModel; 38 import org.chromium.chrome.browser.tabmodel.TabModel;
40 import org.chromium.chrome.browser.tabmodel.TabModelSelector; 39 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
41 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver; 40 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
42 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; 41 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
(...skipping 29 matching lines...) Expand all
72 // text too small to read. 71 // text too small to read.
73 private static final float DEFAULT_CONTENT_WIDTH = 960f; 72 private static final float DEFAULT_CONTENT_WIDTH = 960f;
74 private static final float DEFAULT_CONTENT_HEIGHT = 640f; 73 private static final float DEFAULT_CONTENT_HEIGHT = 640f;
75 // Temporary values that will be changed when the UI loads and figures out h ow what size it 74 // Temporary values that will be changed when the UI loads and figures out h ow what size it
76 // needs to be. 75 // needs to be.
77 private static final float DEFAULT_UI_WIDTH = 1920f; 76 private static final float DEFAULT_UI_WIDTH = 1920f;
78 private static final float DEFAULT_UI_HEIGHT = 1080f; 77 private static final float DEFAULT_UI_HEIGHT = 1080f;
79 78
80 private final ChromeActivity mActivity; 79 private final ChromeActivity mActivity;
81 private final VrShellDelegate mDelegate; 80 private final VrShellDelegate mDelegate;
82 private final CompositorViewHolder mCompositorViewHolder;
83 private final VirtualDisplayAndroid mContentVirtualDisplay; 81 private final VirtualDisplayAndroid mContentVirtualDisplay;
84 private final VirtualDisplayAndroid mUiVirtualDisplay; 82 private final VirtualDisplayAndroid mUiVirtualDisplay;
85 private final TabRedirectHandler mTabRedirectHandler; 83 private final TabRedirectHandler mTabRedirectHandler;
86 private final TabObserver mTabObserver; 84 private final TabObserver mTabObserver;
87 private final TabModelSelectorObserver mTabModelSelectorObserver; 85 private final TabModelSelectorObserver mTabModelSelectorObserver;
88 private final View.OnTouchListener mTouchListener; 86 private final View.OnTouchListener mTouchListener;
89 private TabModelSelectorTabObserver mTabModelSelectorTabObserver; 87 private TabModelSelectorTabObserver mTabModelSelectorTabObserver;
90 88
91 private long mNativeVrShell; 89 private long mNativeVrShell;
92 90
(...skipping 16 matching lines...) Expand all
109 private boolean mReprojectedRendering; 107 private boolean mReprojectedRendering;
110 108
111 private TabRedirectHandler mNonVrTabRedirectHandler; 109 private TabRedirectHandler mNonVrTabRedirectHandler;
112 private TabModelSelector mTabModelSelector; 110 private TabModelSelector mTabModelSelector;
113 private float mLastContentWidth; 111 private float mLastContentWidth;
114 private float mLastContentHeight; 112 private float mLastContentHeight;
115 private float mLastContentDpr; 113 private float mLastContentDpr;
116 114
117 private MotionEventSynthesizer mMotionEventSynthesizer; 115 private MotionEventSynthesizer mMotionEventSynthesizer;
118 116
119 public VrShellImpl(ChromeActivity activity, VrShellDelegate delegate, 117 public VrShellImpl(
120 CompositorViewHolder compositorViewHolder) { 118 ChromeActivity activity, VrShellDelegate delegate, TabModelSelector tabModelSelector) {
121 super(activity); 119 super(activity);
122 mActivity = activity; 120 mActivity = activity;
123 mDelegate = delegate; 121 mDelegate = delegate;
124 mCompositorViewHolder = compositorViewHolder; 122 mTabModelSelector = tabModelSelector;
125 mTabModelSelector = mCompositorViewHolder.detachForVR();
126 mUiCVCContainer = new FrameLayout(getContext()) { 123 mUiCVCContainer = new FrameLayout(getContext()) {
127 @Override 124 @Override
128 public boolean dispatchTouchEvent(MotionEvent event) { 125 public boolean dispatchTouchEvent(MotionEvent event) {
129 return true; 126 return true;
130 } 127 }
131 }; 128 };
132 addView(mUiCVCContainer, 0, new FrameLayout.LayoutParams(0, 0)); 129 addView(mUiCVCContainer, 0, new FrameLayout.LayoutParams(0, 0));
133 130
134 mReprojectedRendering = setAsyncReprojectionEnabled(true); 131 mReprojectedRendering = setAsyncReprojectionEnabled(true);
135 if (mReprojectedRendering) { 132 if (mReprojectedRendering) {
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 mNativeVrShell = 0; 475 mNativeVrShell = 0;
479 } 476 }
480 mTabModelSelector.removeObserver(mTabModelSelectorObserver); 477 mTabModelSelector.removeObserver(mTabModelSelectorObserver);
481 mTabModelSelectorTabObserver.destroy(); 478 mTabModelSelectorTabObserver.destroy();
482 mTab.removeObserver(mTabObserver); 479 mTab.removeObserver(mTabObserver);
483 restoreTabFromVR(); 480 restoreTabFromVR();
484 mUiContents.destroy(); 481 mUiContents.destroy();
485 mContentVirtualDisplay.destroy(); 482 mContentVirtualDisplay.destroy();
486 mUiVirtualDisplay.destroy(); 483 mUiVirtualDisplay.destroy();
487 super.shutdown(); 484 super.shutdown();
488 mCompositorViewHolder.onExitVR(mTabModelSelector);
489 } 485 }
490 486
491 @Override 487 @Override
492 public void pause() { 488 public void pause() {
493 onPause(); 489 onPause();
494 } 490 }
495 491
496 @Override 492 @Override
497 public void resume() { 493 public void resume() {
498 onResume(); 494 onResume();
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 float dpr); 613 float dpr);
618 private native void nativeSetWebVrMode(long nativeVrShell, boolean enabled); 614 private native void nativeSetWebVrMode(long nativeVrShell, boolean enabled);
619 private native void nativeOnTabListCreated(long nativeVrShell, Tab[] mainTab s, 615 private native void nativeOnTabListCreated(long nativeVrShell, Tab[] mainTab s,
620 Tab[] incognitoTabs); 616 Tab[] incognitoTabs);
621 private native void nativeOnTabUpdated(long nativeVrShell, boolean incognito , int id, 617 private native void nativeOnTabUpdated(long nativeVrShell, boolean incognito , int id,
622 String title); 618 String title);
623 private native void nativeOnTabRemoved(long nativeVrShell, boolean incognito , int id); 619 private native void nativeOnTabRemoved(long nativeVrShell, boolean incognito , int id);
624 private native Surface nativeTakeContentSurface(long nativeVrShell); 620 private native Surface nativeTakeContentSurface(long nativeVrShell);
625 private native void nativeRestoreContentSurface(long nativeVrShell); 621 private native void nativeRestoreContentSurface(long nativeVrShell);
626 } 622 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698