| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 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 | 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/glue/autofill_model_associator.h" | 5 #include "chrome/browser/sync/glue/autofill_model_associator.h" |
| 6 | 6 |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "chrome/browser/profile.h" | 8 #include "chrome/browser/profile.h" |
| 9 #include "chrome/browser/sync/engine/syncapi.h" | 9 #include "chrome/browser/sync/engine/syncapi.h" |
| 10 #include "chrome/browser/sync/profile_sync_service.h" | 10 #include "chrome/browser/sync/profile_sync_service.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 LOG(INFO) << "Associating Autofill Models"; | 34 LOG(INFO) << "Associating Autofill Models"; |
| 35 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::DB)); | 35 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::DB)); |
| 36 | 36 |
| 37 // TODO(zork): Attempt to load the model association from storage. | 37 // TODO(zork): Attempt to load the model association from storage. |
| 38 std::vector<AutofillEntry> entries; | 38 std::vector<AutofillEntry> entries; |
| 39 if (!web_database_->GetAllAutofillEntries(&entries)) { | 39 if (!web_database_->GetAllAutofillEntries(&entries)) { |
| 40 LOG(ERROR) << "Could not get the autofill entries."; | 40 LOG(ERROR) << "Could not get the autofill entries."; |
| 41 return false; | 41 return false; |
| 42 } | 42 } |
| 43 | 43 |
| 44 int64 root_id; | |
| 45 if (!GetSyncIdForTaggedNode(kAutofillTag, &root_id)) { | |
| 46 sync_service_->OnUnrecoverableError(); | |
| 47 LOG(ERROR) << "Server did not create the top-level autofill node. We " | |
| 48 << "might be running against an out-of-date server."; | |
| 49 return false; | |
| 50 } | |
| 51 | |
| 52 sync_api::WriteTransaction trans( | 44 sync_api::WriteTransaction trans( |
| 53 sync_service_->backend()->GetUserShareHandle()); | 45 sync_service_->backend()->GetUserShareHandle()); |
| 54 sync_api::ReadNode autofill_root(&trans); | 46 sync_api::ReadNode autofill_root(&trans); |
| 55 if (!autofill_root.InitByIdLookup(root_id)) { | 47 if (!autofill_root.InitByTagLookup(kAutofillTag)) { |
| 56 error_handler_->OnUnrecoverableError(); | 48 error_handler_->OnUnrecoverableError(); |
| 57 LOG(ERROR) << "Server did not create the top-level autofill node. We " | 49 LOG(ERROR) << "Server did not create the top-level autofill node. We " |
| 58 << "might be running against an out-of-date server."; | 50 << "might be running against an out-of-date server."; |
| 59 return false; | 51 return false; |
| 60 } | 52 } |
| 61 | 53 |
| 62 std::set<AutofillKey> current_entries; | 54 std::set<AutofillKey> current_entries; |
| 63 std::vector<AutofillEntry> new_entries; | 55 std::vector<AutofillEntry> new_entries; |
| 64 | 56 |
| 65 for (std::vector<AutofillEntry>::iterator ix = entries.begin(); | 57 for (std::vector<AutofillEntry>::iterator ix = entries.begin(); |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 | 279 |
| 288 if (different) { | 280 if (different) { |
| 289 new_timestamps->insert(new_timestamps->begin(), | 281 new_timestamps->insert(new_timestamps->begin(), |
| 290 timestamp_union.begin(), | 282 timestamp_union.begin(), |
| 291 timestamp_union.end()); | 283 timestamp_union.end()); |
| 292 } | 284 } |
| 293 return different; | 285 return different; |
| 294 } | 286 } |
| 295 | 287 |
| 296 } // namespace browser_sync | 288 } // namespace browser_sync |
| OLD | NEW |