Index: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTestBase.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTestBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTestBase.java |
index e63b80f5f4cd68e990db62e09173a9e072aad64e..ec1f26a1bd1fb623e199c01278aef335753d9c5c 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTestBase.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTestBase.java |
@@ -92,12 +92,16 @@ |
protected void setUp() throws Exception { |
super.setUp(); |
- // Register the webapp so when the data storage is opened, the test doesn't crash. |
- WebappRegistry.refreshSharedPrefsForTesting(); |
- TestFetchStorageCallback callback = new TestFetchStorageCallback(); |
- WebappRegistry.getInstance().register(WEBAPP_ID, callback); |
- callback.waitForCallback(0); |
- callback.getStorage().updateFromShortcutIntent(createIntent()); |
+ // Register the webapp so when the data storage is opened, the test doesn't crash. There is |
+ // no race condition with the retrieval as AsyncTasks are run sequentially on the background |
+ // thread. |
+ WebappRegistry.registerWebapp( |
+ WEBAPP_ID, new WebappRegistry.FetchWebappDataStorageCallback() { |
+ @Override |
+ public void onWebappDataStorageRetrieved(WebappDataStorage storage) { |
+ storage.updateFromShortcutIntent(createIntent()); |
+ } |
+ }); |
} |
/** |