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

Side by Side Diff: components/autofill/content/browser/wallet/form_field_error.h

Issue 1288093004: rAc Wallet extirpation round 4: clean out RPC code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix gn Created 5 years, 4 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 2013 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 COMPONENTS_AUTOFILL_BROWSER_WALLET_FORM_FIELD_ERROR_H_
6 #define COMPONENTS_AUTOFILL_BROWSER_WALLET_FORM_FIELD_ERROR_H_
7
8 #include "base/strings/string16.h"
9 #include "components/autofill/core/browser/field_types.h"
10
11 namespace base {
12 class DictionaryValue;
13 }
14
15 namespace autofill {
16 namespace wallet {
17
18 // Class for representing a single Wallet server side validation error.
19 class FormFieldError {
20 public:
21 // The validation error returned from the server.
22 enum ErrorType {
23 UNKNOWN_ERROR,
24 INVALID_PHONE_NUMBER,
25 INVALID_POSTAL_CODE,
26 // Bad street address.
27 INVALID_ADDRESS,
28 // Bad CVC.
29 INVALID_CARD_DETAILS,
30 // Wallet sends this when ZIP is invalid for the given city.
31 INVALID_CITY,
32 // Catch-all for many errors. E.g., no address given, no address ID,
33 // invalid card number. Wallet should only send us this error for invalid
34 // card number.
35 INVALID_INSTRUMENT,
36 // Wallet sends this when ZIP is invalid for the given state.
37 INVALID_STATE,
38 REQUIRED_FIELD_NOT_SET,
39 // TODO(ahutter): Add INVALID_COUNTRY when user can select country in the
40 // chooser.
41 };
42
43 // The section of the "form" where the error occurred.
44 enum Location {
45 UNKNOWN_LOCATION,
46 PAYMENT_INSTRUMENT,
47 SHIPPING_ADDRESS,
48 // Currently Sugar uses the billing address as user's legal address. So any
49 // error in billing address will be accompanied by an error in legal
50 // address. The client side should map LEGAL_ADDRESS to the billing address.
51 // This will ensure compatibility in case Sugar starts having a separate
52 // legal address form.
53 LEGAL_ADDRESS,
54 };
55
56 FormFieldError(ErrorType error_type, Location location);
57 ~FormFieldError();
58
59 ErrorType error_type() const { return error_type_; }
60 Location location() const { return location_; }
61
62 // Gets the appropriate field type for |location| and |error_type|.
63 ServerFieldType GetAutofillType() const;
64
65 // Gets a user facing error message appropriate for |location| and
66 // |error_type|.
67 base::string16 GetErrorMessage() const;
68
69 // Creates an instance of FormFieldError from the input dictionary.
70 static FormFieldError CreateFormFieldError(
71 const base::DictionaryValue& dictionary);
72
73 bool operator==(const FormFieldError& other) const;
74
75 private:
76 // The type of error as defined by the Wallet server.
77 ErrorType error_type_;
78
79 // The location of the error as defined by the Wallet server.
80 Location location_;
81
82 // This class is intentionally copyable and assignable.
83 };
84
85 } // namespace wallet
86 } // namespace autofill
87
88 #endif // COMPONENTS_AUTOFILL_BROWSER_WALLET_FORM_FIELD_ERROR_H_
OLDNEW
« no previous file with comments | « components/autofill/content/browser/wallet/BUILD.gn ('k') | components/autofill/content/browser/wallet/form_field_error.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698