Index: android_webview/java/src/org/chromium/android_webview/AwContents.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java |
index f8bd786b1515ae8729f4d43810ab0799e7f11cfb..5f4a20f9243d5cc353749ea7b540727d1887e6db 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java |
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java |
@@ -42,6 +42,7 @@ import org.chromium.android_webview.permission.AwPermissionRequest; |
import org.chromium.base.CalledByNative; |
import org.chromium.base.JNINamespace; |
import org.chromium.base.ThreadUtils; |
+import org.chromium.base.TraceEvent; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.components.navigation_interception.InterceptNavigationDelegate; |
import org.chromium.components.navigation_interception.NavigationParams; |
@@ -1050,7 +1051,12 @@ public class AwContents implements SmartClipProvider { |
//-------------------------------------------------------------------------------------------- |
public void onDraw(Canvas canvas) { |
- mAwViewMethods.onDraw(canvas); |
+ try { |
+ TraceEvent.begin(); |
+ mAwViewMethods.onDraw(canvas); |
+ } finally { |
+ TraceEvent.end(); |
+ } |
} |
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { |
@@ -2335,6 +2341,7 @@ public class AwContents implements SmartClipProvider { |
@Override |
public void onDraw(Canvas canvas) { |
if (isDestroyed()) { |
+ TraceEvent.instant("EarlyOut_destroyed"); |
canvas.drawColor(getEffectiveBackgroundColor()); |
return; |
} |
@@ -2342,6 +2349,7 @@ public class AwContents implements SmartClipProvider { |
// For hardware draws, the clip at onDraw time could be different |
// from the clip during DrawGL. |
if (!canvas.isHardwareAccelerated() && !canvas.getClipBounds(mClipBoundsTemporary)) { |
+ TraceEvent.instant("EarlyOut_software_empty_clip"); |
return; |
} |
@@ -2356,6 +2364,7 @@ public class AwContents implements SmartClipProvider { |
did_draw = mNativeGLDelegate.requestDrawGL(canvas, false, mContainerView); |
} |
if (!did_draw) { |
+ TraceEvent.instant("NativeDrawFailed"); |
canvas.drawColor(getEffectiveBackgroundColor()); |
} |