Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "sync/internal_api/public/base/model_type.h" | 5 #include "sync/internal_api/public/base/model_type.h" |
| 6 | 6 |
| 7 #include "base/strings/string_split.h" | 7 #include "base/strings/string_split.h" |
| 8 #include "base/values.h" | 8 #include "base/values.h" |
| 9 #include "sync/protocol/app_notification_specifics.pb.h" | 9 #include "sync/protocol/app_notification_specifics.pb.h" |
| 10 #include "sync/protocol/app_setting_specifics.pb.h" | 10 #include "sync/protocol/app_setting_specifics.pb.h" |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 128 ModelTypeSet protocol_types = ProtocolTypes(); | 128 ModelTypeSet protocol_types = ProtocolTypes(); |
| 129 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); | 129 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); |
| 130 iter.Inc()) { | 130 iter.Inc()) { |
| 131 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) | 131 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) |
| 132 return iter.Get(); | 132 return iter.Get(); |
| 133 } | 133 } |
| 134 return UNSPECIFIED; | 134 return UNSPECIFIED; |
| 135 } | 135 } |
| 136 | 136 |
| 137 int GetSpecificsFieldNumberFromModelType(ModelType model_type) { | 137 int GetSpecificsFieldNumberFromModelType(ModelType model_type) { |
| 138 if (!ProtocolTypes().Has(model_type)) { | 138 DCHECK(ProtocolTypes().Has(model_type)) |
|
darin (slow to review)
2014/03/18 08:07:30
Aren't you tossing out the early return by going w
Peter Kasting
2014/03/18 18:59:15
Yes, per the style guide's "Don't handle DCHECK fa
| |
| 139 NOTREACHED() << "Only protocol types have field values."; | 139 << "Only protocol types have field values."; |
| 140 return 0; | |
| 141 } | |
| 142 switch (model_type) { | 140 switch (model_type) { |
| 143 case BOOKMARKS: | 141 case BOOKMARKS: |
| 144 return sync_pb::EntitySpecifics::kBookmarkFieldNumber; | 142 return sync_pb::EntitySpecifics::kBookmarkFieldNumber; |
| 145 break; | |
| 146 case PASSWORDS: | 143 case PASSWORDS: |
| 147 return sync_pb::EntitySpecifics::kPasswordFieldNumber; | 144 return sync_pb::EntitySpecifics::kPasswordFieldNumber; |
| 148 break; | |
| 149 case PREFERENCES: | 145 case PREFERENCES: |
| 150 return sync_pb::EntitySpecifics::kPreferenceFieldNumber; | 146 return sync_pb::EntitySpecifics::kPreferenceFieldNumber; |
| 151 break; | |
| 152 case AUTOFILL: | 147 case AUTOFILL: |
| 153 return sync_pb::EntitySpecifics::kAutofillFieldNumber; | 148 return sync_pb::EntitySpecifics::kAutofillFieldNumber; |
| 154 break; | |
| 155 case AUTOFILL_PROFILE: | 149 case AUTOFILL_PROFILE: |
| 156 return sync_pb::EntitySpecifics::kAutofillProfileFieldNumber; | 150 return sync_pb::EntitySpecifics::kAutofillProfileFieldNumber; |
| 157 break; | |
| 158 case THEMES: | 151 case THEMES: |
| 159 return sync_pb::EntitySpecifics::kThemeFieldNumber; | 152 return sync_pb::EntitySpecifics::kThemeFieldNumber; |
| 160 break; | |
| 161 case TYPED_URLS: | 153 case TYPED_URLS: |
| 162 return sync_pb::EntitySpecifics::kTypedUrlFieldNumber; | 154 return sync_pb::EntitySpecifics::kTypedUrlFieldNumber; |
| 163 break; | |
| 164 case EXTENSIONS: | 155 case EXTENSIONS: |
| 165 return sync_pb::EntitySpecifics::kExtensionFieldNumber; | 156 return sync_pb::EntitySpecifics::kExtensionFieldNumber; |
| 166 break; | |
| 167 case NIGORI: | 157 case NIGORI: |
| 168 return sync_pb::EntitySpecifics::kNigoriFieldNumber; | 158 return sync_pb::EntitySpecifics::kNigoriFieldNumber; |
| 169 break; | |
| 170 case SEARCH_ENGINES: | 159 case SEARCH_ENGINES: |
| 171 return sync_pb::EntitySpecifics::kSearchEngineFieldNumber; | 160 return sync_pb::EntitySpecifics::kSearchEngineFieldNumber; |
| 172 break; | |
| 173 case SESSIONS: | 161 case SESSIONS: |
| 174 return sync_pb::EntitySpecifics::kSessionFieldNumber; | 162 return sync_pb::EntitySpecifics::kSessionFieldNumber; |
| 175 break; | |
| 176 case APPS: | 163 case APPS: |
| 177 return sync_pb::EntitySpecifics::kAppFieldNumber; | 164 return sync_pb::EntitySpecifics::kAppFieldNumber; |
| 178 break; | |
| 179 case APP_LIST: | 165 case APP_LIST: |
| 180 return sync_pb::EntitySpecifics::kAppListFieldNumber; | 166 return sync_pb::EntitySpecifics::kAppListFieldNumber; |
| 181 break; | |
| 182 case APP_SETTINGS: | 167 case APP_SETTINGS: |
| 183 return sync_pb::EntitySpecifics::kAppSettingFieldNumber; | 168 return sync_pb::EntitySpecifics::kAppSettingFieldNumber; |
| 184 break; | |
| 185 case EXTENSION_SETTINGS: | 169 case EXTENSION_SETTINGS: |
| 186 return sync_pb::EntitySpecifics::kExtensionSettingFieldNumber; | 170 return sync_pb::EntitySpecifics::kExtensionSettingFieldNumber; |
| 187 break; | |
| 188 case APP_NOTIFICATIONS: | 171 case APP_NOTIFICATIONS: |
| 189 return sync_pb::EntitySpecifics::kAppNotificationFieldNumber; | 172 return sync_pb::EntitySpecifics::kAppNotificationFieldNumber; |
| 190 break; | |
| 191 case HISTORY_DELETE_DIRECTIVES: | 173 case HISTORY_DELETE_DIRECTIVES: |
| 192 return sync_pb::EntitySpecifics::kHistoryDeleteDirectiveFieldNumber; | 174 return sync_pb::EntitySpecifics::kHistoryDeleteDirectiveFieldNumber; |
| 193 case SYNCED_NOTIFICATIONS: | 175 case SYNCED_NOTIFICATIONS: |
| 194 return sync_pb::EntitySpecifics::kSyncedNotificationFieldNumber; | 176 return sync_pb::EntitySpecifics::kSyncedNotificationFieldNumber; |
| 195 case SYNCED_NOTIFICATION_APP_INFO: | 177 case SYNCED_NOTIFICATION_APP_INFO: |
| 196 return sync_pb::EntitySpecifics::kSyncedNotificationAppInfoFieldNumber; | 178 return sync_pb::EntitySpecifics::kSyncedNotificationAppInfoFieldNumber; |
| 197 case DEVICE_INFO: | 179 case DEVICE_INFO: |
| 198 return sync_pb::EntitySpecifics::kDeviceInfoFieldNumber; | 180 return sync_pb::EntitySpecifics::kDeviceInfoFieldNumber; |
| 199 break; | |
| 200 case EXPERIMENTS: | 181 case EXPERIMENTS: |
| 201 return sync_pb::EntitySpecifics::kExperimentsFieldNumber; | 182 return sync_pb::EntitySpecifics::kExperimentsFieldNumber; |
| 202 break; | |
| 203 case PRIORITY_PREFERENCES: | 183 case PRIORITY_PREFERENCES: |
| 204 return sync_pb::EntitySpecifics::kPriorityPreferenceFieldNumber; | 184 return sync_pb::EntitySpecifics::kPriorityPreferenceFieldNumber; |
| 205 break; | |
| 206 case DICTIONARY: | 185 case DICTIONARY: |
| 207 return sync_pb::EntitySpecifics::kDictionaryFieldNumber; | 186 return sync_pb::EntitySpecifics::kDictionaryFieldNumber; |
| 208 break; | |
| 209 case FAVICON_IMAGES: | 187 case FAVICON_IMAGES: |
| 210 return sync_pb::EntitySpecifics::kFaviconImageFieldNumber; | 188 return sync_pb::EntitySpecifics::kFaviconImageFieldNumber; |
| 211 case FAVICON_TRACKING: | 189 case FAVICON_TRACKING: |
| 212 return sync_pb::EntitySpecifics::kFaviconTrackingFieldNumber; | 190 return sync_pb::EntitySpecifics::kFaviconTrackingFieldNumber; |
| 213 case MANAGED_USER_SETTINGS: | 191 case MANAGED_USER_SETTINGS: |
| 214 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; | 192 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; |
| 215 case MANAGED_USERS: | 193 case MANAGED_USERS: |
| 216 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; | 194 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; |
| 217 case MANAGED_USER_SHARED_SETTINGS: | 195 case MANAGED_USER_SHARED_SETTINGS: |
| 218 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; | 196 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; |
| 219 case ARTICLES: | 197 case ARTICLES: |
| 220 return sync_pb::EntitySpecifics::kArticleFieldNumber; | 198 return sync_pb::EntitySpecifics::kArticleFieldNumber; |
| 221 default: | 199 default: |
| 222 NOTREACHED() << "No known extension for model type."; | 200 NOTREACHED() << "No known extension for model type."; |
| 223 return 0; | 201 return 0; |
| 224 } | 202 } |
| 225 NOTREACHED() << "Needed for linux_keep_shadow_stacks because of " | |
| 226 << "http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681"; | |
| 227 return 0; | |
| 228 } | 203 } |
| 229 | 204 |
| 230 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { | 205 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { |
| 231 FullModelTypeSet out; | 206 FullModelTypeSet out; |
| 232 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { | 207 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { |
| 233 out.Put(i.Get()); | 208 out.Put(i.Get()); |
| 234 } | 209 } |
| 235 return out; | 210 return out; |
| 236 } | 211 } |
| 237 | 212 |
| (...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1041 | 1016 |
| 1042 bool IsRealDataType(ModelType model_type) { | 1017 bool IsRealDataType(ModelType model_type) { |
| 1043 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT; | 1018 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT; |
| 1044 } | 1019 } |
| 1045 | 1020 |
| 1046 bool IsActOnceDataType(ModelType model_type) { | 1021 bool IsActOnceDataType(ModelType model_type) { |
| 1047 return model_type == HISTORY_DELETE_DIRECTIVES; | 1022 return model_type == HISTORY_DELETE_DIRECTIVES; |
| 1048 } | 1023 } |
| 1049 | 1024 |
| 1050 } // namespace syncer | 1025 } // namespace syncer |
| OLD | NEW |