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, ...@@ -26,14 +26,7 @@ FormDataAndroid::FormDataAndroid(const FormData& form,
field.bounds = callback.Run(field.bounds); field.bounds = callback.Run(field.bounds);
} }
FormDataAndroid::~FormDataAndroid() { FormDataAndroid::~FormDataAndroid() = default;
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
if (obj.is_null())
return;
Java_FormData_onNativeDestroyed(env, obj);
}
ScopedJavaLocalRef<jobject> FormDataAndroid::GetJavaPeer( ScopedJavaLocalRef<jobject> FormDataAndroid::GetJavaPeer(
const FormStructure* form_structure) { const FormStructure* form_structure) {
...@@ -65,9 +58,7 @@ const FormData& FormDataAndroid::GetAutofillValues() { ...@@ -65,9 +58,7 @@ const FormData& FormDataAndroid::GetAutofillValues() {
return form_; return form_;
} }
ScopedJavaLocalRef<jobject> FormDataAndroid::GetNextFormFieldData( ScopedJavaLocalRef<jobject> FormDataAndroid::GetNextFormFieldData(JNIEnv* env) {
JNIEnv* env,
const JavaParamRef<jobject>& jcaller) {
DCHECK(index_ <= fields_.size()); DCHECK(index_ <= fields_.size());
if (index_ == fields_.size()) if (index_ == fields_.size())
return ScopedJavaLocalRef<jobject>(); return ScopedJavaLocalRef<jobject>();
......
...@@ -33,9 +33,7 @@ class FormDataAndroid { ...@@ -33,9 +33,7 @@ class FormDataAndroid {
// Get autofill values from Java side and return FormData. // Get autofill values from Java side and return FormData.
const FormData& GetAutofillValues(); const FormData& GetAutofillValues();
base::android::ScopedJavaLocalRef<jobject> GetNextFormFieldData( base::android::ScopedJavaLocalRef<jobject> GetNextFormFieldData(JNIEnv* env);
JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller);
// Get index of given field, return True and index of focus field if found. // Get index of given field, return True and index of focus field if found.
bool GetFieldIndex(const FormFieldData& field, size_t* index); bool GetFieldIndex(const FormFieldData& field, size_t* index);
......
...@@ -19,39 +19,35 @@ public class FormData { ...@@ -19,39 +19,35 @@ public class FormData {
public final String mHost; public final String mHost;
public final ArrayList<FormFieldData> mFields; public final ArrayList<FormFieldData> mFields;
private long mNativeObj;
@CalledByNative @CalledByNative
private static FormData createFormData( private static FormData createFormData(
long nativeObj, String name, String origin, int fieldCount) { long nativeObj, String name, String origin, int fieldCount) {
return new FormData(nativeObj, name, origin, fieldCount); return new FormData(nativeObj, name, origin, fieldCount);
} }
private FormData(long nativeObj, String name, String host, int fieldCount) { private static ArrayList<FormFieldData> popupFormFields(long nativeObj, int fieldCount) {
mNativeObj = nativeObj; FormFieldData formFieldData = FormDataJni.get().getNextFormFieldData(nativeObj);
mName = name; ArrayList<FormFieldData> fields = new ArrayList<FormFieldData>(fieldCount);
mHost = host;
mFields = new ArrayList<FormFieldData>(fieldCount);
popupFormFields(fieldCount);
}
private void popupFormFields(int fieldCount) {
FormFieldData formFieldData =
FormDataJni.get().getNextFormFieldData(mNativeObj, FormData.this);
while (formFieldData != null) { while (formFieldData != null) {
mFields.add(formFieldData); fields.add(formFieldData);
formFieldData = FormDataJni.get().getNextFormFieldData(mNativeObj, FormData.this); formFieldData = FormDataJni.get().getNextFormFieldData(nativeObj);
} }
assert mFields.size() == fieldCount; assert fields.size() == fieldCount;
return fields;
} }
@CalledByNative private FormData(String name, String host, ArrayList<FormFieldData> fields) {
private void onNativeDestroyed() { mName = name;
mNativeObj = 0; mHost = host;
mFields = fields;
}
private FormData(long nativeObj, String name, String host, int fieldCount) {
this(name, host, popupFormFields(nativeObj, fieldCount));
} }
@NativeMethods @NativeMethods
interface Natives { 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