diff options
Diffstat (limited to 'components/autofill/content/browser/wallet/required_action.cc')
-rw-r--r-- | components/autofill/content/browser/wallet/required_action.cc | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/components/autofill/content/browser/wallet/required_action.cc b/components/autofill/content/browser/wallet/required_action.cc new file mode 100644 index 0000000..716da3e --- /dev/null +++ b/components/autofill/content/browser/wallet/required_action.cc @@ -0,0 +1,66 @@ +// 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. + +#include "components/autofill/content/browser/wallet/required_action.h" + +#include "base/logging.h" +#include "base/string_util.h" + +namespace autofill { +namespace wallet { + +bool ActionAppliesToFullWallet(RequiredAction action) { + return action == UPDATE_EXPIRATION_DATE || + action == VERIFY_CVV || + action == CHOOSE_ANOTHER_INSTRUMENT_OR_ADDRESS || + action == REQUIRE_PHONE_NUMBER; +} + +bool ActionAppliesToSaveToWallet(RequiredAction action) { + return action == INVALID_FORM_FIELD || + action == REQUIRE_PHONE_NUMBER; +} + +bool ActionAppliesToWalletItems(RequiredAction action) { + return action == SETUP_WALLET || + action == CHOOSE_ANOTHER_INSTRUMENT_OR_ADDRESS || + action == ACCEPT_TOS || + action == GAIA_AUTH || + action == REQUIRE_PHONE_NUMBER || + action == UPDATE_EXPIRATION_DATE || + action == UPGRADE_MIN_ADDRESS || + action == PASSIVE_GAIA_AUTH; +} + +RequiredAction ParseRequiredActionFromString(const std::string& str) { + std::string str_lower; + TrimWhitespaceASCII(StringToLowerASCII(str), TRIM_ALL, &str_lower); + + if (str_lower == "setup_wallet") + return SETUP_WALLET; + else if (str_lower == "accept_tos") + return ACCEPT_TOS; + else if (str_lower == "gaia_auth") + return GAIA_AUTH; + else if (str_lower == "update_expiration_date") + return UPDATE_EXPIRATION_DATE; + else if (str_lower == "upgrade_min_address") + return UPGRADE_MIN_ADDRESS; + else if (str_lower == "invalid_form_field") + return INVALID_FORM_FIELD; + else if (str_lower == "verify_cvv") + return VERIFY_CVV; + else if (str_lower == "passive_gaia_auth") + return PASSIVE_GAIA_AUTH; + else if (str_lower == "require_phone_number") + return REQUIRE_PHONE_NUMBER; + else if (str_lower == "choose_another_instrument_or_address") + return CHOOSE_ANOTHER_INSTRUMENT_OR_ADDRESS; + + DLOG(ERROR) << "Failed to parse: \"" << str << "\" as a required action"; + return UNKNOWN_TYPE; +} + +} // namespace wallet +} // namespace autofill |