Changeset 262137 in webkit
- Timestamp:
- May 26, 2020 12:59:30 AM (4 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r262131 r262137 1 2020-05-26 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK4] Fix context menu 4 https://bugs.webkit.org/show_bug.cgi?id=212344 5 6 Reviewed by Adrian Perez de Castro. 7 8 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 9 (webkitWebViewBaseSizeAllocate): Call gtk_native_check_resize() on the popover to make it appear. 10 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 11 (WebKit::destroyMenuWidget): There's no gtk_widget_destroy() in GTK4 so we can just unparent it. 12 (WebKit::bindModelToMenuWidget): Do not set the action namespace because that's not possible in GTK4. 13 (WebKit::WebContextMenuProxyGtk::append): Use group.name again for the action name passed to 14 g_menu_item_set_action_and_target_value(). 15 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Use destroyMenuWidget(). 16 1 17 2020-05-25 Alex Christensen <achristensen@webkit.org> 2 18 -
trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
r261912 r262137 779 779 } 780 780 781 #if USE(GTK4) 782 if (priv->activeContextMenuProxy) 783 gtk_native_check_resize(GTK_NATIVE(priv->activeContextMenuProxy->gtkWidget())); 784 #endif 785 781 786 if (auto* drawingArea = static_cast<DrawingAreaProxyCoordinatedGraphics*>(priv->pageProxy->drawingArea())) 782 787 drawingArea->setSize(viewRect.size()); -
trunk/Source/WebKit/UIProcess/gtk/WebContextMenuProxyGtk.cpp
r261912 r262137 80 80 gtk_popover_menu_set_menu_model(GTK_POPOVER_MENU(widget), model); 81 81 } 82 83 static inline void destroyMenuWidget(GtkWidget* widget) 84 { 85 gtk_widget_unparent(widget); 86 } 82 87 #else 83 88 const char* WebContextMenuProxyGtk::widgetDismissedSignal = "deactivate"; … … 122 127 static inline void bindModelToMenuWidget(GtkWidget* widget, GMenuModel* model) 123 128 { 124 gtk_menu_shell_bind_model(GTK_MENU_SHELL(widget), model, gContextMenuItemGroup, TRUE); 129 gtk_menu_shell_bind_model(GTK_MENU_SHELL(widget), model, nullptr, TRUE); 130 } 131 132 static inline void destroyMenuWidget(GtkWidget* widget) 133 { 134 gtk_widget_destroy(widget); 125 135 } 126 136 #endif // USE(GTK4) … … 152 162 case CheckableActionType: { 153 163 gMenuItem = adoptGRef(g_menu_item_new(menuItem.title().utf8().data(), nullptr)); 154 g_menu_item_set_action_and_target_value(gMenuItem.get(), g_action_get_name(action), menuItem.gActionTarget()); 164 GUniquePtr<char> actionName(g_strdup_printf("%s.%s", gContextMenuItemGroup, g_action_get_name(action))); 165 g_menu_item_set_action_and_target_value(gMenuItem.get(), actionName.get(), menuItem.gActionTarget()); 155 166 156 167 if (menuItem.action() < ContextMenuItemBaseApplicationTag) { … … 281 292 282 293 gtk_widget_insert_action_group(GTK_WIDGET(m_menu), gContextMenuItemGroup, nullptr); 283 #if !USE(GTK4) 284 gtk_widget_destroy(m_menu); 285 #endif 294 destroyMenuWidget(m_menu); 286 295 } 287 296
Note: See TracChangeset
for help on using the changeset viewer.