Loading core/java/android/webkit/ContentLoader.java +4 −9 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import java.io.FileInputStream; class ContentLoader extends StreamLoader { private String mUrl; private Context mContext; private String mContentType; /** Loading @@ -40,11 +39,9 @@ class ContentLoader extends StreamLoader { * @param rawUrl "content:" url pointing to content to be loaded. This url * is the same url passed in to the WebView. * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. */ ContentLoader(String rawUrl, LoadListener loadListener, Context context) { ContentLoader(String rawUrl, LoadListener loadListener) { super(loadListener); mContext = context; /* strip off mimetype */ int mimeIndex = rawUrl.lastIndexOf('?'); Loading Loading @@ -81,7 +78,7 @@ class ContentLoader extends StreamLoader { try { mDataStream = mContext.getContentResolver().openInputStream(uri); mHandler.status(1, 1, 0, "OK"); mHandler.status(1, 1, 200, "OK"); } catch (java.io.FileNotFoundException ex) { mHandler.error(EventHandler.FILE_NOT_FOUND_ERROR, errString(ex)); return false; Loading Loading @@ -112,11 +109,9 @@ class ContentLoader extends StreamLoader { * * @param url "content:" url pointing to content to be loaded * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. */ public static void requestUrl(String url, LoadListener loadListener, Context context) { ContentLoader loader = new ContentLoader(url, loadListener, context); public static void requestUrl(String url, LoadListener loadListener) { ContentLoader loader = new ContentLoader(url, loadListener); loader.load(); } Loading core/java/android/webkit/DataLoader.java +16 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -49,14 +53,22 @@ class DataLoader extends StreamLoader { } else { data = url.getBytes(); } if (data != null) { mDataStream = new ByteArrayInputStream(data); mContentLength = data.length; } } @Override protected boolean setupStreamAndSendStatus() { mHandler.status(1, 1, 0, "OK"); if (mDataStream != null) { mHandler.status(1, 1, 200, "OK"); return true; } else { mHandler.error(EventHandler.ERROR, mContext.getString(R.string.httpError)); return false; } } @Override Loading core/java/android/webkit/FileLoader.java +5 −9 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import java.lang.reflect.Field; class FileLoader extends StreamLoader { private String mPath; // Full path to the file to load private Context mContext; // Application context, used for asset/res loads private int mType; // Indicates the type of the load private boolean mAllowFileAccess; // Allow/block file system access Loading @@ -57,16 +56,14 @@ class FileLoader extends StreamLoader { * * @param url Full file url pointing to content to be loaded * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. * @param asset true if url points to an asset. * @param allowFileAccess true if this WebView is allowed to access files * on the file system. */ FileLoader(String url, LoadListener loadListener, Context context, int type, boolean allowFileAccess) { FileLoader(String url, LoadListener loadListener, int type, boolean allowFileAccess) { super(loadListener); mType = type; mContext = context; mAllowFileAccess = allowFileAccess; // clean the Url Loading Loading @@ -174,7 +171,7 @@ class FileLoader extends StreamLoader { mDataStream = new FileInputStream(mPath); mContentLength = (new File(mPath)).length(); } mHandler.status(1, 1, 0, "OK"); mHandler.status(1, 1, 200, "OK"); } catch (java.io.FileNotFoundException ex) { mHandler.error(EventHandler.FILE_NOT_FOUND_ERROR, errString(ex)); Loading @@ -198,14 +195,13 @@ class FileLoader extends StreamLoader { * * @param url Full file url pointing to content to be loaded * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. * @param asset true if url points to an asset. * @param allowFileAccess true if this FileLoader can load files from the * file system. */ public static void requestUrl(String url, LoadListener loadListener, Context context, int type, boolean allowFileAccess) { FileLoader loader = new FileLoader(url, loadListener, context, type, int type, boolean allowFileAccess) { FileLoader loader = new FileLoader(url, loadListener, type, allowFileAccess); loader.load(); } Loading core/java/android/webkit/FrameLoader.java +7 −8 Original line number Diff line number Diff line Loading @@ -141,22 +141,21 @@ class FrameLoader { return true; } if (URLUtil.isAssetUrl(url)) { FileLoader.requestUrl(url, loadListener, loadListener.getContext(), FileLoader.TYPE_ASSET, true); FileLoader.requestUrl(url, loadListener, FileLoader.TYPE_ASSET, true); return true; } else if (URLUtil.isResourceUrl(url)) { FileLoader.requestUrl(url, loadListener, loadListener.getContext(), FileLoader.TYPE_RES, true); FileLoader.requestUrl(url, loadListener, FileLoader.TYPE_RES, true); return true; } else if (URLUtil.isFileUrl(url)) { FileLoader.requestUrl(url, loadListener, loadListener.getContext(), FileLoader.TYPE_FILE, settings.getAllowFileAccess()); FileLoader.requestUrl(url, loadListener, FileLoader.TYPE_FILE, settings.getAllowFileAccess()); return true; } else if (URLUtil.isContentUrl(url)) { // Send the raw url to the ContentLoader because it will do a // permission check and the url has to match.. ContentLoader.requestUrl(loadListener.url(), loadListener, loadListener.getContext()); ContentLoader.requestUrl(loadListener.url(), loadListener); return true; } else if (URLUtil.isDataUrl(url)) { DataLoader.requestUrl(url, loadListener); Loading core/java/android/webkit/StreamLoader.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.webkit; import android.content.Context; import android.net.http.EventHandler; import android.net.http.Headers; import android.os.Handler; Loading Loading @@ -52,7 +53,8 @@ abstract class StreamLoader extends Handler { private static final int MSG_DATA = 102; // Send data to loader private static final int MSG_END = 103; // Send endData to loader protected LoadListener mHandler; // loader class protected final Context mContext; protected final LoadListener mHandler; // loader class protected InputStream mDataStream; // stream to read data from protected long mContentLength; // content length of data private byte [] mData; // buffer to pass data to loader with. Loading @@ -66,6 +68,7 @@ abstract class StreamLoader extends Handler { */ StreamLoader(LoadListener loadlistener) { mHandler = loadlistener; mContext = loadlistener.getContext(); } /** Loading Loading
core/java/android/webkit/ContentLoader.java +4 −9 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import java.io.FileInputStream; class ContentLoader extends StreamLoader { private String mUrl; private Context mContext; private String mContentType; /** Loading @@ -40,11 +39,9 @@ class ContentLoader extends StreamLoader { * @param rawUrl "content:" url pointing to content to be loaded. This url * is the same url passed in to the WebView. * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. */ ContentLoader(String rawUrl, LoadListener loadListener, Context context) { ContentLoader(String rawUrl, LoadListener loadListener) { super(loadListener); mContext = context; /* strip off mimetype */ int mimeIndex = rawUrl.lastIndexOf('?'); Loading Loading @@ -81,7 +78,7 @@ class ContentLoader extends StreamLoader { try { mDataStream = mContext.getContentResolver().openInputStream(uri); mHandler.status(1, 1, 0, "OK"); mHandler.status(1, 1, 200, "OK"); } catch (java.io.FileNotFoundException ex) { mHandler.error(EventHandler.FILE_NOT_FOUND_ERROR, errString(ex)); return false; Loading Loading @@ -112,11 +109,9 @@ class ContentLoader extends StreamLoader { * * @param url "content:" url pointing to content to be loaded * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. */ public static void requestUrl(String url, LoadListener loadListener, Context context) { ContentLoader loader = new ContentLoader(url, loadListener, context); public static void requestUrl(String url, LoadListener loadListener) { ContentLoader loader = new ContentLoader(url, loadListener); loader.load(); } Loading
core/java/android/webkit/DataLoader.java +16 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -49,14 +53,22 @@ class DataLoader extends StreamLoader { } else { data = url.getBytes(); } if (data != null) { mDataStream = new ByteArrayInputStream(data); mContentLength = data.length; } } @Override protected boolean setupStreamAndSendStatus() { mHandler.status(1, 1, 0, "OK"); if (mDataStream != null) { mHandler.status(1, 1, 200, "OK"); return true; } else { mHandler.error(EventHandler.ERROR, mContext.getString(R.string.httpError)); return false; } } @Override Loading
core/java/android/webkit/FileLoader.java +5 −9 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import java.lang.reflect.Field; class FileLoader extends StreamLoader { private String mPath; // Full path to the file to load private Context mContext; // Application context, used for asset/res loads private int mType; // Indicates the type of the load private boolean mAllowFileAccess; // Allow/block file system access Loading @@ -57,16 +56,14 @@ class FileLoader extends StreamLoader { * * @param url Full file url pointing to content to be loaded * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. * @param asset true if url points to an asset. * @param allowFileAccess true if this WebView is allowed to access files * on the file system. */ FileLoader(String url, LoadListener loadListener, Context context, int type, boolean allowFileAccess) { FileLoader(String url, LoadListener loadListener, int type, boolean allowFileAccess) { super(loadListener); mType = type; mContext = context; mAllowFileAccess = allowFileAccess; // clean the Url Loading Loading @@ -174,7 +171,7 @@ class FileLoader extends StreamLoader { mDataStream = new FileInputStream(mPath); mContentLength = (new File(mPath)).length(); } mHandler.status(1, 1, 0, "OK"); mHandler.status(1, 1, 200, "OK"); } catch (java.io.FileNotFoundException ex) { mHandler.error(EventHandler.FILE_NOT_FOUND_ERROR, errString(ex)); Loading @@ -198,14 +195,13 @@ class FileLoader extends StreamLoader { * * @param url Full file url pointing to content to be loaded * @param loadListener LoadListener to pass the content to * @param context Context to use to access the asset. * @param asset true if url points to an asset. * @param allowFileAccess true if this FileLoader can load files from the * file system. */ public static void requestUrl(String url, LoadListener loadListener, Context context, int type, boolean allowFileAccess) { FileLoader loader = new FileLoader(url, loadListener, context, type, int type, boolean allowFileAccess) { FileLoader loader = new FileLoader(url, loadListener, type, allowFileAccess); loader.load(); } Loading
core/java/android/webkit/FrameLoader.java +7 −8 Original line number Diff line number Diff line Loading @@ -141,22 +141,21 @@ class FrameLoader { return true; } if (URLUtil.isAssetUrl(url)) { FileLoader.requestUrl(url, loadListener, loadListener.getContext(), FileLoader.TYPE_ASSET, true); FileLoader.requestUrl(url, loadListener, FileLoader.TYPE_ASSET, true); return true; } else if (URLUtil.isResourceUrl(url)) { FileLoader.requestUrl(url, loadListener, loadListener.getContext(), FileLoader.TYPE_RES, true); FileLoader.requestUrl(url, loadListener, FileLoader.TYPE_RES, true); return true; } else if (URLUtil.isFileUrl(url)) { FileLoader.requestUrl(url, loadListener, loadListener.getContext(), FileLoader.TYPE_FILE, settings.getAllowFileAccess()); FileLoader.requestUrl(url, loadListener, FileLoader.TYPE_FILE, settings.getAllowFileAccess()); return true; } else if (URLUtil.isContentUrl(url)) { // Send the raw url to the ContentLoader because it will do a // permission check and the url has to match.. ContentLoader.requestUrl(loadListener.url(), loadListener, loadListener.getContext()); ContentLoader.requestUrl(loadListener.url(), loadListener); return true; } else if (URLUtil.isDataUrl(url)) { DataLoader.requestUrl(url, loadListener); Loading
core/java/android/webkit/StreamLoader.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.webkit; import android.content.Context; import android.net.http.EventHandler; import android.net.http.Headers; import android.os.Handler; Loading Loading @@ -52,7 +53,8 @@ abstract class StreamLoader extends Handler { private static final int MSG_DATA = 102; // Send data to loader private static final int MSG_END = 103; // Send endData to loader protected LoadListener mHandler; // loader class protected final Context mContext; protected final LoadListener mHandler; // loader class protected InputStream mDataStream; // stream to read data from protected long mContentLength; // content length of data private byte [] mData; // buffer to pass data to loader with. Loading @@ -66,6 +68,7 @@ abstract class StreamLoader extends Handler { */ StreamLoader(LoadListener loadlistener) { mHandler = loadlistener; mContext = loadlistener.getContext(); } /** Loading