Index: content/browser/android/content_view_core_impl.h |
diff --git a/content/browser/android/content_view_core_impl.h b/content/browser/android/content_view_core_impl.h |
index d88af6d8def910a9275e77ae1260c20b9b732511..ee00ad6a35f2de6814fd2ef79c52ea824ab328b6 100644 |
--- a/content/browser/android/content_view_core_impl.h |
+++ b/content/browser/android/content_view_core_impl.h |
@@ -9,6 +9,7 @@ |
#include "base/android/jni_android.h" |
#include "base/android/jni_helper.h" |
+#include "base/android/scoped_java_ref.h" |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/i18n/rtl.h" |
@@ -26,6 +27,10 @@ |
#include "ui/gfx/rect_f.h" |
#include "url/gurl.h" |
+namespace gfx { |
+class JavaBitmap; |
+} |
+ |
namespace ui { |
class ViewAndroid; |
class WindowAndroid; |
@@ -59,7 +64,10 @@ class ContentViewCoreImpl : public ContentViewCore, |
virtual void ShowPastePopup(int x, int y) OVERRIDE; |
virtual void GetScaledContentBitmap( |
float scale, |
- const base::Callback<void(bool, const SkBitmap&)>& result_callback) |
+ const base::Callback<void(bool, const SkBitmap&)>& result_callback, |
+ SkBitmap::Config bitmap_config = SkBitmap::kARGB_8888_Config, |
+ const gfx::Rect& bounding_rect = gfx::Rect(), |
+ const BitmapAllocator bitmap_allocator = BitmapAllocator()) |
OVERRIDE; |
virtual float GetDpiScale() const OVERRIDE; |
virtual void PauseVideo() OVERRIDE; |
@@ -200,6 +208,14 @@ class ContentViewCoreImpl : public ContentViewCore, |
jboolean PopulateBitmapFromCompositor(JNIEnv* env, |
jobject obj, |
jobject jbitmap); |
+ void PopulateBitmapFromCompositorAsync(JNIEnv* env, |
+ jobject obj, |
+ jint x, |
+ jint y, |
+ jint width, |
+ jint height, |
+ jfloat scale, |
+ jobject jbitmap_config); |
void WasResized(JNIEnv* env, jobject obj); |
jboolean IsRenderWidgetHostViewReady(JNIEnv* env, jobject obj); |
void ExitFullscreen(JNIEnv* env, jobject obj); |
@@ -244,7 +260,12 @@ class ContentViewCoreImpl : public ContentViewCore, |
int selected_item, |
bool multiple); |
+ void ProxyBitmapAllocator(SkBitmap*& bitmap, |
+ const gfx::Size& computed_size, |
+ SkBitmap::Config bitmap_config); |
+ |
void OnTabCrashed(); |
+ void OnBitmapReady(bool result, const SkBitmap& bitmap); |
// All sizes and offsets are in CSS pixels as cached by the renderer. |
void UpdateFrameInfo(const gfx::Vector2dF& scroll_offset, |
@@ -396,6 +417,8 @@ class ContentViewCoreImpl : public ContentViewCore, |
bool handling_touch_event_; |
blink::WebTouchEvent pending_touch_event_; |
GestureEventPacket pending_gesture_packet_; |
+ base::android::ScopedJavaGlobalRef<jobject> jbitmap_; |
+ scoped_ptr<gfx::JavaBitmap> java_bitmap_; |
DISALLOW_COPY_AND_ASSIGN(ContentViewCoreImpl); |
}; |