summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/webkit')
-rw-r--r--core/java/android/webkit/BrowserFrame.java25
-rw-r--r--core/java/android/webkit/CookieSyncManager.java42
2 files changed, 36 insertions, 31 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index 5254027..2087664 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -74,8 +74,6 @@ class BrowserFrame extends Handler {
// queue has been cleared,they are ignored.
private boolean mBlockMessages = false;
private int mOrientation = -1;
- private static String sDatabaseDirectory;
- private static String sCacheDirectory;
// Is this frame the main frame?
private boolean mIsMainFrame;
@@ -229,13 +227,6 @@ class BrowserFrame extends Handler {
AssetManager am = context.getAssets();
nativeCreateFrame(w, am, proxy.getBackForwardList());
- if (sDatabaseDirectory == null) {
- sDatabaseDirectory = appContext.getDatabasePath("dummy").getParent();
- }
- if (sCacheDirectory == null) {
- sCacheDirectory = appContext.getCacheDir().getAbsolutePath();
- }
-
if (DebugFlags.BROWSER_FRAME) {
Log.v(LOGTAG, "BrowserFrame constructor: this=" + this);
}
@@ -658,22 +649,6 @@ class BrowserFrame extends Handler {
}
/**
- * Called by JNI. Gets the application's database directory, excluding the trailing slash.
- * @return String The application's database directory
- */
- private static String getDatabaseDirectory() {
- return sDatabaseDirectory;
- }
-
- /**
- * Called by JNI. Gets the application's cache directory, excluding the trailing slash.
- * @return String The application's cache directory
- */
- private static String getCacheDirectory() {
- return sCacheDirectory;
- }
-
- /**
* Called by JNI.
* Read from an InputStream into a supplied byte[]
* This method catches any exceptions so they don't crash the JVM.
diff --git a/core/java/android/webkit/CookieSyncManager.java b/core/java/android/webkit/CookieSyncManager.java
index abe9178..8b76a3b 100644
--- a/core/java/android/webkit/CookieSyncManager.java
+++ b/core/java/android/webkit/CookieSyncManager.java
@@ -65,6 +65,11 @@ public final class CookieSyncManager extends WebSyncManager {
// time when last update happened
private long mLastUpdate;
+ // Used by the Chromium HTTP stack. Everything else in this class is used only by the Android
+ // Java HTTP stack.
+ private static String sDatabaseDirectory;
+ private static String sCacheDirectory;
+
private CookieSyncManager(Context context) {
super(context, "CookieSyncManager");
}
@@ -77,11 +82,7 @@ public final class CookieSyncManager extends WebSyncManager {
* @return CookieSyncManager
*/
public static synchronized CookieSyncManager getInstance() {
- if (sRef == null) {
- throw new IllegalStateException(
- "CookieSyncManager::createInstance() needs to be called "
- + "before CookieSyncManager::getInstance()");
- }
+ checkInstanceIsCreated();
return sRef;
}
@@ -92,8 +93,11 @@ public final class CookieSyncManager extends WebSyncManager {
*/
public static synchronized CookieSyncManager createInstance(
Context context) {
+ Context appContext = context.getApplicationContext();
if (sRef == null) {
- sRef = new CookieSyncManager(context.getApplicationContext());
+ sRef = new CookieSyncManager(appContext);
+ sDatabaseDirectory = appContext.getDatabasePath("dummy").getParent();
+ sCacheDirectory = appContext.getCacheDir().getAbsolutePath();
}
return sRef;
}
@@ -210,4 +214,30 @@ public final class CookieSyncManager extends WebSyncManager {
}
}
}
+
+ private static void checkInstanceIsCreated() {
+ if (sRef == null) {
+ throw new IllegalStateException(
+ "CookieSyncManager::createInstance() needs to be called "
+ + "before CookieSyncManager::getInstance()");
+ }
+ }
+
+ /**
+ * Called by JNI. Gets the application's database directory, excluding the trailing slash.
+ * @return String The application's database directory
+ */
+ private static synchronized String getDatabaseDirectory() {
+ checkInstanceIsCreated();
+ return sDatabaseDirectory;
+ }
+
+ /**
+ * Called by JNI. Gets the application's cache directory, excluding the trailing slash.
+ * @return String The application's cache directory
+ */
+ private static synchronized String getCacheDirectory() {
+ checkInstanceIsCreated();
+ return sCacheDirectory;
+ }
}