summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-20 11:22:01 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-07-20 11:22:01 -0700
commit0e9dd3b008536fe8a116eb6821ff84d34dba9f71 (patch)
tree51b717fe80cf60d44c561f94e0c5c1101624697d /core
parent53bdb5cc6b864501b7b1764274f1b8d408ea9ba9 (diff)
parentfadbbd2a0cc94e5da4dea1ec3dac337e274c77c9 (diff)
downloadframeworks_base-0e9dd3b008536fe8a116eb6821ff84d34dba9f71.zip
frameworks_base-0e9dd3b008536fe8a116eb6821ff84d34dba9f71.tar.gz
frameworks_base-0e9dd3b008536fe8a116eb6821ff84d34dba9f71.tar.bz2
Merge change 7827
* changes: Fix 1986313. WebKit assumes things happened in a certain order. In this case, we can't call LoadListener's nativeError until BrowserFrame's startLoadingResource returns. Otherwise, the failed request will not be removed from the DocLoader's request list. So the page will never finish loading.
Diffstat (limited to 'core')
-rw-r--r--core/java/android/webkit/BrowserFrame.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index 5a7a233..e6ccd70 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -550,12 +550,14 @@ class BrowserFrame extends Handler {
mCallbackProxy.onLoadResource(url);
if (LoadListener.getNativeLoaderCount() > MAX_OUTSTANDING_REQUESTS) {
+ // send an error message, so that loadListener can be deleted
+ // after this is returned. This is important as LoadListener's
+ // nativeError will remove the request from its DocLoader's request
+ // list. But the set up is not done until this method is returned.
loadListener.error(
android.net.http.EventHandler.ERROR, mContext.getString(
com.android.internal.R.string.httpErrorTooManyRequests));
- loadListener.notifyError();
- loadListener.tearDown();
- return null;
+ return loadListener;
}
// during synchronous load, the WebViewCore thread is blocked, so we