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

Side by Side Diff: chrome/browser/ui/autofill/autofill_dialog_types.h

Issue 1931043002: Remove requestAutocomplete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 7 months 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
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_TYPES_H_
6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_TYPES_H_
7
8 #include <map>
9 #include <vector>
10
11 #include "base/callback_forward.h"
12 #include "base/strings/string16.h"
13 #include "base/time/time.h"
14 #include "components/autofill/core/browser/field_types.h"
15 #include "third_party/skia/include/core/SkColor.h"
16 #include "ui/gfx/font_list.h"
17 #include "ui/gfx/image/image.h"
18 #include "ui/gfx/range/range.h"
19 #include "ui/gfx/text_constants.h"
20 #include "url/gurl.h"
21
22 namespace autofill {
23
24 class AutofillField;
25
26 // A notification to show in the autofill dialog. Ranges from information to
27 // seriously scary security messages, and will give you the color it should be
28 // displayed (if you ask it).
29 class DialogNotification {
30 public:
31 enum Type {
32 NONE,
33 DEVELOPER_WARNING,
34 REQUIRED_ACTION,
35 SECURITY_WARNING,
36 WALLET_ERROR,
37 WALLET_USAGE_CONFIRMATION,
38 };
39
40 DialogNotification();
41 DialogNotification(Type type, const base::string16& display_text);
42 DialogNotification(const DialogNotification& other);
43 ~DialogNotification();
44
45 // Returns the appropriate background, border, or text color for the view's
46 // notification area based on |type_|.
47 SkColor GetBackgroundColor() const;
48 SkColor GetBorderColor() const;
49 SkColor GetTextColor() const;
50
51 // Whether this notification has an arrow pointing up at the account chooser.
52 bool HasArrow() const;
53
54 // Whether this notifications has the "Save details to wallet" checkbox.
55 bool HasCheckbox() const;
56
57 Type type() const { return type_; }
58 const base::string16& display_text() const { return display_text_; }
59
60 void set_link_url(const GURL& link_url) { link_url_ = link_url; }
61 const GURL& link_url() const { return link_url_; }
62
63 const gfx::Range& link_range() const { return link_range_; }
64
65 void set_tooltip_text(const base::string16& tooltip_text) {
66 tooltip_text_ = tooltip_text;
67 }
68 const base::string16& tooltip_text() const { return tooltip_text_; }
69
70 void set_checked(bool checked) { checked_ = checked; }
71 bool checked() const { return checked_; }
72
73 private:
74 Type type_;
75 base::string16 display_text_;
76
77 // If the notification includes a link, these describe the destination and
78 // which part of |display_text_| is the anchor text.
79 GURL link_url_;
80 gfx::Range link_range_;
81
82 // When non-empty, indicates that a tooltip should be shown on the end of
83 // the notification.
84 base::string16 tooltip_text_;
85
86 // Whether the dialog notification's checkbox should be checked. Only applies
87 // when |HasCheckbox()| is true.
88 bool checked_;
89 };
90
91 extern SkColor const kWarningColor;
92 extern SkColor const kLightShadingColor;
93 extern SkColor const kSubtleBorderColor;
94
95 struct SuggestionState {
96 SuggestionState();
97 SuggestionState(bool visible,
98 const base::string16& vertically_compact_text,
99 const base::string16& horizontally_compact_text,
100 const gfx::Image& icon,
101 const base::string16& extra_text,
102 const gfx::Image& extra_icon);
103 SuggestionState(const SuggestionState& other);
104 ~SuggestionState();
105
106 // Whether a suggestion should be shown.
107 bool visible;
108
109 // Text to be shown for the suggestion. This should be preferred over
110 // |horizontally_compact_text| when there's enough horizontal space available
111 // to display it. When there's not enough space, fall back to
112 // |horizontally_compact_text|.
113 base::string16 vertically_compact_text;
114 base::string16 horizontally_compact_text;
115
116 gfx::Image icon;
117 base::string16 extra_text;
118 gfx::Image extra_icon;
119 };
120
121 // A struct to describe a textual message within a dialog overlay.
122 struct DialogOverlayString {
123 DialogOverlayString();
124 ~DialogOverlayString();
125
126 // Text content of the message.
127 base::string16 text;
128
129 // Font list to render the message's text in.
130 gfx::FontList font_list;
131 };
132
133 // A struct to describe a dialog overlay. If |image| is empty, no overlay should
134 // be shown.
135 struct DialogOverlayState {
136 DialogOverlayState();
137 ~DialogOverlayState();
138
139 // If empty, there should not be an overlay. If non-empty, an image that is
140 // more or less front and center.
141 gfx::Image image;
142
143 // Message to display.
144 DialogOverlayString string;
145 };
146
147 enum ValidationType {
148 VALIDATE_EDIT, // Validate user edits. Allow for empty fields.
149 VALIDATE_FINAL, // Full form validation. Required fields can't be empty.
150 };
151
152 typedef std::map<ServerFieldType, base::string16> FieldValueMap;
153
154 // A validity message for a single input field.
155 struct ValidityMessage {
156 ValidityMessage(const base::string16& text, bool sure);
157 ~ValidityMessage();
158
159 // Message text. If not empty, error text. If empty, indicates valid field.
160 base::string16 text;
161
162 // If |sure| is true, always display message. If it is false,
163 // only display on final validation (i.e. after the user has attempted to
164 // submit).
165 bool sure;
166 };
167
168 // A mapping of field types to their corresponding ValidityMessage results.
169 class ValidityMessages {
170 public:
171 ValidityMessages();
172 ValidityMessages(const ValidityMessages& other);
173 ~ValidityMessages();
174
175 // Sets the message for |field|, but will not overwrite a previous, invalid
176 // message.
177 void Set(ServerFieldType field, const ValidityMessage& message);
178 const ValidityMessage& GetMessageOrDefault(ServerFieldType field) const;
179
180 bool HasSureError(ServerFieldType field) const;
181 bool HasErrors() const;
182 bool HasSureErrors() const;
183
184 private:
185 typedef std::map<ServerFieldType, ValidityMessage> MessageMap;
186 MessageMap messages_;
187 ValidityMessage default_message_;
188 };
189
190 } // namespace autofill
191
192 #endif // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_TYPES_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/autofill/autofill_dialog_i18n_input_unittest.cc ('k') | chrome/browser/ui/autofill/autofill_dialog_types.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698