[Background Sync] Add BackgroundSync mojo interface.

Adds a PeriodicBackgroundSync interface to background_sync.mojom.
Adds Unregister() and GetPeriodicSyncRegistrations() methods to this
interface, with unit tests to verify the expected functionality.

Follow up CLs will call these methods from third_party/* code.

Bug: 925297
Change-Id: Ifddbaedf05c85703d156327530e6b995cfab3754
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1617829
Commit-Queue: Mugdha Lakhani <[email protected]>
Reviewed-by: Peter Beverloo <[email protected]>
Reviewed-by: Ted Choc <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Reviewed-by: ccameron <[email protected]>
Reviewed-by: Rayan Kanso <[email protected]>
Cr-Commit-Position: refs/heads/master@{#670858}
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 9aa7ce7..8fa7fdc 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -511,9 +511,13 @@
     "background_sync/background_sync_network_observer.h",
     "background_sync/background_sync_registration.cc",
     "background_sync/background_sync_registration.h",
-    "background_sync/background_sync_service_impl.cc",
-    "background_sync/background_sync_service_impl.h",
+    "background_sync/background_sync_registration_helper.cc",
+    "background_sync/background_sync_registration_helper.h",
     "background_sync/background_sync_status.h",
+    "background_sync/one_shot_background_sync_service_impl.cc",
+    "background_sync/one_shot_background_sync_service_impl.h",
+    "background_sync/periodic_background_sync_service_impl.cc",
+    "background_sync/periodic_background_sync_service_impl.h",
     "bad_message.cc",
     "bad_message.h",
     "blob_storage/blob_dispatcher_host.cc",