Index: android_webview/native/java_browser_view_renderer_helper.cc |
diff --git a/android_webview/native/java_browser_view_renderer_helper.cc b/android_webview/native/java_browser_view_renderer_helper.cc |
index 6e6ce39c519976fc453e676ef881bfcde064add4..7da23fff99be646936c16144ae3c7142cbe52b26 100644 |
--- a/android_webview/native/java_browser_view_renderer_helper.cc |
+++ b/android_webview/native/java_browser_view_renderer_helper.cc |
@@ -152,11 +152,15 @@ void RasterHelperSetAwDrawSWFunctionTable(AwDrawSWFunctionTable* table) { |
scoped_ptr<SoftwareCanvasHolder> SoftwareCanvasHolder::Create( |
jobject java_canvas, |
const gfx::Vector2d& scroll_correction, |
- const gfx::Size& auxiliary_bitmap_size) { |
+ const gfx::Size& auxiliary_bitmap_size, |
+ bool force_auxiliary_bitmap) { |
JNIEnv* env = base::android::AttachCurrentThread(); |
- scoped_ptr<SoftwareCanvasHolder> holder( |
- new JavaCanvasHolder(env, java_canvas, scroll_correction)); |
- if (!holder->GetCanvas()) { |
+ scoped_ptr<SoftwareCanvasHolder> holder; |
+ if (!force_auxiliary_bitmap) { |
+ scoped_ptr<SoftwareCanvasHolder> holder( |
+ new JavaCanvasHolder(env, java_canvas, scroll_correction)); |
+ } |
+ if (!holder.get() || !holder->GetCanvas()) { |
holder.reset(); |
holder.reset(new AuxiliaryCanvasHolder(env, java_canvas, scroll_correction, |
auxiliary_bitmap_size)); |