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(); settings.getAllowFileAccess())).sendToTarget();
} }
return true; 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 // Send the raw url to the ContentLoader because it will do a
// permission check and the url has to match. // permission check and the url has to match.
if (loadListener.isSynchronous()) { if (loadListener.isSynchronous()) {

View File

@@ -206,6 +206,7 @@ public class WebSettings {
private boolean mSupportZoom = true; private boolean mSupportZoom = true;
private boolean mBuiltInZoomControls = false; private boolean mBuiltInZoomControls = false;
private boolean mAllowFileAccess = true; private boolean mAllowFileAccess = true;
private boolean mAllowContentAccess = true;
private boolean mLoadWithOverviewMode = false; private boolean mLoadWithOverviewMode = false;
private boolean mUseWebViewBackgroundOverscrollBackground = true; private boolean mUseWebViewBackgroundOverscrollBackground = true;
@@ -458,7 +459,9 @@ public class WebSettings {
/** /**
* Enable or disable file access within WebView. File access is enabled by * 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) { public void setAllowFileAccess(boolean allow) {
mAllowFileAccess = allow; mAllowFileAccess = allow;
@@ -471,6 +474,24 @@ public class WebSettings {
return mAllowFileAccess; 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. * Set whether the WebView loads a page with overview mode.
*/ */