| Index: chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| index 46a3b945889c8ff662fd3b44dbab24a43914e6ea..392da05cee627b4fdc891f169a93c0d9a0385440 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| @@ -13,6 +13,7 @@ import org.chromium.base.test.util.CommandLineFlags;
|
| import org.chromium.chrome.browser.ChromeActivity;
|
| import org.chromium.chrome.browser.ChromeSwitches;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.DeletePageCallback;
|
| +import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.GetAllPagesCallback;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageModelObserver;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.SavePageCallback;
|
| import org.chromium.chrome.browser.profiles.Profile;
|
| @@ -30,6 +31,7 @@ import java.util.ArrayList;
|
| import java.util.List;
|
| import java.util.concurrent.Semaphore;
|
| import java.util.concurrent.TimeUnit;
|
| +import java.util.concurrent.atomic.AtomicInteger;
|
| import java.util.concurrent.atomic.AtomicReference;
|
|
|
| /** Unit tests for {@link OfflinePageBridge}. */
|
| @@ -293,33 +295,39 @@ public class OfflinePageBridgeTest extends ChromeActivityTestCaseBase<ChromeActi
|
| private void deletePage(BookmarkId bookmarkId, final int expectedResult)
|
| throws InterruptedException {
|
| final Semaphore semaphore = new Semaphore(0);
|
| + final AtomicInteger deletePageResultRef = new AtomicInteger();
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| mOfflinePageBridge.deletePage(BOOKMARK_ID, new DeletePageCallback() {
|
| @Override
|
| public void onDeletePageDone(int deletePageResult) {
|
| - assertEquals("Delete result incorrect.", expectedResult, deletePageResult);
|
| + deletePageResultRef.set(deletePageResult);
|
| semaphore.release();
|
| }
|
| });
|
| }
|
| });
|
| assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
|
| + assertEquals("Delete result incorrect.", expectedResult, deletePageResultRef.get());
|
| }
|
|
|
| - private List<OfflinePageItem> getAllPages()
|
| - throws InterruptedException {
|
| + private List<OfflinePageItem> getAllPages() throws InterruptedException {
|
| + final Semaphore semaphore = new Semaphore(0);
|
| final List<OfflinePageItem> result = new ArrayList<OfflinePageItem>();
|
| - ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| + ThreadUtils.runOnUiThread(new Runnable() {
|
| @Override
|
| public void run() {
|
| - result.clear();
|
| - for (OfflinePageItem item : mOfflinePageBridge.getAllPages()) {
|
| - result.add(item);
|
| - }
|
| + mOfflinePageBridge.getAllPages(new GetAllPagesCallback() {
|
| + @Override
|
| + public void onGetAllPagesDone(List<OfflinePageItem> allPages) {
|
| + result.addAll(allPages);
|
| + semaphore.release();
|
| + }
|
| + });
|
| }
|
| });
|
| + assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
|
| return result;
|
| }
|
|
|
|
|