summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit/StreamLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/webkit/StreamLoader.java')
-rw-r--r--core/java/android/webkit/StreamLoader.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/webkit/StreamLoader.java b/core/java/android/webkit/StreamLoader.java
index 705157c..7d6d7cc 100644
--- a/core/java/android/webkit/StreamLoader.java
+++ b/core/java/android/webkit/StreamLoader.java
@@ -102,7 +102,7 @@ abstract class StreamLoader extends Handler {
// to pass data to the loader
mData = new byte[8192];
sendHeaders();
- while (!sendData());
+ while (!sendData() && !mHandler.cancelled());
closeStreamAndSendEndData();
mHandler.loadSynchronousMessages();
}
@@ -116,6 +116,10 @@ abstract class StreamLoader extends Handler {
if (WebView.DEBUG && mHandler.isSynchronous()) {
throw new AssertionError();
}
+ if (mHandler.cancelled()) {
+ closeStreamAndSendEndData();
+ return;
+ }
switch(msg.what) {
case MSG_STATUS:
if (setupStreamAndSendStatus()) {