Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java

Issue 1964323002: Reland: Test dismissing CVC prompt for PaymentRequest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.payments; 5 package org.chromium.chrome.browser.payments;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.graphics.Bitmap; 8 import android.graphics.Bitmap;
9 import android.os.Handler; 9 import android.os.Handler;
10 import android.text.TextUtils; 10 import android.text.TextUtils;
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 public void onDismiss() { 490 public void onDismiss() {
491 disconnectFromClientWithDebugMessage("Dialog dismissed"); 491 disconnectFromClientWithDebugMessage("Dialog dismissed");
492 closeUI(false); 492 closeUI(false);
493 } 493 }
494 494
495 /** 495 /**
496 * Called by the merchant website to abort the payment. 496 * Called by the merchant website to abort the payment.
497 */ 497 */
498 @Override 498 @Override
499 public void abort() { 499 public void abort() {
500 mClient = null; 500 closeClient();
501 closeUI(false); 501 closeUI(false);
502 } 502 }
503 503
504 /** 504 /**
505 * Called when the merchant website has processed the payment. 505 * Called when the merchant website has processed the payment.
506 */ 506 */
507 @Override 507 @Override
508 public void complete(boolean success) { 508 public void complete(boolean success) {
509 closeUI(success); 509 closeUI(success);
510 } 510 }
511 511
512 /** 512 /**
513 * Called when the renderer closes the Mojo connection. 513 * Called when the renderer closes the Mojo connection.
514 */ 514 */
515 @Override 515 @Override
516 public void close() { 516 public void close() {
517 mClient = null; 517 closeClient();
518 closeUI(false); 518 closeUI(false);
519 } 519 }
520 520
521 /** 521 /**
522 * Called when the Mojo connection encounters an error. 522 * Called when the Mojo connection encounters an error.
523 */ 523 */
524 @Override 524 @Override
525 public void onConnectionError(MojoException e) { 525 public void onConnectionError(MojoException e) {
526 mClient = null; 526 closeClient();
527 closeUI(false); 527 closeUI(false);
528 } 528 }
529 529
530 /** 530 /**
531 * Called after retrieving the list of payment instruments in an app. 531 * Called after retrieving the list of payment instruments in an app.
532 */ 532 */
533 @Override 533 @Override
534 public void onInstrumentsReady(PaymentApp app, List<PaymentInstrument> instr uments) { 534 public void onInstrumentsReady(PaymentApp app, List<PaymentInstrument> instr uments) {
535 mPendingApps.remove(app); 535 mPendingApps.remove(app);
536 536
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 */ 588 */
589 @Override 589 @Override
590 public void onInstrumentDetailsError() { 590 public void onInstrumentDetailsError() {
591 disconnectFromClientWithDebugMessage("Failed to retrieve payment instrum ent details"); 591 disconnectFromClientWithDebugMessage("Failed to retrieve payment instrum ent details");
592 closeUI(false); 592 closeUI(false);
593 } 593 }
594 594
595 private void disconnectFromClientWithDebugMessage(String debugMessage) { 595 private void disconnectFromClientWithDebugMessage(String debugMessage) {
596 Log.d(TAG, debugMessage); 596 Log.d(TAG, debugMessage);
597 mClient.onError(); 597 mClient.onError();
598 mClient = null; 598 closeClient();
599 } 599 }
600 600
601 /** 601 /**
602 * Closes the UI. If the client is still connected, then it's notified of UI hiding. 602 * Closes the UI. If the client is still connected, then it's notified of UI hiding.
603 */ 603 */
604 private void closeUI(boolean paymentSuccess) { 604 private void closeUI(boolean paymentSuccess) {
605 if (mUI != null) { 605 if (mUI != null) {
606 mUI.close(paymentSuccess, new Runnable() { 606 mUI.close(paymentSuccess, new Runnable() {
607 @Override 607 @Override
608 public void run() { 608 public void run() {
609 if (mClient == null) return; 609 if (mClient != null) mClient.onComplete();
610 mClient.onComplete(); 610 closeClient();
611 mClient = null;
612 } 611 }
613 }); 612 });
614 mUI = null; 613 mUI = null;
615 } 614 }
616 615
617 if (mPaymentMethodsSection != null) { 616 if (mPaymentMethodsSection != null) {
618 for (int i = 0; i < mPaymentMethodsSection.getSize(); i++) { 617 for (int i = 0; i < mPaymentMethodsSection.getSize(); i++) {
619 PaymentOption option = mPaymentMethodsSection.getItem(i); 618 PaymentOption option = mPaymentMethodsSection.getItem(i);
620 assert option instanceof PaymentInstrument; 619 assert option instanceof PaymentInstrument;
621 ((PaymentInstrument) option).dismiss(); 620 ((PaymentInstrument) option).dismiss();
622 } 621 }
623 mPaymentMethodsSection = null; 622 mPaymentMethodsSection = null;
624 } 623 }
625 } 624 }
625
626 private void closeClient() {
627 if (mClient != null) mClient.close();
628 mClient = null;
629 }
626 } 630 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698