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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java

Issue 2252103002: Introduce ChromeVR to Chrome on Android (behind a build flag) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebaes and address 2 in 3 reviews Created 4 years, 4 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/compositor/CompositorView.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
index f7a4cab8364a7bd0e60e41ef0b1a9c00801e6c68..b5c050dd0555decf14ffd67d4a5031bbc8b40bd6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
@@ -9,6 +9,7 @@ import android.content.Context;
import android.graphics.Color;
import android.graphics.PixelFormat;
import android.graphics.Rect;
+import android.graphics.SurfaceTexture;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.SurfaceHolder;
@@ -21,7 +22,6 @@ import org.chromium.base.TraceEvent;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
-import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutProvider;
@@ -61,6 +61,8 @@ public class CompositorView
private int mLastLayerCount;
+ private Surface mSurface = null;
Maria 2016/08/24 00:06:07 no need to do = null here
bshe 2016/08/24 13:47:41 On 2016/08/24 00:06:07, Maria wrote: > no need to
+
// Resource Management
private ResourceManager mResourceManager;
@@ -206,10 +208,26 @@ public class CompositorView
nativeSetOverlayVideoMode(mNativeCompositorView, enabled);
}
+ /**
+ * Replace the Surface that CompositorView has with a new Surface that backed by SurfaceTexture.
+ */
+ public void replaceCompositorSurface(SurfaceTexture surfaceTexture) {
+ final int width = getWidth();
+ final int height = getHeight();
+ surfaceTexture.setDefaultBufferSize(width, height);
+ mSurface = new Surface(surfaceTexture);
+ surfaceChanged(getHolder(), mCurrentPixelFormat, width, height);
+ }
+
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
if (mNativeCompositorView == 0) return;
- nativeSurfaceChanged(mNativeCompositorView, format, width, height, holder.getSurface());
+
+ if (mSurface != null) {
+ nativeSurfaceChanged(mNativeCompositorView, format, width, height, mSurface);
+ } else {
+ nativeSurfaceChanged(mNativeCompositorView, format, width, height, holder.getSurface());
+ }
mRenderHost.onPhysicalBackingSizeChanged(width, height);
mSurfaceWidth = width;
mSurfaceHeight = height;
@@ -324,7 +342,7 @@ public class CompositorView
}
// IMPORTANT: Do not do anything that impacts the compositor layer tree before this line.
- // If you do, you could inadvertently trigger follow up renders. For further information
+ // If you do, you could inadvertently trigger follow up renders. For further information
// see dtrainor@, tedchoc@, or klobag@.
// TODO(jscholler): change 1.0f to dpToPx once the native part is fully supporting dp.

Powered by Google App Engine
This is Rietveld 408576698