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

Side by Side Diff: chrome/browser/sync/engine/nigori_util.cc

Issue 8919021: [Sync] Rename ModelEnumSet to ModelTypeSet (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync/engine/nigori_util.h" 5 #include "chrome/browser/sync/engine/nigori_util.h"
6 6
7 #include <queue> 7 #include <queue>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 20 matching lines...) Expand all
31 &entry)) { 31 &entry)) {
32 NOTREACHED(); 32 NOTREACHED();
33 return false; 33 return false;
34 } 34 }
35 } 35 }
36 return true; 36 return true;
37 } 37 }
38 38
39 bool VerifyUnsyncedChangesAreEncrypted( 39 bool VerifyUnsyncedChangesAreEncrypted(
40 BaseTransaction* const trans, 40 BaseTransaction* const trans,
41 ModelEnumSet encrypted_types) { 41 ModelTypeSet encrypted_types) {
42 std::vector<int64> handles; 42 std::vector<int64> handles;
43 browser_sync::SyncerUtil::GetUnsyncedEntries(trans, &handles); 43 browser_sync::SyncerUtil::GetUnsyncedEntries(trans, &handles);
44 for (size_t i = 0; i < handles.size(); ++i) { 44 for (size_t i = 0; i < handles.size(); ++i) {
45 Entry entry(trans, GET_BY_HANDLE, handles[i]); 45 Entry entry(trans, GET_BY_HANDLE, handles[i]);
46 if (!entry.good()) { 46 if (!entry.good()) {
47 NOTREACHED(); 47 NOTREACHED();
48 return false; 48 return false;
49 } 49 }
50 if (EntryNeedsEncryption(encrypted_types, entry)) 50 if (EntryNeedsEncryption(encrypted_types, entry))
51 return false; 51 return false;
52 } 52 }
53 return true; 53 return true;
54 } 54 }
55 55
56 bool EntryNeedsEncryption(ModelEnumSet encrypted_types, 56 bool EntryNeedsEncryption(ModelTypeSet encrypted_types,
57 const Entry& entry) { 57 const Entry& entry) {
58 if (!entry.Get(UNIQUE_SERVER_TAG).empty()) 58 if (!entry.Get(UNIQUE_SERVER_TAG).empty())
59 return false; // We don't encrypt unique server nodes. 59 return false; // We don't encrypt unique server nodes.
60 syncable::ModelType type = entry.GetModelType(); 60 syncable::ModelType type = entry.GetModelType();
61 if (type == PASSWORDS || type == NIGORI) 61 if (type == PASSWORDS || type == NIGORI)
62 return false; 62 return false;
63 // Checking NON_UNIQUE_NAME is not necessary for the correctness of encrypting 63 // Checking NON_UNIQUE_NAME is not necessary for the correctness of encrypting
64 // the data, nor for determining if data is encrypted. We simply ensure it has 64 // the data, nor for determining if data is encrypted. We simply ensure it has
65 // been overwritten to avoid any possible leaks of sensitive data. 65 // been overwritten to avoid any possible leaks of sensitive data.
66 return SpecificsNeedsEncryption(encrypted_types, entry.Get(SPECIFICS)) || 66 return SpecificsNeedsEncryption(encrypted_types, entry.Get(SPECIFICS)) ||
67 (encrypted_types.Has(type) && 67 (encrypted_types.Has(type) &&
68 entry.Get(NON_UNIQUE_NAME) != kEncryptedString); 68 entry.Get(NON_UNIQUE_NAME) != kEncryptedString);
69 } 69 }
70 70
71 bool SpecificsNeedsEncryption(ModelEnumSet encrypted_types, 71 bool SpecificsNeedsEncryption(ModelTypeSet encrypted_types,
72 const sync_pb::EntitySpecifics& specifics) { 72 const sync_pb::EntitySpecifics& specifics) {
73 const ModelType type = GetModelTypeFromSpecifics(specifics); 73 const ModelType type = GetModelTypeFromSpecifics(specifics);
74 if (type == PASSWORDS || type == NIGORI) 74 if (type == PASSWORDS || type == NIGORI)
75 return false; // These types have their own encryption schemes. 75 return false; // These types have their own encryption schemes.
76 if (!encrypted_types.Has(type)) 76 if (!encrypted_types.Has(type))
77 return false; // This type does not require encryption 77 return false; // This type does not require encryption
78 return !specifics.has_encrypted(); 78 return !specifics.has_encrypted();
79 } 79 }
80 80
81 // Mainly for testing. 81 // Mainly for testing.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 return false; 138 return false;
139 } 139 }
140 } 140 }
141 // Push the successor. 141 // Push the successor.
142 to_visit.push(child.Get(NEXT_ID)); 142 to_visit.push(child.Get(NEXT_ID));
143 } 143 }
144 return true; 144 return true;
145 } 145 }
146 146
147 } // namespace syncable 147 } // namespace syncable
OLDNEW
« no previous file with comments | « chrome/browser/sync/engine/nigori_util.h ('k') | chrome/browser/sync/engine/nigori_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698