Skip to content

Commit

Permalink
Issue Igalia#1707
Browse files Browse the repository at this point in the history
  • Loading branch information
haanhvu committed Jan 30, 2025
1 parent 412dbb5 commit 1242227
Showing 1 changed file with 45 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -954,6 +954,7 @@ public AutofillManager.Bridge create(AutofillManager.Listener listener) {
public class AutocompleteBridge implements PasswordManager.Bridge, AutofillManager.Bridge {
private PasswordManager.Listener mPasswordManagerListener;
private AutofillManager.Listener mAutofillManagerListener;
private boolean showLoginSelectDialog;

private LoginSavePrompt mLoginSavePrompt;
private LoginSelectPrompt mLoginSelectPrompt;
Expand All @@ -973,7 +974,8 @@ public boolean isAutocompleteEnabled(Context context) {

@Override
public boolean isAutoFillEnabled(Context context) {
return SettingsStore.getInstance(context).isAutoFillEnabled();
showLoginSelectDialog = SettingsStore.getInstance(context).isAutoFillEnabled();
return true;
}

@Override
Expand Down Expand Up @@ -1011,56 +1013,62 @@ public boolean saveOrUpdatePassword(PasswordForm form) {

@Override
public boolean onLoginSelect(PasswordForm[] forms) {
dismiss();
assert mPasswordManagerListener != null;

WAutocomplete.LoginSelectOption[] options =
new WAutocomplete.LoginSelectOption[forms.length];
for (int i = 0; i < forms.length; i++) {
options[i] = new WAutocomplete.LoginSelectOption(fromPasswordForm(forms[i]));
}
if (showLoginSelectDialog) {
dismiss();
assert mPasswordManagerListener != null;

WAutocomplete.LoginSelectOption[] options =
new WAutocomplete.LoginSelectOption[forms.length];
for (int i = 0; i < forms.length; i++) {
options[i] = new WAutocomplete.LoginSelectOption(fromPasswordForm(forms[i]));
}

mLoginSelectPrompt = new LoginSelectPrompt<PasswordManager.Listener>(
mPasswordManagerListener, options);
try {
if (mDelegate != null) {
mDelegate.onLoginSelect(mSession, mLoginSelectPrompt);
} else {
mLoginSelectPrompt = new LoginSelectPrompt<PasswordManager.Listener>(
mPasswordManagerListener, options);
try {
if (mDelegate != null) {
mDelegate.onLoginSelect(mSession, mLoginSelectPrompt);
} else {
resetLoginSelectPrompt();
return false;
}
} catch (WindowManager.BadTokenException e) {
resetLoginSelectPrompt();
return false;
}
} catch (WindowManager.BadTokenException e) {
resetLoginSelectPrompt();
return false;
return true;
}
return true;
return false;
}

@Override
public boolean onLoginSelect(String[] username) {
dismiss();
assert mAutofillManagerListener != null;

WAutocomplete.LoginSelectOption[] options =
new WAutocomplete.LoginSelectOption[username.length];
for (int i = 0; i < username.length; i++) {
options[i] = new WAutocomplete.LoginSelectOption(fromUsername(i, username[i]));
}
if (showLoginSelectDialog) {
dismiss();
assert mAutofillManagerListener != null;

WAutocomplete.LoginSelectOption[] options =
new WAutocomplete.LoginSelectOption[username.length];
for (int i = 0; i < username.length; i++) {
options[i] = new WAutocomplete.LoginSelectOption(fromUsername(i, username[i]));
}

mLoginSelectPrompt = new LoginSelectPrompt<AutofillManager.Listener>(
mAutofillManagerListener, options);
try {
if (mDelegate != null) {
mDelegate.onLoginSelect(mSession, mLoginSelectPrompt);
} else {
mLoginSelectPrompt = new LoginSelectPrompt<AutofillManager.Listener>(
mAutofillManagerListener, options);
try {
if (mDelegate != null) {
mDelegate.onLoginSelect(mSession, mLoginSelectPrompt);
} else {
resetLoginSelectPrompt();
return false;
}
} catch (WindowManager.BadTokenException e) {
resetLoginSelectPrompt();
return false;
}
} catch (WindowManager.BadTokenException e) {
resetLoginSelectPrompt();
return false;
return true;
}
return true;
return false;
}


Expand Down

0 comments on commit 1242227

Please sign in to comment.