| Index: third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp
|
| diff --git a/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp b/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp
|
| index 9fcbacbfa87eeffff5f96106b0cc66f2886d0420..969ddccc232377b994dcf272cc4a74fb368a8510 100644
|
| --- a/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp
|
| +++ b/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp
|
| @@ -83,11 +83,24 @@ PasswordCredential* PasswordCredential::create(HTMLFormElement* form, ExceptionS
|
| ASSERT(credential);
|
|
|
| // After creating the Credential, populate its 'additionalData', 'idName', and 'passwordName' attributes.
|
| - FormDataOrURLSearchParams additionalData;
|
| - additionalData.setFormData(formData);
|
| - credential->setAdditionalData(additionalData);
|
| + // If the form's 'enctype' is anything other than multipart, generate a URLSearchParams using the
|
| + // data in |formData|.
|
| credential->setIdName(idName);
|
| credential->setPasswordName(passwordName);
|
| +
|
| + FormDataOrURLSearchParams additionalData;
|
| + if (form->enctype() == "multipart/form-data") {
|
| + additionalData.setFormData(formData);
|
| + } else {
|
| + URLSearchParams* params = URLSearchParams::create(URLSearchParamsInit());
|
| + for (const FormData::Entry* entry : formData->entries()) {
|
| + if (entry->isString())
|
| + params->append(entry->name().data(), entry->value().data());
|
| + }
|
| + additionalData.setURLSearchParams(params);
|
| + }
|
| +
|
| + credential->setAdditionalData(additionalData);
|
| return credential;
|
| }
|
|
|
|
|