Commit 6b8c63ec authored by Tao Bai's avatar Tao Bai Committed by Commit Bot

AwAutofill: Remove unused member and parameter from FormData

This patch also add a constructor to make unit test easy.

Bug: 1064420
Change-Id: Ibeaa4bdab2c66f581360eea1a37e199b2c009313
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2140920
Commit-Queue: Tao Bai <michaelbai@chromium.org>
Reviewed-by: default avatarChangwan Ryu <changwan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#758225}
parent 218e867f
......@@ -26,14 +26,7 @@ FormDataAndroid::FormDataAndroid(const FormData& form,
field.bounds = callback.Run(field.bounds);
}
FormDataAndroid::~FormDataAndroid() {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
if (obj.is_null())
return;
Java_FormData_onNativeDestroyed(env, obj);
}
FormDataAndroid::~FormDataAndroid() = default;
ScopedJavaLocalRef<jobject> FormDataAndroid::GetJavaPeer(
const FormStructure* form_structure) {
......@@ -65,9 +58,7 @@ const FormData& FormDataAndroid::GetAutofillValues() {
return form_;
}
ScopedJavaLocalRef<jobject> FormDataAndroid::GetNextFormFieldData(
JNIEnv* env,
const JavaParamRef<jobject>& jcaller) {
ScopedJavaLocalRef<jobject> FormDataAndroid::GetNextFormFieldData(JNIEnv* env) {
DCHECK(index_ <= fields_.size());
if (index_ == fields_.size())
return ScopedJavaLocalRef<jobject>();
......
......@@ -33,9 +33,7 @@ class FormDataAndroid {
// Get autofill values from Java side and return FormData.
const FormData& GetAutofillValues();
base::android::ScopedJavaLocalRef<jobject> GetNextFormFieldData(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller);
base::android::ScopedJavaLocalRef<jobject> GetNextFormFieldData(JNIEnv* env);
// Get index of given field, return True and index of focus field if found.
bool GetFieldIndex(const FormFieldData& field, size_t* index);
......
......@@ -19,39 +19,35 @@ public class FormData {
public final String mHost;
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 host, int fieldCount) {
mNativeObj = nativeObj;
mName = name;
mHost = host;
mFields = new ArrayList<FormFieldData>(fieldCount);
popupFormFields(fieldCount);
}
private void popupFormFields(int fieldCount) {
FormFieldData formFieldData =
FormDataJni.get().getNextFormFieldData(mNativeObj, FormData.this);
private static ArrayList<FormFieldData> popupFormFields(long nativeObj, int fieldCount) {
FormFieldData formFieldData = FormDataJni.get().getNextFormFieldData(nativeObj);
ArrayList<FormFieldData> fields = new ArrayList<FormFieldData>(fieldCount);
while (formFieldData != null) {
mFields.add(formFieldData);
formFieldData = FormDataJni.get().getNextFormFieldData(mNativeObj, FormData.this);
fields.add(formFieldData);
formFieldData = FormDataJni.get().getNextFormFieldData(nativeObj);
}
assert mFields.size() == fieldCount;
assert fields.size() == fieldCount;
return fields;
}
@CalledByNative
private void onNativeDestroyed() {
mNativeObj = 0;
private FormData(String name, String host, ArrayList<FormFieldData> fields) {
mName = name;
mHost = host;
mFields = fields;
}
private FormData(long nativeObj, String name, String host, int fieldCount) {
this(name, host, popupFormFields(nativeObj, fieldCount));
}
@NativeMethods
interface Natives {
FormFieldData getNextFormFieldData(long nativeFormDataAndroid, FormData caller);
FormFieldData getNextFormFieldData(long nativeFormDataAndroid);
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment