From c8523c99833f364c64744d60e408510fb83b998b Mon Sep 17 00:00:00 2001 From: Kristian Monsen Date: Thu, 5 Sep 2013 15:55:27 -0700 Subject: Letting onDraw be called from other threads Fix for bug 10624076 Change-Id: I9d59cbf600a4deb17f9324c9970033b951180250 (cherry picked from commit d12274bf92a1b0126db3a678f96c26d74cf25b24) --- .../java/com/android/webview/chromium/WebViewChromium.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'chromium/java/com/android/webview') diff --git a/chromium/java/com/android/webview/chromium/WebViewChromium.java b/chromium/java/com/android/webview/chromium/WebViewChromium.java index 58f592c..1214660 100644 --- a/chromium/java/com/android/webview/chromium/WebViewChromium.java +++ b/chromium/java/com/android/webview/chromium/WebViewChromium.java @@ -972,8 +972,16 @@ class WebViewChromium implements WebViewProvider, } @Override - public void onDraw(Canvas canvas) { - checkThread(); + public void onDraw(final Canvas canvas) { + if (!ThreadUtils.runningOnUiThread()) { + ThreadUtils.runOnUiThreadBlocking(new Runnable() { + @Override + public void run() { + onDraw(canvas); + } + }); + return; + } mAwContents.onDraw(canvas); } -- cgit v1.2.3