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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Issue 2048823004: PaymentRequest.abort() should return a promise. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove DummyPageHolder and TrackExceptionState for haraken@ comment. Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698