Dear Maintainer,
I experienced the same issue of the "Enter" key behavior on "Save File" dialogs. Downgrading the chromium to version 144.0.7559.109-2 reverts the behavior. The "Tab" key has no function on "Save File" dialogs in version 144.0.7559.109-2, so maybe its behavior is long existed and not caused by recent upgrade.
Running bisect-builds.py on the "Enter" key behavior between 144.0.7559.109(good) and 145.0.7632.75(bad) found the following result:
You are probably looking for a change made after 1564730 (build version: 145.0.7618.0) (known good), but no later than 1564737 (build version: 145.0.7618.0) (first known bad).
CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/392842e9bc78b094dbd5afe09c6df0fee200e13f..3165dd86ac4005b1f618d3865312c35934bc4690
The changes between 1564730 and 1564737 have 7 commits, and among them I think the commit "[GTK] Don't preselect file dialog accept buttons" caused the behavior change of the "Enter" key on "Save File" dialog. This commit is to solve a potential vulnerability that a site could steal user files via file upload, but it clear all preselect accept buttons for "upload", "save as" and "folder selection".
If I understand correctly, a site can not preselect the path where a download file will be saved to; it can only prefill a filename for the download file. If a file with the same filename existed, chromium will automatically choose a different name. Even the user change it to the same filename, GTK will prompt a dialog requiring the user to confirm overwriting the existing file. Also providing downloading will not leak user files to a site, I think preselect accept button for "Save File" dialog has no vulnerability, or the vulnerability is marginal. So I think the behavior should be restored for "Save File" dialog.
The following patch against version 149.0.7827.155-1 should be able to restore the behavior for "Save File" dialog only, although I am still building the chromium package with this patch and can not test it currently.
--- a/ui/gtk/select_file_dialog_linux_gtk.cc
+++ b/ui/gtk/select_file_dialog_linux_gtk.cc
@@ -523,7 +523,7 @@
GtkWidget* dialog = GtkFileChooserDialogNew(
title_string.c_str(), nullptr, GTK_FILE_CHOOSER_ACTION_SAVE,
GetCancelLabel(), GTK_RESPONSE_CANCEL, GetSaveLabel(),
- kResponseTypeAccept);
+ GTK_RESPONSE_ACCEPT);
SetGtkTransientForAura(dialog, parent, platform_);
AddFilters(GTK_FILE_CHOOSER(dialog));