Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(559)

Unified Diff: chrome/browser/sync/glue/autofill_profile_data_type_controller.h

Issue 8065016: [Sync] Refactor non-frontend DTC to handle new API properly. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Some comments addressed Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/autofill_profile_data_type_controller.h
diff --git a/chrome/browser/sync/glue/autofill_profile_data_type_controller.h b/chrome/browser/sync/glue/autofill_profile_data_type_controller.h
index 64f0f493d1ba120f0bac018532b23279c3224880..ce153fa09cb7e6d15393fa9a854d3b47bdca7cb3 100644
--- a/chrome/browser/sync/glue/autofill_profile_data_type_controller.h
+++ b/chrome/browser/sync/glue/autofill_profile_data_type_controller.h
@@ -6,27 +6,58 @@
#define CHROME_BROWSER_SYNC_GLUE_AUTOFILL_PROFILE_DATA_TYPE_CONTROLLER_H_
#pragma once
-#include "chrome/browser/sync/glue/autofill_data_type_controller.h"
-#include "chrome/browser/sync/profile_sync_factory.h"
+#include "base/compiler_specific.h"
+#include "base/memory/ref_counted.h"
+#include "chrome/browser/autofill/personal_data_manager_observer.h"
+#include "chrome/browser/sync/glue/new_non_frontend_data_type_controller.h"
+#include "content/common/notification_observer.h"
+#include "content/common/notification_registrar.h"
+
+class NotificationDetails;
+class NotificationSource;
+class PersonalDataManager;
+class WebDataService;
namespace browser_sync {
-class AutofillProfileDataTypeController : public AutofillDataTypeController {
+class AutofillProfileDataTypeController
+ : public NewNonFrontendDataTypeController,
+ public NotificationObserver,
+ public PersonalDataManagerObserver {
public:
AutofillProfileDataTypeController(
ProfileSyncFactory* profile_sync_factory,
Profile* profile);
virtual ~AutofillProfileDataTypeController();
- virtual syncable::ModelType type() const;
+ // NewNonFrontendDataTypeController implementation.
+ virtual syncable::ModelType type() const OVERRIDE;
+ virtual browser_sync::ModelSafeGroup model_safe_group() const OVERRIDE;
+
+ // NotificationObserver implementation.
+ virtual void Observe(int type,
+ const NotificationSource& source,
+ const NotificationDetails& details) OVERRIDE;
+
+ // PersonalDataManagerObserver implementation:
+ virtual void OnPersonalDataChanged() OVERRIDE;
protected:
- virtual void CreateSyncComponents();
+ virtual bool StartModels() OVERRIDE;
+ virtual bool StartAssociationAsync() OVERRIDE;
+ virtual SyncableService* GetSyncableService() const OVERRIDE;
+ virtual bool StopLocalServiceAsync() OVERRIDE;
+ virtual void StopModels() OVERRIDE;
virtual void RecordUnrecoverableError(
const tracked_objects::Location& from_here,
- const std::string& message);
- virtual void RecordAssociationTime(base::TimeDelta time);
- virtual void RecordStartFailure(StartResult result);
+ const std::string& message) OVERRIDE;
+ virtual void RecordAssociationTime(base::TimeDelta time) OVERRIDE;
+ virtual void RecordStartFailure(StartResult result) OVERRIDE;
+
+ private:
+ PersonalDataManager* personal_data_;
+ scoped_refptr<WebDataService> web_data_service_;
+ NotificationRegistrar notification_registrar_;
};
} // namespace browser_sync

Powered by Google App Engine
This is Rietveld 408576698