| Index: chrome/browser/extensions/extension_sync_data.cc
|
| diff --git a/chrome/browser/extensions/extension_sync_data.cc b/chrome/browser/extensions/extension_sync_data.cc
|
| index 0ef75b62a4d4d3d986426d70753c3aeddd721937..f315552d67e783d60f0b083345a41b4113dd11a4 100644
|
| --- a/chrome/browser/extensions/extension_sync_data.cc
|
| +++ b/chrome/browser/extensions/extension_sync_data.cc
|
| @@ -4,7 +4,26 @@
|
|
|
| #include "chrome/browser/extensions/extension_sync_data.h"
|
|
|
| +#include "base/logging.h"
|
| +
|
| ExtensionSyncData::ExtensionSyncData()
|
| : uninstalled(false), enabled(false), incognito_enabled(false) {}
|
|
|
| ExtensionSyncData::~ExtensionSyncData() {}
|
| +
|
| +void ExtensionSyncData::Merge(const ExtensionSyncData& new_data) {
|
| + CHECK_EQ(id, new_data.id);
|
| + CHECK(!uninstalled);
|
| + CHECK(!new_data.uninstalled);
|
| +
|
| + // Copy version-independent properties.
|
| + enabled = new_data.enabled;
|
| + incognito_enabled = new_data.incognito_enabled;
|
| +
|
| + // Copy version-dependent properties if version <= new_data.version.
|
| + if (version.CompareTo(new_data.version) <= 0) {
|
| + version = new_data.version;
|
| + update_url = new_data.update_url;
|
| + name = new_data.name;
|
| + }
|
| +}
|
|
|