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

Unified Diff: components/autofill/core/browser/autofill_profile.cc

Issue 1042353003: Create syncable metadata table for Wallet credit cards and addresses. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment about migration code Created 5 years, 8 months 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: components/autofill/core/browser/autofill_profile.cc
diff --git a/components/autofill/core/browser/autofill_profile.cc b/components/autofill/core/browser/autofill_profile.cc
index 196910c39f2d00193239af11532e63258f3f84bc..9ea27e62c6841992e5381cb84594fdb5a70b3203 100644
--- a/components/autofill/core/browser/autofill_profile.cc
+++ b/components/autofill/core/browser/autofill_profile.cc
@@ -15,6 +15,7 @@
#include "base/i18n/case_conversion.h"
#include "base/i18n/char_iterator.h"
#include "base/logging.h"
+#include "base/sha1.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversion_utils.h"
#include "base/strings/utf_string_conversions.h"
@@ -267,7 +268,8 @@ AutofillProfile::AutofillProfile(RecordType type, const std::string& server_id)
record_type_(type),
name_(1),
email_(1),
- phone_number_(1, PhoneNumber(this)) {
+ phone_number_(1, PhoneNumber(this)),
+ server_id_(server_id) {
DCHECK(type == SERVER_PROFILE);
}
@@ -311,6 +313,8 @@ AutofillProfile& AutofillProfile::operator=(const AutofillProfile& profile) {
address_ = profile.address_;
set_language_code(profile.language_code());
+ server_id_ = profile.server_id();
+
return *this;
}
@@ -824,6 +828,26 @@ void AutofillProfile::CreateInferredLabels(
}
}
+void AutofillProfile::GenerateServerProfileIdentifier() {
+ DCHECK_EQ(SERVER_PROFILE, record_type());
+ base::string16 contents = MultiString(*this, NAME_FIRST);
+ contents.append(MultiString(*this, NAME_MIDDLE));
+ contents.append(MultiString(*this, NAME_LAST));
+ contents.append(MultiString(*this, EMAIL_ADDRESS));
+ contents.append(GetRawInfo(COMPANY_NAME));
+ contents.append(GetRawInfo(ADDRESS_HOME_STREET_ADDRESS));
+ contents.append(GetRawInfo(ADDRESS_HOME_DEPENDENT_LOCALITY));
+ contents.append(GetRawInfo(ADDRESS_HOME_CITY));
+ contents.append(GetRawInfo(ADDRESS_HOME_STATE));
+ contents.append(GetRawInfo(ADDRESS_HOME_ZIP));
+ contents.append(GetRawInfo(ADDRESS_HOME_SORTING_CODE));
+ contents.append(GetRawInfo(ADDRESS_HOME_COUNTRY));
+ contents.append(MultiString(*this, PHONE_HOME_WHOLE_NUMBER));
+ std::string contents_utf8 = UTF16ToUTF8(contents);
+ contents_utf8.append(language_code());
+ server_id_ = base::SHA1HashString(contents_utf8);
+}
+
// static
base::string16 AutofillProfile::CanonicalizeProfileString(
const base::string16& str) {
« no previous file with comments | « components/autofill/core/browser/autofill_profile.h ('k') | components/autofill/core/browser/autofill_test_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698