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

Issue 620173 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Feature
Launch-Privacy: NA
Launch-Security: NA

Blocking:
issue 684655



Sign in to add a comment

Generic 3rd party native Android payment app integration

Project Member Reported by rouslan@chromium.org, Jun 15 2016

Issue description

dfalcantara@: Does Java code have access to Finch flags?
 
Most sensible approach is to name the Finch flag "PaymentAppFactoryAddition" and use it in:

https://cs.chromium.org/chromium/src/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java

If the flag value is "Disabled", then don't use apps from PaymentAppFactoryAddition. PaymentAppFactoryAddition is used for v1 integration with Android Pay and will go away after v2 is ready.
Labels: -Restrict-View-Google -M-53 M-54
Summary: Replace additional factory with generic Android payment app integration (was: Put Android Pay v1 integration behind Finch flag.)
Finch flag for M-53. Generic Android payment apps in M-54+.
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 20 2016

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

commit 0915094b62ac79689ce8e6f52b4676ef54b9d7bb
Author: Rouslan Solomakhin <rouslan@chromium.org>
Date: Mon Jun 20 15:49:13 2016

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 21 2016

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

commit d9a3d9a30d61dcba7ef4b489606cabba7ced9050
Author: rouslan <rouslan@chromium.org>
Date: Fri Oct 21 18:10:42 2016

[Reland] Make PaymentOption store a Drawable instead of id

Make PaymentOption store a Drawable instead of id for the icon.
This will allow to use icons not contained in the default resources.

Original patch http://crrev.com/2436883002 from rob.buis@samsung.com.

BUG= 620173 

Review-Url: https://chromiumcodereview.appspot.com/2436363002
Cr-Commit-Position: refs/heads/master@{#426843}

[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillAddress.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentInstrument.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentOption.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestSection.java
[modify] https://crrev.com/d9a3d9a30d61dcba7ef4b489606cabba7ced9050/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 21 2016

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

commit 353be4c2e9a81034d3c2fb2926c1138242189fce
Author: Rouslan Solomakhin <rouslan@chromium.org>
Date: Fri Oct 21 18:47:47 2016

Lest I forget, some work has been done in https://codereview.chromium.org/2341203002/
Cc: rob.b...@samsung.com
Labels: -M-54
Status: Assigned (was: Started)
Status: Started (was: Assigned)
Cc: palmer@chromium.org
Labels: -Type-Feature Type-Launch
Summary: Generic 3rd party native Android payment app integration (was: Replace additional factory with generic Android payment app integration)
Labels: Launch-Security-NotReviewed
Labels: Launch-Privacy-NotReviewed
Project Member

Comment 18 by bugdroid1@chromium.org, Jan 6 2017

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

commit 03f7edd7976c0c96aff58cdb2a85b9cb775168e5
Author: rouslan <rouslan@chromium.org>
Date: Fri Jan 06 20:36:22 2017

Detect locally installed native Android payment apps.

In this patch:

  1) Query locally installed native Android payment apps.
  2) Show the name and icon of these apps in UI.
  3) Invoke the apps with matching payment method data.
  4) Return the results back to the merchant website.

Intent to implement:

  https://groups.google.com/a/chromium.org/forum/#!msg/chromium-dev/fsslHD1Gf88/K2KpikS6BwAJ

The feature is disabled by default. It can be enabled via a flag:

  chrome://flags/#android-payment-apps

To test the new functionality:

  1) Install BobPay:
     https://drive.google.com/open?id=0B9_TYWUgXNVFLXpRRkthd1lRbjg
  2) Enable chrome://flags/#android-payment-apps.
  3) Open https://rsolomakhin.github.io/pr/bob/.
  4) Click [Buy] button.

BUG= 620173 

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

[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
[add] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
[add] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFactory.java
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/java_sources.gni
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestServiceWorkerPaymentAppTest.java
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/app/generated_resources.grd
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/browser/about_flags.cc
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/browser/android/chrome_feature_list.cc
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/chrome/browser/android/chrome_feature_list.h
[modify] https://crrev.com/03f7edd7976c0c96aff58cdb2a85b9cb775168e5/tools/metrics/histograms/histograms.xml

Project Member

Comment 19 by bugdroid1@chromium.org, Jan 6 2017

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

commit 79a037061fa568229a5c3fdd877ecd20968f7d9e
Author: Rouslan Solomakhin <rouslan@google.com>
Date: Fri Jan 06 21:15:22 2017

Project Member

Comment 20 by bugdroid1@chromium.org, Jan 9 2017

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

commit 939b4423ee7c5c20e44de09c350ebcf61286b749
Author: rob.buis <rob.buis@samsung.com>
Date: Mon Jan 09 19:15:56 2017

Set proper action name on Pay Intent

Set proper action name on Pay Intent, this will be useful
for the Activity to distinguish between the actions listed
in the intent filters.

BUG= 620173 

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

[modify] https://crrev.com/939b4423ee7c5c20e44de09c350ebcf61286b749/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
[modify] https://crrev.com/939b4423ee7c5c20e44de09c350ebcf61286b749/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFactory.java

Project Member

Comment 21 by bugdroid1@chromium.org, Jan 17 2017

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

commit b36b88ee87e3a4b5445cd6e865736a011541a714
Author: rob.buis <rob.buis@samsung.com>
Date: Tue Jan 17 21:10:54 2017

Implement IsReadyToPay handling

Implement IsReadyToPay handling as defined in the specification:
https://docs.google.com/document/d/1izV4uC-tiRJG3JLooqY3YRLU22tYOsLTNq0P_InPJeE/edit?usp=sharing

In order to communicate with the IsReadyToPay Service AIDL is used.
Android payment apps are supposed to use the exact same AIDL
definitions, if not the payment app will not be accepted as
payment option.

BUG= 620173 

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

[modify] https://crrev.com/b36b88ee87e3a4b5445cd6e865736a011541a714/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
[modify] https://crrev.com/b36b88ee87e3a4b5445cd6e865736a011541a714/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFactory.java
[modify] https://crrev.com/b36b88ee87e3a4b5445cd6e865736a011541a714/content/public/android/BUILD.gn
[add] https://crrev.com/b36b88ee87e3a4b5445cd6e865736a011541a714/content/public/android/java/src/org/chromium/IsReadyToPayService.aidl
[add] https://crrev.com/b36b88ee87e3a4b5445cd6e865736a011541a714/content/public/android/java/src/org/chromium/IsReadyToPayServiceCallback.aidl
[add] https://crrev.com/b36b88ee87e3a4b5445cd6e865736a011541a714/content/public/android/java/src/org/chromium/payments_common.aidl

Project Member

Comment 22 by bugdroid1@chromium.org, Jan 25 2017

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

commit 6e547f0c061ed010efd6ee9e5166c327a92eba7a
Author: rob.buis <rob.buis@samsung.com>
Date: Wed Jan 25 17:43:17 2017

Send site certificate chain to android payment app

Send site certificate chain of the top-level browsing context
to android payment app as described in the specification:
https://docs.google.com/document/d/1izV4uC-tiRJG3JLooqY3YRLU22tYOsLTNq0P_InPJeE

BUG= 620173 

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

[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentApp.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentInstrument.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentApp.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentInstrument.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
[modify] https://crrev.com/6e547f0c061ed010efd6ee9e5166c327a92eba7a/chrome/browser/ui/android/page_info/certificate_chain_helper.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 25 2017

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

commit 5dd5d82a87cc256f33e05d9bb643bfa5723b81b0
Author: Rouslan Solomakhin <rouslan@google.com>
Date: Wed Jan 25 18:09:57 2017

Project Member

Comment 24 by bugdroid1@chromium.org, Mar 9 2017

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

commit 67dd9f2795389cc3776481ff07740984b2389f43
Author: rob.buis <rob.buis@samsung.com>
Date: Thu Mar 09 01:56:20 2017

Add Java wrapper for RenderFrameHost

This patch adds a Java wrapper for RenderFrameHost. It also adds a
getMainFrame method to WebContents.

This will be useful for Payment Request which needs to know
the exact (sub)frame issued the payment request.

BUG= 620173 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/BUILD.gn
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/android/browser_jni_registrar.cc
[add] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/frame_host/render_frame_host_android.cc
[add] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/frame_host/render_frame_host_android.h
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/frame_host/render_frame_host_delegate.cc
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/public/android/BUILD.gn
[add] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostDelegate.java
[add] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[add] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/public/android/java/src/org/chromium/content_public/browser/RenderFrameHost.java
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/67dd9f2795389cc3776481ff07740984b2389f43/content/public/android/javatests/src/org/chromium/content/browser/webcontents/WebContentsTest.java

Project Member

Comment 25 by bugdroid1@chromium.org, Mar 9 2017

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

commit fede5b8ff09c1be5803be0a9f333f5e643d2877a
Author: jam <jam@chromium.org>
Date: Thu Mar 09 22:56:03 2017

Revert of Add Java wrapper for RenderFrameHost (patchset #20 id:630001 of https://codereview.chromium.org/2681933002/ )

Reason for revert:
The new test fails with PlzNavigate: https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/247610

I spoke with Bo and he's ok with reverting this for now since nothing depends on it. Please test with PlzNavigate; we're working on getting main waterfall testers in the next day or two. In the meantime, since PlzNavigate is so close to launching we don't want regressions. Apologies that there are no public bots yet.

Original issue's description:
> Add Java wrapper for RenderFrameHost
>
> This patch adds a Java wrapper for RenderFrameHost. It also adds a
> getMainFrame method to WebContents.
>
> This will be useful for Payment Request which needs to know
> the exact (sub)frame issued the payment request.
>
> BUG= 620173 
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
>
> Review-Url: https://codereview.chromium.org/2681933002
> Cr-Commit-Position: refs/heads/master@{#455635}
> Committed: https://chromium.googlesource.com/chromium/src/+/67dd9f2795389cc3776481ff07740984b2389f43

TBR=rouslan@chromium.org,dcheng@chromium.org,tedchoc@chromium.org,boliu@chromium.org,rob.buis@samsung.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 620173 

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

[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/BUILD.gn
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/android/browser_jni_registrar.cc
[delete] https://crrev.com/e02e09e5f6b809e3af3c8d2707929c1bfcb43781/content/browser/frame_host/render_frame_host_android.cc
[delete] https://crrev.com/e02e09e5f6b809e3af3c8d2707929c1bfcb43781/content/browser/frame_host/render_frame_host_android.h
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/frame_host/render_frame_host_delegate.cc
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/public/android/BUILD.gn
[delete] https://crrev.com/e02e09e5f6b809e3af3c8d2707929c1bfcb43781/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostDelegate.java
[delete] https://crrev.com/e02e09e5f6b809e3af3c8d2707929c1bfcb43781/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[delete] https://crrev.com/e02e09e5f6b809e3af3c8d2707929c1bfcb43781/content/public/android/java/src/org/chromium/content_public/browser/RenderFrameHost.java
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/fede5b8ff09c1be5803be0a9f333f5e643d2877a/content/public/android/javatests/src/org/chromium/content/browser/webcontents/WebContentsTest.java

Project Member

Comment 26 by bugdroid1@chromium.org, Mar 10 2017

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

commit 300b08741f54d52bbdf1c6e400f54dcf64b0da34
Author: rob.buis <rob.buis@samsung.com>
Date: Fri Mar 10 20:43:58 2017

Add Java wrapper for RenderFrameHost

This patch adds a Java wrapper for RenderFrameHost. It also adds a
getMainFrame method to WebContents.

This will be useful for Payment Request which needs to know
the exact (sub)frame issued the payment request.

BUG= 620173 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2681933002
Cr-Original-Commit-Position: refs/heads/master@{#455635}
Committed: https://chromium.googlesource.com/chromium/src/+/67dd9f2795389cc3776481ff07740984b2389f43
Review-Url: https://codereview.chromium.org/2681933002
Cr-Commit-Position: refs/heads/master@{#456152}

[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/BUILD.gn
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/android/browser_jni_registrar.cc
[add] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/frame_host/render_frame_host_android.cc
[add] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/frame_host/render_frame_host_android.h
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/frame_host/render_frame_host_delegate.cc
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/public/android/BUILD.gn
[add] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostDelegate.java
[add] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[add] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/public/android/java/src/org/chromium/content_public/browser/RenderFrameHost.java
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/300b08741f54d52bbdf1c6e400f54dcf64b0da34/content/public/android/javatests/src/org/chromium/content/browser/webcontents/WebContentsTest.java

Project Member

Comment 27 by bugdroid1@chromium.org, Mar 16 2017

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

commit 6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf
Author: rob.buis <rob.buis@samsung.com>
Date: Thu Mar 16 17:12:05 2017

Make PaymentRequestImpl work with RenderFrameHost

Make PaymentRequestImpl work with the newly introduced RenderFrameHost
in order to know the (sub)frame that created the payment request.

This CL also adds WebContentsStatics which should contain public static
methods for WebContents.

BUG= 620173 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

patch from issue 2681933002 at patchset 100001 (http://crrev.com/2681933002#ps100001)

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

[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/chrome/android/java/src/org/chromium/chrome/browser/mojo/ChromeInterfaceRegistrar.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestFactory.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/browser/android/java_interfaces_impl.cc
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/browser/android/java_interfaces_impl.h
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/android/BUILD.gn
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/android/java/src/org/chromium/content/browser/InterfaceRegistrarImpl.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/android/java/src/org/chromium/content_public/browser/InterfaceRegistrar.java
[add] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/android/java/src/org/chromium/content_public/browser/WebContentsStatics.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/android/javatests/src/org/chromium/content/browser/webcontents/WebContentsTest.java
[modify] https://crrev.com/6e62a5770c75bce60af3a8f91866e2ea7dcbf3bf/content/public/browser/render_frame_host.h

Project Member

Comment 28 by bugdroid1@chromium.org, Mar 17 2017

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

commit 3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8
Author: rob.buis <rob.buis@samsung.com>
Date: Fri Mar 17 00:56:45 2017

Send origin of the iframe browsing context

Send origin of the iframe browsing context using the recently
added RenderFrameHost.getLastCommittedURL.

BUG= 620173 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentApp.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentInstrument.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentApp.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentInstrument.java
[modify] https://crrev.com/3aaf78725a83d3bd67c30ae3e2cf32eb8ba35ac8/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Project Member

Comment 29 by bugdroid1@chromium.org, Mar 17 2017

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

commit 67a9810a1554b5acf0cf6550761afc81be82fa02
Author: Rouslan Solomakhin <rouslan@google.com>
Date: Fri Mar 17 12:43:45 2017

Project Member

Comment 30 by bugdroid1@chromium.org, May 10 2017

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

commit 23b9ba1340ee76f7ef9d6b8b61218f833e6f79e0
Author: rouslan <rouslan@chromium.org>
Date: Wed May 10 14:39:17 2017

Update Android payment app parameters.

Changed parameter names:
dataMap           ---> methodData
origin            ---> topLevelOrigin
iframeOrigin      ---> paymentRequestOrigin
certificateChain  ---> topLevelCertificateChain
id                ---> paymentRequestId
instrumentDetails ---> details

The old parameter names are still used for backward compatibility.

Android payment app spec:
https://docs.google.com/document/d/1izV4uC-tiRJG3JLooqY3YRLU22tYOsLTNq0P_InPJeE

The new parameter names are meant to closely resemble the
PaymentRequestevent in the payment handler spec:
https://w3c.github.io/webpayments-payment-handler/#the-paymentrequestevent

BUG= 620173 

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

[modify] https://crrev.com/23b9ba1340ee76f7ef9d6b8b61218f833e6f79e0/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java

Labels: Merge-Request-59
I would like to merge "Update Android payment app parameters" (https://crrev.com/23b9ba1) into M-59.
Project Member

Comment 32 by sheriffbot@chromium.org, May 10 2017

Labels: -Merge-Request-59 Merge-Review-59 Hotlist-Merge-Review
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 33 by bugdroid1@chromium.org, May 10 2017

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

commit 0f7d5465ae9f864f154a8c13a217579667a90ac9
Author: rouslan <rouslan@chromium.org>
Date: Wed May 10 16:35:10 2017

Enable 3rd party Android payment apps by default.

The web payment manifest prerequisite is approved on blink-dev:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/gQCGIrnMxFU/VO5_VoW5BAAJ

BUG= 620173 

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

[modify] https://crrev.com/0f7d5465ae9f864f154a8c13a217579667a90ac9/chrome/browser/android/chrome_feature_list.cc

I also would like to merge "Enable 3rd party Android payment apps by default" (https://crrev.com/0f7d546) to M-59.
Labels: -Merge-Review-59 Merge-Rejected-59
Large change (c#31) for a new feature two weeks past feature freeze - and the feature hasn't been enabled by default until now?

We're actively developing new merge guidelines (will be shared with the team soon) and this is violating a couple of the principles we're setting out there, so rejecting this for 59 - we should wait for 60.  That said, it's possible our parameters are too strict, so if you'd like to chat about it you can ping me and I'm happy to discuss.
Project Member

Comment 36 by bugdroid1@chromium.org, May 11 2017

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

commit 108b6aec6720f96745d9c9ac007dcbd7097dddf4
Author: Rouslan Solomakhin <rouslan@google.com>
Date: Thu May 11 13:42:07 2017

Labels: M-60 Launch-M-Target-60-Dev Launch-M-Target-60-Beta Launch-M-Target-60-Stable
Project Member

Comment 38 by bugdroid1@chromium.org, May 11 2017

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

commit 75a129138b5e1e7c08ab918c9e754ac4027f24c8
Author: rouslan <rouslan@chromium.org>
Date: Thu May 11 21:48:03 2017

Pass "total" to IS_READY_TO_PAY service.

Before this patch, a PaymentRequest for USD $100.00 would show all
available payment apps in Chrome UI, even if some of the apps do not
carry enough balance.

This patch adds a "total" parameter to IS_READY_TO_PAY service. This
parameter is JSON-stringified PaymentCurencyAmount. For example:

  {"currency": "USD", "value": "10.00"}

After this patch, payment apps can decide to return "false" to
IS_READY_TO_PAY query if they do not carry enough balance. These apps
would not be available in Chrome UI when a PaymentRequest for too high
of an amount is created.

Spec:
https://docs.google.com/document/d/1izV4uC-tiRJG3JLooqY3YRLU22tYOsLTNq0P_InPJeE

BUG= 620173 

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

[modify] https://crrev.com/75a129138b5e1e7c08ab918c9e754ac4027f24c8/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
[modify] https://crrev.com/75a129138b5e1e7c08ab918c9e754ac4027f24c8/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
[modify] https://crrev.com/75a129138b5e1e7c08ab918c9e754ac4027f24c8/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentApp.java
[modify] https://crrev.com/75a129138b5e1e7c08ab918c9e754ac4027f24c8/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/75a129138b5e1e7c08ab918c9e754ac4027f24c8/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentApp.java
[modify] https://crrev.com/75a129138b5e1e7c08ab918c9e754ac4027f24c8/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

**Bulk edit**

Feature freeze for M-60 is today!! (Friday May 12), and we are trying to lock down the shipping set of features. Your feature has either M=60 or Launch-M-Target=60-Beta/Stable-Exp, but has not moved to a review requested state yet (Launch-M-Status=Review-Requested/Approval-Requested).

To help clarify what's shipping, we will change the milestone label for your launch to M-60 by Weds, 5/17 (since there appears to be no activity in review). If you still plan to ship for M-60, please transition to a review/request state now (Launch-M-Status=Review-Requested/Approval-Requested).

Thanks for your help in making our data set cleaner, it's a big help to the cross functional teams!
Labels: Launch-Status-Approval-Requested

Comment 41 by zkoch@chromium.org, May 15 2017

Labels: -Launch-Status-Approval-Requested
Blocking: 684655
Labels: -Type-Launch Type-Feature
Launch bug is http://crbug.com/684655.
Status: Fixed (was: Started)
Components: -UI>Browser>Autofill>Payments UI>Browser>Payments
Labels: -Launch-Privacy-NotReviewed -Launch-Security-NotReviewed -Launch-M-Target-60-Dev -Launch-M-Target-60-Beta -Launch-M-Target-60-Stable Launch-Privacy-NA Launch-Security-NA
See issue 684655 for feature tags, removing them here.
Project Member

Comment 46 by bugdroid1@chromium.org, Jul 21 2017

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

commit 806e5e858c78d8df7fb3af1c2d288977cf9781a3
Author: Rouslan Solomakhin <rouslan@chromium.org>
Date: Fri Jul 21 19:12:22 2017

[Payments] Integration test for Android payment app finder.

This patch adds an integration test for the Android payment app finder
using the real parser and downloader instead of mocks.

This patch adds payment app manifest files in
components/test/data/payments/<hostname>.com/. Because the embedded test
server uses HTTP, but payment manifests must use HTTPS, a
URLSubstituteParser wraps the PaymentManifestParser to replace
https://<hostname>.com with the test server URLs, e.g.,
http://127.0.0.1:12345/components/test/data/payments/<hostname>.com.

Because integration tests should not depend on the state of locally
installed applications, a MockPackageManagerDelegate is used to simulate
installed native Android apps in memory.

Bug:  620173 
Change-Id: I8184a84f9f9daa05b5cc8da6e343378b62333b1a
Reviewed-on: https://chromium-review.googlesource.com/571943
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Ganggui Tang <gogerald@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488729}
[modify] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java
[modify] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/chrome/android/java/src/org/chromium/chrome/browser/payments/PackageManagerDelegate.java
[modify] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentManifestVerifier.java
[modify] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/chrome/android/java_sources.gni
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/chrome/android/javatests/src/org/chromium/chrome/browser/payments/MockPackageManagerDelegate.java
[modify] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java
[modify] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/payments/content/payment_manifest_downloader.cc
[modify] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/payments/core/BUILD.gn
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/alicepay.com/app.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/alicepay.com/payment-manifest.json
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/alicepay.com/webpay
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/alicepay.com/webpay.mock-http-headers
[delete] https://crrev.com/7e7585ae6856f4d19ad2c1cfd9a422272ea98e63/components/test/data/payments/app.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/bobpay.com/app.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/bobpay.com/payment-manifest.json
[rename] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/bobpay.com/webpay
[rename] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/bobpay.com/webpay.mock-http-headers
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/charliepay.com/dev.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/charliepay.com/payment-manifest.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/charliepay.com/prod.json
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/charliepay.com/webpay
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/charliepay.com/webpay.mock-http-headers
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/davepay.com/app.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/davepay.com/payment-manifest.json
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/davepay.com/webpay
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/davepay.com/webpay.mock-http-headers
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/evepay.com/app1.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/evepay.com/app2.json
[add] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/evepay.com/payment-manifest.json
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/evepay.com/webpay
[copy] https://crrev.com/806e5e858c78d8df7fb3af1c2d288977cf9781a3/components/test/data/payments/evepay.com/webpay.mock-http-headers
[delete] https://crrev.com/7e7585ae6856f4d19ad2c1cfd9a422272ea98e63/components/test/data/payments/payment-manifest.json

Project Member

Comment 47 by bugdroid1@chromium.org, Jul 24 2017

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

commit e9d960212bc9b4d4205fea5ada09c260df988c91
Author: Rouslan Solomakhin <rouslan@chromium.org>
Date: Mon Jul 24 18:13:16 2017

[Payments] Pass "supported_origins" to app verifier.

This patch passes the "supported_origins" list from the parser in C++
into the verifier in Java to be used in a later patch. The maximum
number of supported origins has been set to 100,000 to accommodate
feedback from W3C conversations. Origins that contain username or
password are considered invalid.

Bug:  620173 
Change-Id: I2a4b4aa15525bbee23823f483ab9ccaebdb522a2
Reviewed-on: https://chromium-review.googlesource.com/582071
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Ganggui Tang <gogerald@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489024}
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentManifestVerifier.java
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestParserTest.java
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/chrome/android/junit/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/chrome/android/junit/src/org/chromium/chrome/browser/payments/PaymentManifestVerifierTest.java
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/chrome/browser/payments/payment_manifest_parser_host_browsertest.cc
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/components/payments/content/android/java/src/org/chromium/components/payments/PaymentManifestParser.java
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/components/payments/content/android/payment_manifest_parser_android.cc
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/components/payments/content/payment_manifest_parser_host.cc
[modify] https://crrev.com/e9d960212bc9b4d4205fea5ada09c260df988c91/components/payments/content/utility/payment_manifest_parser.cc

Comment 48 by palmer@google.com, Jul 24 2017

What's the basis for the 100,000 limit? It seems so high as to effectively not be a limit; in which case, why have a limit at all? (Also, it's duplicated in the code, potentially leading to divergence in the future?)
Cc: zkoch@chromium.org
Zach: Given your conversations with partners, do you think 100,000 item limit on "supported_origins" would be too high?
Chris, the 100,000 limit is to prevent out-of-memory errors. 100K origins at ~250 ASCII chars each is ~25MB, so easily fits in memory. This should not open us up to attacks.
Eh, the last two CLs should really be in  https://crbug.com/735184 .

Comment 52 by peria@chromium.org, Feb 27 2018

modules/payments/AndroidPayTokenization.idl led me here.
The URL described in the IDL file is not found.
Could you tell me (1)is AndroidPayTokenization still used, (2)where is its spec, and (3)do you have any plan to update/remove this file?

For the  issue 816352 , I'd like to drop use cases of "Dictionary" type in idl.
Hello!

The URL should be updated to https://developers.google.com/pay/api/web/paymentrequest/tutorial.

AndroidPayTokenization is still being used on Android in the browser process. It's not a web standard, so there's no spec for it.

Because we send this data to the browser process, it needs to be serialized. There're two ways to serialize the data:

1) Convert to JSON string. This would require parsing an untrusted JSON string in the browser process, which is dangerous, so we would like to avoid it.

2) Convert into an IPC structure. This avoids JSON string parsing in the browser process. We prefer this method for security. Here's the IPC structure:
https://cs.chromium.org/chromium/src/third_party/WebKit/public/platform/modules/payments/payment_request.mojom?rcl=abc05e02599c0aa1ad88da9940619f57d887d77c&l=83

We do have a plan to remove this file when the Google Payments team switches over to the Generic 3rd party native Android payment app API, which was implemented in this bug here. The switch is in their task queue, but is a low priority, unfortunately. When the switch happens, all mention of AndroidPay can be removed from Chrome.

As for  issue 816352 , can you please explain what is meant by "dictionary definitions"? Thank you.

Sign in to add a comment