diff options
| -rw-r--r-- | core/java/android/webkit/FrameLoader.java | 3 | ||||
| -rw-r--r-- | core/java/android/webkit/WebSettings.java | 23 |
2 files changed, 24 insertions, 2 deletions
diff --git a/core/java/android/webkit/FrameLoader.java b/core/java/android/webkit/FrameLoader.java index 021b53ca9ff3..4bc12d4f51ac 100644 --- a/core/java/android/webkit/FrameLoader.java +++ b/core/java/android/webkit/FrameLoader.java @@ -186,7 +186,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()) { diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java index 4d70e7cddb78..89e25e8047ab 100644 --- a/core/java/android/webkit/WebSettings.java +++ b/core/java/android/webkit/WebSettings.java @@ -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; @@ -472,6 +475,24 @@ public class WebSettings { } /** + * 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. */ public void setLoadWithOverviewMode(boolean overview) { |