diff options
| author | John Reck <jreck@google.com> | 2012-04-19 11:09:44 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-19 11:09:44 -0700 |
| commit | cada1ae71781795c10a359f1e11ad5a3f125cf67 (patch) | |
| tree | 8a332047b924aa677d7b691d4e3ec194d7d938dc /core/java | |
| parent | 0bb01cfea68998d6e0251be945da2f425c9339a7 (diff) | |
| parent | fd6ad0444174f03c8df95f82a35322c4dd3c2352 (diff) | |
| download | frameworks_base-cada1ae71781795c10a359f1e11ad5a3f125cf67.zip frameworks_base-cada1ae71781795c10a359f1e11ad5a3f125cf67.tar.gz frameworks_base-cada1ae71781795c10a359f1e11ad5a3f125cf67.tar.bz2 | |
Merge "Allow removing messages before EventHub created"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index aea23c0..f86262e 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -46,6 +46,8 @@ import junit.framework.Assert; import java.util.ArrayList; import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedList; import java.util.Map; import java.util.Set; @@ -1182,7 +1184,7 @@ public final class WebViewCore { private Handler mHandler; // Message queue for containing messages before the WebCore thread is // ready. - private ArrayList<Message> mMessages = new ArrayList<Message>(); + private LinkedList<Message> mMessages = new LinkedList<Message>(); // Flag for blocking messages. This is used during DESTROY to avoid // posting more messages to the EventHub or to WebView's event handler. private boolean mBlockMessages; @@ -1822,10 +1824,13 @@ public final class WebViewCore { mDrawIsScheduled = false; } if (mMessages != null) { - Throwable throwable = new Throwable( - "EventHub.removeMessages(int what = " + what + ") is not supported " + - "before the WebViewCore is set up."); - Log.w(LOGTAG, Log.getStackTraceString(throwable)); + Iterator<Message> iter = mMessages.iterator(); + while (iter.hasNext()) { + Message m = iter.next(); + if (m.what == what) { + iter.remove(); + } + } } else { mHandler.removeMessages(what); } |
