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

Side by Side Diff: components/autofill/content/renderer/autofill_agent.h

Issue 753393004: Add flag for single click autofill (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: histograms Created 6 years 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 COMPONENTS_AUTOFILL_CONTENT_RENDERER_AUTOFILL_AGENT_H_ 5 #ifndef COMPONENTS_AUTOFILL_CONTENT_RENDERER_AUTOFILL_AGENT_H_
6 #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_AUTOFILL_AGENT_H_ 6 #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_AUTOFILL_AGENT_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 public: 47 public:
48 // PasswordAutofillAgent is guaranteed to outlive AutofillAgent. 48 // PasswordAutofillAgent is guaranteed to outlive AutofillAgent.
49 // PasswordGenerationAgent may be NULL. If it is not, then it is also 49 // PasswordGenerationAgent may be NULL. If it is not, then it is also
50 // guaranteed to outlive AutofillAgent. 50 // guaranteed to outlive AutofillAgent.
51 AutofillAgent(content::RenderView* render_view, 51 AutofillAgent(content::RenderView* render_view,
52 PasswordAutofillAgent* password_autofill_manager, 52 PasswordAutofillAgent* password_autofill_manager,
53 PasswordGenerationAgent* password_generation_agent); 53 PasswordGenerationAgent* password_generation_agent);
54 virtual ~AutofillAgent(); 54 virtual ~AutofillAgent();
55 55
56 private: 56 private:
57 // Flags passed to ShowSuggestions.
58 struct ShowSuggestionsOptions {
59 // All fields are default initialized to false.
60 ShowSuggestionsOptions();
61
62 // Specifies that suggestions should be shown when |element| contains no
63 // text.
64 bool autofill_on_empty_values;
65
66 // Specifies that suggestions should be shown when the caret is not
67 // after the last character in the element.
68 bool requires_caret_at_end;
69
70 // Specifies that a warning should be displayed to the user if Autofill has
71 // suggestions available, but cannot fill them because it is disabled (e.g.
72 // when trying to fill a credit card form on a non-secure website).
73 bool display_warning_if_disabled;
74
75 // Specifies that all of <datalist> suggestions and no autofill suggestions
76 // are shown. |autofill_on_empty_values| and |requires_caret_at_end| are
77 // ignored if |datalist_only| is true.
78 bool datalist_only;
79
80 // Specifies that all autofill suggestions should be shown and none should
81 // be elided because of the current value of |element| (relevant for inline
82 // autocomplete).
83 bool show_full_suggestion_list;
84
85 // Specifies that only show a suggestions box if |element| is part of a
86 // password form, otherwise show no suggestions.
87 bool show_password_suggestions_only;
88 };
89
57 // content::RenderViewObserver: 90 // content::RenderViewObserver:
58 bool OnMessageReceived(const IPC::Message& message) override; 91 bool OnMessageReceived(const IPC::Message& message) override;
59 void DidFinishDocumentLoad(blink::WebLocalFrame* frame) override; 92 void DidFinishDocumentLoad(blink::WebLocalFrame* frame) override;
60 void DidCommitProvisionalLoad(blink::WebLocalFrame* frame, 93 void DidCommitProvisionalLoad(blink::WebLocalFrame* frame,
61 bool is_new_navigation) override; 94 bool is_new_navigation) override;
62 void FrameDetached(blink::WebFrame* frame) override; 95 void FrameDetached(blink::WebFrame* frame) override;
63 void FrameWillClose(blink::WebFrame* frame) override; 96 void FrameWillClose(blink::WebFrame* frame) override;
64 void WillSubmitForm(blink::WebLocalFrame* frame, 97 void WillSubmitForm(blink::WebLocalFrame* frame,
65 const blink::WebFormElement& form) override; 98 const blink::WebFormElement& form) override;
66 void DidChangeScrollOffset(blink::WebLocalFrame* frame) override; 99 void DidChangeScrollOffset(blink::WebLocalFrame* frame) override;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 const FormData& form_data); 146 const FormData& form_data);
114 147
115 // Called when an autocomplete request succeeds or fails with the |result|. 148 // Called when an autocomplete request succeeds or fails with the |result|.
116 void FinishAutocompleteRequest( 149 void FinishAutocompleteRequest(
117 blink::WebFormElement::AutocompleteResult result); 150 blink::WebFormElement::AutocompleteResult result);
118 151
119 // Called in a posted task by textFieldDidChange() to work-around a WebKit bug 152 // Called in a posted task by textFieldDidChange() to work-around a WebKit bug
120 // http://bugs.webkit.org/show_bug.cgi?id=16976 153 // http://bugs.webkit.org/show_bug.cgi?id=16976
121 void TextFieldDidChangeImpl(const blink::WebFormControlElement& element); 154 void TextFieldDidChangeImpl(const blink::WebFormControlElement& element);
122 155
123 // Shows the autofill suggestions for |element|. 156 // Shows the autofill suggestions for |element|. This call is asynchronous
124 // This call is asynchronous and may or may not lead to the showing of a 157 // and may or may not lead to the showing of a suggestion popup (no popup is
125 // suggestion popup (no popup is shown if there are no available suggestions). 158 // shown if there are no available suggestions).
126 // |autofill_on_empty_values| specifies whether suggestions should be shown
127 // when |element| contains no text.
128 // |requires_caret_at_end| specifies whether suggestions should be shown when
129 // the caret is not after the last character in |element|.
130 // |display_warning_if_disabled| specifies whether a warning should be
131 // displayed to the user if Autofill has suggestions available, but cannot
132 // fill them because it is disabled (e.g. when trying to fill a credit card
133 // form on a non-secure website).
134 // |datalist_only| specifies whether all of <datalist> suggestions and no
135 // autofill suggestions are shown. |autofill_on_empty_values| and
136 // |requires_caret_at_end| are ignored if |datalist_only| is true.
137 // |show_full_suggestion_list| specifies that all autofill suggestions should
138 // be shown and none should be elided because of the current value of
139 // |element| (relevant for inline autocomplete).
140 // |show_password_suggestions_only| specifies that only show a suggestions box
141 // if |element| is part of a password form, otherwise show no suggestions.
142 void ShowSuggestions(const blink::WebFormControlElement& element, 159 void ShowSuggestions(const blink::WebFormControlElement& element,
143 bool autofill_on_empty_values, 160 const ShowSuggestionsOptions& options);
144 bool requires_caret_at_end,
145 bool display_warning_if_disabled,
146 bool datalist_only,
147 bool show_full_suggestion_list,
148 bool show_password_suggestions_only);
149 161
150 // Queries the browser for Autocomplete and Autofill suggestions for the given 162 // Queries the browser for Autocomplete and Autofill suggestions for the given
151 // |element|. 163 // |element|.
152 void QueryAutofillSuggestions(const blink::WebFormControlElement& element, 164 void QueryAutofillSuggestions(const blink::WebFormControlElement& element,
153 bool display_warning_if_disabled, 165 bool display_warning_if_disabled,
154 bool datalist_only); 166 bool datalist_only);
155 167
156 // Sets the element value to reflect the selected |suggested_value|. 168 // Sets the element value to reflect the selected |suggested_value|.
157 void AcceptDataListSuggestion(const base::string16& suggested_value); 169 void AcceptDataListSuggestion(const base::string16& suggested_value);
158 170
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 bool main_frame_processed_; 238 bool main_frame_processed_;
227 239
228 base::WeakPtrFactory<AutofillAgent> weak_ptr_factory_; 240 base::WeakPtrFactory<AutofillAgent> weak_ptr_factory_;
229 241
230 DISALLOW_COPY_AND_ASSIGN(AutofillAgent); 242 DISALLOW_COPY_AND_ASSIGN(AutofillAgent);
231 }; 243 };
232 244
233 } // namespace autofill 245 } // namespace autofill
234 246
235 #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_AUTOFILL_AGENT_H_ 247 #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_AUTOFILL_AGENT_H_
OLDNEW
« no previous file with comments | « chrome/browser/chrome_content_browser_client.cc ('k') | components/autofill/content/renderer/autofill_agent.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698