Chromium Code Reviews| Index: chrome/browser/autofill/autocheckout_manager.cc |
| diff --git a/chrome/browser/autofill/autocheckout_manager.cc b/chrome/browser/autofill/autocheckout_manager.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ef40370e70c88fd38ca7cec780e95faf123e8f2a |
| --- /dev/null |
| +++ b/chrome/browser/autofill/autocheckout_manager.cc |
| @@ -0,0 +1,70 @@ |
| +// Copyright (c) 2013 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 "chrome/browser/autofill/autocheckout_manager.h" |
| + |
| +#include "base/basictypes.h" |
| +#include "base/bind.h" |
| +#include "chrome/browser/ui/autofill/autofill_dialog_controller.h" |
| +#include "chrome/common/form_data.h" |
| +#include "chrome/common/form_field_data.h" |
| +#include "content/public/browser/web_contents.h" |
| +#include "content/public/common/ssl_status.h" |
| +#include "googleurl/src/gurl.h" |
| + |
| +using content::SSLStatus; |
| +using content::WebContents; |
| + |
| +// static |
| +FormFieldData AutocheckoutManager::BuildField( |
| + const std::string& autocomplete_attribute) { |
| + FormFieldData field; |
| + field.name = string16(); |
| + field.value = string16(); |
| + field.autocomplete_attribute = autocomplete_attribute; |
| + field.form_control_type = "text"; |
| + return field; |
| +} |
| + |
| +// static |
| +FormData AutocheckoutManager::BuildAutocheckoutFormData() { |
| + FormData formdata; |
| + formdata.fields.push_back(BuildField("name")); |
| + formdata.fields.push_back(BuildField("email")); |
| + formdata.fields.push_back(BuildField("cc-name")); |
| + formdata.fields.push_back(BuildField("cc-number")); |
| + formdata.fields.push_back(BuildField("cc-exp")); |
| + formdata.fields.push_back(BuildField("cc-csc")); |
| + formdata.fields.push_back(BuildField("billing street-address")); |
| + formdata.fields.push_back(BuildField("billing locality")); |
| + formdata.fields.push_back(BuildField("billing region")); |
| + formdata.fields.push_back(BuildField("billing country")); |
| + formdata.fields.push_back(BuildField("billing postal-code")); |
| + formdata.fields.push_back(BuildField("shipping street-address")); |
| + formdata.fields.push_back(BuildField("shipping locality")); |
| + formdata.fields.push_back(BuildField("shipping region")); |
| + formdata.fields.push_back(BuildField("shipping country")); |
| + formdata.fields.push_back(BuildField("shipping postal-code")); |
| + return formdata; |
| +} |
| + |
| +void AutocheckoutManager::ShowAutocheckoutDialog( |
| + const GURL& frame_url, const SSLStatus& ssl_status, |
|
Ilya Sherman
2013/01/17 01:21:44
nit: Each parameter should be on its own line.
Raman Kakilate
2013/01/17 06:40:33
Done.
|
| + WebContents* web_contents) { |
| + base::Callback<void(const FormStructure*)> callback = |
| + base::Bind(&AutocheckoutManager::ReturnAutocheckoutData, this); |
| + autofill::AutofillDialogController* controller = |
| + new autofill::AutofillDialogController(web_contents, |
| + BuildAutocheckoutFormData(), |
| + frame_url, |
| + ssl_status, |
| + callback); |
| + controller->Show(); |
| +} |
| + |
| +void AutocheckoutManager::ReturnAutocheckoutData(const FormStructure* result) { |
| + // TODO(ramankk): Parse the response FormStructure. |
| +} |
| + |
| +AutocheckoutManager::~AutocheckoutManager() {} |