diff options
author | Tao Bai <michaelbai@google.com> | 2014-09-13 02:35:44 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-13 02:35:44 +0000 |
commit | 47b65355430a20e78a439c16ab95fc2fd457f42f (patch) | |
tree | 19d2e1b33e081ee0de322c3000c281ea2e3b0d94 | |
parent | c232a00c54d59947bd2dcd32767fbc0615ea33a3 (diff) | |
parent | 2e72708a8930ea49a56583cad4b12ae4a5ebb66a (diff) | |
download | Browser-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.java | 3 | ||||
-rw-r--r-- | src/com/android/browser/BrowserWebViewFactory.java | 4 | ||||
-rw-r--r-- | src/com/android/browser/Tab.java | 9 |
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); + } } |