| Index: components/autofill/android/java/src/org/chromium/components/autofill/FormData.java
|
| diff --git a/components/autofill/android/java/src/org/chromium/components/autofill/FormData.java b/components/autofill/android/java/src/org/chromium/components/autofill/FormData.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c3d3c172c49cd6aa8383ee43b42ba2034c98303d
|
| --- /dev/null
|
| +++ b/components/autofill/android/java/src/org/chromium/components/autofill/FormData.java
|
| @@ -0,0 +1,46 @@
|
| +package org.chromium.components.autofill;
|
| +
|
| +import org.chromium.base.Log;
|
| +import org.chromium.base.annotations.CalledByNative;
|
| +import org.chromium.base.annotations.JNINamespace;
|
| +
|
| +import java.util.ArrayList;
|
| +
|
| +@JNINamespace("autofill")
|
| +public class FormData {
|
| + public final String mName;
|
| + public final String mOrigin;
|
| + public final ArrayList<FormFieldData> mFields;
|
| +
|
| + private long mNativeObj;
|
| +
|
| + @CalledByNative
|
| + private static FormData createFormData(long nativeObj, String name, String origin,
|
| + int fieldCount) {
|
| + return new FormData(nativeObj, name, origin, fieldCount);
|
| + }
|
| +
|
| + private FormData(long nativeObj, String name, String origin, int fieldCount) {
|
| + mNativeObj = nativeObj;
|
| + mName = name;
|
| + mOrigin = origin;
|
| + mFields = new ArrayList<FormFieldData>(fieldCount);
|
| + popupFormFields(fieldCount);
|
| + }
|
| +
|
| + private void popupFormFields(int fieldCount) {
|
| + FormFieldData formFieldData = nativeGetNextFormFieldData(mNativeObj);
|
| + while (formFieldData != null) {
|
| + mFields.add(formFieldData);
|
| + formFieldData = nativeGetNextFormFieldData(mNativeObj);
|
| + }
|
| + assert mFields.size() == fieldCount;
|
| + }
|
| +
|
| + @CalledByNative
|
| + private void OnNativeDestroyed() {
|
| + mNativeObj = 0;
|
| + }
|
| +
|
| + private native FormFieldData nativeGetNextFormFieldData(long nativeFormDataAndroid);
|
| +}
|
|
|