Index: chrome/browser/sync/syncable/syncable.h |
diff --git a/chrome/browser/sync/syncable/syncable.h b/chrome/browser/sync/syncable/syncable.h |
index 19d98ee9b7289eb2e9ea1c2d77f7b9d80aa9b14f..3ed372352f5c0cc91ef7a98597bc0a6b97a6c8d5 100644 |
--- a/chrome/browser/sync/syncable/syncable.h |
+++ b/chrome/browser/sync/syncable/syncable.h |
@@ -636,6 +636,19 @@ class IdFilter; |
class DirectoryManager; |
struct PathMatcher; |
+struct AutofillMigrationDebugInfo { |
+ enum PropertyToSet { |
+ MIGRATION_TIME, |
+ BOOKMARK_ADDED, |
+ ENTRIES_ADDED, |
+ PROFILES_ADDED |
+ }; |
+ int64 autofill_migration_time; |
+ int bookmarks_added_during_migration; |
+ int autofill_entries_added_during_migration; |
+ int autofill_profile_added_during_migration; |
+}; |
+ |
class Directory { |
friend class BaseTransaction; |
friend class Entry; |
@@ -660,6 +673,15 @@ class Directory { |
// Various data that the Directory::Kernel we are backing (persisting data |
// for) needs saved across runs of the application. |
struct PersistedKernelInfo { |
+ enum AutofillMigrationState { |
+ NOT_DETERMINED, |
+ NOT_MIGRATED, |
+ MIGRATED, |
+ INSUFFICIENT_INFO_TO_DETERMINE |
+ }; |
+ |
+ AutofillMigrationDebugInfo autofill_migration_debug_info; |
+ |
PersistedKernelInfo(); |
~PersistedKernelInfo(); |
@@ -674,6 +696,8 @@ class Directory { |
int64 next_id; |
// The persisted notification state. |
std::string notification_state; |
+ |
+ AutofillMigrationState autofill_migration_state; |
}; |
// What the Directory needs on initialization to create itself and its Kernel. |
@@ -754,6 +778,19 @@ class Directory { |
bool initial_sync_ended_for_type(ModelType type) const; |
void set_initial_sync_ended_for_type(ModelType type, bool value); |
+ PersistedKernelInfo::AutofillMigrationState |
+ get_autofill_migration_state() const; |
+ |
+ AutofillMigrationDebugInfo get_autofill_migration_debug_info() const; |
+ |
+ void set_autofill_migration_state( |
+ PersistedKernelInfo::AutofillMigrationState state); |
+ |
+ template <class T> void TestAndSet(T* kernel_data, const T* data_to_set); |
+ |
+ void set_autofill_migration_state_debug_info( |
+ syncable::AutofillMigrationDebugInfo::PropertyToSet property_to_set, |
+ const syncable::AutofillMigrationDebugInfo& info); |
const std::string& name() const { return kernel_->name; } |