| Index: chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| index ee105e164d50a65e30a2d66ee9a19308bc9c4eee..b423e308d4186bf46f79284f4b3541951fecdba0 100644
|
| --- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| +++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| @@ -349,7 +349,7 @@ void EasyUnlockPrivatePerformECDHKeyAgreementFunction::OnData(
|
| // TODO(tbarzic): Improve error handling.
|
| if (!secret_key.empty()) {
|
| results_ = easy_unlock_private::PerformECDHKeyAgreement::Results::Create(
|
| - secret_key);
|
| + std::vector<char>(secret_key.begin(), secret_key.end()));
|
| }
|
| SendResponse(true);
|
| }
|
| @@ -373,7 +373,8 @@ void EasyUnlockPrivateGenerateEcP256KeyPairFunction::OnData(
|
| // TODO(tbarzic): Improve error handling.
|
| if (!public_key.empty() && !private_key.empty()) {
|
| results_ = easy_unlock_private::GenerateEcP256KeyPair::Results::Create(
|
| - public_key, private_key);
|
| + std::vector<char>(public_key.begin(), public_key.end()),
|
| + std::vector<char>(private_key.begin(), private_key.end()));
|
| }
|
| SendResponse(true);
|
| }
|
| @@ -401,7 +402,7 @@ void EasyUnlockPrivateCreateSecureMessageFunction::OnData(
|
| // TODO(tbarzic): Improve error handling.
|
| if (!message.empty()) {
|
| results_ = easy_unlock_private::CreateSecureMessage::Results::Create(
|
| - message);
|
| + std::vector<char>(message.begin(), message.end()));
|
| }
|
| SendResponse(true);
|
| }
|
| @@ -427,8 +428,10 @@ bool EasyUnlockPrivateUnwrapSecureMessageFunction::RunAsync() {
|
| void EasyUnlockPrivateUnwrapSecureMessageFunction::OnData(
|
| const std::string& data) {
|
| // TODO(tbarzic): Improve error handling.
|
| - if (!data.empty())
|
| - results_ = easy_unlock_private::UnwrapSecureMessage::Results::Create(data);
|
| + if (!data.empty()) {
|
| + results_ = easy_unlock_private::UnwrapSecureMessage::Results::Create(
|
| + std::vector<char>(data.begin(), data.end()));
|
| + }
|
| SendResponse(true);
|
| }
|
|
|
| @@ -625,9 +628,8 @@ bool EasyUnlockPrivateGetSignInChallengeFunction::RunAsync() {
|
| }
|
| key_manager->SignUsingTpmKey(
|
| EasyUnlockService::Get(profile)->GetUserEmail(),
|
| - params->nonce,
|
| - base::Bind(&EasyUnlockPrivateGetSignInChallengeFunction::OnDone,
|
| - this,
|
| + std::string(params->nonce.begin(), params->nonce.end()),
|
| + base::Bind(&EasyUnlockPrivateGetSignInChallengeFunction::OnDone, this,
|
| challenge));
|
| } else {
|
| OnDone(challenge, std::string());
|
| @@ -643,7 +645,8 @@ void EasyUnlockPrivateGetSignInChallengeFunction::OnDone(
|
| const std::string& challenge,
|
| const std::string& signed_nonce) {
|
| results_ = easy_unlock_private::GetSignInChallenge::Results::Create(
|
| - challenge, signed_nonce);
|
| + std::vector<char>(challenge.begin(), challenge.end()),
|
| + std::vector<char>(signed_nonce.begin(), signed_nonce.end()));
|
| SendResponse(true);
|
| }
|
|
|
| @@ -661,7 +664,8 @@ bool EasyUnlockPrivateTrySignInSecretFunction::RunSync() {
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
|
|
| Profile* profile = Profile::FromBrowserContext(browser_context());
|
| - EasyUnlockService::Get(profile)->FinalizeSignin(params->sign_in_secret);
|
| + EasyUnlockService::Get(profile)->FinalizeSignin(std::string(
|
| + params->sign_in_secret.begin(), params->sign_in_secret.end()));
|
| return true;
|
| }
|
|
|
| @@ -707,12 +711,14 @@ bool EasyUnlockPrivateGetUserImageFunction::RunSync() {
|
| chromeos::options::UserImageSource::GetUserImage(
|
| service->GetUserEmail(), supported_scale_factors.back());
|
|
|
| - results_ = easy_unlock_private::GetUserImage::Results::Create(std::string(
|
| - reinterpret_cast<const char*>(user_image->front()), user_image->size()));
|
| + results_ =
|
| + easy_unlock_private::GetUserImage::Results::Create(std::vector<char>(
|
| + user_image->front(), user_image->front() + user_image->size()));
|
| #else
|
| // TODO(tengs): Find a way to get the profile picture for non-ChromeOS
|
| // devices.
|
| - results_ = easy_unlock_private::GetUserImage::Results::Create("");
|
| + results_ =
|
| + easy_unlock_private::GetUserImage::Results::Create(std::vector<char>());
|
| SetError("Not supported on non-ChromeOS platforms.");
|
| #endif
|
| return true;
|
|
|