summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTao Bai <michaelbai@google.com>2014-09-13 02:35:44 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-09-13 02:35:44 +0000
commit47b65355430a20e78a439c16ab95fc2fd457f42f (patch)
tree19d2e1b33e081ee0de322c3000c281ea2e3b0d94
parentc232a00c54d59947bd2dcd32767fbc0615ea33a3 (diff)
parent2e72708a8930ea49a56583cad4b12ae4a5ebb66a (diff)
downloadBrowser-47b65355430a20e78a439c16ab95fc2fd457f42f.tar.gz
am 2e72708a: am 934dfe52: Accept third party cookies if cookie setting is enabled by user
* commit '2e72708a8930ea49a56583cad4b12ae4a5ebb66a': Accept third party cookies if cookie setting is enabled by user
-rw-r--r--src/com/android/browser/BrowserSettings.java3
-rw-r--r--src/com/android/browser/BrowserWebViewFactory.java4
-rw-r--r--src/com/android/browser/Tab.java9
3 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index cafd0191..586db289 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -311,6 +311,9 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener,
mNeedsSharedSync = false;
CookieManager.getInstance().setAcceptCookie(acceptCookies());
if (mController != null) {
+ for (Tab tab : mController.getTabs()) {
+ tab.setAcceptThirdPartyCookies(acceptCookies());
+ }
mController.setShouldShowErrorConsole(enableJavascriptConsole());
}
}
diff --git a/src/com/android/browser/BrowserWebViewFactory.java b/src/com/android/browser/BrowserWebViewFactory.java
index 1b04a576..2349c282 100644
--- a/src/com/android/browser/BrowserWebViewFactory.java
+++ b/src/com/android/browser/BrowserWebViewFactory.java
@@ -19,6 +19,7 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.util.AttributeSet;
import android.view.View;
+import android.webkit.CookieManager;
import android.webkit.WebView;
/**
@@ -66,6 +67,9 @@ public class BrowserWebViewFactory implements WebViewFactory {
final BrowserSettings s = BrowserSettings.getInstance();
s.startManagingSettings(w.getSettings());
+ CookieManager cookieManager = CookieManager.getInstance();
+ cookieManager.setAcceptThirdPartyCookies(w, cookieManager.acceptCookie());
+
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
// Remote Web Debugging is always enabled, where available.
WebView.setWebContentsDebuggingEnabled(true);
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index d463045e..03b0faa3 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -48,6 +48,7 @@ import android.view.View;
import android.view.ViewStub;
import android.webkit.ClientCertRequest;
import android.webkit.ConsoleMessage;
+import android.webkit.CookieManager;
import android.webkit.GeolocationPermissions;
import android.webkit.GeolocationPermissions.Callback;
import android.webkit.HttpAuthHandler;
@@ -1975,4 +1976,12 @@ class Tab implements PictureListener {
setSecurityState(SecurityState.SECURITY_STATE_MIXED);
}
}
+
+ public void setAcceptThirdPartyCookies(boolean accept) {
+ CookieManager cookieManager = CookieManager.getInstance();
+ if (mMainView != null)
+ cookieManager.setAcceptThirdPartyCookies(mMainView, accept);
+ if (mSubView != null)
+ cookieManager.setAcceptThirdPartyCookies(mSubView, accept);
+ }
}