Index: content/renderer/password_form_conversion_utils.cc |
diff --git a/content/renderer/password_form_conversion_utils.cc b/content/renderer/password_form_conversion_utils.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..27687bf969b32365dedfcdaece811b475743c2f6 |
--- /dev/null |
+++ b/content/renderer/password_form_conversion_utils.cc |
@@ -0,0 +1,47 @@ |
+// 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/Source/WebKit/chromium/public/WebPasswordFormData.h" |
+ |
+using WebKit::WebFormElement; |
+using WebKit::WebPasswordFormData; |
+ |
+namespace { |
+ |
+scoped_ptr<content::PasswordForm> InitPasswordFormFromWebPasswordForm( |
+ const WebKit::WebPasswordFormData& web_password_form) { |
+ content::PasswordForm* password_form = new content::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->password_element = web_password_form.passwordElement; |
+ password_form->password_value = web_password_form.passwordValue; |
+ password_form->old_password_element = web_password_form.oldPasswordElement; |
+ password_form->old_password_value = web_password_form.oldPasswordValue; |
+ password_form->scheme = content::PasswordForm::SCHEME_HTML; |
+ password_form->ssl_valid = false; |
+ password_form->preferred = false; |
+ password_form->blacklisted_by_user = false; |
+ password_form->type = content::PasswordForm::TYPE_MANUAL; |
+ return scoped_ptr<content::PasswordForm>(password_form); |
+} |
+ |
+} // namespace |
+ |
+namespace content { |
+ |
+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>(new PasswordForm()); |
+} |
+ |
+} // namespace content |