Index: third_party/WebKit/Source/modules/payments/PaymentRequest.cpp |
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp |
index 9759e63f2eccaaa13af83dcfd05b94e0cb542119..3425dc0b68113f90686c235aa9189f536ce25a63 100644 |
--- a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp |
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp |
@@ -128,6 +128,20 @@ struct TypeConverter<PaymentOptionsPtr, blink::PaymentOptions> { |
namespace blink { |
namespace { |
+using ::payments::mojom::blink::BasicCardNetwork; |
+ |
+const struct { |
+ const BasicCardNetwork code; |
+ const char* const name; |
+} kBasicCardNetworks[] = {{BasicCardNetwork::AMEX, "amex"}, |
+ {BasicCardNetwork::DINERS, "diners"}, |
+ {BasicCardNetwork::DISCOVER, "discover"}, |
+ {BasicCardNetwork::JCB, "jcb"}, |
+ {BasicCardNetwork::MASTERCARD, "mastercard"}, |
+ {BasicCardNetwork::MIR, "mir"}, |
+ {BasicCardNetwork::UNIONPAY, "unionpay"}, |
+ {BasicCardNetwork::VISA, "visa"}}; |
+ |
// If the website does not call complete() 60 seconds after show() has been |
// resolved, then behave as if the website called complete("fail"). |
static const int kCompleteTimeoutSeconds = 60; |
@@ -349,20 +363,6 @@ void SetBasicCardMethodData(const ScriptValue& input, |
return; |
if (basic_card.hasSupportedNetworks()) { |
- using ::payments::mojom::blink::BasicCardNetwork; |
- |
- const struct { |
- const BasicCardNetwork code; |
- const char* const name; |
- } kBasicCardNetworks[] = {{BasicCardNetwork::AMEX, "amex"}, |
- {BasicCardNetwork::DINERS, "diners"}, |
- {BasicCardNetwork::DISCOVER, "discover"}, |
- {BasicCardNetwork::JCB, "jcb"}, |
- {BasicCardNetwork::MASTERCARD, "mastercard"}, |
- {BasicCardNetwork::MIR, "mir"}, |
- {BasicCardNetwork::UNIONPAY, "unionpay"}, |
- {BasicCardNetwork::VISA, "visa"}}; |
- |
for (const String& network : basic_card.supportedNetworks()) { |
for (size_t i = 0; i < arraysize(kBasicCardNetworks); ++i) { |
if (network == kBasicCardNetworks[i].name) { |
@@ -400,6 +400,22 @@ void SetBasicCardMethodData(const ScriptValue& input, |
} |
} |
+void WarnDeprecatedBasicCard(const Vector<String>& supported_methods, |
+ ExecutionContext& execution_context) { |
+ for (const auto& method : supported_methods) { |
+ for (size_t i = 0; i < arraysize(kBasicCardNetworks); ++i) { |
+ if (method == kBasicCardNetworks[i].name) { |
+ execution_context.AddConsoleMessage(ConsoleMessage::Create( |
+ kJSMessageSource, kWarningMessageLevel, |
Rick Byers
2017/05/16 13:48:58
Please use the "DeprecationMessageSource" - that'l
please use gerrit instead
2017/05/16 18:02:55
Done.
|
+ "The supported methods 'amex', 'diners', 'discover', 'jcb', " |
+ "'mastercard', 'mir', 'unionpay', and 'visa' are deprecated. Use " |
+ "'basic-card' instead.")); |
Rick Byers
2017/05/16 13:48:58
In general we prefer to give developers a concrete
please use gerrit instead
2017/05/16 18:02:55
Done.
|
+ return; |
+ } |
+ } |
+ } |
+} |
+ |
void StringifyAndParseMethodSpecificData( |
const Vector<String>& supported_methods, |
const ScriptValue& input, |
@@ -434,6 +450,7 @@ void StringifyAndParseMethodSpecificData( |
if (exception_state.HadException()) |
exception_state.ClearException(); |
} |
+ WarnDeprecatedBasicCard(supported_methods, execution_context); |
} |
void ValidateAndConvertPaymentDetailsModifiers( |