summaryrefslogtreecommitdiffstats
path: root/android_webview/java
diff options
context:
space:
mode:
Diffstat (limited to 'android_webview/java')
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwContents.java12
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java8
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwSettings.java42
3 files changed, 62 insertions, 0 deletions
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index 377e568..b7995fd 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -75,6 +75,18 @@ public class AwContents {
// Called on the IO thread.
@Override
+ public boolean shouldBlockContentUrls() {
+ return !AwContents.this.mSettings.getAllowContentAccess();
+ }
+
+ // Called on the IO thread.
+ @Override
+ public boolean shouldBlockFileUrls() {
+ return !AwContents.this.mSettings.getAllowFileAccess();
+ }
+
+ // Called on the IO thread.
+ @Override
public boolean shouldBlockNetworkLoads() {
return AwContents.this.mSettings.getBlockNetworkLoads();
}
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java b/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
index a81c06b..b656a05 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
@@ -22,5 +22,13 @@ public interface AwContentsIoThreadClient {
// Called on the IO thread.
@CalledByNative
+ public boolean shouldBlockContentUrls();
+
+ // Called on the IO thread.
+ @CalledByNative
+ public boolean shouldBlockFileUrls();
+
+ // Called on the IO thread.
+ @CalledByNative
public boolean shouldBlockNetworkLoads();
}
diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
index a6d2e17..8b5ca99 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
@@ -21,6 +21,8 @@ public class AwSettings {
private final Context mContext;
private boolean mBlockNetworkLoads; // Default depends on permission of embedding APK.
+ private boolean mAllowContentUrlAccess = true;
+ private boolean mAllowFileUrlAccess = true;
public AwSettings(Context context) {
mContext = context;
@@ -54,4 +56,44 @@ public class AwSettings {
return mBlockNetworkLoads;
}
}
+
+ /**
+ * See {@link android.webkit.WebSettings#setAllowFileAccess}.
+ */
+ public void setAllowFileAccess(boolean allow) {
+ synchronized (mAwSettingsLock) {
+ if (mAllowFileUrlAccess != allow) {
+ mAllowFileUrlAccess = allow;
+ }
+ }
+ }
+
+ /**
+ * See {@link android.webkit.WebSettings#getAllowFileAccess}.
+ */
+ public boolean getAllowFileAccess() {
+ synchronized (mAwSettingsLock) {
+ return mAllowFileUrlAccess;
+ }
+ }
+
+ /**
+ * See {@link android.webkit.WebSettings#setAllowContentAccess}.
+ */
+ public void setAllowContentAccess(boolean allow) {
+ synchronized (mAwSettingsLock) {
+ if (mAllowContentUrlAccess != allow) {
+ mAllowContentUrlAccess = allow;
+ }
+ }
+ }
+
+ /**
+ * See {@link android.webkit.WebSettings#getAllowContentAccess}.
+ */
+ public boolean getAllowContentAccess() {
+ synchronized (mAwSettingsLock) {
+ return mAllowContentUrlAccess;
+ }
+ }
}