1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/public/renderer/password_form_conversion_utils.h"
7 #include "content/public/common/password_form.h"
8 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPasswordFormData.h"
10 using WebKit::WebFormElement
;
11 using WebKit::WebPasswordFormData
;
15 scoped_ptr
<content::PasswordForm
> InitPasswordFormFromWebPasswordForm(
16 const WebKit::WebPasswordFormData
& web_password_form
) {
17 content::PasswordForm
* password_form
= new content::PasswordForm();
18 password_form
->signon_realm
= web_password_form
.signonRealm
.utf8();
19 password_form
->origin
= web_password_form
.origin
;
20 password_form
->action
= web_password_form
.action
;
21 password_form
->submit_element
= web_password_form
.submitElement
;
22 password_form
->username_element
= web_password_form
.userNameElement
;
23 password_form
->username_value
= web_password_form
.userNameValue
;
24 password_form
->password_element
= web_password_form
.passwordElement
;
25 password_form
->password_value
= web_password_form
.passwordValue
;
26 password_form
->password_autocomplete_set
=
27 web_password_form
.passwordShouldAutocomplete
;
28 password_form
->old_password_element
= web_password_form
.oldPasswordElement
;
29 password_form
->old_password_value
= web_password_form
.oldPasswordValue
;
30 password_form
->scheme
= content::PasswordForm::SCHEME_HTML
;
31 password_form
->ssl_valid
= false;
32 password_form
->preferred
= false;
33 password_form
->blacklisted_by_user
= false;
34 password_form
->type
= content::PasswordForm::TYPE_MANUAL
;
35 return scoped_ptr
<content::PasswordForm
>(password_form
);
42 scoped_ptr
<PasswordForm
> CreatePasswordForm(const WebFormElement
& webform
) {
43 WebPasswordFormData
web_password_form(webform
);
44 if (web_password_form
.isValid())
45 return InitPasswordFormFromWebPasswordForm(web_password_form
);
46 return scoped_ptr
<PasswordForm
>(new PasswordForm());
49 } // namespace content