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

Unified Diff: android_webview/native/aw_contents.cc

Issue 1145273003: aw: Force auxiliary bitmap on android emulators (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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: android_webview/native/aw_contents.cc
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc
index cc65cd7a3fa094106181e48da69d96678c93d6e3..c7af67fb7f51d095989becbfe15a2c361f37295c 100644
--- a/android_webview/native/aw_contents.cc
+++ b/android_webview/native/aw_contents.cc
@@ -108,6 +108,8 @@ namespace {
bool g_should_download_favicons = false;
+bool g_force_auxiliary_bitmap_rendering = false;
+
const void* kAwContentsUserDataKey = &kAwContentsUserDataKey;
class AwContentsUserData : public base::SupportsUserData::Data {
@@ -310,6 +312,13 @@ static jlong Init(JNIEnv* env, jclass, jobject browser_context) {
return reinterpret_cast<intptr_t>(new AwContents(web_contents.Pass()));
}
+static void SetForceAuxiliaryBitmapRendering(
+ JNIEnv* env,
+ jclass,
+ jboolean force_auxiliary_bitmap_rendering) {
+ g_force_auxiliary_bitmap_rendering = force_auxiliary_bitmap_rendering;
+}
+
static void SetAwDrawSWFunctionTable(JNIEnv* env, jclass,
jlong function_table) {
RasterHelperSetAwDrawSWFunctionTable(
@@ -876,7 +885,8 @@ bool AwContents::OnDraw(JNIEnv* env,
browser_view_renderer_.PrepareToDraw(
scroll, gfx::Rect(visible_left, visible_top, visible_right - visible_left,
visible_bottom - visible_top));
- if (is_hardware_accelerated && browser_view_renderer_.attached_to_window()) {
+ if (is_hardware_accelerated && browser_view_renderer_.attached_to_window() &&
+ !g_force_auxiliary_bitmap_rendering) {
return browser_view_renderer_.OnDrawHardware();
}
@@ -892,8 +902,8 @@ bool AwContents::OnDraw(JNIEnv* env,
// bitmap). For better performance, get global visible rect, transform it
// from screen space to view space, then intersect with the webview in
// viewspace. Use the resulting rect as the auxiliary bitmap.
- scoped_ptr<SoftwareCanvasHolder> canvas_holder =
- SoftwareCanvasHolder::Create(canvas, scroll, view_size);
+ scoped_ptr<SoftwareCanvasHolder> canvas_holder = SoftwareCanvasHolder::Create(
+ canvas, scroll, view_size, g_force_auxiliary_bitmap_rendering);
if (!canvas_holder || !canvas_holder->GetCanvas()) {
TRACE_EVENT_INSTANT0("android_webview", "EarlyOut_EmptySize",
TRACE_EVENT_SCOPE_THREAD);
« no previous file with comments | « android_webview/java/src/org/chromium/android_webview/AwContents.java ('k') | android_webview/native/aw_picture.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698