Index: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java |
index f81c712eca678bd54550e1f80fa510243495469b..373f8ea9051fbb562dcce998dc322e467421591a 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java |
@@ -15,6 +15,7 @@ import org.chromium.chrome.browser.ChromeActivity; |
import org.chromium.chrome.browser.ChromeSwitches; |
import org.chromium.chrome.browser.autofill.CardUnmaskPrompt; |
import org.chromium.chrome.browser.autofill.CardUnmaskPrompt.CardUnmaskObserverForTest; |
+import org.chromium.chrome.browser.payments.PaymentRequestImpl.PaymentRequestServiceObserverForTest; |
import org.chromium.chrome.browser.payments.ui.PaymentRequestUI; |
import org.chromium.chrome.browser.payments.ui.PaymentRequestUI.PaymentRequestObserverForTest; |
import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
@@ -35,7 +36,8 @@ import java.util.concurrent.atomic.AtomicReference; |
*/ |
@CommandLineFlags.Add({ChromeSwitches.EXPERIMENTAL_WEB_PLAFTORM_FEATURES}) |
abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeActivity> |
- implements PaymentRequestObserverForTest, CardUnmaskObserverForTest { |
+ implements PaymentRequestObserverForTest, PaymentRequestServiceObserverForTest, |
+ CardUnmaskObserverForTest { |
protected final PaymentsCallbackHelper<PaymentRequestUI> mReadyForInput; |
protected final PaymentsCallbackHelper<PaymentRequestUI> mReadyToPay; |
protected final PaymentsCallbackHelper<PaymentRequestUI> mReadyToClose; |
@@ -43,6 +45,7 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA |
protected final PaymentsCallbackHelper<CardUnmaskPrompt> mReadyForUnmaskInput; |
protected final PaymentsCallbackHelper<CardUnmaskPrompt> mReadyToUnmask; |
protected final CallbackHelper mDismissed; |
+ protected final CallbackHelper mUnableToAbort; |
private final AtomicReference<ContentViewCore> mViewCoreRef; |
private final AtomicReference<WebContents> mWebContentsRef; |
private final String mTestFilePath; |
@@ -57,6 +60,7 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA |
mReadyForUnmaskInput = new PaymentsCallbackHelper<>(); |
mReadyToUnmask = new PaymentsCallbackHelper<>(); |
mDismissed = new CallbackHelper(); |
+ mUnableToAbort = new CallbackHelper(); |
mViewCoreRef = new AtomicReference<>(); |
mWebContentsRef = new AtomicReference<>(); |
mTestFilePath = UrlUtils.getIsolatedTestFilePath( |
@@ -79,15 +83,20 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA |
mViewCoreRef.set(getActivity().getCurrentContentViewCore()); |
mWebContentsRef.set(mViewCoreRef.get().getWebContents()); |
PaymentRequestUI.setObserverForTest(PaymentRequestTestBase.this); |
+ PaymentRequestImpl.setObserverForTest(PaymentRequestTestBase.this); |
CardUnmaskPrompt.setObserverForTest(PaymentRequestTestBase.this); |
} |
}); |
assertWaitForPageScaleFactorMatch(1); |
+ clickNodeAndWait("buy", helper); |
+ mUI = helper.getTarget(); |
+ } |
+ protected void clickNodeAndWait(String nodeId, CallbackHelper helper) |
+ throws InterruptedException, ExecutionException, TimeoutException { |
int callCount = helper.getCallCount(); |
- DOMUtils.clickNode(this, mViewCoreRef.get(), "buy"); |
+ DOMUtils.clickNode(this, mViewCoreRef.get(), nodeId); |
helper.waitForCallback(callCount); |
- mUI = helper.getTarget(); |
} |
protected void clickAndWait(final int resourceId, CallbackHelper helper) |
@@ -191,7 +200,6 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA |
mResultReady.notifyCalled(ui); |
} |
- |
@Override |
public void onPaymentRequestDismiss() { |
ThreadUtils.assertOnUiThread(); |
@@ -199,6 +207,12 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA |
} |
@Override |
+ public void onPaymentRequestServiceUnableToAbort() { |
+ ThreadUtils.assertOnUiThread(); |
+ mUnableToAbort.notifyCalled(); |
+ } |
+ |
+ @Override |
public void onCardUnmaskPromptReadyForInput(CardUnmaskPrompt prompt) { |
ThreadUtils.assertOnUiThread(); |
mReadyForUnmaskInput.notifyCalled(prompt); |