| Index: chrome/browser/ui/app_list/app_list_syncable_service.h
|
| diff --git a/chrome/browser/ui/app_list/app_list_syncable_service.h b/chrome/browser/ui/app_list/app_list_syncable_service.h
|
| index 554bc90e98ecc6a283a021a02792b23a82f9b612..9d44b5959457b438952078f3f088e45a169c3015 100644
|
| --- a/chrome/browser/ui/app_list/app_list_syncable_service.h
|
| +++ b/chrome/browser/ui/app_list/app_list_syncable_service.h
|
| @@ -19,11 +19,13 @@
|
| #include "sync/api/syncable_service.h"
|
| #include "sync/protocol/app_list_specifics.pb.h"
|
|
|
| -class ExtensionAppItem;
|
| class ExtensionAppModelBuilder;
|
| -class ExtensionService;
|
| class Profile;
|
|
|
| +namespace extensions {
|
| +class ExtensionSystem;
|
| +}
|
| +
|
| namespace sync_pb {
|
| class AppListSpecifics;
|
| }
|
| @@ -33,8 +35,7 @@ namespace app_list {
|
| class AppListModel;
|
| class AppListItem;
|
|
|
| -// Keyed Service that owns, stores, and syncs an AppListModel for an
|
| -// ExtensionSystem and corresponding profile.
|
| +// Keyed Service that owns, stores, and syncs an AppListModel for a profile.
|
| class AppListSyncableService : public syncer::SyncableService,
|
| public BrowserContextKeyedService,
|
| public content::NotificationObserver {
|
| @@ -53,18 +54,18 @@ class AppListSyncableService : public syncer::SyncableService,
|
| std::string ToString() const;
|
| };
|
|
|
| - // Create an empty model. Then, if |extension_service| is non-NULL and ready,
|
| - // populate it. Otherwise populate the model once extensions become ready.
|
| - AppListSyncableService(Profile* profile, ExtensionService* extension_service);
|
| + // Populates the model when |extension_system| is ready.
|
| + AppListSyncableService(Profile* profile,
|
| + extensions::ExtensionSystem* extension_system);
|
|
|
| virtual ~AppListSyncableService();
|
|
|
| - // Adds |item| to |sync_items_| and |model_|. Does noting if a sync item
|
| + // Adds |item| to |sync_items_| and |model_|. Does nothing if a sync item
|
| // already exists.
|
| - void AddExtensionAppItem(ExtensionAppItem* item);
|
| + void AddItem(AppListItem* item);
|
|
|
| // Updates existing entry in |sync_items_| from |item|.
|
| - void UpdateExtensionAppItem(ExtensionAppItem* item);
|
| + void UpdateItem(AppListItem* item);
|
|
|
| // Removes sync item matching |id|.
|
| void RemoveItem(const std::string& id);
|
| @@ -100,15 +101,19 @@ class AppListSyncableService : public syncer::SyncableService,
|
| // Builds the model once ExtensionService is ready.
|
| void BuildModel();
|
|
|
| - // Creates a new Appitem from |sync_item| and adds it to the model.
|
| - void CreateAppItemFromSyncItem(SyncItem* sync_item);
|
| -
|
| // Returns true if sync has restarted, otherwise runs |flare_|.
|
| bool SyncStarted();
|
|
|
| - // Creates a SyncItem entry and adds |item| to the model.
|
| - SyncItem* AddItem(sync_pb::AppListSpecifics::AppListItemType type,
|
| - AppListItem* item);
|
| + // Creates or updates a SyncItem from |specifics|. Returns true if a new item
|
| + // was created.
|
| + bool ProcessSyncItem(const sync_pb::AppListSpecifics& specifics);
|
| +
|
| + // Handles a newly created sync item (e.g. creates a new Appitem and adds it
|
| + // to the model or uninstalls a deleted default item.
|
| + void ProcessNewSyncItem(SyncItem* sync_item);
|
| +
|
| + // Handles updating an existing sync item (e.g. updates item positions).
|
| + void ProcessExistingSyncItem(SyncItem* sync_item);
|
|
|
| // Sends ADD or CHANGED for sync item.
|
| void SendSyncChange(SyncItem* sync_item,
|
| @@ -117,21 +122,16 @@ class AppListSyncableService : public syncer::SyncableService,
|
| // Returns an existing SyncItem corresponding to |item_id| or NULL.
|
| SyncItem* FindSyncItem(const std::string& item_id);
|
|
|
| - // Returns a SyncItem corresponding to |item_id|. Sets |new_item| if an item
|
| - // was created.
|
| - SyncItem* FindOrCreateSyncItem(
|
| + // Creates a new sync item for |item_id|.
|
| + SyncItem* CreateSyncItem(
|
| const std::string& item_id,
|
| - sync_pb::AppListSpecifics::AppListItemType type,
|
| - bool* new_item);
|
| -
|
| - // Creates or updates a SyncItem from |specifics|. Returns true if an item
|
| - // was created.
|
| - bool CreateOrUpdateSyncItem(const sync_pb::AppListSpecifics& specifics);
|
| + sync_pb::AppListSpecifics::AppListItemType item_type);
|
|
|
| // Deletes a SyncItem matching |specifics|.
|
| void DeleteSyncItem(const sync_pb::AppListSpecifics& specifics);
|
|
|
| Profile* profile_;
|
| + extensions::ExtensionSystem* extension_system_;
|
| content::NotificationRegistrar registrar_;
|
| scoped_ptr<AppListModel> model_;
|
| scoped_ptr<ExtensionAppModelBuilder> apps_builder_;
|
|
|