New issue
Advanced search Search tips

Issue 828894 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Replace 'enabledMethods' array with 'method' string in PaymentInstrument

Project Member Reported by jinho.b...@samsung.com, Apr 4 2018

Issue description

I uploaded two APKs for testing
 - https://drive.google.com/open?id=1yqzAOOkGh7om1YHYDnWI4bfQFt6R6CbT

Test scenario
  1. Install before.apk on Android device
  2. Run browser and register PaymentHandler via https://rsolomakhin.github.io/pr/apps/origin/
  3. Install after.apk on Android device
  4. Run browser and re-visit https://rsolomakhin.github.io/pr/apps/origin/
  5. Open inspector
  6. Execute JS; (await (await navigator.serviceWorker.ready).paymentManager.instruments.get('instrument-key')).method
  7. We can see “https://rsolomakhin.github.io” string.

I already checked that it works well on Desktop platform(Mac, Linux).
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 6 2018

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

commit 91dc1b58f4af39e5cdbaac3d7121130ffa791b92
Author: Jinho Bang <jinho.bang@samsung.com>
Date: Fri Apr 06 12:34:38 2018

PaymentHandler: Replace 'enabledMethods' array with 'method' string

The related spec change:
  https://github.com/w3c/payment-handler/pull/276

Payment Handler feature is behind a flag:
  chrome://flags/#service-worker-payment-apps

FYI, the original field type was `repeated string`, and the changed
field type is `optional string`. So, if `enabledMethods` data is
stored in a previous version, when reading the `method` field in a new
version, the protobuf will read the first element of `enabledMethods`.
Therefore, DB migration is not required.

Bug:  828894 
Change-Id: Ic5775768eaff9584517956f2984473e8b6a0a411
Reviewed-on: https://chromium-review.googlesource.com/986121
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Jinho Bang <jinho.bang@samsung.com>
Cr-Commit-Position: refs/heads/master@{#548750}
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentApp.java
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/chrome/browser/android/payments/service_worker_payment_app_bridge.cc
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/components/payments/content/service_worker_payment_instrument.cc
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/components/test/data/payments/alicepay.com/app1/index.js
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/components/test/data/payments/alicepay.com/app2/index.js
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/components/test/data/payments/bobpay.com/app1/index.js
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app.proto
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app_database.cc
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app_database.h
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app_installer.cc
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app_installer.h
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app_provider_impl.cc
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app_provider_impl.h
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_app_provider_impl_unittest.cc
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/browser/payments/payment_manager_unittest.cc
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/public/browser/payment_app_provider.h
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/content/test/data/payments/payment_app_invocation.html
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/third_party/WebKit/LayoutTests/http/tests/payments/payment-instruments.html
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/third_party/WebKit/Source/modules/payments/PaymentInstrument.idl
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/third_party/WebKit/Source/modules/payments/PaymentInstruments.cpp
[modify] https://crrev.com/91dc1b58f4af39e5cdbaac3d7121130ffa791b92/third_party/WebKit/public/platform/modules/payments/payment_app.mojom

Status: Fixed (was: Started)

Sign in to add a comment