• Rouslan Solomakhin's avatar
    [Web Payment] Payment app types on Android. · 1604d0bb
    Rouslan Solomakhin authored
    Before this patch, C++ payment app implementations used an enum to
    denote their type to be used for app-specific logic, while Java used
    "instanceof". This prevented encapsulating multiple types of payment
    apps in a single wrapper, e.g., service_worker_payment_app.cc and
    android_payment_app.cc in a single JniPaymentApp.java wrapper.
    
    This patch expands the number of payment apps, exposes the payment app
    enum to Java, adds the type enum to PaymentApp.java class, and replaces
    "instanceof" with enum comparison in PaymentRequestImpl.java, where it
    makes sense.
    
    After this patch, both C++ and Java payment app types are defined in an
    enum, so JniPaymentApp.java can wrap multiple types of C++ payment apps
    internally.
    
    Design: https://bit.ly/cross-platform-pay-app-factory
    
    Bug: 1022512
    Change-Id: I3636f83cda85c29113ad6bd0671b430c70c67a1a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2213405
    Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
    Reviewed-by: default avatarDanyao Wang <danyao@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#772173}
    1604d0bb
payment_request.cc 29.4 KB