diff --git a/platforms/android/src/org/crosswalk/engine/XWalkCordovaCookieManager.java b/platforms/android/src/org/crosswalk/engine/XWalkCordovaCookieManager.java
index ddf1127..f32baba 100644
--- a/platforms/android/src/org/crosswalk/engine/XWalkCordovaCookieManager.java
+++ b/platforms/android/src/org/crosswalk/engine/XWalkCordovaCookieManager.java
@@ -29,6 +29,10 @@ public XWalkCordovaCookieManager() {
cookieManager = new XWalkCookieManager();
}
+ public void setAcceptFileSchemeCookies(boolean accept) {
+ cookieManager.setAcceptFileSchemeCookies(accept);
+ }
+
public void setCookiesEnabled(boolean accept) {
cookieManager.setAcceptCookie(accept);
}
diff --git a/platforms/android/src/org/crosswalk/engine/XWalkWebViewEngine.java b/platforms/android/src/org/crosswalk/engine/XWalkWebViewEngine.java
index 43061d2..dae2c41 100644
--- a/platforms/android/src/org/crosswalk/engine/XWalkWebViewEngine.java
+++ b/platforms/android/src/org/crosswalk/engine/XWalkWebViewEngine.java
@@ -59,6 +59,7 @@ public class XWalkWebViewEngine implements CordovaWebViewEngine {
public static final String XWALK_Z_ORDER_ON_TOP = "xwalkZOrderOnTop";
private static final String XWALK_EXTENSIONS_FOLDER = "xwalk-extensions";
+ private static final String XWALK_FILE_SCHEME_COOKIES = "xwalkFileSchemeCookies";
protected final XWalkCordovaView webView;
protected XWalkCordovaCookieManager cookieManager;
@@ -72,9 +73,12 @@ public class XWalkWebViewEngine implements CordovaWebViewEngine {
protected XWalkActivityDelegate activityDelegate;
protected String startUrl;
protected CordovaPreferences preferences;
+ protected boolean xwalkFileSchemeCookies;
/** Used when created via reflection. */
public XWalkWebViewEngine(Context context, CordovaPreferences preferences) {
+ xwalkFileSchemeCookies = preferences == null ? false : preferences.getBoolean(XWALK_FILE_SCHEME_COOKIES, false);
+
this.preferences = preferences;
Runnable cancelCommand = new Runnable() {
@Override
@@ -87,6 +91,11 @@ public void run() {
public void run() {
cookieManager = new XWalkCordovaCookieManager();
+ if (xwalkFileSchemeCookies) {
+ cookieManager.setCookiesEnabled(true);
+ cookieManager.setAcceptFileSchemeCookies(true);
+ }
+
initWebViewSettings();
exposeJsInterface(webView, bridge);
loadExtensions();
diff --git a/plugin.xml b/plugin.xml
index 6f667de..4387181 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -24,6 +24,7 @@
+
@@ -31,6 +32,7 @@
+