chore: bump chromium to 119.0.6045.0 (main) (#40076)

* chore: bump chromium in DEPS to 119.0.6045.0

* chore: update patches

* 4864948: Remove legacy-legacy

4864948

* 4907760: Remove ui/base/glib/glib_signal.h

4907760

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
electron-roller[bot] 2023-10-05 19:59:39 -04:00 committed by GitHub
parent 83a928f6e3
commit 8f7a48879e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 472 additions and 173 deletions

View file

@ -6,6 +6,7 @@
#include <gtk/gtk.h>
#include "base/functional/bind.h"
#include "shell/browser/ui/gtk/menu_util.h"
#include "ui/base/models/menu_model.h"
@ -15,8 +16,9 @@ MenuGtk::MenuGtk(ui::MenuModel* model)
: menu_model_(model), gtk_menu_(TakeGObject(gtk_menu_new())) {
if (menu_model_) {
BuildSubmenuFromModel(menu_model_, gtk_menu_,
G_CALLBACK(OnMenuItemActivatedThunk),
&block_activation_, this);
base::BindRepeating(&MenuGtk::OnMenuItemActivated,
base::Unretained(this)),
&block_activation_, &signals_);
Refresh();
}
}

View file

@ -7,8 +7,8 @@
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "ui/base/glib/glib_signal.h"
#include "ui/base/glib/scoped_gobject.h"
#include "ui/base/glib/scoped_gsignal.h"
typedef struct _GtkMenu GtkMenu;
typedef struct _GtkWidget GtkWidget;
@ -31,12 +31,13 @@ class MenuGtk {
private:
// Callback for when a menu item is activated.
CHROMEG_CALLBACK_0(MenuGtk, void, OnMenuItemActivated, GtkWidget*);
void OnMenuItemActivated(GtkWidget* menu_item);
raw_ptr<ui::MenuModel> menu_model_; // not owned
ScopedGObject<GtkWidget> gtk_menu_;
bool block_activation_ = false;
std::vector<ScopedGSignal> signals_;
};
} // namespace electron::gtkui

View file

@ -109,8 +109,8 @@ GtkWidget* AppendMenuItemToMenu(int index,
GtkWidget* menu_item,
GtkWidget* menu,
bool connect_to_activate,
GCallback item_activated_cb,
void* this_ptr) {
MenuActivatedCallback item_activated_cb,
std::vector<ScopedGSignal>* signals) {
// Set the ID of a menu item.
// Add 1 to the menu_id to avoid setting zero (null) to "menu-id".
g_object_set_data(G_OBJECT(menu_item), "menu-id", GINT_TO_POINTER(index + 1));
@ -118,7 +118,7 @@ GtkWidget* AppendMenuItemToMenu(int index,
// Native menu items do their own thing, so only selectively listen for the
// activate signal.
if (connect_to_activate) {
g_signal_connect(menu_item, "activate", item_activated_cb, this_ptr);
signals->emplace_back(menu_item, "activate", item_activated_cb);
}
// AppendMenuItemToMenu is used both internally when we control menu creation
@ -158,9 +158,9 @@ void ExecuteCommand(ui::MenuModel* model, int id) {
void BuildSubmenuFromModel(ui::MenuModel* model,
GtkWidget* menu,
GCallback item_activated_cb,
MenuActivatedCallback item_activated_cb,
bool* block_activation,
void* this_ptr) {
std::vector<ScopedGSignal>* signals) {
std::map<int, GtkWidget*> radio_groups;
GtkWidget* menu_item = nullptr;
for (size_t i = 0; i < model->GetItemCount(); ++i) {
@ -221,7 +221,7 @@ void BuildSubmenuFromModel(ui::MenuModel* model,
GtkWidget* submenu = gtk_menu_new();
ui::MenuModel* submenu_model = model->GetSubmenuModelAt(i);
BuildSubmenuFromModel(submenu_model, submenu, item_activated_cb,
block_activation, this_ptr);
block_activation, signals);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu);
// Update all the menu item info in the newly-generated menu.
@ -247,7 +247,7 @@ void BuildSubmenuFromModel(ui::MenuModel* model,
g_object_set_data(G_OBJECT(menu_item), "model", model);
AppendMenuItemToMenu(i, model, menu_item, menu, connect_to_activate,
item_activated_cb, this_ptr);
item_activated_cb, signals);
menu_item = nullptr;
}

View file

@ -9,6 +9,8 @@
#include <string>
#include "base/functional/callback.h"
#include "ui/base/glib/scoped_gsignal.h"
#include "ui/gfx/image/image.h"
namespace ui {
@ -17,6 +19,8 @@ class MenuModel;
namespace electron::gtkui {
using MenuActivatedCallback = base::RepeatingCallback<void(GtkWidget*)>;
// Builds GtkImageMenuItems.
GtkWidget* BuildMenuItemWithImage(const std::string& label, GtkWidget* image);
GtkWidget* BuildMenuItemWithImage(const std::string& label,
@ -32,8 +36,8 @@ GtkWidget* AppendMenuItemToMenu(int index,
GtkWidget* menu_item,
GtkWidget* menu,
bool connect_to_activate,
GCallback item_activated_cb,
void* this_ptr);
MenuActivatedCallback item_activated_cb,
std::vector<ScopedGSignal>* signals);
// Gets the ID of a menu item.
// Returns true if the menu item has an ID.
@ -47,9 +51,9 @@ void ExecuteCommand(ui::MenuModel* model, int id);
// See comments in definition of SetMenuItemInfo for more info.
void BuildSubmenuFromModel(ui::MenuModel* model,
GtkWidget* menu,
GCallback item_activated_cb,
MenuActivatedCallback item_activated_cb,
bool* block_activation,
void* this_ptr);
std::vector<ScopedGSignal>* signals);
// Sets the check mark, enabled/disabled state and dynamic labels on menu items.
void SetMenuItemInfo(GtkWidget* widget, void* block_activation_ptr);