| Index: chrome/browser/extensions/extension_sync_service.cc
|
| diff --git a/chrome/browser/extensions/extension_sync_service.cc b/chrome/browser/extensions/extension_sync_service.cc
|
| index da191a6efbf38df8198d6fd35c52ca87d9e1866a..56f499040bc44a14a44ce5dee601f155153fe70c 100644
|
| --- a/chrome/browser/extensions/extension_sync_service.cc
|
| +++ b/chrome/browser/extensions/extension_sync_service.cc
|
| @@ -39,6 +39,7 @@
|
| #include "sync/api/sync_error_factory.h"
|
| #include "ui/gfx/image/image_family.h"
|
|
|
| +using extensions::AppSyncData;
|
| using extensions::Extension;
|
| using extensions::ExtensionPrefs;
|
| using extensions::ExtensionRegistry;
|
| @@ -260,10 +261,16 @@ syncer::SyncError ExtensionSyncService::ProcessSyncChanges(
|
| i != change_list.end();
|
| ++i) {
|
| syncer::ModelType type = i->sync_data().GetDataType();
|
| - if (type == syncer::EXTENSIONS)
|
| - extension_sync_bundle_.ProcessSyncChange(ExtensionSyncData(*i));
|
| - else if (type == syncer::APPS)
|
| - app_sync_bundle_.ProcessSyncChange(extensions::AppSyncData(*i));
|
| + if (type == syncer::EXTENSIONS) {
|
| + scoped_ptr<ExtensionSyncData> extension_data(
|
| + ExtensionSyncData::CreateFromSyncChange(*i));
|
| + if (extension_data.get())
|
| + extension_sync_bundle_.ProcessSyncChange(*extension_data);
|
| + } else if (type == syncer::APPS) {
|
| + scoped_ptr<AppSyncData> app_data(AppSyncData::CreateFromSyncChange(*i));
|
| + if (app_data.get())
|
| + app_sync_bundle_.ProcessSyncChange(*app_data);
|
| + }
|
| }
|
|
|
| extension_prefs_->app_sorting()->FixNTPOrdinalCollisions();
|
| @@ -282,11 +289,10 @@ ExtensionSyncData ExtensionSyncService::GetExtensionSyncData(
|
| GetAllowedOnAllUrlsOptionalBoolean(extension.id(), profile_));
|
| }
|
|
|
| -extensions::AppSyncData ExtensionSyncService::GetAppSyncData(
|
| +AppSyncData ExtensionSyncService::GetAppSyncData(
|
| const Extension& extension) const {
|
| - return extensions::AppSyncData(
|
| - extension,
|
| - extension_service_->IsExtensionEnabled(extension.id()),
|
| + return AppSyncData(
|
| + extension, extension_service_->IsExtensionEnabled(extension.id()),
|
| extensions::util::IsIncognitoEnabled(extension.id(), profile_),
|
| extension_prefs_->HasDisableReason(extension.id(),
|
| Extension::DISABLE_REMOTE_INSTALL),
|
| @@ -316,10 +322,9 @@ std::vector<ExtensionSyncData>
|
| return extension_sync_list;
|
| }
|
|
|
| -std::vector<extensions::AppSyncData> ExtensionSyncService::GetAppSyncDataList()
|
| - const {
|
| +std::vector<AppSyncData> ExtensionSyncService::GetAppSyncDataList() const {
|
| ExtensionRegistry* registry = ExtensionRegistry::Get(profile_);
|
| - std::vector<extensions::AppSyncData> app_sync_list;
|
| + std::vector<AppSyncData> app_sync_list;
|
| app_sync_bundle_.GetAppSyncDataListHelper(
|
| registry->enabled_extensions(), &app_sync_list);
|
| app_sync_bundle_.GetAppSyncDataListHelper(
|
| @@ -327,8 +332,7 @@ std::vector<extensions::AppSyncData> ExtensionSyncService::GetAppSyncDataList()
|
| app_sync_bundle_.GetAppSyncDataListHelper(
|
| registry->terminated_extensions(), &app_sync_list);
|
|
|
| - std::vector<extensions::AppSyncData> pending_apps =
|
| - app_sync_bundle_.GetPendingData();
|
| + std::vector<AppSyncData> pending_apps = app_sync_bundle_.GetPendingData();
|
| app_sync_list.insert(app_sync_list.begin(),
|
| pending_apps.begin(),
|
| pending_apps.end());
|
| @@ -350,7 +354,7 @@ bool ExtensionSyncService::ProcessExtensionSyncData(
|
| }
|
|
|
| bool ExtensionSyncService::ProcessAppSyncData(
|
| - const extensions::AppSyncData& app_sync_data) {
|
| + const AppSyncData& app_sync_data) {
|
| const std::string& id = app_sync_data.id();
|
|
|
| if (app_sync_data.app_launch_ordinal().IsValid() &&
|
| @@ -384,7 +388,7 @@ bool ExtensionSyncService::ProcessAppSyncData(
|
| }
|
|
|
| void ExtensionSyncService::ProcessBookmarkAppSyncData(
|
| - const extensions::AppSyncData& app_sync_data) {
|
| + const AppSyncData& app_sync_data) {
|
| // Process bookmark app sync if necessary.
|
| GURL bookmark_app_url(app_sync_data.bookmark_app_url());
|
| if (!bookmark_app_url.is_valid() ||
|
|
|