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

Side by Side Diff: chrome/browser/sync/glue/extension_data.cc

Issue 6902054: [Sync] Rip out overly-complicated ExtensionData class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/sync/glue/extension_data.h"
6
7 #include "base/logging.h"
8 #include "chrome/browser/sync/glue/extension_util.h"
9
10 namespace browser_sync {
11
12 ExtensionData ExtensionData::FromData(
13 Source source, const sync_pb::ExtensionSpecifics& data) {
14 DcheckIsExtensionSpecificsValid(data);
15 ExtensionData extension_data;
16 extension_data.merged_data_ = extension_data.source_data_[source] = data;
17 DCHECK(AreExtensionSpecificsEqual(extension_data.merged_data(), data));
18 DCHECK(!extension_data.NeedsUpdate(source));
19 return extension_data;
20 }
21
22 ExtensionData::~ExtensionData() {}
23
24 const sync_pb::ExtensionSpecifics& ExtensionData::merged_data() const {
25 DcheckIsExtensionSpecificsValid(merged_data_);
26 return merged_data_;
27 }
28
29 bool ExtensionData::NeedsUpdate(Source source) const {
30 SourceDataMap::const_iterator it = source_data_.find(source);
31 return
32 (it == source_data_.end()) ||
33 !AreExtensionSpecificsEqual(it->second, merged_data_);
34 }
35
36 void ExtensionData::SetData(
37 Source source, bool merge_user_properties,
38 const sync_pb::ExtensionSpecifics& data) {
39 DcheckIsExtensionSpecificsValid(data);
40 source_data_[source] = data;
41 MergeExtensionSpecifics(data, merge_user_properties, &merged_data_);
42 DcheckIsExtensionSpecificsValid(merged_data_);
43 }
44
45 void ExtensionData::ResolveData(Source source) {
46 source_data_[source] = merged_data_;
47 DCHECK(!NeedsUpdate(source));
48 }
49
50 ExtensionData::ExtensionData() {}
51
52 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/glue/extension_data.h ('k') | chrome/browser/sync/glue/extension_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698