Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: chrome/renderer/autofill_helper.h

Issue 4591001: Display a warning when autofill is disabled for a website. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move the smarts out of RenderViewHost Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #ifndef CHROME_RENDERER_AUTOFILL_HELPER_H_ 5 #ifndef CHROME_RENDERER_AUTOFILL_HELPER_H_
6 #define CHROME_RENDERER_AUTOFILL_HELPER_H_ 6 #define CHROME_RENDERER_AUTOFILL_HELPER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 14 matching lines...) Expand all
25 // This code was originally part of RenderView. 25 // This code was originally part of RenderView.
26 // Note that AutoFill encompasses: 26 // Note that AutoFill encompasses:
27 // - single text field suggestions, that we usually refer to as Autocomplete 27 // - single text field suggestions, that we usually refer to as Autocomplete
28 // - entire form fill based on one field entry, referred to as form AutoFill. 28 // - entire form fill based on one field entry, referred to as form AutoFill.
29 29
30 class AutoFillHelper : public PageClickListener { 30 class AutoFillHelper : public PageClickListener {
31 public: 31 public:
32 explicit AutoFillHelper(RenderView* render_view); 32 explicit AutoFillHelper(RenderView* render_view);
33 33
34 // Queries the browser for Autocomplete and AutoFill suggestions for the given 34 // Queries the browser for Autocomplete and AutoFill suggestions for the given
35 // |node|. 35 // |node|. If |autofill_disabled| is true, the query is guaranteed to return
36 void QueryAutoFillSuggestions(const WebKit::WebNode& node); 36 // no results, but might return a descriptive warning message.
37 void QueryAutoFillSuggestions(const WebKit::WebNode& node,
38 bool autofill_disabled);
37 39
38 // Removes the Autocomplete suggestion |value| for the field named |name|. 40 // Removes the Autocomplete suggestion |value| for the field named |name|.
39 void RemoveAutocompleteSuggestion(const WebKit::WebString& name, 41 void RemoveAutocompleteSuggestion(const WebKit::WebString& name,
40 const WebKit::WebString& value); 42 const WebKit::WebString& value);
41 43
42 // Called when we have received AutoFill suggestions from the browser. 44 // Called when we have received AutoFill suggestions from the browser.
43 void SuggestionsReceived(int query_id, 45 void SuggestionsReceived(int query_id,
44 const std::vector<string16>& values, 46 const std::vector<string16>& values,
45 const std::vector<string16>& labels, 47 const std::vector<string16>& labels,
46 const std::vector<string16>& icons, 48 const std::vector<string16>& icons,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 bool was_focused, 102 bool was_focused,
101 bool is_focused); 103 bool is_focused);
102 104
103 // Shows the autocomplete suggestions for |element|. 105 // Shows the autocomplete suggestions for |element|.
104 // This call is asynchronous and may or may not lead to the showing of a 106 // This call is asynchronous and may or may not lead to the showing of a
105 // suggestion popup (no popup is shown if there are no available suggestions). 107 // suggestion popup (no popup is shown if there are no available suggestions).
106 // |autofill_on_empty_values| specifies whether suggestions should be shown 108 // |autofill_on_empty_values| specifies whether suggestions should be shown
107 // when |element| contains no text. 109 // when |element| contains no text.
108 // |requires_caret_at_end| specifies whether suggestions should be shown when 110 // |requires_caret_at_end| specifies whether suggestions should be shown when
109 // the caret is not after the last character in |element|. 111 // the caret is not after the last character in |element|.
112 // |display_warning_if_disabled| specifies whether a warning should be
113 // displayed to the user if autofill has suggestions available, but cannot
dhollowa 2010/11/15 18:47:57 nit: s/autofill/AutoFill/
Ilya Sherman 2010/11/15 22:53:32 Done.
114 // fill them because it is disabled (e.g. when trying to fill a credit card
115 // form on a non-secure website).
110 void ShowSuggestions(const WebKit::WebInputElement& element, 116 void ShowSuggestions(const WebKit::WebInputElement& element,
111 bool autofill_on_empty_values, 117 bool autofill_on_empty_values,
112 bool requires_caret_at_end); 118 bool requires_caret_at_end,
119 bool display_warning_if_disabled);
113 120
114 // Queries the AutoFillManager for form data for the form containing |node|. 121 // Queries the AutoFillManager for form data for the form containing |node|.
115 // |value| is the current text in the field, and |unique_id| is the selected 122 // |value| is the current text in the field, and |unique_id| is the selected
116 // profile's unique ID. |action| specifies whether to Fill or Preview the 123 // profile's unique ID. |action| specifies whether to Fill or Preview the
117 // values returned from the AutoFillManager. 124 // values returned from the AutoFillManager.
118 void QueryAutoFillFormData(const WebKit::WebNode& node, 125 void QueryAutoFillFormData(const WebKit::WebNode& node,
119 int unique_id, 126 int unique_id,
120 AutoFillAction action); 127 AutoFillAction action);
121 128
122 // Scans the given frame for forms and sends them up to the browser. 129 // Scans the given frame for forms and sends them up to the browser.
123 void SendForms(WebKit::WebFrame* frame); 130 void SendForms(WebKit::WebFrame* frame);
124 131
125 // Weak reference. 132 // Weak reference.
126 RenderView* render_view_; 133 RenderView* render_view_;
127 134
128 FormManager form_manager_; 135 FormManager form_manager_;
129 136
130 // The ID of the last request sent for form field AutoFill. Used to ignore 137 // The ID of the last request sent for form field AutoFill. Used to ignore
131 // out of date responses. 138 // out of date responses.
132 int autofill_query_id_; 139 int autofill_query_id_;
133 140
134 // The node corresponding to the last request sent for form field AutoFill. 141 // The node corresponding to the last request sent for form field AutoFill.
135 WebKit::WebNode autofill_query_node_; 142 WebKit::WebNode autofill_query_node_;
136 143
144 // Whether autofill is disabled for |autofill_query_node_| by the website.
145 bool autofill_disabled_;
146
137 // The action to take when receiving AutoFill data from the AutoFillManager. 147 // The action to take when receiving AutoFill data from the AutoFillManager.
138 AutoFillAction autofill_action_; 148 AutoFillAction autofill_action_;
139 149
140 // The menu index of the "Clear" menu item. 150 // The menu index of the "Clear" menu item.
141 int suggestions_clear_index_; 151 int suggestions_clear_index_;
142 152
143 // The menu index of the "AutoFill options..." menu item. 153 // The menu index of the "AutoFill options..." menu item.
144 int suggestions_options_index_; 154 int suggestions_options_index_;
145 155
146 DISALLOW_COPY_AND_ASSIGN(AutoFillHelper); 156 DISALLOW_COPY_AND_ASSIGN(AutoFillHelper);
147 }; 157 };
148 158
149 #endif // CHROME_RENDERER_AUTOFILL_HELPER_H_ 159 #endif // CHROME_RENDERER_AUTOFILL_HELPER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698