| Index: content/browser/android/content_view_core_impl.cc
|
| diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
|
| index cfd19dbc04c026a133d8cf8f6ab3e1a0dd09e7f8..385b5f4c520092284dbe0ea738f7b55932231c5e 100644
|
| --- a/content/browser/android/content_view_core_impl.cc
|
| +++ b/content/browser/android/content_view_core_impl.cc
|
| @@ -61,8 +61,10 @@ using base::android::ConvertJavaStringToUTF16;
|
| using base::android::ConvertJavaStringToUTF8;
|
| using base::android::ConvertUTF16ToJavaString;
|
| using base::android::ConvertUTF8ToJavaString;
|
| +using base::android::JavaByteArrayToByteVector;
|
| using base::android::ScopedJavaGlobalRef;
|
| using base::android::ScopedJavaLocalRef;
|
| +using base::android::HasException;
|
| using WebKit::WebGestureEvent;
|
| using WebKit::WebInputEvent;
|
|
|
| @@ -699,6 +701,19 @@ void ContentViewCoreImpl::SetNeedsAnimate() {
|
| Java_ContentViewCore_setNeedsAnimate(env, obj.obj());
|
| }
|
|
|
| +bool ContentViewCoreImpl::GrabSnapshot(std::vector<unsigned uint8>* png) {
|
| + JNIEnv* env = AttachCurrentThread();
|
| + ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
|
| + if (obj.is_null())
|
| + return false;
|
| + ScopedJavaLocalRef<jbyteArray> data_ref =
|
| + Java_ContentViewCore_grabSnapshot(env, obj.obj());
|
| + if (HasException(env) || data_ref.is_null())
|
| + return false;
|
| + JavaByteArrayToByteVector(env, data_ref.obj(), png);
|
| + return true;
|
| +}
|
| +
|
| ui::ViewAndroid* ContentViewCoreImpl::GetViewAndroid() const {
|
| // view_android_ should never be null for Chrome.
|
| DCHECK(view_android_);
|
|
|