Refactor FCMInvalidationService
FCMInvalidationService currently does 2 things: it observes changes to its IdentityProvider and maintains invalidations-related state. The seam between those responsibilities is pretty clear. In order to support invalidations for Machine-Level cloud policies on desktop browsers, we need to use the invalidations-related bits of FCMInvalidationService in a context where there is no IdentityProvider. This is different than the ChromeOS case where there's no Profile but a Device Level Robot Account is available (See AffiliatedInvalidationServiceProvider). Desktop browsers have no such robot account, therefore no IdentityProvider in the context of Machine- Level policies. This CL splits off the profile-agnostic parts of FCMInvalidationService into their own base class: FCMInvalidationServiceBase. This refactor should be a no-op, except it will allow us to add a second implementation of FCMInvalidationServiceBase that doesn't care about the presence of an account. The linked bug and the design doc (go/cbcm-machine-policy-invalidations) contain more context about this change. Bug: 1019791 Change-Id: Ib659aaa7d52f18797c67eaa9faae6d78d746942c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1910423Reviewed-by:Marc Treib <treib@chromium.org> Reviewed-by:
Tatiana Gornak <melandory@chromium.org> Commit-Queue: anthonyvd <anthonyvd@chromium.org> Cr-Commit-Position: refs/heads/master@{#714938}
Showing
Please register or sign in to comment