New issue
Advanced search Search tips

Issue 909682 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 6
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 0
Type: Bug

Blocked on:
issue 910107

Blocking:
issue 801985



Sign in to add a comment

Re-enable invalidations for history page related datatype.

Project Member Reported by melandory@chromium.org, Nov 28

Issue description

The new FCM-based invalidation implementation should behave similarly to the deprecated tango one, namely when the user opens the history page, the invalidations for the SESSIONS, FAVICON_TRACKING, FAVICON_IMAGES
should be re-enabled
 
Blockedon: 910107
Labels: -Pri-3 Pri-1
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f

commit 935e73aa97c4691ff7a9ddf1e91719f9ad653c9f
Author: Tanja Gornak <melandory@chromium.org>
Date: Mon Dec 03 11:19:16 2018

[Tango->FCM] Pipe the enabling/disabling of noisy types.

This patch introduces the new API, which allows to enable/disable the invalidations
for noisy session sync related datatypes.

The session sync generates a lot of changes, which results into many
invalidations, which should be processed. This can negatively
affect the battery life on Android. For that reason, on Android,
the invalidations for the Sessions should be received only
when user is interested in session sync data, e.g. the history
sync page is opened.

Bug:  909682 
Change-Id: I3e875543a8aa17c7b374fb8d963a3dd19e8deccc
Reviewed-on: https://chromium-review.googlesource.com/c/1353933
Commit-Queue: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613042}
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/browser_sync/profile_sync_service.cc
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/browser_sync/profile_sync_service.h
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/fake_sync_service.cc
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/fake_sync_service.h
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/glue/sync_backend_host_impl.cc
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/glue/sync_backend_host_impl.h
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/glue/sync_backend_host_impl_unittest.cc
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/sync_service.h
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/test_sync_service.cc
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/driver/test_sync_service.h
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/engine/fake_sync_engine.cc
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/engine/fake_sync_engine.h
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/engine/mock_sync_engine.h
[modify] https://crrev.com/935e73aa97c4691ff7a9ddf1e91719f9ad653c9f/components/sync/engine/sync_engine.h

Comment 4 Deleted

Comment 5 Deleted

Labels: -Pri-1 Pri-0
Owner: melandory@chromium.org
Pls apply appropriate OSs label. 
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9086f1acab0606a174d6654e0f6312ac1da7077c

commit 9086f1acab0606a174d6654e0f6312ac1da7077c
Author: Tanja Gornak <melandory@chromium.org>
Date: Wed Dec 05 08:23:51 2018

[Tango->FCM] Add the API for enabling sync for session related datatypes.

The CL is adding the API  to the ForeignSessionHelper for enabling sync for session related datatypes.


* In the new invalidation infrastructure Clank isn't receiving the notifications
for session sync related datatypes.
* But in cases when the user opens history UI, sync should re-enable session sync related
invalidations.
* This patch adds the API which will be called from History UI. The API allows to enable or disable
session sync related invalidations as needed.

Bug:  909682 
Change-Id: I60755adc9bc8b6f063a59f40f1df016a0a39c809
Reviewed-on: https://chromium-review.googlesource.com/c/1358492
Commit-Queue: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613908}
[modify] https://crrev.com/9086f1acab0606a174d6654e0f6312ac1da7077c/chrome/android/java/src/org/chromium/chrome/browser/ntp/ForeignSessionHelper.java
[modify] https://crrev.com/9086f1acab0606a174d6654e0f6312ac1da7077c/chrome/browser/android/foreign_session_helper.cc
[modify] https://crrev.com/9086f1acab0606a174d6654e0f6312ac1da7077c/chrome/browser/android/foreign_session_helper.h

Labels: OS-Android
Project Member

Comment 10 by bugdroid1@chromium.org, Dec 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e074ec30add3999933ab09d0687efeabd5ace2a

commit 1e074ec30add3999933ab09d0687efeabd5ace2a
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Wed Dec 05 15:20:37 2018

[Tango->FCM] Introducing the ResumableDelayedTaskRunner

This CL introduces the ResumableDelayedTaskRunner that will be used
in later patches to activate sessions invalidations with some delay

Bug:  909682 
Change-Id: I78bee8d9c429a598eb326a0fc6315313cba5db65
Reviewed-on: https://chromium-review.googlesource.com/c/1353946
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613971}
[add] https://crrev.com/1e074ec30add3999933ab09d0687efeabd5ace2a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunner.java
[modify] https://crrev.com/1e074ec30add3999933ab09d0687efeabd5ace2a/chrome/android/java_sources.gni
[add] https://crrev.com/1e074ec30add3999933ab09d0687efeabd5ace2a/chrome/android/junit/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunnerTest.java

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aee45d580650ffedcef5d739e607efa5b6c98ec5

commit aee45d580650ffedcef5d739e607efa5b6c98ec5
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Wed Dec 05 17:07:43 2018

[Tango->FCM] Enable Session Invalidation when recent tabs page open

On Android, invalidations for noisy sync data types such as sessions
are disabled to  avoid sending many FCM messages the phone which
will have a negative effect on the battery life.
However, those notifications are valuable when the user has the recent
tabs pages open to stay up to date on changes on opened tabs on other
devices.

This CL adds this functionality by making sure that if at least one
recent tabs page is open, the device is receiving invalidations for
sessions, and stop receiving invalidations when all recent tabs are
closed.

Bug:  909682 
Change-Id: Ic7caacc3184e194639ad865963bdfc456acba035
Reviewed-on: https://chromium-review.googlesource.com/c/1354004
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613999}
[add] https://crrev.com/aee45d580650ffedcef5d739e607efa5b6c98ec5/chrome/android/java/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManager.java
[modify] https://crrev.com/aee45d580650ffedcef5d739e607efa5b6c98ec5/chrome/android/java/src/org/chromium/chrome/browser/ntp/ForeignSessionHelper.java
[modify] https://crrev.com/aee45d580650ffedcef5d739e607efa5b6c98ec5/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
[modify] https://crrev.com/aee45d580650ffedcef5d739e607efa5b6c98ec5/chrome/android/java_sources.gni
[add] https://crrev.com/aee45d580650ffedcef5d739e607efa5b6c98ec5/chrome/android/junit/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManagerTest.java

Project Member

Comment 12 by sheriffbot@chromium.org, Dec 5

Labels: -Merge-Request-72 Hotlist-Merge-Approved Merge-Approved-72
Your change meets the bar and is auto-approved for M72. Please go ahead and merge the CL to branch 3626 manually. Please contact milestone owner if you have questions.
Owners: govind@(Android), kariahda@(iOS), djmm@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Pls merge your change to M72 branch 3626 ASAP so we can pick it up for next  Dev & Beta release. Thank you.

Project Member

Comment 14 by bugdroid1@chromium.org, Dec 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b2cd20b5972267a83ede700e622f7d2392a3474

commit 2b2cd20b5972267a83ede700e622f7d2392a3474
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Thu Dec 06 09:02:22 2018

Fix a typo in ResumableDelayedTaskRunner class comment.

This CL introduced the ResumableTaskRunner:
https://chromium-review.googlesource.com/c/chromium/src/+/1353946

In the class comment where we describe how to make use of the class,
one of the lines was not updated with the rest during the last
iterations of the review, leaving the example code incorrect.

This CL just ensures that we are using consistent variable naming
throughout the example.

Bug:  909682 

Change-Id: I67666306888909e867f624dddb85d003e24604e6
Reviewed-on: https://chromium-review.googlesource.com/c/1363284
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614292}
[modify] https://crrev.com/2b2cd20b5972267a83ede700e622f7d2392a3474/chrome/android/java/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunner.java

Project Member

Comment 15 by bugdroid1@chromium.org, Dec 6

Labels: -merge-approved-72 merge-merged-3626
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b

commit ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b
Author: Tanja Gornak <melandory@chromium.org>
Date: Thu Dec 06 10:43:10 2018

[Tango->FCM] Pipe the enabling/disabling of noisy types.

This patch introduces the new API, which allows to enable/disable the invalidations
for noisy session sync related datatypes.

The session sync generates a lot of changes, which results into many
invalidations, which should be processed. This can negatively
affect the battery life on Android. For that reason, on Android,
the invalidations for the Sessions should be received only
when user is interested in session sync data, e.g. the history
sync page is opened.

TBR=melandory@chromium.org

(cherry picked from commit 935e73aa97c4691ff7a9ddf1e91719f9ad653c9f)

Bug:  909682 
Change-Id: I3e875543a8aa17c7b374fb8d963a3dd19e8deccc
Reviewed-on: https://chromium-review.googlesource.com/c/1353933
Commit-Queue: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613042}
Reviewed-on: https://chromium-review.googlesource.com/c/1365437
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#103}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/browser_sync/profile_sync_service.cc
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/browser_sync/profile_sync_service.h
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/fake_sync_service.cc
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/fake_sync_service.h
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/glue/sync_backend_host_impl.cc
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/glue/sync_backend_host_impl.h
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/glue/sync_backend_host_impl_unittest.cc
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/sync_service.h
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/test_sync_service.cc
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/driver/test_sync_service.h
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/engine/fake_sync_engine.cc
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/engine/fake_sync_engine.h
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/engine/mock_sync_engine.h
[modify] https://crrev.com/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b/components/sync/engine/sync_engine.h

Project Member

Comment 16 by bugdroid1@chromium.org, Dec 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f1c8d41cf56db641c791a58ab33b40f58c1a889

commit 8f1c8d41cf56db641c791a58ab33b40f58c1a889
Author: Tanja Gornak <melandory@chromium.org>
Date: Thu Dec 06 10:49:35 2018

[Tango->FCM] Add the API for enabling sync for session related datatypes.

The CL is adding the API  to the ForeignSessionHelper for enabling sync for session related datatypes.


* In the new invalidation infrastructure Clank isn't receiving the notifications
for session sync related datatypes.
* But in cases when the user opens history UI, sync should re-enable session sync related
invalidations.
* This patch adds the API which will be called from History UI. The API allows to enable or disable
session sync related invalidations as needed.

TBR=melandory@chromium.org

(cherry picked from commit 9086f1acab0606a174d6654e0f6312ac1da7077c)

Bug:  909682 
Change-Id: I60755adc9bc8b6f063a59f40f1df016a0a39c809
Reviewed-on: https://chromium-review.googlesource.com/c/1358492
Commit-Queue: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613908}
Reviewed-on: https://chromium-review.googlesource.com/c/1365240
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#104}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
[modify] https://crrev.com/8f1c8d41cf56db641c791a58ab33b40f58c1a889/chrome/android/java/src/org/chromium/chrome/browser/ntp/ForeignSessionHelper.java
[modify] https://crrev.com/8f1c8d41cf56db641c791a58ab33b40f58c1a889/chrome/browser/android/foreign_session_helper.cc
[modify] https://crrev.com/8f1c8d41cf56db641c791a58ab33b40f58c1a889/chrome/browser/android/foreign_session_helper.h

Project Member

Comment 17 by bugdroid1@chromium.org, Dec 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/358d19ea99bd894a2b28223e89f9a162b95bf5b4

commit 358d19ea99bd894a2b28223e89f9a162b95bf5b4
Author: Tanja Gornak <melandory@chromium.org>
Date: Thu Dec 06 11:01:18 2018

[Tango->FCM] Introducing the ResumableDelayedTaskRunner

This CL introduces the ResumableDelayedTaskRunner that will be used
in later patches to activate sessions invalidations with some delay

TBR=mamir@chromium.org

(cherry picked from commit 1e074ec30add3999933ab09d0687efeabd5ace2a)

Bug:  909682 
Change-Id: I78bee8d9c429a598eb326a0fc6315313cba5db65
Reviewed-on: https://chromium-review.googlesource.com/c/1353946
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613971}
Reviewed-on: https://chromium-review.googlesource.com/c/1365241
Cr-Commit-Position: refs/branch-heads/3626@{#105}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
[add] https://crrev.com/358d19ea99bd894a2b28223e89f9a162b95bf5b4/chrome/android/java/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunner.java
[modify] https://crrev.com/358d19ea99bd894a2b28223e89f9a162b95bf5b4/chrome/android/java_sources.gni
[add] https://crrev.com/358d19ea99bd894a2b28223e89f9a162b95bf5b4/chrome/android/junit/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunnerTest.java

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0656cb60a9fbed8534548f7492222712275b595

commit b0656cb60a9fbed8534548f7492222712275b595
Author: Tanja Gornak <melandory@chromium.org>
Date: Thu Dec 06 11:04:37 2018

[Tango->FCM] Enable Session Invalidation when recent tabs page open

On Android, invalidations for noisy sync data types such as sessions
are disabled to  avoid sending many FCM messages the phone which
will have a negative effect on the battery life.
However, those notifications are valuable when the user has the recent
tabs pages open to stay up to date on changes on opened tabs on other
devices.

This CL adds this functionality by making sure that if at least one
recent tabs page is open, the device is receiving invalidations for
sessions, and stop receiving invalidations when all recent tabs are
closed.

TBR=mamir@chromium.org

(cherry picked from commit aee45d580650ffedcef5d739e607efa5b6c98ec5)

Bug:  909682 
Change-Id: Ic7caacc3184e194639ad865963bdfc456acba035
Reviewed-on: https://chromium-review.googlesource.com/c/1354004
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613999}
Reviewed-on: https://chromium-review.googlesource.com/c/1365439
Cr-Commit-Position: refs/branch-heads/3626@{#106}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
[add] https://crrev.com/b0656cb60a9fbed8534548f7492222712275b595/chrome/android/java/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManager.java
[modify] https://crrev.com/b0656cb60a9fbed8534548f7492222712275b595/chrome/android/java/src/org/chromium/chrome/browser/ntp/ForeignSessionHelper.java
[modify] https://crrev.com/b0656cb60a9fbed8534548f7492222712275b595/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
[modify] https://crrev.com/b0656cb60a9fbed8534548f7492222712275b595/chrome/android/java_sources.gni
[add] https://crrev.com/b0656cb60a9fbed8534548f7492222712275b595/chrome/android/junit/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManagerTest.java

Status: Fixed (was: Assigned)
Labels: Merge-Merged-72-3626
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/358d19ea99bd894a2b28223e89f9a162b95bf5b4

Commit: 358d19ea99bd894a2b28223e89f9a162b95bf5b4
Author: melandory@chromium.org
Commiter: melandory@chromium.org
Date: 2018-12-06 11:01:18 +0000 UTC

[Tango->FCM] Introducing the ResumableDelayedTaskRunner

This CL introduces the ResumableDelayedTaskRunner that will be used
in later patches to activate sessions invalidations with some delay

TBR=mamir@chromium.org

(cherry picked from commit 1e074ec30add3999933ab09d0687efeabd5ace2a)

Bug:  909682 
Change-Id: I78bee8d9c429a598eb326a0fc6315313cba5db65
Reviewed-on: https://chromium-review.googlesource.com/c/1353946
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613971}
Reviewed-on: https://chromium-review.googlesource.com/c/1365241
Cr-Commit-Position: refs/branch-heads/3626@{#105}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/8f1c8d41cf56db641c791a58ab33b40f58c1a889

Commit: 8f1c8d41cf56db641c791a58ab33b40f58c1a889
Author: melandory@chromium.org
Commiter: melandory@chromium.org
Date: 2018-12-06 10:49:35 +0000 UTC

[Tango->FCM] Add the API for enabling sync for session related datatypes.

The CL is adding the API  to the ForeignSessionHelper for enabling sync for session related datatypes.


* In the new invalidation infrastructure Clank isn't receiving the notifications
for session sync related datatypes.
* But in cases when the user opens history UI, sync should re-enable session sync related
invalidations.
* This patch adds the API which will be called from History UI. The API allows to enable or disable
session sync related invalidations as needed.

TBR=melandory@chromium.org

(cherry picked from commit 9086f1acab0606a174d6654e0f6312ac1da7077c)

Bug:  909682 
Change-Id: I60755adc9bc8b6f063a59f40f1df016a0a39c809
Reviewed-on: https://chromium-review.googlesource.com/c/1358492
Commit-Queue: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613908}
Reviewed-on: https://chromium-review.googlesource.com/c/1365240
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#104}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/b0656cb60a9fbed8534548f7492222712275b595

Commit: b0656cb60a9fbed8534548f7492222712275b595
Author: melandory@chromium.org
Commiter: melandory@chromium.org
Date: 2018-12-06 11:04:37 +0000 UTC

[Tango->FCM] Enable Session Invalidation when recent tabs page open

On Android, invalidations for noisy sync data types such as sessions
are disabled to  avoid sending many FCM messages the phone which
will have a negative effect on the battery life.
However, those notifications are valuable when the user has the recent
tabs pages open to stay up to date on changes on opened tabs on other
devices.

This CL adds this functionality by making sure that if at least one
recent tabs page is open, the device is receiving invalidations for
sessions, and stop receiving invalidations when all recent tabs are
closed.

TBR=mamir@chromium.org

(cherry picked from commit aee45d580650ffedcef5d739e607efa5b6c98ec5)

Bug:  909682 
Change-Id: Ic7caacc3184e194639ad865963bdfc456acba035
Reviewed-on: https://chromium-review.googlesource.com/c/1354004
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613999}
Reviewed-on: https://chromium-review.googlesource.com/c/1365439
Cr-Commit-Position: refs/branch-heads/3626@{#106}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b

Commit: ff6f8a10e8ab303a6cf5d59c1b05341b3bb2c69b
Author: melandory@chromium.org
Commiter: melandory@chromium.org
Date: 2018-12-06 10:43:10 +0000 UTC

[Tango->FCM] Pipe the enabling/disabling of noisy types.

This patch introduces the new API, which allows to enable/disable the invalidations
for noisy session sync related datatypes.

The session sync generates a lot of changes, which results into many
invalidations, which should be processed. This can negatively
affect the battery life on Android. For that reason, on Android,
the invalidations for the Sessions should be received only
when user is interested in session sync data, e.g. the history
sync page is opened.

TBR=melandory@chromium.org

(cherry picked from commit 935e73aa97c4691ff7a9ddf1e91719f9ad653c9f)

Bug:  909682 
Change-Id: I3e875543a8aa17c7b374fb8d963a3dd19e8deccc
Reviewed-on: https://chromium-review.googlesource.com/c/1353933
Commit-Queue: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613042}
Reviewed-on: https://chromium-review.googlesource.com/c/1365437
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#103}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}

Sign in to add a comment