diff options
| author | Selim Gurun <sgurun@google.com> | 2012-03-29 18:19:01 -0700 |
|---|---|---|
| committer | Selim Gurun <sgurun@google.com> | 2012-04-19 16:38:18 -0700 |
| commit | 0ea6dad65eb77f9347a59704b1f8a019cfc9e01f (patch) | |
| tree | 42f80084648ffd22b98fb610d72b19e7d649c928 /core/java/android/webkit/WebSettingsClassic.java | |
| parent | 3d275af3c3996f80816142628c380f79a9606c51 (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.java | 47 |
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 |
