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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/autofill/MockAutofillDialogController.java

Issue 1931043002: Remove requestAutocomplete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.chrome.browser.autofill;
6
7 import junit.framework.Assert;
8
9 import org.chromium.base.ThreadUtils;
10 import org.chromium.chrome.browser.autofill.AutofillDialogControllerAndroid.Auto fillDialog;
11 import org.chromium.chrome.browser.autofill.AutofillDialogControllerAndroid.Auto fillDialogDelegate;
12 import org.chromium.chrome.browser.autofill.AutofillDialogControllerAndroid.Auto fillDialogFactory;
13 import org.chromium.ui.base.WindowAndroid;
14
15 /**
16 * Mock of the AutofillDialog that returns a predefined set of values.
17 */
18 public class MockAutofillDialogController implements AutofillDialog {
19 private final AutofillDialogResult.ResultWallet mResult;
20 private final boolean mLastUsedChoiceIsAutofill;
21 private final String mLastUsedAccountName;
22 private final String mGuidDefaultBilling;
23 private final String mGuidDefaultShipping;
24 private final String mGuidDefaultCard;
25
26 private AutofillDialogDelegate mDelegate;
27
28 /**
29 * Installs the mock AutofillDialog implementation.
30 */
31 public static void installMockFactory(
32 final long delayMillis,
33 final AutofillDialogResult.ResultWallet result,
34 final boolean lastUsedChoiceIsAutofill,
35 final String lastUsedAccountName,
36 final String guidDefaultBilling,
37 final String guidDefaultShipping,
38 final String guidDefaultCard,
39 final boolean shouldRequestFullBilling,
40 final boolean shouldRequestShipping,
41 final boolean shouldRequestPhoneNumbers) {
42 AutofillDialogControllerAndroid.setDialogFactory(new AutofillDialogFacto ry() {
43 @Override
44 public AutofillDialog createDialog(
45 final AutofillDialogDelegate delegate,
46 final WindowAndroid windowAndroid,
47 final boolean requestFullBillingAddress,
48 final boolean requestShippingAddress,
49 final boolean requestPhoneNumbers,
50 final boolean incognitoMode,
51 final boolean initialChoiceIsAutofill,
52 final String initialWalletAccountName,
53 final String initialBillingGuid,
54 final String initialShippingGuid,
55 final String initialCardGuid,
56 final String merchantDomain,
57 final String[] shippingCountries,
58 final String[] creditCardTypes) {
59 Assert.assertEquals("Full billing details flag doesn't match",
60 shouldRequestFullBilling, requestFullBillingAddress);
61 Assert.assertEquals("Shipping details flag doesn't match",
62 shouldRequestShipping, requestShippingAddress);
63 Assert.assertEquals("Phone numbers flag doesn't match",
64 shouldRequestPhoneNumbers, requestPhoneNumbers);
65 return new MockAutofillDialogController(
66 delegate,
67 delayMillis,
68 result,
69 lastUsedChoiceIsAutofill,
70 lastUsedAccountName,
71 guidDefaultBilling,
72 guidDefaultShipping,
73 guidDefaultCard,
74 windowAndroid,
75 requestFullBillingAddress, requestShippingAddress,
76 requestPhoneNumbers,
77 incognitoMode,
78 initialChoiceIsAutofill, initialWalletAccountName,
79 initialBillingGuid, initialShippingGuid, initialCardGuid ,
80 merchantDomain,
81 shippingCountries,
82 creditCardTypes);
83 }
84 });
85 }
86
87 private MockAutofillDialogController(
88 final AutofillDialogControllerAndroid.AutofillDialogDelegate delegat e,
89 final long delayMillis,
90 final AutofillDialogResult.ResultWallet result,
91 final boolean lastUsedChoiceIsAutofill,
92 final String lastUsedAccountName,
93 final String guidDefaultBilling,
94 final String guidDefaultShipping,
95 final String guidDefaultCard,
96 final WindowAndroid windowAndroid,
97 final boolean requestFullBillingAddress, final boolean requestShippi ngAddress,
98 final boolean requestPhoneNumbers,
99 final boolean incognitoMode,
100 final boolean initialChoiceIsAutofill, final String initialWalletAcc ountName,
101 final String initialBillingGuid, final String initialShippingGuid,
102 final String initialCardGuid,
103 final String merchantDomain,
104 final String[] shippingCountries,
105 final String[] creditCardTypes) {
106 mDelegate = delegate;
107 mResult = result;
108 mLastUsedChoiceIsAutofill = lastUsedChoiceIsAutofill;
109 mLastUsedAccountName = lastUsedAccountName;
110 mGuidDefaultBilling = guidDefaultBilling;
111 mGuidDefaultShipping = guidDefaultShipping;
112 mGuidDefaultCard = guidDefaultCard;
113 ThreadUtils.postOnUiThreadDelayed(new Runnable() {
114 @Override
115 public void run() {
116 triggerResultCallback();
117 }
118 }, delayMillis);
119 }
120
121 // AutofillDialog implementation:
122
123 @Override
124 public void onDestroy() {
125 mDelegate = null;
126 }
127
128 public void triggerResultCallback() {
129 if (mDelegate == null) return;
130
131 if (mResult == null) {
132 mDelegate.dialogCancel();
133 return;
134 }
135
136 mDelegate.dialogContinue(
137 mResult,
138 mLastUsedChoiceIsAutofill, mLastUsedAccountName,
139 mGuidDefaultBilling, mGuidDefaultShipping, mGuidDefaultCard);
140 }
141 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698