DO NOT MERGE

b/4088884 Backport "Remove content:// protocol handler in web browser"
to Gingerbread

It's a manual cherrypick of
     https://android-git.corp.google.com/g/#change,87278
since a lot has been changed in bettween.

Change-Id: Ic8e3a419571f535bf983f32cd02181ca66d19319
This commit is contained in:
Huahui Wu
2011-03-22 15:03:31 -07:00
parent e69f4267e1
commit f440831d76
2 changed files with 24 additions and 2 deletions

View File

@@ -182,7 +182,8 @@ class FrameLoader {
settings.getAllowFileAccess())).sendToTarget();
}
return true;
} else if (URLUtil.isContentUrl(url)) {
} else if (settings.getAllowContentAccess() &&
URLUtil.isContentUrl(url)) {
// Send the raw url to the ContentLoader because it will do a
// permission check and the url has to match.
if (loadListener.isSynchronous()) {

View File

@@ -206,6 +206,7 @@ public class WebSettings {
private boolean mSupportZoom = true;
private boolean mBuiltInZoomControls = false;
private boolean mAllowFileAccess = true;
private boolean mAllowContentAccess = true;
private boolean mLoadWithOverviewMode = false;
private boolean mUseWebViewBackgroundOverscrollBackground = true;
@@ -458,7 +459,9 @@ public class WebSettings {
/**
* Enable or disable file access within WebView. File access is enabled by
* default.
* default. Note that this enables or disables file system access only.
* Assets and resources are still accessible using file:///android_asset and
* file:///android_res.
*/
public void setAllowFileAccess(boolean allow) {
mAllowFileAccess = allow;
@@ -471,6 +474,24 @@ public class WebSettings {
return mAllowFileAccess;
}
/**
* Enable or disable content url access within WebView. Content url access
* allows WebView to load content from a content provider installed in the
* system. The default is enabled.
* @hide
*/
public void setAllowContentAccess(boolean allow) {
mAllowContentAccess = allow;
}
/**
* Returns true if this WebView supports content url access.
* @hide
*/
public boolean getAllowContentAccess() {
return mAllowContentAccess;
}
/**
* Set whether the WebView loads a page with overview mode.
*/