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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogControllerAndroid.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 side-by-side diff with in-line comments
Download patch
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);
-}
« no previous file with comments | « build/config/features.gni ('k') | chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogResult.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698