From af9c77edbddfcf87a4dc17b95db84bf741674a9a Mon Sep 17 00:00:00 2001 From: Andrei Popescu Date: Tue, 21 Jul 2009 17:02:35 +0100 Subject: wire appcache to the HTML5 UI --- core/java/android/webkit/WebStorage.java | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/core/java/android/webkit/WebStorage.java b/core/java/android/webkit/WebStorage.java index 048869132dd4..7522b5a5e8f2 100644 --- a/core/java/android/webkit/WebStorage.java +++ b/core/java/android/webkit/WebStorage.java @@ -24,7 +24,9 @@ import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.HashMap; -import java.util.Vector; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; /** * Functionality for manipulating the webstorage databases. @@ -60,7 +62,7 @@ public final class WebStorage { static final int DELETE_ORIGIN = 2; static final int DELETE_ALL = 3; - private Vector mOrigins; + private Set mOrigins; private HashMap mQuotas = new HashMap(); private HashMap mUsages = new HashMap(); @@ -112,7 +114,7 @@ public final class WebStorage { } break; case DELETE_ALL: - nativeDeleteAllDatabases(); + nativeDeleteAllData(); syncValues(); break; @@ -129,8 +131,8 @@ public final class WebStorage { * @hide * Returns a list of origins having a database */ - public Vector getOrigins() { - Vector ret = null; + public Set getOrigins() { + Set ret = null; mLock.lock(); try { update(); @@ -230,9 +232,9 @@ public final class WebStorage { * @hide * Delete all databases */ - public void deleteAllDatabases() { + public void deleteAllData() { if (WebViewCore.THREAD_NAME.equals(Thread.currentThread().getName())) { - nativeDeleteAllDatabases(); + nativeDeleteAllData(); syncValues(); } else { postMessage(Message.obtain(null, DELETE_ALL)); @@ -278,12 +280,13 @@ public final class WebStorage { */ private void syncValues() { mLock.lock(); - Vector tmp = nativeGetOrigins(); - mOrigins = new Vector(); + Set tmp = nativeGetOrigins(); + mOrigins = new HashSet(); mQuotas.clear(); mUsages.clear(); - for (int i = 0; i < tmp.size(); i++) { - String origin = (String) tmp.get(i); + Iterator iter = tmp.iterator(); + while (iter.hasNext()) { + String origin = iter.next(); mOrigins.add(origin); mQuotas.put(origin, new Long(nativeGetQuotaForOrigin(origin))); mUsages.put(origin, new Long(nativeGetUsageForOrigin(origin))); @@ -293,10 +296,10 @@ public final class WebStorage { } // Native functions - private static native Vector nativeGetOrigins(); + private static native Set nativeGetOrigins(); private static native long nativeGetUsageForOrigin(String origin); private static native long nativeGetQuotaForOrigin(String origin); private static native void nativeSetQuotaForOrigin(String origin, long quota); private static native void nativeDeleteOrigin(String origin); - private static native void nativeDeleteAllDatabases(); + private static native void nativeDeleteAllData(); } -- cgit v1.2.3-59-g8ed1b