summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-20 01:06:05 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-20 01:06:05 +0000
commit3abf757860d29f2939b70b6ac862981169d61939 (patch)
treedcde44ad1702392b2ca17c730972673dbc546bd8 /chrome/renderer
parent26adfd31b7e36d5fd1ec34e82f6248671c8468f6 (diff)
downloadchromium_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.cc21
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,