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

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

Issue 2351113005: [Reland] Refactor WebappRegistry into a singleton instance. (Closed)
Patch Set: Checkstyle import order has changed overnight argh 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 e6b92c24f41c5ad42fb0b1c7f1d7202fb3c8f26b..b8837d5dda78216c0f5f77e4e5463145f414ad4c 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,6 +27,7 @@ import org.chromium.chrome.browser.preferences.ButtonPreference;
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;
@@ -39,7 +40,6 @@ import java.net.URL;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
-import java.util.Set;
/**
* Integration tests for ClearBrowsingDataPreferences.
@@ -48,22 +48,6 @@ import java.util.Set;
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 {
@@ -104,15 +88,11 @@ public class ClearBrowsingDataPreferencesTest
*/
@MediumTest
public void testClearingSiteDataClearsWebapps() throws Exception {
- 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());
+ TestFetchStorageCallback callback = new TestFetchStorageCallback();
+ WebappRegistry.getInstance().register("first", callback);
+ callback.waitForCallback(0);
+ assertEquals(new HashSet<String>(Arrays.asList("first")),
+ WebappRegistry.getRegisteredWebappIdsForTesting());
setDataTypesToClear(Arrays.asList(DialogOption.CLEAR_COOKIES_AND_SITE_DATA));
final ClearBrowsingDataPreferences preferences =
@@ -131,14 +111,7 @@ public class ClearBrowsingDataPreferencesTest
});
waitForProgressToComplete(preferences);
- WebappRegistry.getRegisteredWebappIds(new WebappRegistry.FetchCallback() {
- @Override
- public void onWebappIdsRetrieved(Set<String> ids) {
- assertTrue(ids.isEmpty());
- mCallbackCalled = true;
- }
- });
- CriteriaHelper.pollUiThread(new CallbackCriteria());
+ assertTrue(WebappRegistry.getRegisteredWebappIdsForTesting().isEmpty());
}
/**
@@ -155,23 +128,13 @@ public class ClearBrowsingDataPreferencesTest
};
final Intent shortcutIntent = shortcutIntentTask.execute().get();
- WebappRegistry.registerWebapp("first", new WebappRegistry.FetchWebappDataStorageCallback() {
- @Override
- public void onWebappDataStorageRetrieved(WebappDataStorage storage) {
- storage.updateFromShortcutIntent(shortcutIntent);
- mCallbackCalled = true;
- }
- });
- CriteriaHelper.pollUiThread(new CallbackCriteria());
+ TestFetchStorageCallback callback = new TestFetchStorageCallback();
+ WebappRegistry.getInstance().register("first", callback);
+ callback.waitForCallback(0);
+ callback.getStorage().updateFromShortcutIntent(shortcutIntent);
- 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());
+ assertEquals(new HashSet<String>(Arrays.asList("first")),
+ WebappRegistry.getRegisteredWebappIdsForTesting());
setDataTypesToClear(Arrays.asList(DialogOption.CLEAR_HISTORY));
final ClearBrowsingDataPreferences preferences =
@@ -190,45 +153,14 @@ public class ClearBrowsingDataPreferencesTest
});
waitForProgressToComplete(preferences);
- // 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());
+ assertEquals(new HashSet<String>(Arrays.asList("first")),
+ WebappRegistry.getRegisteredWebappIdsForTesting());
- // 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());
+ // 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());
}
/**

Powered by Google App Engine
This is Rietveld 408576698