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

Unified Diff: chrome/browser/sync/glue/extension_util.cc

Issue 6852029: [Sync] Move some extension-sync-related logic to ExtensionService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address asargent's comments Created 9 years, 8 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
« no previous file with comments | « chrome/browser/sync/glue/extension_util.h ('k') | chrome/browser/sync/glue/extension_util_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/sync/glue/extension_util.h ('k') | chrome/browser/sync/glue/extension_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698