diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-20 01:06:05 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-20 01:06:05 +0000 |
commit | 3abf757860d29f2939b70b6ac862981169d61939 (patch) | |
tree | dcde44ad1702392b2ca17c730972673dbc546bd8 /chrome/renderer | |
parent | 26adfd31b7e36d5fd1ec34e82f6248671c8468f6 (diff) | |
download | chromium_src-3abf757860d29f2939b70b6ac862981169d61939.zip chromium_src-3abf757860d29f2939b70b6ac862981169d61939.tar.gz chromium_src-3abf757860d29f2939b70b6ac862981169d61939.tar.bz2 |
AutoFill: Several functional fixes:
* Don't fill CC data on non-HTTPS pages.
* Don't display non-unique suggestions in the popup.
* Fix displaying the 'AutoFill Options' suggestion (was a regression).
BUG=48499
TEST=none
Review URL: http://codereview.chromium.org/3040004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52980 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/render_view.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index 31a355e9..d9360c6 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -1526,6 +1526,10 @@ void RenderView::OnAutoFillSuggestionsReturned( // Any popup currently showing is now obsolete. webview()->hidePopups(); + // No suggestions: nothing to do. + if (values.empty()) + return; + std::vector<string16> v(values); std::vector<string16> l(labels); std::vector<int> ids(unique_ids); @@ -1541,15 +1545,15 @@ void RenderView::OnAutoFillSuggestionsReturned( separator_index = values.size(); } - size_t labeled_item_count = 0; - for (size_t i = 0; i < l.size(); ++i) { - if (!l[i].empty()) - labeled_item_count++; + size_t autofill_item_count = 0; + for (size_t i = 0; i < ids.size(); ++i) { + if (ids[i] != 0) + autofill_item_count++; } - // Only include "AutoFill Options" special menu item if we have labeled - // items. - if (labeled_item_count > 0) { + // Only include "AutoFill Options" special menu item if we have AutoFill + // items, identified by |unique_ids| having at least one valid value. + if (autofill_item_count > 0) { // Append the 'AutoFill Options...' menu item. v.push_back(l10n_util::GetStringUTF16(IDS_AUTOFILL_OPTIONS)); l.push_back(string16()); @@ -1559,9 +1563,10 @@ void RenderView::OnAutoFillSuggestionsReturned( } // Send to WebKit for display. - if (!v.empty()) + if (!v.empty()) { webview()->applyAutoFillSuggestions( autofill_query_node_, v, l, ids, separator_index); + } } void RenderView::OnAutoFillFormDataFilled(int query_id, |