Class WebInspector

All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public final class WebInspector extends GObject

Access to the WebKit inspector.

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 WebKitSettings:enable-developer-extras to true, otherwise no inspector is available.

// Enable the developer extras
WebKitSettings *settings = 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_view_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));
  • Constructor Details

    • WebInspector

      public WebInspector(MemorySegment address)
      Create a WebInspector instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • WebInspector

      public WebInspector()
      Create a new WebInspector.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the WebInspector class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected WebInspector asParent()
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class GObject
      Returns:
      the instance as if it were its parent type
    • attach

      public void attach()

      Request this WebInspector to be attached.

      The signal WebKitWebInspector::attach will be emitted. If the inspector is already attached it does nothing.

    • close

      public void close()
      Request this WebInspector to be closed.
    • detach

      public void detach()

      Request this WebInspector to be detached.

      The signal WebKitWebInspector::detach will be emitted. If the inspector is already detached it does nothing.

    • getAttachedHeight

      public int getAttachedHeight()

      Get the height that the inspector view when attached.

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

      Returns:
      the height of the inspector view when attached
    • getCanAttach

      public boolean getCanAttach()
      Whether the this WebInspector can be attached to the same window that contains the inspected view.
      Returns:
      true if there is enough room for the inspector view inside the window that contains the inspected view, or false otherwise.
      Since:
      2.8
    • getInspectedUri

      public String getInspectedUri()

      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.

      Returns:
      the URI that is currently being inspected or null
    • getWebView

      public WebViewBase getWebView()

      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.

      Returns:
      the WebKitWebViewBase used to display the inspector or null
    • isAttached

      public boolean isAttached()
      Whether the this WebInspector view is currently attached to the same window that contains the inspected view.
      Returns:
      true if this WebInspector is currently attached or false otherwise
    • show

      public void show()
      Request this WebInspector to be shown.
    • onAttach

      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 view from being attached you can connect to this signal and simply return true.

      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      See Also:
    • emitAttach

      public boolean emitAttach()
      Emits the "attach" signal. See onAttach(WebInspector.AttachCallback).
    • onBringToFront

      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.

      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      See Also:
    • emitBringToFront

      public boolean emitBringToFront()
      Emits the "bring-to-front" signal. See onBringToFront(WebInspector.BringToFrontCallback).
    • onClosed

      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.
      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      See Also:
    • emitClosed

      public void emitClosed()
      Emits the "closed" signal. See onClosed(WebInspector.ClosedCallback).
    • onDetach

      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 WebKitWebInspector::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 WebKitWebInspector::open-window is emitted after this one.

      To prevent the inspector view from being detached you can connect to this signal and simply return true.

      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      See Also:
    • emitDetach

      public boolean emitDetach()
      Emits the "detach" signal. See onDetach(WebInspector.DetachCallback).
    • onOpenWindow

      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 WebKitWebInspector::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

      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      See Also:
    • emitOpenWindow

      public boolean emitOpenWindow()
      Emits the "open-window" signal. See onOpenWindow(WebInspector.OpenWindowCallback).
    • builder

      public static WebInspector.Builder<? extends WebInspector.Builder> builder()
      A WebInspector.Builder object constructs a WebInspector with the specified properties. Use the various set...() methods to set properties, and finish construction with WebInspector.Builder.build().
      Returns:
      the builder object