| 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 "chrome/browser/webdata/autocomplete_syncable_service.h" | 5 #include "chrome/browser/webdata/autocomplete_syncable_service.h" |
| 6 | 6 |
| 7 #include "base/location.h" | 7 #include "base/location.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/rand_util.h" | 9 #include "base/rand_util.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 FROM_HERE, | 150 FROM_HERE, |
| 151 "Failed to update webdata."); | 151 "Failed to update webdata."); |
| 152 } | 152 } |
| 153 | 153 |
| 154 WebDataService::NotifyOfMultipleAutofillChanges(web_data_service_); | 154 WebDataService::NotifyOfMultipleAutofillChanges(web_data_service_); |
| 155 | 155 |
| 156 syncer::SyncChangeList new_changes; | 156 syncer::SyncChangeList new_changes; |
| 157 for (AutocompleteEntryMap::iterator i = new_db_entries.begin(); | 157 for (AutocompleteEntryMap::iterator i = new_db_entries.begin(); |
| 158 i != new_db_entries.end(); ++i) { | 158 i != new_db_entries.end(); ++i) { |
| 159 new_changes.push_back( | 159 new_changes.push_back( |
| 160 syncer::SyncChange( | 160 syncer::SyncChange(FROM_HERE, |
| 161 i->second.first, CreateSyncData(*(i->second.second)))); | 161 i->second.first, |
| 162 CreateSyncData(*(i->second.second)))); |
| 162 } | 163 } |
| 163 | 164 |
| 164 if (ShouldCullSyncedData()) { | 165 if (ShouldCullSyncedData()) { |
| 165 // This will schedule a deletion operation on the DB thread, which will | 166 // This will schedule a deletion operation on the DB thread, which will |
| 166 // trigger a notification to propagate the deletion to Sync. | 167 // trigger a notification to propagate the deletion to Sync. |
| 167 web_data_service_->RemoveExpiredFormElements(); | 168 web_data_service_->RemoveExpiredFormElements(); |
| 168 } | 169 } |
| 169 | 170 |
| 170 syncer::SyncError error = | 171 syncer::SyncError error = |
| 171 sync_processor_->ProcessSyncChanges(FROM_HERE, new_changes); | 172 sync_processor_->ProcessSyncChanges(FROM_HERE, new_changes); |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 change->key().value(), | 409 change->key().value(), |
| 409 ×tamps)) { | 410 ×tamps)) { |
| 410 NOTREACHED(); | 411 NOTREACHED(); |
| 411 return; | 412 return; |
| 412 } | 413 } |
| 413 AutofillEntry entry(change->key(), timestamps); | 414 AutofillEntry entry(change->key(), timestamps); |
| 414 syncer::SyncChange::SyncChangeType change_type = | 415 syncer::SyncChange::SyncChangeType change_type = |
| 415 (change->type() == AutofillChange::ADD) ? | 416 (change->type() == AutofillChange::ADD) ? |
| 416 syncer::SyncChange::ACTION_ADD : | 417 syncer::SyncChange::ACTION_ADD : |
| 417 syncer::SyncChange::ACTION_UPDATE; | 418 syncer::SyncChange::ACTION_UPDATE; |
| 418 new_changes.push_back(syncer::SyncChange(change_type, | 419 new_changes.push_back(syncer::SyncChange(FROM_HERE, |
| 419 CreateSyncData(entry))); | 420 change_type, |
| 421 CreateSyncData(entry))); |
| 420 break; | 422 break; |
| 421 } | 423 } |
| 422 case AutofillChange::REMOVE: { | 424 case AutofillChange::REMOVE: { |
| 423 std::vector<base::Time> timestamps; | 425 std::vector<base::Time> timestamps; |
| 424 AutofillEntry entry(change->key(), timestamps); | 426 AutofillEntry entry(change->key(), timestamps); |
| 425 new_changes.push_back( | 427 new_changes.push_back( |
| 426 syncer::SyncChange(syncer::SyncChange::ACTION_DELETE, | 428 syncer::SyncChange(FROM_HERE, |
| 427 CreateSyncData(entry))); | 429 syncer::SyncChange::ACTION_DELETE, |
| 430 CreateSyncData(entry))); |
| 428 break; | 431 break; |
| 429 } | 432 } |
| 430 default: | 433 default: |
| 431 NOTREACHED(); | 434 NOTREACHED(); |
| 432 break; | 435 break; |
| 433 } | 436 } |
| 434 } | 437 } |
| 435 syncer::SyncError error = | 438 syncer::SyncError error = |
| 436 sync_processor_->ProcessSyncChanges(FROM_HERE, new_changes); | 439 sync_processor_->ProcessSyncChanges(FROM_HERE, new_changes); |
| 437 if (error.IsSet()) { | 440 if (error.IsSet()) { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 449 UTF16ToUTF8(entry.key().value()))); | 452 UTF16ToUTF8(entry.key().value()))); |
| 450 return syncer::SyncData::CreateLocalData(tag, tag, autofill_specifics); | 453 return syncer::SyncData::CreateLocalData(tag, tag, autofill_specifics); |
| 451 } | 454 } |
| 452 | 455 |
| 453 // static | 456 // static |
| 454 std::string AutocompleteSyncableService::KeyToTag(const std::string& name, | 457 std::string AutocompleteSyncableService::KeyToTag(const std::string& name, |
| 455 const std::string& value) { | 458 const std::string& value) { |
| 456 std::string ns(kAutofillEntryNamespaceTag); | 459 std::string ns(kAutofillEntryNamespaceTag); |
| 457 return ns + net::EscapePath(name) + "|" + net::EscapePath(value); | 460 return ns + net::EscapePath(name) + "|" + net::EscapePath(value); |
| 458 } | 461 } |
| OLD | NEW |