| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| index d3a0a44ff0369c398990e8109cac532a2e04eb96..22831b0c262da33fa6bf69956157d7bd890ed73b 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| @@ -24,6 +24,7 @@ import android.view.View;
|
| import org.chromium.base.ApiCompatibilityUtils;
|
| import org.chromium.base.Callback;
|
| import org.chromium.base.CommandLine;
|
| +import org.chromium.base.ThreadUtils;
|
| import org.chromium.base.VisibleForTesting;
|
| import org.chromium.base.metrics.RecordHistogram;
|
| import org.chromium.base.metrics.RecordUserAction;
|
| @@ -488,7 +489,22 @@ public class NewTabPage
|
|
|
| final long offlineQueryStartTime = SystemClock.elapsedRealtime();
|
|
|
| - OfflinePageBridge.getForProfile(mProfile).checkPagesExistOffline(
|
| + OfflinePageBridge offlinePageBridge = OfflinePageBridge.getForProfile(mProfile);
|
| +
|
| + // TODO(dewittj): Remove this code by making the NTP badging available after the NTP is
|
| + // fully loaded.
|
| + if (offlinePageBridge == null || !offlinePageBridge.isOfflinePageModelLoaded()) {
|
| + // Posting a task to avoid potential re-entrancy issues.
|
| + ThreadUtils.postOnUiThread(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + callback.onResult(urlsAvailableOffline);
|
| + }
|
| + });
|
| + return;
|
| + }
|
| +
|
| + offlinePageBridge.checkPagesExistOffline(
|
| urlsToCheckForOfflinePage, new Callback<Set<String>>() {
|
| @Override
|
| public void onResult(Set<String> urlsWithOfflinePages) {
|
|
|