| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 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 #include "components/payments/android/payments_jni_registrar.h" | |
| 6 | |
| 7 #include <string> | |
| 8 #include <utility> | |
| 9 | |
| 10 #include "components/payments/payment_details_validation.h" | |
| 11 #include "components/payments/payment_request.mojom.h" | |
| 12 #include "jni/PaymentValidator_jni.h" | |
| 13 | |
| 14 namespace payments { | |
| 15 | |
| 16 jboolean ValidatePaymentDetails( | |
| 17 JNIEnv* env, | |
| 18 const base::android::JavaParamRef<jclass>& jcaller, | |
| 19 const base::android::JavaParamRef<jobject>& buffer) { | |
| 20 jbyte* buf_in = static_cast<jbyte*>(env->GetDirectBufferAddress(buffer)); | |
| 21 jlong buf_size = env->GetDirectBufferCapacity(buffer); | |
| 22 std::vector<uint8_t> mojo_buffer(buf_size); | |
| 23 memcpy(&mojo_buffer[0], buf_in, buf_size); | |
| 24 mojom::PaymentDetailsPtr details; | |
| 25 if (!mojom::PaymentDetails::Deserialize(std::move(mojo_buffer), &details)) | |
| 26 return false; | |
| 27 std::string unused_error_message; | |
| 28 return payments::validatePaymentDetails(details, &unused_error_message); | |
| 29 } | |
| 30 | |
| 31 } // namespace payments | |
| 32 | |
| 33 bool RegisterPaymentValidator(JNIEnv* env) { | |
| 34 return payments::RegisterNativesImpl(env); | |
| 35 } | |
| OLD | NEW |