Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4449)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java

Issue 2384413003: Revert of Refactor WebappRegistry into a singleton instance. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
index b8837d5dda78216c0f5f77e4e5463145f414ad4c..e6b92c24f41c5ad42fb0b1c7f1d7202fb3c8f26b 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
@@ -27,7 +27,6 @@
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.preferences.Preferences;
import org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataPreferences.DialogOption;
-import org.chromium.chrome.browser.webapps.TestFetchStorageCallback;
import org.chromium.chrome.browser.webapps.WebappDataStorage;
import org.chromium.chrome.browser.webapps.WebappRegistry;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
@@ -40,6 +39,7 @@
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
+import java.util.Set;
/**
* Integration tests for ClearBrowsingDataPreferences.
@@ -48,6 +48,22 @@
public class ClearBrowsingDataPreferencesTest
extends ChromeActivityTestCaseBase<ChromeActivity> {
private EmbeddedTestServer mTestServer;
+ private boolean mCallbackCalled;
+
+ private class CallbackCriteria extends Criteria {
+ public CallbackCriteria() {
+ mCallbackCalled = false;
+ }
+
+ @Override
+ public boolean isSatisfied() {
+ if (mCallbackCalled) {
+ mCallbackCalled = false;
+ return true;
+ }
+ return false;
+ }
+ }
@Override
protected void setUp() throws Exception {
@@ -88,11 +104,15 @@
*/
@MediumTest
public void testClearingSiteDataClearsWebapps() throws Exception {
- TestFetchStorageCallback callback = new TestFetchStorageCallback();
- WebappRegistry.getInstance().register("first", callback);
- callback.waitForCallback(0);
- assertEquals(new HashSet<String>(Arrays.asList("first")),
- WebappRegistry.getRegisteredWebappIdsForTesting());
+ WebappRegistry.registerWebapp("first", null);
+ WebappRegistry.getRegisteredWebappIds(new WebappRegistry.FetchCallback() {
+ @Override
+ public void onWebappIdsRetrieved(Set<String> ids) {
+ assertEquals(new HashSet<String>(Arrays.asList("first")), ids);
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
setDataTypesToClear(Arrays.asList(DialogOption.CLEAR_COOKIES_AND_SITE_DATA));
final ClearBrowsingDataPreferences preferences =
@@ -111,7 +131,14 @@
});
waitForProgressToComplete(preferences);
- assertTrue(WebappRegistry.getRegisteredWebappIdsForTesting().isEmpty());
+ WebappRegistry.getRegisteredWebappIds(new WebappRegistry.FetchCallback() {
+ @Override
+ public void onWebappIdsRetrieved(Set<String> ids) {
+ assertTrue(ids.isEmpty());
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
}
/**
@@ -128,13 +155,23 @@
};
final Intent shortcutIntent = shortcutIntentTask.execute().get();
- TestFetchStorageCallback callback = new TestFetchStorageCallback();
- WebappRegistry.getInstance().register("first", callback);
- callback.waitForCallback(0);
- callback.getStorage().updateFromShortcutIntent(shortcutIntent);
-
- assertEquals(new HashSet<String>(Arrays.asList("first")),
- WebappRegistry.getRegisteredWebappIdsForTesting());
+ WebappRegistry.registerWebapp("first", new WebappRegistry.FetchWebappDataStorageCallback() {
+ @Override
+ public void onWebappDataStorageRetrieved(WebappDataStorage storage) {
+ storage.updateFromShortcutIntent(shortcutIntent);
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
+
+ WebappRegistry.getRegisteredWebappIds(new WebappRegistry.FetchCallback() {
+ @Override
+ public void onWebappIdsRetrieved(Set<String> ids) {
+ assertEquals(new HashSet<String>(Arrays.asList("first")), ids);
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
setDataTypesToClear(Arrays.asList(DialogOption.CLEAR_HISTORY));
final ClearBrowsingDataPreferences preferences =
@@ -153,14 +190,45 @@
});
waitForProgressToComplete(preferences);
- assertEquals(new HashSet<String>(Arrays.asList("first")),
- WebappRegistry.getRegisteredWebappIdsForTesting());
-
- // URL and scope should be empty, and last used time should be 0.
- WebappDataStorage storage = WebappRegistry.getInstance().getWebappDataStorage("first");
- assertEquals("", storage.getScope());
- assertEquals("", storage.getUrl());
- assertEquals(0, storage.getLastUsedTime());
+ // The web app should still exist in the registry.
+ WebappRegistry.getRegisteredWebappIds(new WebappRegistry.FetchCallback() {
+ @Override
+ public void onWebappIdsRetrieved(Set<String> ids) {
+ assertEquals(new HashSet<String>(Arrays.asList("first")), ids);
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
+
+ // URL and scope should be empty.
+ WebappDataStorage.getScope("first", new WebappDataStorage.FetchCallback<String>() {
+ @Override
+ public void onDataRetrieved(String readObject) {
+ assertEquals(readObject, "");
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
+
+ WebappDataStorage.getUrl("first", new WebappDataStorage.FetchCallback<String>() {
+ @Override
+ public void onDataRetrieved(String readObject) {
+ assertEquals(readObject, "");
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
+
+ // The last used time should be 0.
+ WebappDataStorage.getLastUsedTime("first", new WebappDataStorage.FetchCallback<Long>() {
+ @Override
+ public void onDataRetrieved(Long readObject) {
+ long lastUsed = readObject;
+ assertEquals(lastUsed, 0);
+ mCallbackCalled = true;
+ }
+ });
+ CriteriaHelper.pollUiThread(new CallbackCriteria());
}
/**

Powered by Google App Engine
This is Rietveld 408576698