Index: chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogControllerAndroid.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogControllerAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogControllerAndroid.java |
deleted file mode 100644 |
index 07017ba6358b8988cc209b4ba710b4337fa7c933..0000000000000000000000000000000000000000 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogControllerAndroid.java |
+++ /dev/null |
@@ -1,214 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.chrome.browser.autofill; |
- |
-import org.chromium.base.VisibleForTesting; |
-import org.chromium.base.annotations.CalledByNative; |
-import org.chromium.base.annotations.JNINamespace; |
-import org.chromium.ui.base.WindowAndroid; |
- |
-/** |
- * Java-side AutofillDialog and AutofillDialogFactory interfaces, and |
- * JNI glue for C++ AutofillDialogControllerAndroid. |
- */ |
-@JNINamespace("autofill") |
-public class AutofillDialogControllerAndroid { |
- private static AutofillDialogFactory sDialogFactory; |
- |
- private long mNativeDelegate; // could be 0 after onDestroy(). |
- private AutofillDialog mDialog; |
- |
- /** |
- * An interface to the two possible continuations for the dialog. |
- * The dialog is expected to be dismissed when either of the calls is made. |
- */ |
- public interface AutofillDialogDelegate { |
- /** |
- * Cancels the requestAutocomplete. |
- */ |
- @VisibleForTesting |
- void dialogCancel(); |
- |
- /** |
- * Submits the data to the web-page and persists the last account/card/address choices. |
- * @param fullWallet Resulting billing/shipping information obtained from the user |
- * @param lastUsedChoiceIsAutofill Whether the last selected data source is Autofill |
- * @param lastUsedAccountName The last selected account name, or null |
- * @param guidLastUsedBilling GUID of the last selected Autofill billing address, or null |
- * @param guidLastUsedShipping GUID of the last selected Autofill shipping address, or null |
- * @param guidLastUsedCard GUID of the last selected Autofill credit card, or null |
- */ |
- @VisibleForTesting |
- void dialogContinue( |
- AutofillDialogResult.ResultWallet fullWallet, |
- boolean lastUsedChoiceIsAutofill, String lastUsedAccountName, |
- String guidLastUsedBilling, String guidLastUsedShipping, String guidLastUsedCard); |
- } |
- |
- /** |
- * An interface that exposes the necessary functionality for an Autofill dialog. |
- * Note that all information necessary to construct the dialog is passed to the factory. |
- */ |
- public interface AutofillDialog { |
- /** |
- * Notifies the dialog that the C++ side is gone. |
- * The dialog needs to clear its reference to the no longer valid AutofillDialogDelegate. |
- */ |
- void onDestroy(); |
- } |
- |
- /** |
- * An interface to the factory that creates Autofill dialogs. |
- */ |
- public interface AutofillDialogFactory { |
- /** |
- * Creates the dialog. |
- * Reasonable attempts should be made to respect "initial choices", |
- * Initial choices don't have to be self-consistent or valid. |
- * |
- * @param delegate Continuations for the dialog |
- * @param windowAndroid Context in which the dialog should be shown |
- * @param requestFullBillingAddress Whether the full billing address is required |
- * @param requestShippingAddress Whether the shipping address is required |
- * @param requestPhoneNumbers Whether the phone numbers are required in addresses |
- * @param incognitoMode True if the dialog started from an incognito tab |
- * @param initialChoiceIsAutofill Whether the selected data source should be Autofill |
- * @param initialAccountName Account to be selected, or null |
- * @param initialBillingGuid GUID of the initial billing address selection in Autofill |
- * @param initialShippingGuid GUID of the initial shipping address selection in Autofill |
- * @param initialCardGuid GUID of the initial credit card selection in Autofill |
- * @param merchantDomain Scheme+origin for the originating web page, or null |
- * @param shippingCountries A list of allowed shipping countries, or null |
- * @param creditCardTypes A list of allowed credit card types (e.g. "VISA"), or null |
- * @return The Autofill dialog that would later call into the delegate, or null |
- */ |
- AutofillDialog createDialog( |
- final AutofillDialogDelegate delegate, |
- final WindowAndroid windowAndroid, |
- final boolean requestFullBillingAddress, final boolean requestShippingAddress, |
- final boolean requestPhoneNumbers, |
- final boolean incognitoMode, |
- final boolean initialChoiceIsAutofill, final String initialAccountName, |
- final String initialBillingGuid, final String initialShippingGuid, |
- final String initialCardGuid, |
- final String merchantDomain, |
- final String[] shippingCountries, |
- final String[] creditCardTypes); |
- } |
- |
- /** |
- * Sets the factory to be used. |
- * @param factory An instance of the AutofillDialogFactory that will handle requests. |
- */ |
- @VisibleForTesting |
- public static void setDialogFactory(AutofillDialogFactory factory) { |
- sDialogFactory = factory; |
- } |
- |
- @VisibleForTesting |
- private AutofillDialogControllerAndroid( |
- final long nativeAutofillDialogControllerAndroid, |
- final WindowAndroid windowAndroid, |
- final boolean requestFullBillingAddress, final boolean requestShippingAddress, |
- final boolean requestPhoneNumbers, |
- final boolean incognitoMode, |
- final boolean initialChoiceIsAutofill, final String initialWalletAccountName, |
- final String initialBillingGuid, final String initialShippingGuid, |
- final String initialCardGuid, |
- final String merchantDomain, |
- final String[] shippingCountries, |
- final String[] creditCardTypes) { |
- mNativeDelegate = nativeAutofillDialogControllerAndroid; |
- |
- if (sDialogFactory == null) { |
- nativeDialogCancel(mNativeDelegate); |
- return; |
- } |
- |
- AutofillDialogDelegate delegate = new AutofillDialogDelegate() { |
- @Override |
- public void dialogCancel() { |
- nativeDialogCancel(mNativeDelegate); |
- } |
- |
- @Override |
- public void dialogContinue( |
- AutofillDialogResult.ResultWallet fullWallet, |
- boolean lastUsedChoiceIsAutofill, String lastUsedAccountName, |
- String guidLastUsedBilling, String guidLastUsedShipping, |
- String guidLastUsedCard) { |
- nativeDialogContinue(mNativeDelegate, fullWallet, |
- lastUsedChoiceIsAutofill, lastUsedAccountName, |
- guidLastUsedBilling, guidLastUsedShipping, guidLastUsedCard); |
- } |
- }; |
- |
- mDialog = sDialogFactory.createDialog( |
- delegate, |
- windowAndroid, |
- requestFullBillingAddress, requestShippingAddress, |
- requestPhoneNumbers, |
- incognitoMode, |
- initialChoiceIsAutofill, initialWalletAccountName, |
- initialBillingGuid, initialShippingGuid, initialCardGuid, |
- merchantDomain, |
- shippingCountries, |
- creditCardTypes); |
- if (mDialog == null) { |
- nativeDialogCancel(mNativeDelegate); |
- return; |
- } |
- } |
- |
- @CalledByNative |
- private static AutofillDialogControllerAndroid create( |
- final long nativeAutofillDialogControllerAndroid, |
- final WindowAndroid windowAndroid, |
- final boolean requestFullBillingAddress, final boolean requestShippingAddress, |
- final boolean requestPhoneNumbers, |
- final boolean incognitoMode, |
- final boolean initialChoiceIsAutofill, final String initialWalletAccountName, |
- final String initialBillingGuid, final String initialShippingGuid, |
- final String initialCreditCardGuid, |
- final String merchantDomain, |
- final String[] shippingCountries, |
- final String[] creditCardTypes) { |
- return new AutofillDialogControllerAndroid( |
- nativeAutofillDialogControllerAndroid, windowAndroid, |
- requestFullBillingAddress, requestShippingAddress, requestPhoneNumbers, |
- incognitoMode, |
- initialChoiceIsAutofill, initialWalletAccountName, |
- initialBillingGuid, initialShippingGuid, |
- initialCreditCardGuid, |
- merchantDomain, |
- shippingCountries, |
- creditCardTypes); |
- } |
- |
- @CalledByNative |
- private static boolean isDialogAllowed(boolean isInvokedFromTheSameOrigin) { |
- // TODO(aruslan): cross-origin invocations should be allowed with a |
- // warning messge. |
- return isInvokedFromTheSameOrigin; |
- } |
- |
- @CalledByNative |
- private void onDestroy() { |
- if (mNativeDelegate == 0) return; |
- |
- if (mDialog != null) mDialog.onDestroy(); |
- |
- mDialog = null; |
- mNativeDelegate = 0; |
- } |
- |
- // Calls from Java to C++ AutofillDialogControllerAndroid: |
- |
- private native void nativeDialogCancel(long nativeAutofillDialogControllerAndroid); |
- private native void nativeDialogContinue(long nativeAutofillDialogControllerAndroid, |
- Object fullWallet, |
- boolean lastUsedChoiceIsAutofill, String lastUsedAccountName, |
- String guidLastUsedBilling, String guidLastUsedShipping, String guidLastUsedCard); |
-} |