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

Unified Diff: chrome/browser/sync/glue/autofill_change_processor.cc

Issue 5159001: Rest of the autofill work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch uploaded to debug why try servers have problem applying this patch. Created 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/autofill_change_processor.cc
diff --git a/chrome/browser/sync/glue/autofill_change_processor.cc b/chrome/browser/sync/glue/autofill_change_processor.cc
index eed58fcb4798e782f771147eaadec84e00ef70d0..e72c7c3180f2c17663eb31efbf3f5237e35d3136 100644
--- a/chrome/browser/sync/glue/autofill_change_processor.cc
+++ b/chrome/browser/sync/glue/autofill_change_processor.cc
@@ -9,16 +9,20 @@
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
+#include "chrome/browser/autofill/personal_data_manager.h"
#include "chrome/browser/guid.h"
+#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/autofill/personal_data_manager.h"
#include "chrome/browser/sync/glue/autofill_change_processor2.h"
#include "chrome/browser/sync/glue/autofill_model_associator.h"
+#include "chrome/browser/sync/glue/autofill_profile_model_associator.h"
+#include "chrome/browser/sync/glue/do_optimistic_refresh_task.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/webdata/autofill_change.h"
#include "chrome/browser/webdata/web_data_service.h"
#include "chrome/browser/webdata/web_database.h"
#include "chrome/common/notification_service.h"
+#include "chrome/common/pref_names.h"
namespace browser_sync {
@@ -83,7 +87,7 @@ void AutofillChangeProcessor::Observe(NotificationType type,
void AutofillChangeProcessor::PostOptimisticRefreshTask() {
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
- new AutofillModelAssociator::DoOptimisticRefreshTask(
+ new DoOptimisticRefreshForAutofill(
personal_data_));
}
@@ -195,6 +199,8 @@ void AutofillChangeProcessor::ApplyChangesFromSyncModel(
return;
StopObserving();
+ bool autofill_profile_not_migrated = HasNotMigratedYet(trans);
+
sync_api::ReadNode autofill_root(trans);
if (!autofill_root.InitByTagLookup(kAutofillTag)) {
error_handler()->OnUnrecoverableError(FROM_HERE,
@@ -210,7 +216,7 @@ void AutofillChangeProcessor::ApplyChangesFromSyncModel(
const sync_pb::AutofillSpecifics& autofill =
changes[i].specifics.GetExtension(sync_pb::autofill);
if (autofill.has_value() ||
- (HasNotMigratedYet() && autofill.has_profile())) {
+ (autofill_profile_not_migrated && autofill.has_profile())) {
autofill_changes_.push_back(AutofillChangeRecord(changes[i].action,
changes[i].id,
autofill));
@@ -236,7 +242,7 @@ void AutofillChangeProcessor::ApplyChangesFromSyncModel(
sync_node.GetAutofillSpecifics());
int64 sync_id = sync_node.GetId();
if (autofill.has_value() ||
- (HasNotMigratedYet() && autofill.has_profile())) {
+ (autofill_profile_not_migrated && autofill.has_profile())) {
autofill_changes_.push_back(AutofillChangeRecord(changes[i].action,
sync_id, autofill));
} else {
@@ -261,7 +267,6 @@ void AutofillChangeProcessor::CommitChangesFromSyncModel() {
if (autofill_changes_[i].autofill_.has_value()) {
ApplySyncAutofillEntryDelete(autofill_changes_[i].autofill_);
} else if (autofill_changes_[i].autofill_.has_profile()) {
- DCHECK(HasNotMigratedYet());
ApplySyncAutofillProfileDelete(autofill_changes_[i].id_);
} else {
NOTREACHED() << "Autofill's CommitChanges received change with no"
@@ -276,7 +281,6 @@ void AutofillChangeProcessor::CommitChangesFromSyncModel() {
autofill_changes_[i].autofill_, &new_entries,
autofill_changes_[i].id_);
} else if (autofill_changes_[i].autofill_.has_profile()) {
- DCHECK(HasNotMigratedYet());
ApplySyncAutofillProfileChange(autofill_changes_[i].action_,
autofill_changes_[i].autofill_.profile(),
autofill_changes_[i].id_);
@@ -433,40 +437,9 @@ void AutofillChangeProcessor::WriteAutofillEntry(
node->SetAutofillSpecifics(autofill);
}
-// static
-void AutofillChangeProcessor::WriteAutofillProfile(
- const AutoFillProfile& profile, sync_api::WriteNode* node) {
- sync_pb::AutofillSpecifics autofill;
- sync_pb::AutofillProfileSpecifics* s(autofill.mutable_profile());
- s->set_name_first(UTF16ToUTF8(
- profile.GetFieldText(AutoFillType(NAME_FIRST))));
- s->set_name_middle(UTF16ToUTF8(
- profile.GetFieldText(AutoFillType(NAME_MIDDLE))));
- s->set_name_last(UTF16ToUTF8(profile.GetFieldText(AutoFillType(NAME_LAST))));
- s->set_address_home_line1(
- UTF16ToUTF8(profile.GetFieldText(AutoFillType(ADDRESS_HOME_LINE1))));
- s->set_address_home_line2(
- UTF16ToUTF8(profile.GetFieldText(AutoFillType(ADDRESS_HOME_LINE2))));
- s->set_address_home_city(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(ADDRESS_HOME_CITY))));
- s->set_address_home_state(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(ADDRESS_HOME_STATE))));
- s->set_address_home_country(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(ADDRESS_HOME_COUNTRY))));
- s->set_address_home_zip(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(ADDRESS_HOME_ZIP))));
- s->set_email_address(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(EMAIL_ADDRESS))));
- s->set_company_name(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(COMPANY_NAME))));
- s->set_phone_fax_whole_number(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(PHONE_FAX_WHOLE_NUMBER))));
- s->set_phone_home_whole_number(UTF16ToUTF8(profile.GetFieldText(
- AutoFillType(PHONE_HOME_WHOLE_NUMBER))));
- node->SetAutofillSpecifics(autofill);
-}
-bool AutofillChangeProcessor::HasNotMigratedYet() {
- return true;
+bool AutofillChangeProcessor::HasNotMigratedYet(
+ const sync_api::BaseTransaction* trans) {
+ return model_associator_->HasNotMigratedYet(trans);
}
} // namespace browser_sync
« no previous file with comments | « chrome/browser/sync/glue/autofill_change_processor.h ('k') | chrome/browser/sync/glue/autofill_change_processor2.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698