Force sessions invalidations on for Android clients with foreign tabs suggestions feature.
When the foreign tabs suggestion feature is enabled (its currently at 0%, can be enabled via command line or flag page, hope to dial up in future), it suggests pages that are the most recent open tabs on other devices. These suggestions show up on the NewTabPage (currently only on Android). These suggestions really just display data from Sync's SESSION data type. This data type is typically enabled for syncing on most devices, but invalidations are disabled on Android clients for improved battery performance. Invalidations are the main mechanism that Sync uses to know when it needs to call GetUpdates and get the most recent data. Disabling SESSION invalidations typically doesn't harm Android users. SESSION data is only used on a few UI surfaces, and when those surfaces are loaded we temporarily re-register for SESSION invalidations. Unfortunately, this approach doesn't work very well here because visiting the NewTabPage is such a frequent user action. This would result in a lot of traffic and wasted network usage to the invalidations server. Having stale data means having your local client won't know about open tabs on other devices, and suggestions not being made when you know they should. This causes and inconsistent and less useful experience for the user. By forcing SESSION invalidations to on for anyone that has the foreign tabs suggestion feature enabled, it ensures we have fresh data and are able to suggestion the most value (most recent) pages. The main cost is that we lose the battery life saving of the aforementioned optimization. BUG=649881 Review-Url: https://codereview.chromium.org/2478243006 Cr-Commit-Position: refs/heads/master@{#430362}
Showing
Please register or sign in to comment