summaryrefslogtreecommitdiffstats
path: root/components/autofill/content/browser/wallet/required_action.h
diff options
context:
space:
mode:
Diffstat (limited to 'components/autofill/content/browser/wallet/required_action.h')
-rw-r--r--components/autofill/content/browser/wallet/required_action.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/components/autofill/content/browser/wallet/required_action.h b/components/autofill/content/browser/wallet/required_action.h
new file mode 100644
index 0000000..eb53622
--- /dev/null
+++ b/components/autofill/content/browser/wallet/required_action.h
@@ -0,0 +1,44 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_
+#define COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_
+
+#include <string>
+
+namespace autofill {
+namespace wallet {
+
+// Required actions are steps that must be taken before the current transaction
+// can proceed. Examples of this is include accepting the Terms of Service to
+// use Google Wallet (happens on first use or when the ToS are updated) or
+// typing a CVC when it's necessary verify the current user has access to the
+// backing card.
+enum RequiredAction {
+ UNKNOWN_TYPE = 0, // Catch all type.
+ CHOOSE_ANOTHER_INSTRUMENT_OR_ADDRESS,
+ SETUP_WALLET,
+ ACCEPT_TOS,
+ GAIA_AUTH,
+ UPDATE_EXPIRATION_DATE,
+ UPGRADE_MIN_ADDRESS,
+ INVALID_FORM_FIELD,
+ VERIFY_CVV,
+ PASSIVE_GAIA_AUTH,
+ REQUIRE_PHONE_NUMBER,
+};
+
+// Static helper functions to determine if an RequiredAction applies to a
+// FullWallet, WalletItems, or SaveToWallet response.
+bool ActionAppliesToFullWallet(RequiredAction action);
+bool ActionAppliesToSaveToWallet(RequiredAction action);
+bool ActionAppliesToWalletItems(RequiredAction action);
+
+// Turn a string value of the parsed JSON response into an RequiredAction.
+RequiredAction ParseRequiredActionFromString(const std::string& str);
+
+} // namespace wallet
+} // namespace autofill
+
+#endif // COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_