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 @@ +