refactor: use gdk_display_beep() on Linux (#44734)

* refactor: use gdk_display_beep() to beep on Linux

* chore: make a stub declaration for gdk_display_beep()

* chore: remove unused file electron_gtk.sigs

* chore: remove unused #includes to make gn check happy
This commit is contained in:
Charles Kerr 2024-11-20 15:24:59 -06:00 коммит произвёл GitHub
Родитель 15c3064780
Коммит 85e2622b68
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
4 изменённых файлов: 10 добавлений и 17 удалений

Просмотреть файл

@ -84,7 +84,10 @@ if (is_linux) {
# from the gtk library. Function signatures for which stubs are
# required should be declared in the sig files.
generate_stubs("electron_gtk_stubs") {
sigs = [ "shell/browser/ui/electron_gdk_pixbuf.sigs" ]
sigs = [
"shell/browser/ui/electron_gdk.sigs",
"shell/browser/ui/electron_gdk_pixbuf.sigs",
]
extra_header = "shell/browser/ui/electron_gtk.fragment"
output_name = "electron_gtk_stubs"
public_deps = [ "//ui/gtk:gtk_config" ]

Просмотреть файл

@ -0,0 +1 @@
void gdk_display_beep(GdkDisplay* display);

Просмотреть файл

@ -1,7 +0,0 @@
GtkFileChooserNative* gtk_file_chooser_native_new(const gchar* title, GtkWindow* parent, GtkFileChooserAction action, const gchar* accept_label, const gchar* cancel_label);
void gtk_native_dialog_set_modal(GtkNativeDialog* self, gboolean modal);
void gtk_native_dialog_show(GtkNativeDialog* self);
void gtk_native_dialog_hide(GtkNativeDialog* self);
gint gtk_native_dialog_run(GtkNativeDialog* self);
void gtk_native_dialog_destroy(GtkNativeDialog* self);
GType gtk_native_dialog_get_type(void);

Просмотреть файл

@ -11,6 +11,8 @@
#include <string>
#include <vector>
#include <gdk/gdk.h>
#include "base/cancelable_callback.h"
#include "base/containers/contains.h"
#include "base/environment.h"
@ -32,6 +34,7 @@
#include "dbus/bus.h"
#include "dbus/message.h"
#include "dbus/object_proxy.h"
#include "shell/common/platform_util_internal.h"
#include "url/gurl.h"
@ -408,15 +411,8 @@ bool PlatformTrashItem(const base::FilePath& full_path, std::string* error) {
} // namespace internal
void Beep() {
// echo '\a' > /dev/console
FILE* fp = fopen("/dev/console", "a");
if (fp == nullptr) {
fp = fopen("/dev/tty", "a");
}
if (fp != nullptr) {
fprintf(fp, "\a");
fclose(fp);
}
auto* display = gdk_display_get_default();
gdk_display_beep(display);
}
bool GetDesktopName(std::string* setme) {