WebKit2GTK+ Reference Manual: WebKitWebInspector

## WebKitWebInspector WebKitWebInspector — Access to the WebKit inspector |

## Synopsis

    struct              WebKitWebInspector;
    WebKitWebViewBase * webkit_web_inspector_get_web_view   (WebKitWebInspector *inspector);
    const char *        webkit_web_inspector_get_inspected_uri
                                                            (WebKitWebInspector *inspector);
    gboolean            webkit_web_inspector_is_attached    (WebKitWebInspector *inspector);
    void                webkit_web_inspector_attach         (WebKitWebInspector *inspector);
    void                webkit_web_inspector_detach         (WebKitWebInspector *inspector);
    void                webkit_web_inspector_show           (WebKitWebInspector *inspector);
    void                webkit_web_inspector_close          (WebKitWebInspector *inspector);
    guint               webkit_web_inspector_get_attached_height
                                                            (WebKitWebInspector *inspector);

## Object Hierarchy

      GObject
       +----WebKitWebInspector

## Properties

      "attached-height"          guint                 : Read
      "inspected-uri"            gchar*                : Read

## Signals

      "attach"                                         : Run Last
      "bring-to-front"                                 : Run Last
      "closed"                                         : Run Last
      "detach"                                         : Run Last
      "open-window"                                    : Run Last

## Description

The WebKit Inspector is a graphical tool to inspect and change the content of a WebKitWebView. It also includes an interactive JavaScript debugger. Using this class one can get a GtkWidget which can be embedded into an application to show the inspector.

The inspector is available when the WebKitSettings of the WebKitWebView has set the "enable-developer-extras" to true, otherwise no inspector is available.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /* Enable the developer extras */
    WebKitSettings *setting = webkit_web_view_get_settings (WEBKIT_WEB_VIEW(my_webview));
    g_object_set (G_OBJECT(settings), "enable-developer-extras", TRUE, NULL);

    /* Load some data or reload to be able to inspect the page*/
    webkit_web_load_uri (WEBKIT_WEB_VIEW(my_webview), "http://www.gnome.org");

    /* Show the inspector */
    WebKitWebInspector *inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW(my_webview));
    webkit_web_inspector_show (WEBKIT_WEB_INSPECTOR(inspector));

## Details

### struct WebKitWebInspector

    struct WebKitWebInspector;

### webkit_web_inspector_get_web_view ()

    WebKitWebViewBase * webkit_web_inspector_get_web_view   (WebKitWebInspector *inspector);

Get the WebKitWebViewBase used to display the inspector. This might be `NULL` if the inspector hasn't been loaded yet, or it has been closed.

`inspector` : | a WebKitWebInspector
Returns : | the WebKitWebViewBase used to display the inspector or `NULL`. [transfer none]

### webkit_web_inspector_get_inspected_uri ()

    const char *        webkit_web_inspector_get_inspected_uri
                                                            (WebKitWebInspector *inspector);

Get the URI that is currently being inspected. This can be `NULL` if nothing has been loaded yet in the inspected view, if the inspector has been closed or when inspected view was loaded from a HTML string instead of a URI.

`inspector` : | a WebKitWebInspector
Returns : | the URI that is currently being inspected or `NULL`

### webkit_web_inspector_is_attached ()

    gboolean            webkit_web_inspector_is_attached    (WebKitWebInspector *inspector);

Whether the `inspector` view is currently attached to the same window that contains the inspected view.

`inspector` : | a WebKitWebInspector
Returns : | `TRUE` if `inspector` is currently attached or `FALSE` otherwise

### webkit_web_inspector_attach ()

    void                webkit_web_inspector_attach         (WebKitWebInspector *inspector);

Request `inspector` to be attached. The signal "attach" will be emitted. If the inspector is already attached it does nothing.

`inspector` : | a WebKitWebInspector

### webkit_web_inspector_detach ()

    void                webkit_web_inspector_detach         (WebKitWebInspector *inspector);

Request `inspector` to be detached. The signal "detach" will be emitted. If the inspector is already detached it does nothing.

`inspector` : | a WebKitWebInspector

### webkit_web_inspector_show ()

    void                webkit_web_inspector_show           (WebKitWebInspector *inspector);

Request `inspector` to be shown.

`inspector` : | a WebKitWebInspector

### webkit_web_inspector_close ()

    void                webkit_web_inspector_close          (WebKitWebInspector *inspector);

Request `inspector` to be closed.

`inspector` : | a WebKitWebInspector

### webkit_web_inspector_get_attached_height ()

    guint               webkit_web_inspector_get_attached_height
                                                            (WebKitWebInspector *inspector);

Get the height that the inspector view should have when it's attached. If the inspector view is not attached this returns 0.

`inspector` : | a WebKitWebInspector
Returns : | the height of the inspector view when attached

## Property Details

### The `"attached-height"` property

      "attached-height"          guint                 : Read

The height that the inspector view should have when it is attached.

Default value: 0

### The `"inspected-uri"` property

      "inspected-uri"            gchar*                : Read

The URI that is currently being inspected.

Default value: NULL

## Signal Details

### The `"attach"` signal

    gboolean            user_function                      (WebKitWebInspector *inspector,
                                                            gpointer            user_data)      : Run Last

Emitted when the inspector is requested to be attached to the window where the inspected web view is. If this signal is not handled the inspector view will be automatically attached to the inspected view, so you only need to handle this signal if you want to attach the inspector view yourself (for example, to add the inspector view to a browser tab).

To prevent the inspector vew from being attached you can connect to this signal and simply return `TRUE`.

`inspector` : | the WebKitWebInspector on which the signal is emitted
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` to stop other handlers from being invoked for the event. `FALSE` to propagate the event further.

### The `"bring-to-front"` signal

    gboolean            user_function                      (WebKitWebInspector *inspector,
                                                            gpointer            user_data)      : Run Last

Emitted when the inspector should be shown.

If the inspector is not attached the inspector window should be shown on top of any other windows. If the inspector is attached the inspector view should be made visible. For example, if the inspector view is attached using a tab in a browser window, the browser window should be raised and the tab containing the inspector view should be the active one. In both cases, if this signal is not handled, the default implementation calls `gtk_window_present()` on the current toplevel GtkWindow of the inspector view.

`inspector` : | the WebKitWebInspector on which the signal is emitted
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` to stop other handlers from being invoked for the event. `FALSE` to propagate the event further.

### The `"closed"` signal

    void                user_function                      (WebKitWebInspector *inspector,
                                                            gpointer            user_data)      : Run Last

Emitted when the inspector page is closed. If you are using your own inspector window, you should connect to this signal and destroy your window.

`inspector` : | the WebKitWebInspector on which the signal is emitted
`user_data` : | user data set when the signal handler was connected.

### The `"detach"` signal

    gboolean            user_function                      (WebKitWebInspector *inspector,
                                                            gpointer            user_data)      : Run Last

Emitted when the inspector is requested to be detached from the window it is currently attached to. The inspector is detached when the inspector page is about to be closed, and this signal is emitted right before "closed", or when the user clicks on the detach button in the inspector view to show the inspector in a separate window. In this case the signal "open-window" is emitted after this one.

To prevent the inspector vew from being detached you can connect to this signal and simply return `TRUE`.

`inspector` : | the WebKitWebInspector on which the signal is emitted
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` to stop other handlers from being invoked for the event. `FALSE` to propagate the event further.

### The `"open-window"` signal

    gboolean            user_function                      (WebKitWebInspector *inspector,
                                                            gpointer            user_data)      : Run Last

Emitted when the inspector is requested to open in a separate window. If this signal is not handled, a GtkWindow with the inspector will be created and shown, so you only need to handle this signal if you want to use your own window. This signal is emitted after "detach" to show the inspector in a separate window after being detached.

To prevent the inspector from being shown you can connect to this signal and simply return `TRUE`

`inspector` : | the WebKitWebInspector on which the signal is emitted
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` to stop other handlers from being invoked for the event. `FALSE` to propagate the event further.