| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/autofill/personal_data_manager.h" | 5 #include "chrome/browser/autofill/personal_data_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <iterator> | 8 #include <iterator> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 observers_.RemoveObserver(observer); | 133 observers_.RemoveObserver(observer); |
| 134 observers_.AddObserver(observer); | 134 observers_.AddObserver(observer); |
| 135 } | 135 } |
| 136 | 136 |
| 137 void PersonalDataManager::RemoveObserver( | 137 void PersonalDataManager::RemoveObserver( |
| 138 PersonalDataManager::Observer* observer) { | 138 PersonalDataManager::Observer* observer) { |
| 139 observers_.RemoveObserver(observer); | 139 observers_.RemoveObserver(observer); |
| 140 } | 140 } |
| 141 | 141 |
| 142 bool PersonalDataManager::ImportFormData( | 142 bool PersonalDataManager::ImportFormData( |
| 143 const std::vector<FormStructure*>& form_structures) { | 143 const std::vector<const FormStructure*>& form_structures) { |
| 144 // Parse the form and construct a profile based on the information that is | 144 // Parse the form and construct a profile based on the information that is |
| 145 // possible to import. | 145 // possible to import. |
| 146 int importable_fields = 0; | 146 int importable_fields = 0; |
| 147 int importable_credit_card_fields = 0; | 147 int importable_credit_card_fields = 0; |
| 148 imported_profile_.reset(new AutoFillProfile); | 148 imported_profile_.reset(new AutoFillProfile); |
| 149 // TODO(jhawkins): Use a hash of the CC# instead of a list of unique IDs? | 149 // TODO(jhawkins): Use a hash of the CC# instead of a list of unique IDs? |
| 150 imported_credit_card_.reset(new CreditCard); | 150 imported_credit_card_.reset(new CreditCard); |
| 151 | 151 |
| 152 std::vector<FormStructure*>::const_iterator iter; | 152 std::vector<const FormStructure*>::const_iterator iter; |
| 153 for (iter = form_structures.begin(); iter != form_structures.end(); ++iter) { | 153 for (iter = form_structures.begin(); iter != form_structures.end(); ++iter) { |
| 154 const FormStructure* form = *iter; | 154 const FormStructure* form = *iter; |
| 155 for (size_t i = 0; i < form->field_count(); ++i) { | 155 for (size_t i = 0; i < form->field_count(); ++i) { |
| 156 const AutoFillField* field = form->field(i); | 156 const AutoFillField* field = form->field(i); |
| 157 string16 value = CollapseWhitespace(field->value(), false); | 157 string16 value = CollapseWhitespace(field->value(), false); |
| 158 | 158 |
| 159 // If we don't know the type of the field, or the user hasn't entered any | 159 // If we don't know the type of the field, or the user hasn't entered any |
| 160 // information into the field, then skip it. | 160 // information into the field, then skip it. |
| 161 if (!field->IsFieldFillable() || value.empty()) | 161 if (!field->IsFieldFillable() || value.empty()) |
| 162 continue; | 162 continue; |
| (...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 } | 792 } |
| 793 | 793 |
| 794 creditcards.push_back(**iter); | 794 creditcards.push_back(**iter); |
| 795 } | 795 } |
| 796 | 796 |
| 797 if (!merged) | 797 if (!merged) |
| 798 creditcards.push_back(*imported_credit_card_); | 798 creditcards.push_back(*imported_credit_card_); |
| 799 | 799 |
| 800 SetCreditCards(&creditcards); | 800 SetCreditCards(&creditcards); |
| 801 } | 801 } |
| OLD | NEW |