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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/ContentView.java

Issue 12443003: Implement out-of-band video compositing on Android: Step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 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 side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/ContentView.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentView.java b/content/public/android/java/src/org/chromium/content/browser/ContentView.java
index fa5cea7c75e3b031d60674b0af8a0d2829701ea0..ea6a0d56cfe1efe9717f31d2620826a2ee2e84e1 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentView.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentView.java
@@ -15,6 +15,8 @@ import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.inputmethod.EditorInfo;
@@ -103,12 +105,37 @@ public class ContentView extends FrameLayout implements ContentViewCore.Internal
}
}
+ private SurfaceView mExternalVideoSurfaceView;
+
protected ContentView(Context context, int nativeWebContents, NativeWindow nativeWindow,
AttributeSet attrs, int defStyle, int personality) {
super(context, attrs, defStyle);
mContentViewCore = new ContentViewCore(context, personality);
mContentViewCore.initialize(this, this, nativeWebContents, nativeWindow, false);
+
+ mExternalVideoSurfaceView = new SurfaceView(getContext());
+ mExternalVideoSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {
+ mContentViewCore.externalVideoSurfaceCreated(holder.getSurface());
+ }
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ mContentViewCore.externalVideoSurfaceDestroyed(holder.getSurface());
+ }
+ });
+
+ addView(mExternalVideoSurfaceView,
+ new FrameLayout.LayoutParams(
+ FrameLayout.LayoutParams.MATCH_PARENT,
+ FrameLayout.LayoutParams.MATCH_PARENT));
+ mExternalVideoSurfaceView.setZOrderMediaOverlay(false);
no sievers 2013/03/07 19:14:07 I think this should all move to the app/embedder.
wonsik 2013/03/11 12:32:44 Could you point me to a starting point to investig
no sievers 2013/03/11 17:26:28 I mean this code to create the external SurfaceVie
wonsik 2013/03/14 06:28:14 Created ExternalVideoSurfaceViewHolder to be injec
}
/**

Powered by Google App Engine
This is Rietveld 408576698