blob: ad41eb55b6b5187c0079d98c222a0e398dd1c101 [file] [log] [blame]
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/public/renderer/password_form_conversion_utils.h"
#include "content/public/common/password_form.h"
#include "third_party/WebKit/public/web/WebPasswordFormData.h"
using WebKit::WebFormElement;
using WebKit::WebPasswordFormData;
namespace content {
namespace {
scoped_ptr<PasswordForm> InitPasswordFormFromWebPasswordForm(
const WebKit::WebPasswordFormData& web_password_form) {
PasswordForm* password_form = new PasswordForm();
password_form->signon_realm = web_password_form.signonRealm.utf8();
password_form->origin = web_password_form.origin;
password_form->action = web_password_form.action;
password_form->submit_element = web_password_form.submitElement;
password_form->username_element = web_password_form.userNameElement;
password_form->username_value = web_password_form.userNameValue;
password_form->other_possible_usernames.insert(
password_form->other_possible_usernames.begin(),
web_password_form.possibleUserNames.data(),
web_password_form.possibleUserNames.data() +
web_password_form.possibleUserNames.size());
password_form->password_element = web_password_form.passwordElement;
password_form->password_value = web_password_form.passwordValue;
password_form->password_autocomplete_set =
web_password_form.passwordShouldAutocomplete;
password_form->old_password_element = web_password_form.oldPasswordElement;
password_form->old_password_value = web_password_form.oldPasswordValue;
password_form->scheme = PasswordForm::SCHEME_HTML;
password_form->ssl_valid = false;
password_form->preferred = false;
password_form->blacklisted_by_user = false;
password_form->type = PasswordForm::TYPE_MANUAL;
return scoped_ptr<PasswordForm>(password_form);
}
} // namespace
scoped_ptr<PasswordForm> CreatePasswordForm(const WebFormElement& webform) {
WebPasswordFormData web_password_form(webform);
if (web_password_form.isValid())
return InitPasswordFormFromWebPasswordForm(web_password_form);
return scoped_ptr<PasswordForm>();
}
} // namespace content