| Index: chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java b/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
|
| index 4df5b74cd86d632b251cb45fb308f93686472b9b..2df7a4496523ac4405e40cae8b9abd3a0e3bf4d2 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
|
| @@ -326,18 +326,24 @@ public class AutofillTestHelper {
|
| }
|
|
|
| private void registerDataObserver() {
|
| - ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - PersonalDataManager.getInstance().registerDataObserver(
|
| - new PersonalDataManagerObserver() {
|
| - @Override
|
| - public void onPersonalDataChanged() {
|
| - mOnPersonalDataChangedHelper.notifyCalled();
|
| - }
|
| - }
|
| - );
|
| - }
|
| - });
|
| + try {
|
| + int callCount = mOnPersonalDataChangedHelper.getCallCount();
|
| + boolean isDataLoaded = ThreadUtils.runOnUiThreadBlocking(new Callable<Boolean>() {
|
| + @Override
|
| + public Boolean call() {
|
| + return PersonalDataManager.getInstance().registerDataObserver(
|
| + new PersonalDataManagerObserver() {
|
| + @Override
|
| + public void onPersonalDataChanged() {
|
| + mOnPersonalDataChangedHelper.notifyCalled();
|
| + }
|
| + });
|
| + }
|
| + });
|
| + if (isDataLoaded) return;
|
| + mOnPersonalDataChangedHelper.waitForCallback(callCount);
|
| + } catch (TimeoutException | InterruptedException | ExecutionException e) {
|
| + throw new AssertionError(e);
|
| + }
|
| }
|
| }
|
|
|