diff options
| author | Patrick Scott <phanna@android.com> | 2010-02-02 11:19:25 -0500 |
|---|---|---|
| committer | Patrick Scott <phanna@android.com> | 2010-02-02 11:20:54 -0500 |
| commit | 8af3cfc2a45334bfe936fcfc79c6e1cab06e104b (patch) | |
| tree | d05c7c05c72daa67811d482ef9169c2d32a551fa /core/java/android/webkit/DataLoader.java | |
| parent | 5e7bb0a9cafc5e90bf451faa5722bb80fb4294e9 (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.java | 20 |
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 |
