Commit f26b33b1 authored by krb's avatar krb Committed by Commit bot

Move payment_request.mojom file to components/

Currently, only Blink depends on payment_requet.mojom. Going
forward, all the platforms will, so moving it to a more generic
location.

BUG=

Review-Url: https://codereview.chromium.org/2406923002
Cr-Commit-Position: refs/heads/master@{#427077}
parent 962446a4
...@@ -149,6 +149,7 @@ android_library("chrome_java") { ...@@ -149,6 +149,7 @@ android_library("chrome_java") {
"//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java", "//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java",
"//components/autofill/android:autofill_java", "//components/autofill/android:autofill_java",
"//components/minidump_uploader:minidump_uploader_java", "//components/minidump_uploader:minidump_uploader_java",
"//components/payments:payment_request_java",
"//components/safe_json/android:safe_json_java", "//components/safe_json/android:safe_json_java",
"//components/spellcheck/browser/android:java", "//components/spellcheck/browser/android:java",
"//components/variations/android:variations_java", "//components/variations/android:variations_java",
...@@ -313,6 +314,7 @@ junit_binary("chrome_junit_tests") { ...@@ -313,6 +314,7 @@ junit_binary("chrome_junit_tests") {
"//chrome/android/webapk/test:junit_test_support", "//chrome/android/webapk/test:junit_test_support",
"//components/bookmarks/common/android:bookmarks_java", "//components/bookmarks/common/android:bookmarks_java",
"//components/invalidation/impl:java", "//components/invalidation/impl:java",
"//components/payments:payment_request_java",
"//components/signin/core/browser/android:java", "//components/signin/core/browser/android:java",
"//components/signin/core/browser/android:signin_java_test_support", "//components/signin/core/browser/android:signin_java_test_support",
"//components/sync:sync_java_test_support", "//components/sync:sync_java_test_support",
...@@ -384,6 +386,7 @@ android_library("chrome_test_java") { ...@@ -384,6 +386,7 @@ android_library("chrome_test_java") {
"//components/location/android:location_java", "//components/location/android:location_java",
"//components/minidump_uploader:minidump_uploader_java", "//components/minidump_uploader:minidump_uploader_java",
"//components/navigation_interception/android:navigation_interception_java", "//components/navigation_interception/android:navigation_interception_java",
"//components/payments:payment_request_java",
"//components/policy/android:policy_java", "//components/policy/android:policy_java",
"//components/precache/android:precache_java", "//components/precache/android:precache_java",
"//components/precache/android:precache_javatests", "//components/precache/android:precache_javatests",
......
...@@ -66,7 +66,7 @@ import java.util.Set; ...@@ -66,7 +66,7 @@ import java.util.Set;
/** /**
* Android implementation of the PaymentRequest service defined in * Android implementation of the PaymentRequest service defined in
* third_party/WebKit/public/platform/modules/payments/payment_request.mojom. * components/payments/payment_request.mojom.
*/ */
public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Client, public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Client,
PaymentApp.InstrumentsCallback, PaymentInstrument.InstrumentDetailsCallback, PaymentApp.InstrumentsCallback, PaymentInstrument.InstrumentDetailsCallback,
......
...@@ -131,6 +131,7 @@ ...@@ -131,6 +131,7 @@
#include "components/metrics/client_info.h" #include "components/metrics/client_info.h"
#include "components/net_log/chrome_net_log.h" #include "components/net_log/chrome_net_log.h"
#include "components/password_manager/content/browser/content_password_manager_driver_factory.h" #include "components/password_manager/content/browser/content_password_manager_driver_factory.h"
#include "components/payments/payment_request.mojom.h"
#include "components/pref_registry/pref_registry_syncable.h" #include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/prefs/scoped_user_pref_update.h" #include "components/prefs/scoped_user_pref_update.h"
...@@ -186,7 +187,6 @@ ...@@ -186,7 +187,6 @@
#include "services/service_manager/public/cpp/interface_provider.h" #include "services/service_manager/public/cpp/interface_provider.h"
#include "services/service_manager/public/cpp/service.h" #include "services/service_manager/public/cpp/service.h"
#include "storage/browser/fileapi/external_mount_points.h" #include "storage/browser/fileapi/external_mount_points.h"
#include "third_party/WebKit/public/platform/modules/payments/payment_request.mojom.h"
#include "third_party/WebKit/public/platform/modules/webshare/webshare.mojom.h" #include "third_party/WebKit/public/platform/modules/webshare/webshare.mojom.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
......
# Copyright 2016 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.
import("//mojo/public/tools/bindings/mojom.gni")
mojom("payment_request") {
sources = [
"payment_request.mojom",
]
public_deps = [
"//mojo/common:common_custom_types",
]
}
jdonnelly@chromium.org
krb@chromium.org
rouslan@chromium.org rouslan@chromium.org
per-file *.mojom=set noparent per-file *.mojom=set noparent
......
...@@ -290,6 +290,7 @@ source_set("unit_tests") { ...@@ -290,6 +290,7 @@ source_set("unit_tests") {
deps = [ deps = [
":modules", ":modules",
":modules_testing", ":modules_testing",
"//components/payments:payment_request_blink",
"//skia", "//skia",
"//testing/gmock", "//testing/gmock",
"//testing/gtest", "//testing/gtest",
......
...@@ -21,4 +21,7 @@ blink_modules_sources("payments") { ...@@ -21,4 +21,7 @@ blink_modules_sources("payments") {
"PaymentsValidators.cpp", "PaymentsValidators.cpp",
"PaymentsValidators.h", "PaymentsValidators.h",
] ]
deps = [
"//components/payments:payment_request_blink",
]
} }
include_rules = [ include_rules = [
"+components/payments",
"+mojo/public/cpp/bindings/binding.h", "+mojo/public/cpp/bindings/binding.h",
"+mojo/public/cpp/bindings/interface_request.h", "+mojo/public/cpp/bindings/interface_request.h",
"+mojo/public/cpp/bindings/wtf_array.h", "+mojo/public/cpp/bindings/wtf_array.h",
......
...@@ -11,7 +11,7 @@ namespace blink { ...@@ -11,7 +11,7 @@ namespace blink {
PaymentAddress::PaymentAddress(mojom::blink::PaymentAddressPtr address) PaymentAddress::PaymentAddress(mojom::blink::PaymentAddressPtr address)
: m_country(address->country), : m_country(address->country),
m_addressLine(address->address_line.PassStorage()), m_addressLine(address->address_line),
m_region(address->region), m_region(address->region),
m_city(address->city), m_city(address->city),
m_dependentLocality(address->dependent_locality), m_dependentLocality(address->dependent_locality),
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
#include "bindings/core/v8/ScriptValue.h" #include "bindings/core/v8/ScriptValue.h"
#include "bindings/core/v8/ScriptWrappable.h" #include "bindings/core/v8/ScriptWrappable.h"
#include "components/payments/payment_request.mojom-blink.h"
#include "modules/ModulesExport.h" #include "modules/ModulesExport.h"
#include "platform/heap/Handle.h" #include "platform/heap/Handle.h"
#include "public/platform/modules/payments/payment_request.mojom-blink.h"
#include "wtf/Noncopyable.h" #include "wtf/Noncopyable.h"
#include "wtf/Vector.h" #include "wtf/Vector.h"
#include "wtf/text/WTFString.h" #include "wtf/text/WTFString.h"
......
...@@ -13,10 +13,9 @@ namespace { ...@@ -13,10 +13,9 @@ namespace {
TEST(PaymentAddressTest, ValuesAreCopiedOver) { TEST(PaymentAddressTest, ValuesAreCopiedOver) {
mojom::blink::PaymentAddressPtr input = mojom::blink::PaymentAddress::New(); mojom::blink::PaymentAddressPtr input = mojom::blink::PaymentAddress::New();
input->country = "US"; input->country = "US";
input->address_line = mojo::WTFArray<WTF::String>::New(3); input->address_line.append("340 Main St");
input->address_line[0] = "340 Main St"; input->address_line.append("BIN1");
input->address_line[1] = "BIN1"; input->address_line.append("First floor");
input->address_line[2] = "First floor";
input->region = "CA"; input->region = "CA";
input->city = "Los Angeles"; input->city = "Los Angeles";
input->dependent_locality = "Venice"; input->dependent_locality = "Venice";
......
...@@ -97,12 +97,12 @@ struct TypeConverter<PaymentDetailsModifierPtr, blink::PaymentDetailsModifier> { ...@@ -97,12 +97,12 @@ struct TypeConverter<PaymentDetailsModifierPtr, blink::PaymentDetailsModifier> {
else else
output->total = PaymentItem::New(); output->total = PaymentItem::New();
if (input.hasAdditionalDisplayItems()) if (input.hasAdditionalDisplayItems()) {
output->additional_display_items = for (size_t i = 0; i < input.additionalDisplayItems().size(); ++i) {
mojo::WTFArray<PaymentItemPtr>::From(input.additionalDisplayItems()); output->additional_display_items.append(
else PaymentItem::From(input.additionalDisplayItems()[i]));
output->additional_display_items = mojo::WTFArray<PaymentItemPtr>::New(0); }
}
return output; return output;
} }
}; };
...@@ -113,24 +113,26 @@ struct TypeConverter<PaymentDetailsPtr, blink::PaymentDetails> { ...@@ -113,24 +113,26 @@ struct TypeConverter<PaymentDetailsPtr, blink::PaymentDetails> {
PaymentDetailsPtr output = PaymentDetails::New(); PaymentDetailsPtr output = PaymentDetails::New();
output->total = PaymentItem::From(input.total()); output->total = PaymentItem::From(input.total());
if (input.hasDisplayItems()) if (input.hasDisplayItems()) {
output->display_items = for (size_t i = 0; i < input.displayItems().size(); ++i) {
mojo::WTFArray<PaymentItemPtr>::From(input.displayItems()); output->display_items.append(
else PaymentItem::From(input.displayItems()[i]));
output->display_items = mojo::WTFArray<PaymentItemPtr>::New(0); }
}
if (input.hasShippingOptions()) if (input.hasShippingOptions()) {
output->shipping_options = mojo::WTFArray<PaymentShippingOptionPtr>::From( for (size_t i = 0; i < input.shippingOptions().size(); ++i) {
input.shippingOptions()); output->shipping_options.append(
else PaymentShippingOption::From(input.shippingOptions()[i]));
output->shipping_options = }
mojo::WTFArray<PaymentShippingOptionPtr>::New(0); }
if (input.hasModifiers()) if (input.hasModifiers()) {
output->modifiers = for (size_t i = 0; i < input.modifiers().size(); ++i) {
mojo::WTFArray<PaymentDetailsModifierPtr>::From(input.modifiers()); output->modifiers.append(
else PaymentDetailsModifier::From(input.modifiers()[i]));
output->modifiers = mojo::WTFArray<PaymentDetailsModifierPtr>::New(0); }
}
if (input.hasError()) if (input.hasError())
output->error = input.error(); output->error = input.error();
...@@ -459,6 +461,19 @@ bool allowedToUsePaymentRequest(const Frame* frame) { ...@@ -459,6 +461,19 @@ bool allowedToUsePaymentRequest(const Frame* frame) {
return false; return false;
} }
WTF::Vector<mojom::blink::PaymentMethodDataPtr> ConvertPaymentMethodData(
const Vector<PaymentRequest::MethodData>& blinkMethods) {
WTF::Vector<mojom::blink::PaymentMethodDataPtr> mojoMethods(
blinkMethods.size());
for (size_t i = 0; i < blinkMethods.size(); ++i) {
mojoMethods[i] = mojom::blink::PaymentMethodData::New();
mojoMethods[i]->supported_methods =
WTF::Vector<WTF::String>(blinkMethods[i].supportedMethods);
mojoMethods[i]->stringified_data = blinkMethods[i].stringifiedData;
}
return mojoMethods;
}
} // namespace } // namespace
PaymentRequest* PaymentRequest::create( PaymentRequest* PaymentRequest::create(
...@@ -668,8 +683,7 @@ PaymentRequest::PaymentRequest(ScriptState* scriptState, ...@@ -668,8 +683,7 @@ PaymentRequest::PaymentRequest(ScriptState* scriptState,
mojom::blink::PaymentErrorReason::UNKNOWN))); mojom::blink::PaymentErrorReason::UNKNOWN)));
m_paymentProvider->Init( m_paymentProvider->Init(
m_clientBinding.CreateInterfacePtrAndBind(), m_clientBinding.CreateInterfacePtrAndBind(),
mojo::WTFArray<mojom::blink::PaymentMethodDataPtr>::From( ConvertPaymentMethodData(validatedMethodData),
validatedMethodData),
maybeKeepShippingOptions( maybeKeepShippingOptions(
mojom::blink::PaymentDetails::From(details), mojom::blink::PaymentDetails::From(details),
keepShippingOptions && m_options.requestShipping()), keepShippingOptions && m_options.requestShipping()),
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "bindings/core/v8/ScriptPromise.h" #include "bindings/core/v8/ScriptPromise.h"
#include "bindings/core/v8/ScriptValue.h" #include "bindings/core/v8/ScriptValue.h"
#include "bindings/core/v8/ScriptWrappable.h" #include "bindings/core/v8/ScriptWrappable.h"
#include "components/payments/payment_request.mojom-blink.h"
#include "core/dom/ContextLifecycleObserver.h" #include "core/dom/ContextLifecycleObserver.h"
#include "core/events/EventTarget.h" #include "core/events/EventTarget.h"
#include "modules/ModulesExport.h" #include "modules/ModulesExport.h"
...@@ -19,7 +20,6 @@ ...@@ -19,7 +20,6 @@
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/binding.h"
#include "platform/Timer.h" #include "platform/Timer.h"
#include "platform/heap/Handle.h" #include "platform/heap/Handle.h"
#include "public/platform/modules/payments/payment_request.mojom-blink.h"
#include "wtf/Compiler.h" #include "wtf/Compiler.h"
#include "wtf/Noncopyable.h" #include "wtf/Noncopyable.h"
#include "wtf/RefPtr.h" #include "wtf/RefPtr.h"
......
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
#include "bindings/core/v8/ScriptPromise.h" #include "bindings/core/v8/ScriptPromise.h"
#include "bindings/core/v8/ScriptValue.h" #include "bindings/core/v8/ScriptValue.h"
#include "bindings/core/v8/ScriptWrappable.h" #include "bindings/core/v8/ScriptWrappable.h"
#include "components/payments/payment_request.mojom-blink.h"
#include "modules/ModulesExport.h" #include "modules/ModulesExport.h"
#include "modules/payments/PaymentCurrencyAmount.h" #include "modules/payments/PaymentCurrencyAmount.h"
#include "platform/heap/Handle.h" #include "platform/heap/Handle.h"
#include "public/platform/modules/payments/payment_request.mojom-blink.h"
#include "wtf/Noncopyable.h" #include "wtf/Noncopyable.h"
#include "wtf/text/WTFString.h" #include "wtf/text/WTFString.h"
......
...@@ -129,10 +129,9 @@ TEST(PaymentResponseTest, JSONSerializerTest) { ...@@ -129,10 +129,9 @@ TEST(PaymentResponseTest, JSONSerializerTest) {
input->shipping_address->country = "US"; input->shipping_address->country = "US";
input->shipping_address->language_code = "en"; input->shipping_address->language_code = "en";
input->shipping_address->script_code = "Latn"; input->shipping_address->script_code = "Latn";
input->shipping_address->address_line = mojo::WTFArray<WTF::String>::New(3); input->shipping_address->address_line.append("340 Main St");
input->shipping_address->address_line[0] = "340 Main St"; input->shipping_address->address_line.append("BIN1");
input->shipping_address->address_line[1] = "BIN1"; input->shipping_address->address_line.append("First floor");
input->shipping_address->address_line[2] = "First floor";
PaymentResponse output(std::move(input), new MockPaymentCompleter); PaymentResponse output(std::move(input), new MockPaymentCompleter);
ScriptValue jsonObject = output.toJSONForBinding(scope.getScriptState()); ScriptValue jsonObject = output.toJSONForBinding(scope.getScriptState());
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
#include "bindings/core/v8/ScriptFunction.h" #include "bindings/core/v8/ScriptFunction.h"
#include "bindings/core/v8/V8DOMException.h" #include "bindings/core/v8/V8DOMException.h"
#include "components/payments/payment_request.mojom-blink.h"
#include "modules/payments/PaymentDetails.h" #include "modules/payments/PaymentDetails.h"
#include "modules/payments/PaymentItem.h" #include "modules/payments/PaymentItem.h"
#include "modules/payments/PaymentShippingOption.h" #include "modules/payments/PaymentShippingOption.h"
#include "platform/heap/HeapAllocator.h" #include "platform/heap/HeapAllocator.h"
#include "platform/heap/Persistent.h" #include "platform/heap/Persistent.h"
#include "public/platform/modules/payments/payment_request.mojom-blink.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "wtf/Allocator.h" #include "wtf/Allocator.h"
#include "wtf/Vector.h" #include "wtf/Vector.h"
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "modules/payments/PaymentsValidators.h" #include "modules/payments/PaymentsValidators.h"
#include "bindings/core/v8/ScriptRegexp.h" #include "bindings/core/v8/ScriptRegexp.h"
#include "platform/weborigin/KURL.h"
#include "wtf/text/StringImpl.h" #include "wtf/text/StringImpl.h"
namespace blink { namespace blink {
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#ifndef PaymentsValidators_h #ifndef PaymentsValidators_h
#define PaymentsValidators_h #define PaymentsValidators_h
#include "components/payments/payment_request.mojom-blink.h"
#include "modules/ModulesExport.h" #include "modules/ModulesExport.h"
#include "public/platform/modules/payments/payment_request.mojom-blink.h"
#include "wtf/Allocator.h" #include "wtf/Allocator.h"
#include "wtf/text/WTFString.h" #include "wtf/text/WTFString.h"
......
...@@ -696,10 +696,10 @@ mojom("new_wrapper_types_mojo_bindings") { ...@@ -696,10 +696,10 @@ mojom("new_wrapper_types_mojo_bindings") {
mojom("android_mojo_bindings") { mojom("android_mojo_bindings") {
sources = [ sources = [
"platform/modules/payments/payment_request.mojom",
"platform/modules/webshare/webshare.mojom", "platform/modules/webshare/webshare.mojom",
] ]
public_deps = [ public_deps = [
"//components/payments:payment_request",
"//url/mojo:url_mojom_gurl", "//url/mojo:url_mojom_gurl",
] ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment