New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 775631 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug

Blocked on:
issue 795007


Participants' hotlists:
Payments-Dedupe


Sign in to add a comment

Investigate using Mojo Objects on iOS PaymentRequest

Project Member Reported by tmartino@chromium.org, Oct 17 2017

Issue description

Although Mojo is not itself available on iOS, it would be really nice if we could at least use the entities outside of the message-passing context--we have a lot of needlessly redundant entities on iOS as a result.

This could be tricky--on top of changing references, there will be hurdles to making these entities visible to iOS, some of which may be intentional guards against doing this sort of thing. So for the time being, the goal is to investigate and come back with a conclusive answer on whether or not this is viable.
 

Comment 1 by ma...@chromium.org, Oct 18 2017

Cc: eugene...@chromium.org blundell@chromium.org
Hi Eugene and Colin, 

We have code in //components/payments/content/ which depends on "//mojo/public/cpp/bindings". You can see an example mojom file [1].

The mojom file defines a few interfaces and quite a few structs. To get around the lack of Mojo on iOS but still share validation code between all platforms, we wrote code in //c/p/content to transform Mojo-generated C++ objects to generic C++ objects [2], so the validation can be in //c/p/core. This is not ideal.

Do you see any new advancements in Mojo for iOS that could be helpful to us?

[1] https://cs.chromium.org/chromium/src/third_party/WebKit/public/platform/modules/payments/payment_request.mojom?q=payment_Request.mojom&sq=package:chromium&dr

[2] https://cs.chromium.org/chromium/src/components/payments/core/payment_details.h
Cc: roc...@chromium.org yzshen@chromium.org
Web Page -> Native Mojo communication is supported on iOS only for WebUI. It is not possible to support mojo for pages which are not fully controlled by Chrome. Mojo communication is synchronous and WKWebView does not support sync communication channel between web page and native code. Mojo works in WebUI because we use window.prompt for communication, which is not an option for the rest of the pages.

The only way to support Mojo for iOS is to make API asynchronous. CCing rockot@ and yzshen@ to comment on Mojo sync design.

Comment 3 by roc...@chromium.org, Oct 18 2017

As Eugene points out the main issue is that certain basic operations (like creating a new message pipe) are fairly trivial and expected to work synchronously. Making our shared JS bindings fully asynchronous would make them ergonomically quite painful for developers to use.

If this is going to be a regular source of pain it is conceivable that someone could implement and maintain separate generated bindings for WKWebView JS which did everything asynchronously, but that is a substantial undertaking with non-trivial maintenance cost and I don't think it would be justifiable for payments alone.
Can we use Mojo only as structs and not for any IPC on iOS?

Comment 5 by roc...@chromium.org, Oct 18 2017

Good point. As long as you avoid handle types (pipes etc), and you can still benefit without using any actual Mojo APIs, there's likely no reason you can't use the existing generated C++/JS de/serialization routines for structs. Then your async communication channel just needs to push byte strings around.
Mojo *is* available on iOS. Is there some documentation somewhere that has made  you think that it isn't?

Using Mojo for C++-to-C++ communication on iOS works essentially the same as on other platforms. As Eugene and Ken highlighted, using Mojo for JS<->C++ communication on iOS has restrictions.

So certainly you can reuse the Mojo structs across all platforms. But you can also reuse any Mojo interfaces for C++<->C++ communication if that would be useful in this case (for example, if you're using Mojo to communicate between the browser and the renderer on //content-based platforms, and it would be useful to reuse those entrypoints to the component's browser code on iOS).

Comment 7 by roc...@chromium.org, Oct 18 2017

Sorry, to clarify I believe we're talking about Mojo usage directly from
injected JS code.

Comment 8 by roc...@chromium.org, Oct 18 2017

Oh I guess I really can't read. If this is only C++ <-> C++ code, there are
no restrictions whatsoever.
blundell@, this was an incorrect inference based on the observation that so much Mojo code is separated out from platform-specific code. Thanks for the clarification; it's encouraging to hear that C++ <-> C++ will not be a problem.

Comment 10 by sczs@chromium.org, Oct 18 2017

Status: Assigned (was: Untriaged)
re: comment #9, yes, that makes complete sense. It came about because most of the Mojo code in //components is simply Chrome IPC code that got converted to Mojo. Eliminating this layering is a big potential code health win.
Cc: noyau@chromium.org
rouslan@ do you want to use Mojo for JS -> C++ communication on iOS? If so which Mojo APIs you want to use?
Thank you for the background, everyone! I want to use only Mojo structs without any communication. This lets us reuse our validation functions better. The communications are nice to have. We don't require them and can work OK without them.
FYI, this is for https://cs.chromium.org/chromium/src/third_party/WebKit/public/platform/modules/payments/payment_request.mojom , which would need to be moved to a different directory, if we would be using it on iOS.
Status: Started (was: Assigned)
Project Member

Comment 17 by bugdroid1@chromium.org, Dec 14 2017

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

commit 241cb0e48890f6e5497bb8625b59be41d7d1454c
Author: Tommy Martino <tmartino@chromium.org>
Date: Thu Dec 14 16:42:38 2017

[WebPayments] Drop trans. layer for Mojo structs

Full Title: Drop Translation Layer for Some PaymentRequest Mojo Structs

Currently we have C++ classes duplicating our Mojo structs; it turns out
this is unnecessary and adds a lot of complexity. This change removes
two of them (PaymentAddress, PaymentCurrencyAmount) as a first step
towards removing all of them. To allow using these structs on iOS, which
does not use WebKit, we have to move these back to the components
directory, where they originally lived. My tentative plan is to move
the remaining mojo structs to components, split between the
payment_request_data file added in this CL, and a new
payment_request_interface file for the bits which will not be included
on iOS (where communication with the renderer does not use Mojo).

Bug: 775631
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I7e4a4b21fe8c75c37b95fb12658114d1994f4a66
Reviewed-on: https://chromium-review.googlesource.com/738515
Commit-Queue: Tommy Martino <tmartino@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524087}
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/chrome/android/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/content/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/content/payment_request_converter.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/content/payment_request_state.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/content/payment_response_helper.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/content/payment_response_helper.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/autofill_payment_instrument.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/basic_card_response.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/basic_card_response.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/basic_card_response_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_address.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_address.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_address_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_currency_amount.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_currency_amount.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_currency_amount_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_details.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_details_modifier.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_details_modifier_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_details_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_details_validation.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_item.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_item.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_item_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_request_data_util.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_request_data_util.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_request_data_util_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_response.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_response.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_shipping_option.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_shipping_option.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/payment_shipping_option_unittest.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/web_payment_request.cc
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/web_payment_request.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/core/web_payment_request_unittest.cc
[add] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/mojom/BUILD.gn
[add] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/mojom/OWNERS
[add] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/components/payments/mojom/payment_request_data.mojom
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/content/test/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/DEPS
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/ios_payment_instrument_launcher.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/ios_payment_instrument_launcher.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/payment_request_test_util.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/payment_request_util_unittest.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/payment_response_helper.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/payments/payment_response_helper_unittest.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/js_payment_request_manager.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/payment_items_display_mediator_unittest.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/ios/chrome/browser/ui/payments/shipping_option_selection_mediator_unittest.mm
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/Source/controller/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/Source/modules/payments/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/Source/modules/payments/DEPS
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/Source/modules/payments/PaymentRequest.h
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/public/platform/modules/payments/payment_app.mojom
[modify] https://crrev.com/241cb0e48890f6e5497bb8625b59be41d7d1454c/third_party/WebKit/public/platform/modules/payments/payment_request.mojom

Comment 18 by dgn@chromium.org, Dec 14 2017

Blockedon: 795007
Project Member

Comment 19 by bugdroid1@chromium.org, Dec 14 2017

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

commit efbf4deee4602dc87a665d1bd10aad172e12b03c
Author: Nicolas Dossou-Gbété <dgn@chromium.org>
Date: Thu Dec 14 17:25:54 2017

Revert "[WebPayments] Drop trans. layer for Mojo structs"

This reverts commit 241cb0e48890f6e5497bb8625b59be41d7d1454c.

Reason for revert:
Internal Android ToT broken, please review and update
downstream usage before relanding.

Original change's description:
> [WebPayments] Drop trans. layer for Mojo structs
> 
> Full Title: Drop Translation Layer for Some PaymentRequest Mojo Structs
> 
> Currently we have C++ classes duplicating our Mojo structs; it turns out
> this is unnecessary and adds a lot of complexity. This change removes
> two of them (PaymentAddress, PaymentCurrencyAmount) as a first step
> towards removing all of them. To allow using these structs on iOS, which
> does not use WebKit, we have to move these back to the components
> directory, where they originally lived. My tentative plan is to move
> the remaining mojo structs to components, split between the
> payment_request_data file added in this CL, and a new
> payment_request_interface file for the bits which will not be included
> on iOS (where communication with the renderer does not use Mojo).
> 
> Bug: 775631
> Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
> Change-Id: I7e4a4b21fe8c75c37b95fb12658114d1994f4a66
> Reviewed-on: https://chromium-review.googlesource.com/738515
> Commit-Queue: Tommy Martino <tmartino@chromium.org>
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
> Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#524087}

TBR=palmer@chromium.org,dcheng@chromium.org,rouslan@chromium.org,sdefresne@chromium.org,tedchoc@chromium.org,tmartino@chromium.org,mahmadi@chromium.org

Change-Id: I02b048666c4b510ec98bacb8f52bfffbee00d18a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 775631
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Reviewed-on: https://chromium-review.googlesource.com/826224
Reviewed-by: Nicolas Dossou-Gbété <dgn@chromium.org>
Commit-Queue: Nicolas Dossou-Gbété <dgn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524099}
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/chrome/android/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/content/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/content/payment_request_converter.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/content/payment_request_state.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/content/payment_response_helper.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/content/payment_response_helper.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/autofill_payment_instrument.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/basic_card_response.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/basic_card_response.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/basic_card_response_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_address.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_address.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_address_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_currency_amount.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_currency_amount.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_currency_amount_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_details.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_details_modifier.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_details_modifier_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_details_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_details_validation.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_item.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_item.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_item_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_request_data_util.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_request_data_util.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_request_data_util_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_response.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_response.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_shipping_option.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_shipping_option.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/payment_shipping_option_unittest.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/web_payment_request.cc
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/web_payment_request.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/components/payments/core/web_payment_request_unittest.cc
[delete] https://crrev.com/8c0b1dcaa85bbc72465d389981b46d4d0b86fcad/components/payments/mojom/BUILD.gn
[delete] https://crrev.com/8c0b1dcaa85bbc72465d389981b46d4d0b86fcad/components/payments/mojom/OWNERS
[delete] https://crrev.com/8c0b1dcaa85bbc72465d389981b46d4d0b86fcad/components/payments/mojom/payment_request_data.mojom
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/content/test/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/DEPS
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/ios_payment_instrument_launcher.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/ios_payment_instrument_launcher.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/payment_request_test_util.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/payment_request_util_unittest.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/payment_response_helper.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/payments/payment_response_helper_unittest.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/js_payment_request_manager.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/payment_items_display_mediator_unittest.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/ios/chrome/browser/ui/payments/shipping_option_selection_mediator_unittest.mm
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/Source/controller/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/Source/modules/payments/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/Source/modules/payments/DEPS
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/Source/modules/payments/PaymentRequest.h
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/public/platform/modules/payments/payment_app.mojom
[modify] https://crrev.com/efbf4deee4602dc87a665d1bd10aad172e12b03c/third_party/WebKit/public/platform/modules/payments/payment_request.mojom

Project Member

Comment 20 by bugdroid1@chromium.org, Jan 12 2018

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

commit 21d415f983de45d1e481361afb59aec8b893bfdd
Author: Tommy Martino <tmartino@chromium.org>
Date: Fri Jan 12 20:08:22 2018

RELAND: [WebPayments] Drop trans. layer...

This is a second attempt at landing:
https://chromium-review.googlesource.com/c/chromium/src/+/738515

That CL had the title:
Drop Translation Layer for Some PaymentRequest Mojo Structs

It was reverted because it caused downstream breakages on Android.
A fix for those issues was landed here (login required):
https://chrome-internal-review.googlesource.com/c/clank/internal/apps/+/538307

TBRing because this CL is identical to the one which was previously reviewed.

TBR=sdefresne@chromium.org,tedchoc@chromium.org,dcheng@chromium.org,palmer@chromium.org,rouslan@chromium.org,mahmadi@chromium.org

Bug: 795007,775631
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I402f45844c1e19cd676a0952c72a6950af72bc20
Reviewed-on: https://chromium-review.googlesource.com/857842
Reviewed-by: Tommy Martino <tmartino@chromium.org>
Commit-Queue: Tommy Martino <tmartino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529036}
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/chrome/android/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/content/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/content/payment_request_converter.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/content/payment_request_state.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/content/payment_response_helper.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/content/payment_response_helper.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/autofill_payment_instrument.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/basic_card_response.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/basic_card_response.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/basic_card_response_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_address.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_address.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_address_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_currency_amount.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_currency_amount.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_currency_amount_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_details.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_details_modifier.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_details_modifier_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_details_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_details_validation.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_item.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_item.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_item_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_request_data_util.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_request_data_util.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_request_data_util_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_response.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_response.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_shipping_option.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_shipping_option.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/payment_shipping_option_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/web_payment_request.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/web_payment_request.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/core/web_payment_request_unittest.cc
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/mojom/BUILD.gn
[add] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/mojom/OWNERS
[add] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/components/payments/mojom/payment_request_data.mojom
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/content/test/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/DEPS
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/ios_payment_instrument_launcher.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/ios_payment_instrument_launcher.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/payment_request_test_util.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/payment_request_util_unittest.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/payment_response_helper.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/payments/payment_response_helper_unittest.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/js_payment_request_manager.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/payment_items_display_mediator_unittest.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/ios/chrome/browser/ui/payments/shipping_option_selection_mediator_unittest.mm
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/Source/controller/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/Source/modules/payments/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/Source/modules/payments/DEPS
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/Source/modules/payments/PaymentRequest.h
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/public/platform/modules/payments/payment_app.mojom
[modify] https://crrev.com/21d415f983de45d1e481361afb59aec8b893bfdd/third_party/WebKit/public/platform/modules/payments/payment_request.mojom

Cc: -roc...@chromium.org rockot@google.com

Sign in to add a comment