summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/WebSettingsClassic.java
diff options
context:
space:
mode:
authorSelim Gurun <sgurun@google.com>2012-03-29 18:19:01 -0700
committerSelim Gurun <sgurun@google.com>2012-04-19 16:38:18 -0700
commit0ea6dad65eb77f9347a59704b1f8a019cfc9e01f (patch)
tree42f80084648ffd22b98fb610d72b19e7d649c928 /core/java/android/webkit/WebSettingsClassic.java
parent3d275af3c3996f80816142628c380f79a9606c51 (diff)
Add websettings API for file origin policy.
Bug: 6212665 Add the API and change the default behavior for Jelly Bean+. Change-Id: I9a83f510675023c36e2e72c4a69ad082d8124a23
Diffstat (limited to 'core/java/android/webkit/WebSettingsClassic.java')
-rw-r--r--core/java/android/webkit/WebSettingsClassic.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebSettingsClassic.java b/core/java/android/webkit/WebSettingsClassic.java
index 94b46fc9bb04..cf3d7e28a2fe 100644
--- a/core/java/android/webkit/WebSettingsClassic.java
+++ b/core/java/android/webkit/WebSettingsClassic.java
@@ -72,6 +72,8 @@ public class WebSettingsClassic extends WebSettings {
private boolean mBlockNetworkImage = false;
private boolean mBlockNetworkLoads;
private boolean mJavaScriptEnabled = false;
+ private boolean mAllowUniversalAccessFromFileURLs = false;
+ private boolean mAllowFileAccessFromFileURLs = false;
private boolean mHardwareAccelSkia = false;
private boolean mShowVisualIndicator = false;
private PluginState mPluginState = PluginState.OFF;
@@ -286,6 +288,13 @@ public class WebSettingsClassic extends WebSettings {
mBlockNetworkLoads = mContext.checkPermission(
"android.permission.INTERNET", android.os.Process.myPid(),
android.os.Process.myUid()) != PackageManager.PERMISSION_GRANTED;
+
+ // SDK specific settings. See issue 6212665
+ if (mContext.getApplicationInfo().targetSdkVersion <
+ Build.VERSION_CODES.JELLY_BEAN) {
+ mAllowUniversalAccessFromFileURLs = true;
+ mAllowFileAccessFromFileURLs = true;
+ }
}
private static final String ACCEPT_LANG_FOR_US_LOCALE = "en-US";
@@ -1101,6 +1110,28 @@ public class WebSettingsClassic extends WebSettings {
}
/**
+ * @see android.webkit.WebSettings#setAllowUniversalAccessFromFileURLs
+ */
+ @Override
+ public synchronized void setAllowUniversalAccessFromFileURLs(boolean flag) {
+ if (mAllowUniversalAccessFromFileURLs != flag) {
+ mAllowUniversalAccessFromFileURLs = flag;
+ postSync();
+ }
+ }
+
+ /**
+ * @see android.webkit.WebSettings#setAllowFileAccessFromFileURLs
+ */
+ @Override
+ public synchronized void setAllowFileAccessFromFileURLs(boolean flag) {
+ if (mAllowFileAccessFromFileURLs != flag) {
+ mAllowFileAccessFromFileURLs = flag;
+ postSync();
+ }
+ }
+
+ /**
* Tell the WebView to use Skia's hardware accelerated rendering path
* @param flag True if the WebView should use Skia's hw-accel path
*/
@@ -1324,6 +1355,22 @@ public class WebSettingsClassic extends WebSettings {
}
/**
+ * @see android.webkit.WebSettings#getAllowUniversalFileAccessFromFileURLs
+ */
+ @Override
+ public synchronized boolean getAllowUniversalAccessFromFileURLs() {
+ return mAllowUniversalAccessFromFileURLs;
+ }
+
+ /**
+ * @see android.webkit.WebSettings#getAllowFileAccessFromFileURLs
+ */
+ @Override
+ public synchronized boolean getAllowFileAccessFromFileURLs() {
+ return mAllowFileAccessFromFileURLs;
+ }
+
+ /**
* @see android.webkit.WebSettings#getPluginsEnabled()
*/
@Override