Index: components/signin/core/browser/account_seeding_tracker.h |
diff --git a/components/signin/core/browser/account_seeding_tracker.h b/components/signin/core/browser/account_seeding_tracker.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..27cfd8ced4d52d7a8d23c0a947a40eb0de1394a6 |
--- /dev/null |
+++ b/components/signin/core/browser/account_seeding_tracker.h |
@@ -0,0 +1,37 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef COMPONENTS_SIGNIN_CORE_BROWSER_ACCOUNT_SEEDING_TRACKER_H_ |
+#define COMPONENTS_SIGNIN_CORE_BROWSER_ACCOUNT_SEEDING_TRACKER_H_ |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "base/macros.h" |
+#include "build/build_config.h" |
+ |
+class AccountTrackerService; |
+ |
+// AccountSeedingTracker keeps track of accounts that need to be seeded |
+// partially. This is required on Android where the OS uses email as the |
+// identifier for accounts whereas Chrome uses the GAIA ID. |
+class AccountSeedingTracker { |
+ public: |
+ AccountSeedingTracker(const AccountTrackerService* account_tracker_service); |
+ ~AccountSeedingTracker(); |
+ |
+ bool IsAccountSeeded(const std::string& account_id); |
+ std::vector<std::string> GetNewlySeededAccounts(); |
+ bool AreAllAccountsSeeded() const; |
+ |
+ private: |
+#if defined(OS_ANDROID) |
+ std::vector<std::string> unseeded_accounts_; |
+ const AccountTrackerService* account_tracker_service_; |
+#endif |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AccountSeedingTracker); |
+}; |
+ |
+#endif // COMPONENTS_SIGNIN_CORE_BROWSER_ACCOUNT_SEEDING_TRACKER_H_ |