| Index: chrome/browser/sync/glue/extension_util.cc
|
| diff --git a/chrome/browser/sync/glue/extension_util.cc b/chrome/browser/sync/glue/extension_util.cc
|
| index 4d24a43b95b85900ffc60008379f195f82a7310f..5578f89159230a266d0c6939925c6a19d11242a8 100644
|
| --- a/chrome/browser/sync/glue/extension_util.cc
|
| +++ b/chrome/browser/sync/glue/extension_util.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/version.h"
|
| #include "chrome/browser/extensions/extension_prefs.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/extension_sync_data.h"
|
| #include "chrome/browser/sync/protocol/extension_specifics.pb.h"
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| @@ -157,19 +158,6 @@ void GetExtensionSpecifics(const Extension& extension,
|
| DcheckIsExtensionSpecificsValid(*specifics);
|
| }
|
|
|
| -bool IsExtensionOutdated(const Extension& extension,
|
| - const sync_pb::ExtensionSpecifics& specifics) {
|
| - DCHECK(IsExtensionValid(extension));
|
| - DcheckIsExtensionSpecificsValid(specifics);
|
| - scoped_ptr<Version> specifics_version(
|
| - Version::GetVersionFromString(specifics.version()));
|
| - if (!specifics_version.get()) {
|
| - // If version is invalid, assume we're up-to-date.
|
| - return false;
|
| - }
|
| - return extension.version()->CompareTo(*specifics_version) < 0;
|
| -}
|
| -
|
| void MergeExtensionSpecifics(
|
| const sync_pb::ExtensionSpecifics& specifics,
|
| bool merge_user_properties,
|
| @@ -194,4 +182,31 @@ void MergeExtensionSpecifics(
|
| }
|
| }
|
|
|
| +bool GetExtensionSyncData(
|
| + const sync_pb::ExtensionSpecifics& specifics,
|
| + ExtensionSyncData* sync_data) {
|
| + if (!Extension::IdIsValid(specifics.id())) {
|
| + return false;
|
| + }
|
| +
|
| + scoped_ptr<Version> version(
|
| + Version::GetVersionFromString(specifics.version()));
|
| + if (!version.get()) {
|
| + return false;
|
| + }
|
| +
|
| + // The update URL must be either empty or valid.
|
| + GURL update_url(specifics.update_url());
|
| + if (!update_url.is_empty() && !update_url.is_valid()) {
|
| + return false;
|
| + }
|
| +
|
| + sync_data->id = specifics.id();
|
| + sync_data->update_url = update_url;
|
| + sync_data->version = *version;
|
| + sync_data->enabled = specifics.enabled();
|
| + sync_data->incognito_enabled = specifics.incognito_enabled();
|
| + return true;
|
| +}
|
| +
|
| } // namespace browser_sync
|
|
|