| Index: components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service.cc
|
| diff --git a/components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service.cc b/components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service.cc
|
| index 1f3b96292a94f5908e95d00b58492a7046a80033..1eb673f8fcc2e5789780522ebee68ac0bbced5b9 100644
|
| --- a/components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service.cc
|
| +++ b/components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service.h"
|
|
|
| +#include "base/base64.h"
|
| #include "base/bind.h"
|
| #include "base/containers/scoped_ptr_hash_map.h"
|
| #include "base/location.h"
|
| @@ -74,8 +75,7 @@ void UndeleteMetadataIfExisting(
|
| scoped_ptr<DataType> local_metadata = locals->take_and_erase(it);
|
| changes_to_sync->push_back(syncer::SyncChange(
|
| FROM_HERE, syncer::SyncChange::ACTION_ADD,
|
| - BuildSyncData(metadata_type, local_metadata->server_id(),
|
| - *local_metadata)));
|
| + BuildSyncData(metadata_type, server_id, *local_metadata)));
|
| }
|
| }
|
|
|
| @@ -192,6 +192,13 @@ bool MergeRemote(
|
| return true;
|
| }
|
|
|
| +template <typename DataType>
|
| +std::string GetServerId(const DataType& data) {
|
| + std::string server_id;
|
| + base::Base64Encode(data.server_id(), &server_id);
|
| + return server_id;
|
| +}
|
| +
|
| } // namespace
|
|
|
| AutofillWalletMetadataSyncableService::
|
| @@ -333,7 +340,7 @@ void AutofillWalletMetadataSyncableService::AutofillProfileChanged(
|
|
|
| if (sync_processor_ && change.data_model() &&
|
| change.data_model()->record_type() != AutofillProfile::LOCAL_PROFILE) {
|
| - AutofillDataModelChanged(change.data_model()->server_id(),
|
| + AutofillDataModelChanged(GetServerId(*change.data_model()),
|
| sync_pb::WalletMetadataSpecifics::ADDRESS,
|
| *change.data_model());
|
| }
|
| @@ -345,7 +352,7 @@ void AutofillWalletMetadataSyncableService::CreditCardChanged(
|
|
|
| if (sync_processor_ && change.data_model() &&
|
| change.data_model()->record_type() != CreditCard::LOCAL_CARD) {
|
| - AutofillDataModelChanged(change.data_model()->server_id(),
|
| + AutofillDataModelChanged(GetServerId(*change.data_model()),
|
| sync_pb::WalletMetadataSpecifics::CARD,
|
| *change.data_model());
|
| }
|
| @@ -389,7 +396,7 @@ bool AutofillWalletMetadataSyncableService::GetLocalData(
|
| AutofillTable::FromWebDatabase(web_data_backend_->GetDatabase())
|
| ->GetServerProfiles(&profile_list.get());
|
| while (!profile_list.empty()) {
|
| - profiles->add(profile_list.front()->server_id(),
|
| + profiles->add(GetServerId(*profile_list.front()),
|
| make_scoped_ptr(profile_list.front()));
|
| profile_list.weak_erase(profile_list.begin());
|
| }
|
| @@ -398,7 +405,7 @@ bool AutofillWalletMetadataSyncableService::GetLocalData(
|
| success &= AutofillTable::FromWebDatabase(web_data_backend_->GetDatabase())
|
| ->GetServerCreditCards(&card_list.get());
|
| while (!card_list.empty()) {
|
| - cards->add(card_list.front()->server_id(),
|
| + cards->add(GetServerId(*card_list.front()),
|
| make_scoped_ptr(card_list.front()));
|
| card_list.weak_erase(card_list.begin());
|
| }
|
|
|