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

Side by Side Diff: chrome/browser/android/payments/service_worker_payment_app_bridge.cc

Issue 2898223002: PaymentHandler: Rename PaymentAppRequest with PaymentRequestEventData. (Closed)
Patch Set: Rename Created 3 years, 6 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
« no previous file with comments | « no previous file | components/payments/mojom/payment_app.mojom » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/payments/service_worker_payment_app_bridge.h" 5 #include "chrome/browser/android/payments/service_worker_payment_app_bridge.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/android/jni_array.h" 9 #include "base/android/jni_array.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
11 #include "base/android/scoped_java_ref.h" 11 #include "base/android/scoped_java_ref.h"
12 #include "chrome/browser/profiles/profile_manager.h" 12 #include "chrome/browser/profiles/profile_manager.h"
13 #include "components/payments/mojom/payment_app.mojom.h" 13 #include "components/payments/mojom/payment_app.mojom.h"
14 #include "content/public/browser/browser_thread.h" 14 #include "content/public/browser/browser_thread.h"
15 #include "content/public/browser/payment_app_provider.h" 15 #include "content/public/browser/payment_app_provider.h"
16 #include "content/public/browser/stored_payment_instrument.h" 16 #include "content/public/browser/stored_payment_instrument.h"
17 #include "content/public/browser/web_contents.h" 17 #include "content/public/browser/web_contents.h"
18 #include "jni/ServiceWorkerPaymentAppBridge_jni.h" 18 #include "jni/ServiceWorkerPaymentAppBridge_jni.h"
19 19
20 namespace { 20 namespace {
21 21
22 using ::base::android::AttachCurrentThread; 22 using ::base::android::AttachCurrentThread;
23 using ::base::android::ConvertJavaStringToUTF8; 23 using ::base::android::ConvertJavaStringToUTF8;
24 using ::base::android::ConvertUTF8ToJavaString; 24 using ::base::android::ConvertUTF8ToJavaString;
25 using ::base::android::JavaParamRef; 25 using ::base::android::JavaParamRef;
26 using ::base::android::JavaRef; 26 using ::base::android::JavaRef;
27 using ::base::android::ScopedJavaGlobalRef; 27 using ::base::android::ScopedJavaGlobalRef;
28 using ::base::android::ScopedJavaLocalRef; 28 using ::base::android::ScopedJavaLocalRef;
29 using ::base::android::ToJavaArrayOfStrings; 29 using ::base::android::ToJavaArrayOfStrings;
30 using ::payments::mojom::PaymentAppRequest; 30 using ::payments::mojom::PaymentRequestEventData;
31 using ::payments::mojom::PaymentAppRequestPtr; 31 using ::payments::mojom::PaymentRequestEventDataPtr;
32 using ::payments::mojom::PaymentCurrencyAmount; 32 using ::payments::mojom::PaymentCurrencyAmount;
33 using ::payments::mojom::PaymentDetailsModifier; 33 using ::payments::mojom::PaymentDetailsModifier;
34 using ::payments::mojom::PaymentDetailsModifierPtr; 34 using ::payments::mojom::PaymentDetailsModifierPtr;
35 using ::payments::mojom::PaymentItem; 35 using ::payments::mojom::PaymentItem;
36 using ::payments::mojom::PaymentMethodData; 36 using ::payments::mojom::PaymentMethodData;
37 using ::payments::mojom::PaymentMethodDataPtr; 37 using ::payments::mojom::PaymentMethodDataPtr;
38 38
39 void OnGotAllPaymentApps(const JavaRef<jobject>& jweb_contents, 39 void OnGotAllPaymentApps(const JavaRef<jobject>& jweb_contents,
40 const JavaRef<jobject>& jcallback, 40 const JavaRef<jobject>& jcallback,
41 content::PaymentAppProvider::PaymentApps apps) { 41 content::PaymentAppProvider::PaymentApps apps) {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 const JavaParamRef<jstring>& jpayment_request_origin, 94 const JavaParamRef<jstring>& jpayment_request_origin,
95 const JavaParamRef<jstring>& jpayment_request_id, 95 const JavaParamRef<jstring>& jpayment_request_id,
96 const JavaParamRef<jobjectArray>& jmethod_data, 96 const JavaParamRef<jobjectArray>& jmethod_data,
97 const JavaParamRef<jobject>& jtotal, 97 const JavaParamRef<jobject>& jtotal,
98 const JavaParamRef<jobjectArray>& jmodifiers, 98 const JavaParamRef<jobjectArray>& jmodifiers,
99 const JavaParamRef<jstring>& jinstrument_key, 99 const JavaParamRef<jstring>& jinstrument_key,
100 const JavaParamRef<jobject>& jcallback) { 100 const JavaParamRef<jobject>& jcallback) {
101 content::WebContents* web_contents = 101 content::WebContents* web_contents =
102 content::WebContents::FromJavaWebContents(jweb_contents); 102 content::WebContents::FromJavaWebContents(jweb_contents);
103 103
104 PaymentAppRequestPtr app_request = PaymentAppRequest::New(); 104 PaymentRequestEventDataPtr event_data = PaymentRequestEventData::New();
105 105
106 app_request->top_level_origin = 106 event_data->top_level_origin =
107 GURL(ConvertJavaStringToUTF8(env, jtop_level_origin)); 107 GURL(ConvertJavaStringToUTF8(env, jtop_level_origin));
108 app_request->payment_request_origin = 108 event_data->payment_request_origin =
109 GURL(ConvertJavaStringToUTF8(env, jpayment_request_origin)); 109 GURL(ConvertJavaStringToUTF8(env, jpayment_request_origin));
110 app_request->payment_request_id = 110 event_data->payment_request_id =
111 ConvertJavaStringToUTF8(env, jpayment_request_id); 111 ConvertJavaStringToUTF8(env, jpayment_request_id);
112 112
113 for (jsize i = 0; i < env->GetArrayLength(jmethod_data); i++) { 113 for (jsize i = 0; i < env->GetArrayLength(jmethod_data); i++) {
114 ScopedJavaLocalRef<jobject> element( 114 ScopedJavaLocalRef<jobject> element(
115 env, env->GetObjectArrayElement(jmethod_data, i)); 115 env, env->GetObjectArrayElement(jmethod_data, i));
116 PaymentMethodDataPtr methodData = PaymentMethodData::New(); 116 PaymentMethodDataPtr methodData = PaymentMethodData::New();
117 base::android::AppendJavaStringArrayToStringVector( 117 base::android::AppendJavaStringArrayToStringVector(
118 env, 118 env,
119 Java_ServiceWorkerPaymentAppBridge_getSupportedMethodsFromMethodData( 119 Java_ServiceWorkerPaymentAppBridge_getSupportedMethodsFromMethodData(
120 env, element) 120 env, element)
121 .obj(), 121 .obj(),
122 &methodData->supported_methods); 122 &methodData->supported_methods);
123 methodData->stringified_data = ConvertJavaStringToUTF8( 123 methodData->stringified_data = ConvertJavaStringToUTF8(
124 env, 124 env,
125 Java_ServiceWorkerPaymentAppBridge_getStringifiedDataFromMethodData( 125 Java_ServiceWorkerPaymentAppBridge_getStringifiedDataFromMethodData(
126 env, element)); 126 env, element));
127 app_request->method_data.push_back(std::move(methodData)); 127 event_data->method_data.push_back(std::move(methodData));
128 } 128 }
129 129
130 app_request->total = PaymentItem::New(); 130 event_data->total = PaymentItem::New();
131 app_request->total->label = ConvertJavaStringToUTF8( 131 event_data->total->label = ConvertJavaStringToUTF8(
132 env, 132 env,
133 Java_ServiceWorkerPaymentAppBridge_getLabelFromPaymentItem(env, jtotal)); 133 Java_ServiceWorkerPaymentAppBridge_getLabelFromPaymentItem(env, jtotal));
134 app_request->total->amount = PaymentCurrencyAmount::New(); 134 event_data->total->amount = PaymentCurrencyAmount::New();
135 app_request->total->amount->currency = ConvertJavaStringToUTF8( 135 event_data->total->amount->currency = ConvertJavaStringToUTF8(
136 env, Java_ServiceWorkerPaymentAppBridge_getCurrencyFromPaymentItem( 136 env, Java_ServiceWorkerPaymentAppBridge_getCurrencyFromPaymentItem(
137 env, jtotal)); 137 env, jtotal));
138 app_request->total->amount->value = ConvertJavaStringToUTF8( 138 event_data->total->amount->value = ConvertJavaStringToUTF8(
139 env, 139 env,
140 Java_ServiceWorkerPaymentAppBridge_getValueFromPaymentItem(env, jtotal)); 140 Java_ServiceWorkerPaymentAppBridge_getValueFromPaymentItem(env, jtotal));
141 141
142 for (jsize i = 0; i < env->GetArrayLength(jmodifiers); i++) { 142 for (jsize i = 0; i < env->GetArrayLength(jmodifiers); i++) {
143 ScopedJavaLocalRef<jobject> jmodifier( 143 ScopedJavaLocalRef<jobject> jmodifier(
144 env, env->GetObjectArrayElement(jmodifiers, i)); 144 env, env->GetObjectArrayElement(jmodifiers, i));
145 PaymentDetailsModifierPtr modifier = PaymentDetailsModifier::New(); 145 PaymentDetailsModifierPtr modifier = PaymentDetailsModifier::New();
146 146
147 ScopedJavaLocalRef<jobject> jtotal = 147 ScopedJavaLocalRef<jobject> jtotal =
148 Java_ServiceWorkerPaymentAppBridge_getTotalFromModifier(env, jmodifier); 148 Java_ServiceWorkerPaymentAppBridge_getTotalFromModifier(env, jmodifier);
(...skipping 17 matching lines...) Expand all
166 env, 166 env,
167 Java_ServiceWorkerPaymentAppBridge_getSupportedMethodsFromMethodData( 167 Java_ServiceWorkerPaymentAppBridge_getSupportedMethodsFromMethodData(
168 env, jmodifier_method_data) 168 env, jmodifier_method_data)
169 .obj(), 169 .obj(),
170 &modifier->method_data->supported_methods); 170 &modifier->method_data->supported_methods);
171 modifier->method_data->stringified_data = ConvertJavaStringToUTF8( 171 modifier->method_data->stringified_data = ConvertJavaStringToUTF8(
172 env, 172 env,
173 Java_ServiceWorkerPaymentAppBridge_getStringifiedDataFromMethodData( 173 Java_ServiceWorkerPaymentAppBridge_getStringifiedDataFromMethodData(
174 env, jmodifier_method_data)); 174 env, jmodifier_method_data));
175 175
176 app_request->modifiers.push_back(std::move(modifier)); 176 event_data->modifiers.push_back(std::move(modifier));
177 } 177 }
178 178
179 app_request->instrument_key = ConvertJavaStringToUTF8(env, jinstrument_key); 179 event_data->instrument_key = ConvertJavaStringToUTF8(env, jinstrument_key);
180 180
181 content::PaymentAppProvider::GetInstance()->InvokePaymentApp( 181 content::PaymentAppProvider::GetInstance()->InvokePaymentApp(
182 web_contents->GetBrowserContext(), registration_id, 182 web_contents->GetBrowserContext(), registration_id, std::move(event_data),
183 std::move(app_request),
184 base::Bind(&OnPaymentAppInvoked, 183 base::Bind(&OnPaymentAppInvoked,
185 ScopedJavaGlobalRef<jobject>(env, jweb_contents), 184 ScopedJavaGlobalRef<jobject>(env, jweb_contents),
186 ScopedJavaGlobalRef<jobject>(env, jcallback))); 185 ScopedJavaGlobalRef<jobject>(env, jcallback)));
187 } 186 }
188 187
189 bool RegisterServiceWorkerPaymentAppBridge(JNIEnv* env) { 188 bool RegisterServiceWorkerPaymentAppBridge(JNIEnv* env) {
190 return RegisterNativesImpl(env); 189 return RegisterNativesImpl(env);
191 } 190 }
OLDNEW
« no previous file with comments | « no previous file | components/payments/mojom/payment_app.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698