summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/DataLoader.java
diff options
context:
space:
mode:
authorPatrick Scott <phanna@android.com>2010-02-02 11:19:25 -0500
committerPatrick Scott <phanna@android.com>2010-02-02 11:20:54 -0500
commit8af3cfc2a45334bfe936fcfc79c6e1cab06e104b (patch)
treed05c7c05c72daa67811d482ef9169c2d32a551fa /core/java/android/webkit/DataLoader.java
parent5e7bb0a9cafc5e90bf451faa5722bb80fb4294e9 (diff)
Check for null data after decoding a data: url.
Refactor StreamLoader and friends since they all use a Context. Change the successful status to 200 instead of 0. Not sure why it was ever 0. Bug: 2364322
Diffstat (limited to 'core/java/android/webkit/DataLoader.java')
-rw-r--r--core/java/android/webkit/DataLoader.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/core/java/android/webkit/DataLoader.java b/core/java/android/webkit/DataLoader.java
index 6c5d10dc7049..2a68a5d85fc5 100644
--- a/core/java/android/webkit/DataLoader.java
+++ b/core/java/android/webkit/DataLoader.java
@@ -16,6 +16,10 @@
package android.webkit;
+import android.net.http.EventHandler;
+
+import com.android.internal.R;
+
import java.io.ByteArrayInputStream;
import org.apache.harmony.luni.util.Base64;
@@ -49,14 +53,22 @@ class DataLoader extends StreamLoader {
} else {
data = url.getBytes();
}
- mDataStream = new ByteArrayInputStream(data);
- mContentLength = data.length;
+ if (data != null) {
+ mDataStream = new ByteArrayInputStream(data);
+ mContentLength = data.length;
+ }
}
@Override
protected boolean setupStreamAndSendStatus() {
- mHandler.status(1, 1, 0, "OK");
- return true;
+ if (mDataStream != null) {
+ mHandler.status(1, 1, 200, "OK");
+ return true;
+ } else {
+ mHandler.error(EventHandler.ERROR,
+ mContext.getString(R.string.httpError));
+ return false;
+ }
}
@Override