New issue
Advanced search Search tips

Issue 679381 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug

Blocking:
issue 683329



Sign in to add a comment

[Payments] Create a layered component

Project Member Reported by ma...@chromium.org, Jan 9 2017

Issue description

As discussed in https://codereview.chromium.org/2611253004/, GN fails its checks in components/payments/BUILD.gn

See his suggestion about a layered component below.

From Sylvain:

"If components/payments/BUILD.gn is loaded on iOS then you'll get error when
running "gn check" as this will cause "//content/public/browser" to be loaded on
iOS even if no iOS target depends on this one (this is because every target
visible from a BUILD.gn file is instantiated and buildable via ninja even if
there is no direct dependency from //)."

But the correct solution is instead to change payments component to be a
layered-component (see
https://www.chromium.org/developers/design-documents/layered-components-design)
as DEPS are not fine grained enough.

That is move all files currently in component/payments to
component/payments/core and move the new files to components/payments/content."
 
Blocking: 683329
Owner: rouslan@chromium.org
Status: Started (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/908248cbb5439c9a2ca5150688d641982857000a

commit 908248cbb5439c9a2ca5150688d641982857000a
Author: rouslan <rouslan@chromium.org>
Date: Mon Feb 27 21:30:24 2017

Layered component for web payments

This patch splits up //components/payments into two layers to
accommodate usage in iOS.

//components/payments/core    - Can be used from iOS.
//components/payments/content - Cannot be used from iOS.

Based on layering instructions:
https://www.chromium.org/developers/design-documents/structure-of-layered-components-within-the-chromium-codebase

BUG= 679381 

Review-Url: https://codereview.chromium.org/2713033004
Cr-Commit-Position: refs/heads/master@{#453344}

[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/android/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/android/chrome_jni_registrar.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/android/payments/service_worker_payment_app_bridge.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/autofill/android/personal_data_manager_android.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/payments/chrome_payment_request_delegate.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/payments/chrome_payment_request_delegate.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/payments/payment_request_factory.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/payments/payment_request_factory.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/editor_view_controller.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/order_summary_view_controller.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_method_view_controller.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_method_view_controller_interactive_uitest.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_request_credit_card_editor_interactive_uitest.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_request_dialog_view.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_request_dialog_view.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_request_interactive_uitest.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/payment_sheet_view_controller.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/chrome/browser/ui/views/payments/shipping_list_view_controller.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/BUILD.gn
[delete] https://crrev.com/cad99ab06ac789823d4e8df241a05098df1dd124/components/payments/BUILD.gn
[delete] https://crrev.com/cad99ab06ac789823d4e8df241a05098df1dd124/components/payments/DEPS
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/OWNERS
[delete] https://crrev.com/cad99ab06ac789823d4e8df241a05098df1dd124/components/payments/android/payments_jni_registrar.h
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/BUILD.gn
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/DEPS
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/OWNERS
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/android/BUILD.gn
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/android/DEPS
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/android/currency_formatter_android.cc
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/android/currency_formatter_android.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/android/payment_details_validation_android.cc
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/android/payment_details_validation_android.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_app.mojom
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_details_validation.cc
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_details_validation.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_request.cc
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_request.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_request.mojom
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_request_delegate.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_request_dialog.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_request_web_contents_manager.cc
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payment_request_web_contents_manager.h
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payments_validators.cc
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payments_validators.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/content/payments_validators_test.cc
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/BUILD.gn
[add] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/DEPS
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/address_normalizer.cc
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/address_normalizer.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/address_normalizer_unittest.cc
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/currency_formatter.cc
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/currency_formatter.h
[rename] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/components/payments/core/currency_formatter_unittest.cc
[delete] https://crrev.com/cad99ab06ac789823d4e8df241a05098df1dd124/components/payments/payment_details_validation.h
[delete] https://crrev.com/cad99ab06ac789823d4e8df241a05098df1dd124/components/payments/payments_validators.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_browsertest.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_content_unittest_base.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_context_impl.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_database.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_manager.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_manager_unittest.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_provider_impl.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/browser/payments/payment_app_provider_impl_unittest.cc
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/common/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/renderer/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/renderer/service_worker/service_worker_type_converters.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/content/test/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/ios/chrome/browser/DEPS
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/ios/chrome/browser/payments/payment_items_display_view_controller.mm
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/ios/chrome/browser/payments/payment_request_view_controller.mm
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/ios/chrome/browser/payments/shipping_option_selection_view_controller.mm
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/LayoutTests/payments/resources/payment-request-mock.js
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/payments/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/payments/PaymentAddress.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/payments/PaymentAppManager.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/payments/PaymentRequest.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/payments/PaymentResponse.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/payments/PaymentTestHelper.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/Source/modules/payments/PaymentsValidators.h
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/908248cbb5439c9a2ca5150688d641982857000a/tools/android/eclipse/.classpath

Project Member

Comment 3 by bugdroid1@chromium.org, Feb 28 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/e75766e4be8cf5592b521fae20c5362b3e3695da

commit e75766e4be8cf5592b521fae20c5362b3e3695da
Author: Ted Choc <tedchoc@google.com>
Date: Tue Feb 28 00:16:09 2017

Status: Fixed (was: Started)
Components: -UI>Browser>Autofill>Payments UI>Browser>Payments

Sign in to add a comment