### Signal

# WebKit WebView::context-menu

unstable since: 6.0

#### Declaration

    gboolean
    context_menu (
      WebKitWebView* self,
      WebKitContextMenu* context_menu,
      WebKitHitTestResult* hit_test_result,
      gpointer user_data
    )

#### Description [src]

Emitted when a context menu is about to be displayed to give the application a chance to customize the proposed menu, prevent the menu from being displayed, or build its own context menu. <itemizedlist> <listitem><para> To customize the proposed menu you can use webkit_context_menu_prepend(), `webkit_context_menu_append()` or `webkit_context_menu_insert()` to add new `WebKitContextMenuItem`s to `context_menu`, `webkit_context_menu_move_item()` to reorder existing items, or `webkit_context_menu_remove()` to remove an existing item. The signal handler should return `FALSE`, and the menu represented by `context_menu` will be shown. </para></listitem> <listitem><para> To prevent the menu from being displayed you can just connect to this signal and return `TRUE` so that the proposed menu will not be shown. </para></listitem> <listitem><para> To build your own menu, you can remove all items from the proposed menu with webkit_context_menu_remove_all(), add your own items and return `FALSE` so that the menu will be shown. You can also ignore the proposed `WebKitContextMenu`, build your own `GtkMenu` and return `TRUE` to prevent the proposed menu from being shown. </para></listitem> <listitem><para> If you just want the default menu to be shown always, simply don’t connect to this signal because showing the proposed context menu is the default behaviour. </para></listitem> </itemizedlist>

If the signal handler returns `FALSE` the context menu represented by `context_menu` will be shown, if it return `TRUE` the context menu will not be shown.

The proposed `WebKitContextMenu` passed in `context_menu` argument is only valid during the signal emission.

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.
Available since: 6.0

#### Parameters

`context_menu`

  Type: `WebKitContextMenu`

  The proposed `WebKitContextMenu`.

  The data is owned by the caller of the function.

`hit_test_result`

  Type: `WebKitHitTestResult`

  A `WebKitHitTestResult`.

  The data is owned by the caller of the function.

#### Return value

Type: `gboolean`

`TRUE` to stop other handlers from being invoked for the event. `FALSE` to propagate the event further.