| Index: chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java
|
| index d583b8ed9e52bffad9945547cdba488ee7cd232d..d74996acbe0ea62a3ba2337790d17b3919b09aab 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java
|
| @@ -16,6 +16,7 @@ import org.chromium.base.ApplicationState;
|
| import org.chromium.base.ApplicationStatus;
|
| import org.chromium.base.FieldTrialList;
|
| import org.chromium.base.VisibleForTesting;
|
| +import org.chromium.chrome.browser.ChromeFeatureList;
|
| import org.chromium.chrome.browser.sync.ProfileSyncService;
|
| import org.chromium.components.invalidation.InvalidationClientService;
|
| import org.chromium.components.signin.ChromeSigninController;
|
| @@ -283,7 +284,12 @@ public class InvalidationController implements ApplicationStatus.ApplicationStat
|
| // that local session data is current and can be used to perform checks.
|
| boolean requireInvalidationsForInstrumentation =
|
| FieldTrialList.findFullName("PageRevisitInstrumentation").equals("Enabled");
|
| - boolean canDisableSessionInvalidations = !requireInvalidationsForInstrumentation;
|
| + // If the NTP is trying to suggest foreign tabs, then recieving invalidations is
|
| + // vital, otherwise data is stale and less useful.
|
| + boolean requireInvalidationsForSuggestions = ChromeFeatureList.isEnabled(
|
| + ChromeFeatureList.NTP_FOREIGN_SESSIONS_SUGGESTIONS);
|
| + boolean canDisableSessionInvalidations = !requireInvalidationsForInstrumentation
|
| + && !requireInvalidationsForSuggestions;
|
|
|
| boolean canUseGcmUpstream =
|
| FieldTrialList.findFullName("InvalidationsGCMUpstream").equals("Enabled");
|
|
|