Commit 8c858fd5 authored by danakj@chromium.org's avatar danakj@chromium.org

Revert of Make ContentViewRenderView::CompositeToBitmap not...

Revert of Make ContentViewRenderView::CompositeToBitmap not CompositeAndReadback. (https://codereview.chromium.org/270933002/)

Reason for revert:
This is possibly breaking android telemetry pixel tests as per https://code.google.com/p/chromium/issues/detail?id=372562

Original issue's description:
> Make ContentViewRenderView::CompositeToBitmap not CompositeAndReadback.
> 
> The CompositeAndReadback is going away, and this method is thought to
> be unused. Make the method just fail and return false.
> 
> R=aelias, tedchoc@chromium.org
> BUG=371592
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=269448

TBR=aelias@chromium.org,tedchoc@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=371592

Review URL: https://codereview.chromium.org/286513002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269894 0039d316-1c4b-4281-b951-d872f2087c98
parent 08d67e47
...@@ -127,6 +127,15 @@ jboolean ContentViewRenderView::Composite(JNIEnv* env, jobject obj) { ...@@ -127,6 +127,15 @@ jboolean ContentViewRenderView::Composite(JNIEnv* env, jobject obj) {
return buffers_swapped_during_composite_; return buffers_swapped_during_composite_;
} }
jboolean ContentViewRenderView::CompositeToBitmap(JNIEnv* env, jobject obj,
jobject java_bitmap) {
gfx::JavaBitmap bitmap(java_bitmap);
if (!compositor_ || bitmap.format() != ANDROID_BITMAP_FORMAT_RGBA_8888)
return false;
return compositor_->CompositeAndReadback(bitmap.pixels(),
gfx::Rect(bitmap.size()));
}
void ContentViewRenderView::SetOverlayVideoMode( void ContentViewRenderView::SetOverlayVideoMode(
JNIEnv* env, jobject obj, bool enabled) { JNIEnv* env, jobject obj, bool enabled) {
compositor_->SetHasTransparentBackground(enabled); compositor_->SetHasTransparentBackground(enabled);
......
...@@ -40,6 +40,7 @@ class ContentViewRenderView : public CompositorClient { ...@@ -40,6 +40,7 @@ class ContentViewRenderView : public CompositorClient {
void SurfaceChanged(JNIEnv* env, jobject obj, void SurfaceChanged(JNIEnv* env, jobject obj,
jint format, jint width, jint height, jobject surface); jint format, jint width, jint height, jobject surface);
jboolean Composite(JNIEnv* env, jobject obj); jboolean Composite(JNIEnv* env, jobject obj);
jboolean CompositeToBitmap(JNIEnv* env, jobject obj, jobject java_bitmap);
void SetOverlayVideoMode(JNIEnv* env, jobject obj, bool enabled); void SetOverlayVideoMode(JNIEnv* env, jobject obj, bool enabled);
// CompositorClient --------------------------------------------------------- // CompositorClient ---------------------------------------------------------
......
...@@ -186,7 +186,18 @@ public class ContentViewRenderView extends FrameLayout implements WindowAndroid. ...@@ -186,7 +186,18 @@ public class ContentViewRenderView extends FrameLayout implements WindowAndroid.
* @return The created SurfaceView object. * @return The created SurfaceView object.
*/ */
protected SurfaceView createSurfaceView(Context context) { protected SurfaceView createSurfaceView(Context context) {
return new SurfaceView(context); return new SurfaceView(context) {
@Override
public void onDraw(Canvas canvas) {
// We only need to draw to software canvases, which are used for taking screenshots.
if (canvas.isHardwareAccelerated()) return;
Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(),
Bitmap.Config.ARGB_8888);
if (nativeCompositeToBitmap(mNativeContentViewRenderView, bitmap)) {
canvas.drawBitmap(bitmap, 0, 0, null);
}
}
};
} }
/** /**
...@@ -277,6 +288,7 @@ public class ContentViewRenderView extends FrameLayout implements WindowAndroid. ...@@ -277,6 +288,7 @@ public class ContentViewRenderView extends FrameLayout implements WindowAndroid.
private native void nativeSurfaceChanged(long nativeContentViewRenderView, private native void nativeSurfaceChanged(long nativeContentViewRenderView,
int format, int width, int height, Surface surface); int format, int width, int height, Surface surface);
private native boolean nativeComposite(long nativeContentViewRenderView); private native boolean nativeComposite(long nativeContentViewRenderView);
private native boolean nativeCompositeToBitmap(long nativeContentViewRenderView, Bitmap bitmap);
private native void nativeSetOverlayVideoMode(long nativeContentViewRenderView, private native void nativeSetOverlayVideoMode(long nativeContentViewRenderView,
boolean enabled); boolean enabled);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment