diff options
author | Kristian Monsen <kristianm@google.com> | 2013-09-05 15:55:27 -0700 |
---|---|---|
committer | Kristian Monsen <kristianm@google.com> | 2013-09-09 22:45:59 +0000 |
commit | c8523c99833f364c64744d60e408510fb83b998b (patch) | |
tree | 8371f37190ed7416e09ac992e4cecd2eca76d115 /chromium/java/com/android/webview | |
parent | e80eedd97cf65f058960f6d07cdc7c1bc457035f (diff) | |
download | webview-c8523c99833f364c64744d60e408510fb83b998b.tar.gz |
Letting onDraw be called from other threads
Fix for bug 10624076
Change-Id: I9d59cbf600a4deb17f9324c9970033b951180250
(cherry picked from commit d12274bf92a1b0126db3a678f96c26d74cf25b24)
Diffstat (limited to 'chromium/java/com/android/webview')
-rw-r--r-- | chromium/java/com/android/webview/chromium/WebViewChromium.java | 12 |
1 files changed, 10 insertions, 2 deletions
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); } |