From 412033a80f09e10541a8a6fbab50315f68c13883 Mon Sep 17 00:00:00 2001 From: "kristianm@chromium.org" Date: Wed, 24 Oct 2012 23:55:06 +0000 Subject: Update cookie_manager to only get the CookieMonster once This is important as it has to access two different threads to get the CookieMonster. Most methods are sync, so waiting for this to finish can cause a deadlock. BUG=157683 Review URL: https://chromiumcodereview.appspot.com/11110003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163957 0039d316-1c4b-4281-b951-d872f2087c98 --- .../chromium/android_webview/CookieManager.java | 91 ++++------------------ 1 file changed, 13 insertions(+), 78 deletions(-) (limited to 'android_webview/java') diff --git a/android_webview/java/src/org/chromium/android_webview/CookieManager.java b/android_webview/java/src/org/chromium/android_webview/CookieManager.java index 038baa3..8ed2b9e 100644 --- a/android_webview/java/src/org/chromium/android_webview/CookieManager.java +++ b/android_webview/java/src/org/chromium/android_webview/CookieManager.java @@ -25,29 +25,16 @@ public final class CookieManager { * Control whether cookie is enabled or disabled * @param accept TRUE if accept cookie */ - public synchronized void setAcceptCookie(boolean accept) { - final boolean finalAccept = accept; - ThreadUtils.runOnUiThread(new Runnable() { - @Override - public void run() { - nativeSetAcceptCookie(finalAccept); - } - }); + public void setAcceptCookie(boolean accept) { + nativeSetAcceptCookie(accept); } - private final Callable acceptCookieCallable = new Callable() { - @Override - public Boolean call() throws Exception { - return nativeAcceptCookie(); - } - }; - /** * Return whether cookie is enabled * @return TRUE if accept cookie */ - public synchronized boolean acceptCookie() { - return ThreadUtils.runOnUiThreadBlockingNoException(acceptCookieCallable); + public boolean acceptCookie() { + return nativeAcceptCookie(); } /** @@ -58,12 +45,7 @@ public final class CookieManager { * @param value The value for set-cookie: in http response header */ public void setCookie(final String url, final String value) { - ThreadUtils.runOnUiThread(new Runnable() { - @Override - public void run() { - nativeSetCookie(url, value); - } - }); + nativeSetCookie(url, value); } /** @@ -73,85 +55,44 @@ public final class CookieManager { * @return The cookies in the format of NAME=VALUE [; NAME=VALUE] */ public String getCookie(final String url) { - String cookie = ThreadUtils.runOnUiThreadBlockingNoException(new Callable() { - @Override - public String call() throws Exception { - return nativeGetCookie(url.toString()); - } - }); + String cookie = nativeGetCookie(url.toString()); // Return null if the string is empty to match legacy behavior return cookie == null || cookie.trim().isEmpty() ? null : cookie; } - private final Runnable removeSessionCookieRunnable = new Runnable() { - @Override - public void run() { - nativeRemoveSessionCookie(); - } - }; - /** * Remove all session cookies, which are cookies without expiration date */ public void removeSessionCookie() { - ThreadUtils.runOnUiThread(removeSessionCookieRunnable); + nativeRemoveSessionCookie(); } - private final Runnable removeAllCookieRunnable = new Runnable() { - @Override - public void run() { - nativeRemoveAllCookie(); - } - }; - /** * Remove all cookies */ public void removeAllCookie() { - ThreadUtils.runOnUiThread(removeAllCookieRunnable); + nativeRemoveAllCookie(); } - private final Callable hasCookiesCallable = new Callable() { - @Override - public Boolean call() throws Exception { - return nativeHasCookies(); - } - }; - /** * Return true if there are stored cookies. */ - public synchronized boolean hasCookies() { - return ThreadUtils.runOnUiThreadBlockingNoException(hasCookiesCallable); + public boolean hasCookies() { + return nativeHasCookies(); } - private final Runnable removeExpiredCookieRunnable = new Runnable() { - @Override - public void run() { - nativeRemoveExpiredCookie(); - } - }; - /** * Remove all expired cookies */ public void removeExpiredCookie() { - ThreadUtils.runOnUiThread(removeExpiredCookieRunnable); + nativeRemoveExpiredCookie(); } - private static final Callable allowFileSchemeCookiesCallable = - new Callable() { - @Override - public Boolean call() throws Exception { - return nativeAllowFileSchemeCookies(); - } - }; - /** * Whether cookies are accepted for file scheme URLs. */ public static boolean allowFileSchemeCookies() { - return ThreadUtils.runOnUiThreadBlockingNoException(allowFileSchemeCookiesCallable); + return nativeAllowFileSchemeCookies(); } /** @@ -164,13 +105,7 @@ public final class CookieManager { * instance has been created. */ public static void setAcceptFileSchemeCookies(boolean accept) { - final boolean finalAccept = accept; - ThreadUtils.runOnUiThreadBlocking(new Runnable() { - @Override - public void run() { - nativeSetAcceptFileSchemeCookies(finalAccept); - } - }); + nativeSetAcceptFileSchemeCookies(accept); } private native void nativeSetAcceptCookie(boolean accept); -- cgit v1.1