Sets our main struct and passes it to the parent class.
Creates a new #WebKitWebView with the default #WebKitWebContext and no #WebKitUserContentManager associated with it. See also webkit_web_view_new_with_context(), webkit_web_view_new_with_user_content_manager(), and webkit_web_view_new_with_settings().
Creates a new #WebKitWebView with the given #WebKitWebContext and no #WebKitUserContentManager associated with it. See also webkit_web_view_new_with_user_content_manager() and webkit_web_view_new_with_settings().
Creates a new #WebKitWebView sharing the same web process with @web_view. This method doesn't have any effect when %WEBKIT_PROCESS_MODEL_SHARED_SECONDARY_PROCESS process model is used, because a single web process is shared for all the web views in the same #WebKitWebContext. When using %WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES process model, this method should always be used when creating the #WebKitWebView in the #WebKitWebView::create signal. You can also use this method to implement other process models based on %WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES, like for example, sharing the same web process for all the views in the same security domain.
Creates a new #WebKitWebView with the given #WebKitSettings. See also webkit_web_view_new_with_context(), and webkit_web_view_new_with_user_content_manager().
Creates a new #WebKitWebView with the given #WebKitUserContentManager. The content loaded in the view may be affected by the content injected in the view by the user content manager.
This signal is emitted when the user is challenged with HTTP authentication. To let the application access or supply the credentials as well as to allow the client application to either cancel the request or perform the authentication, the signal will pass an instance of the #WebKitAuthenticationRequest in the @request argument. To handle this signal asynchronously you should keep a ref of the request and return %TRUE. To disable HTTP authentication entirely, connect to this signal and simply return %TRUE.
Emitted when closing a #WebKitWebView is requested. This occurs when a call is made from JavaScript's <function>window.close</function> function or after trying to close the @web_view with webkit_web_view_try_close(). It is the owner's responsibility to handle this signal to hide or destroy the #WebKitWebView, if necessary.
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>
Emitted after #WebKitWebView::context-menu signal, if the context menu is shown, to notify that the context menu is dismissed.
Emitted when the creation of a new #WebKitWebView is requested. If this signal is handled the signal handler should return the newly created #WebKitWebView.
This signal is emitted when WebKit is requesting the client to decide a policy decision, such as whether to navigate to a page, open a new window or whether or not to download a resource. The #WebKitNavigationPolicyDecision passed in the @decision argument is a generic type, but should be casted to a more specific type when making the decision. For example:
Emitted when JavaScript code calls <function>element.webkitRequestFullScreen</function>. If the signal is not handled the #WebKitWebView will proceed to full screen its top level window. This signal can be used by client code to request permission to the user prior doing the full screen transition and eventually prepare the top-level window (e.g. hide some widgets that would otherwise be part of the full screen window).
This signal is emitted when insecure content has been detected in a page loaded through a secure connection. This typically means that a external resource from an unstrusted source has been run or displayed, resulting in a mix of HTTPS and non-HTTPS content.
Emitted when the #WebKitWebView is about to restore its top level window out of its full screen state. This signal can be used by client code to restore widgets hidden during the #WebKitWebView::enter-fullscreen stage for instance.
Emitted when a load operation in @web_view changes. The signal is always emitted with %WEBKIT_LOAD_STARTED when a new load request is made and %WEBKIT_LOAD_FINISHED when the load finishes successfully or due to an error. When the ongoing load operation fails #WebKitWebView::load-failed signal is emitted before #WebKitWebView::load-changed is emitted with %WEBKIT_LOAD_FINISHED. If a redirection is received from the server, this signal is emitted with %WEBKIT_LOAD_REDIRECTED after the initial emission with %WEBKIT_LOAD_STARTED and before %WEBKIT_LOAD_COMMITTED. When the page content starts arriving the signal is emitted with %WEBKIT_LOAD_COMMITTED event.
Emitted when an error occurs during a load operation. If the error happened when starting to load data for a page @load_event will be %WEBKIT_LOAD_STARTED. If it happened while loading a committed data source @load_event will be %WEBKIT_LOAD_COMMITTED. Since a load error causes the load operation to finish, the signal WebKitWebView::load-changed will always be emitted with %WEBKIT_LOAD_FINISHED event right after this one.
Emitted when a TLS error occurs during a load operation. To allow an exception for this @certificate and the host of @failing_uri use webkit_web_context_allow_tls_certificate_for_host().
This signal is emitted when the mouse cursor moves over an element such as a link, image or a media element. To determine what type of element the mouse cursor is over, a Hit Test is performed on the current mouse coordinates and the result is passed in the @hit_test_result argument. The @modifiers argument is a bitmask of #GdkModifierType flags indicating the state of modifier keys. The signal is emitted again when the mouse is moved out of the current element with a new @hit_test_result.
This signal is emitted when WebKit is requesting the client to decide about a permission request, such as allowing the browser to switch to fullscreen mode, sharing its location or similar operations.
Emitted when printing is requested on @web_view, usually by a JavaScript call, before the print dialog is shown. This signal can be used to set the initial print settings and page setup of @print_operation to be used as default values in the print dialog. You can call webkit_print_operation_set_print_settings() and webkit_print_operation_set_page_setup() and then return %FALSE to propagate the event so that the print dialog is shown.
Emitted after #WebKitWebView::create on the newly created #WebKitWebView when it should be displayed to the user. When this signal is emitted all the information about how the window should look, including size, position, whether the location, status and scrollbars should be displayed, is already set on the #WebKitWindowProperties of @web_view. See also webkit_web_view_get_window_properties().
Emitted when a new resource is going to be loaded. The @request parameter contains the #WebKitURIRequest that will be sent to the server. You can monitor the load operation by connecting to the different signals of @resource.
Emitted after #WebKitWebView::ready-to-show on the newly created #WebKitWebView when JavaScript code calls <function>window.showModalDialog</function>. The purpose of this signal is to allow the client application to prepare the new view to behave as modal. Once the signal is emitted a new main loop will be run to block user interaction in the parent #WebKitWebView until the new dialog is closed.
This signal is emitted when the user interacts with a <input type='color' /> HTML element, requesting from WebKit to show a dialog to select a color. To let the application know the details of the color chooser, as well as to allow the client application to either cancel the request or perform an actual color selection, the signal will pass an instance of the #WebKitColorChooserRequest in the @request argument.
This signal is emitted when the user interacts with a <input type='file' /> HTML element, requesting from WebKit to show a dialog to select one or more files to be uploaded. To let the application know the details of the file chooser, as well as to allow the client application to either cancel the request or perform an actual selection of files, the signal will pass an instance of the #WebKitFileChooserRequest in the @request argument.
Emitted when JavaScript code calls <function>window.alert</function>, <function>window.confirm</function> or <function>window.prompt</function>, or when <function>onbeforeunload</function> event is fired. The @dialog parameter should be used to build the dialog. If the signal is not handled a different dialog will be built and shown depending on the dialog type: <itemizedlist> <listitem><para> %WEBKIT_SCRIPT_DIALOG_ALERT: message dialog with a single Close button. </para></listitem> <listitem><para> %WEBKIT_SCRIPT_DIALOG_CONFIRM: message dialog with OK and Cancel buttons. </para></listitem> <listitem><para> %WEBKIT_SCRIPT_DIALOG_PROMPT: message dialog with OK and Cancel buttons and a text entry with the default text. </para></listitem> <listitem><para> %WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM: message dialog with Stay and Leave buttons. </para></listitem> </itemizedlist>
This signal is emitted when a notification should be presented to the user. The @notification is kept alive until either: 1) the web page cancels it or 2) a navigation happens.
This signal is emitted when a select element in @web_view needs to display a dropdown menu. This signal can be used to show a custom menu, using @menu to get the details of all items that should be displayed. The area of the element in the #WebKitWebView is given as @rectangle parameter, it can be used to position the menu. To handle this signal asynchronously you should keep a ref of the @menu.
This signal is emitted when a form is about to be submitted. The @request argument passed contains information about the text fields of the form. This is typically used to store login information that can be used later to pre-fill the form. The form will not be submitted until webkit_form_submission_request_submit() is called.
This signal is emitted when a #WebKitUserMessage is received from the #WebKitWebPage corresponding to @web_view. You can reply to the message using webkit_user_message_send_reply().
This signal is emitted when the web process crashes.
This signal is emitted when the web process terminates abnormally due to @reason.
Asynchronously check if it is possible to execute the given editing command.
Finish an asynchronous operation started with webkit_web_view_can_execute_editing_command().
Determines whether @web_view has a previous history item.
Determines whether @web_view has a next history item.
Whether or not a MIME type can be displayed in @web_view.
Requests downloading of the specified URI string for @web_view.
Request to execute the given @command for @web_view. You can use webkit_web_view_can_execute_editing_command() to check whether it's possible to execute the command.
Request to execute the given @command with @argument for @web_view. You can use webkit_web_view_can_execute_editing_command() to check whether it's possible to execute the command.
Get the presentation type of #WebKitWebView when created for automation.
Obtains the #WebKitBackForwardList associated with the given #WebKitWebView. The #WebKitBackForwardList is owned by the #WebKitWebView.
Gets the color that is used to draw the @web_view background before the actual contents are rendered. For more information see also webkit_web_view_set_background_color()
Gets the web context of @web_view.
Returns the current custom character encoding name of @web_view.
Gets the web editor state of @web_view.
Gets the value of the #WebKitWebView:estimated-load-progress property. You can monitor the estimated progress of a load operation by connecting to the notify::estimated-load-progress signal of @web_view.
Returns favicon currently associated to @web_view, if any. You can connect to notify::favicon signal of @web_view to be notified when the favicon is available.
Gets the #WebKitFindController that will allow the caller to query the #WebKitWebView for the text to look for.
Get the #WebKitInputMethodContext currently in use by @web_view, or %NULL if no input method is being used.
Get the #WebKitWebInspector associated to @web_view
Gets the mute state of @web_view.
Get the global JavaScript context used by @web_view to deserialize the result values of scripts executed with webkit_web_view_run_javascript().
Return the main resource of @web_view.
Get the identifier of the #WebKitWebPage corresponding to the #WebKitWebView
Gets the current session state of @web_view
Gets the #WebKitSettings currently applied to @web_view. If no other #WebKitSettings have been explicitly applied to @web_view with webkit_web_view_set_settings(), the default #WebKitSettings will be returned. This method always returns a valid #WebKitSettings object. To modify any of the @web_view settings, you can either create a new #WebKitSettings object with webkit_settings_new(), setting the desired preferences, and then replace the existing @web_view settings with webkit_web_view_set_settings() or get the existing @web_view settings and update it directly. #WebKitSettings objects can be shared by multiple #WebKitWebView<!-- -->s, so modifying the settings of a #WebKitWebView would affect other #WebKitWebView<!-- -->s using the same #WebKitSettings.
Asynchronously retrieves a snapshot of @web_view for @region. @options specifies how the snapshot should be rendered.
Finishes an asynchronous operation started with webkit_web_view_get_snapshot().
the main Gtk struct as a void*
Gets the value of the #WebKitWebView:title property. You can connect to notify::title signal of @web_view to be notified when the title has been received.
Retrieves the #GTlsCertificate associated with the main resource of @web_view, and the #GTlsCertificateFlags showing what problems, if any, have been found with that certificate. If the connection is not HTTPS, this function returns %FALSE. This function should be called after a response has been received from the server, so you can connect to #WebKitWebView::load-changed and call this function when it's emitted with %WEBKIT_LOAD_COMMITTED event.
Returns the current active URI of @web_view. The active URI might change during a load operation:
Gets the user content manager associated to @web_view.
Get the main Gtk struct
Get the #WebKitWebsiteDataManager associated to @web_view. If @web_view is not ephemeral, the returned #WebKitWebsiteDataManager will be the same as the #WebKitWebsiteDataManager of @web_view's #WebKitWebContext.
Gets the default website policies set on construction in the @web_view. These can be overridden on a per-origin basis via the #WebKitWebView::decide-policy signal handler.
Get the #WebKitWindowProperties object containing the properties that the window containing @web_view should have.
Get the zoom level of @web_view, i.e. the factor by which the view contents are scaled with respect to their original size.
Loads the previous history item. You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Loads the next history item. You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Loads the specific history item @list_item. You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Get whether a #WebKitWebView was created with #WebKitWebView:is-controlled-by-automation property enabled. Only #WebKitWebView<!-- -->s controlled by automation can be used in an automation session.
Get whether a #WebKitWebView is ephemeral. To create an ephemeral #WebKitWebView you need to use g_object_new() and pass is-ephemeral property with %TRUE value. See #WebKitWebView:is-ephemeral for more details. If @web_view was created with a ephemeral #WebKitWebView:related-view or an ephemeral #WebKitWebView:web-context it will also be ephemeral.
Gets the value of the #WebKitWebView:is-loading property. You can monitor when a #WebKitWebView is loading a page by connecting to notify::is-loading signal of @web_view. This is useful when you are interesting in knowing when the view is loading something but not in the details about the status of the load operation, for example to start a spinner when the view is loading a page and stop it when it finishes.
Gets the value of the #WebKitWebView:is-playing-audio property. You can monitor when a page in a #WebKitWebView is playing audio by connecting to the notify::is-playing-audio signal of @web_view. This is useful when the application wants to provide visual feedback when a page is producing sound.
Load the given @content string for the URI @content_uri. This allows clients to display page-loading errors in the #WebKitWebView itself. When this method is called from #WebKitWebView::load-failed signal to show an error page, then the back-forward list is maintained appropriately. For everything else this method works the same way as webkit_web_view_load_html().
Load the specified @bytes into @web_view using the given @mime_type and @encoding. When @mime_type is %NULL, it defaults to "text/html". When @encoding is %NULL, it defaults to "UTF-8". When @base_uri is %NULL, it defaults to "about:blank". You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Load the given @content string with the specified @base_uri. If @base_uri is not %NULL, relative URLs in the @content will be resolved against @base_uri and absolute local paths must be children of the @base_uri. For security reasons absolute local paths that are not children of @base_uri will cause the web process to terminate. If you need to include URLs in @content that are local paths in a different directory than @base_uri you can build a data URI for them. When @base_uri is %NULL, it defaults to "about:blank". The mime type of the document will be "text/html". You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Load the specified @plain_text string into @web_view. The mime type of document will be "text/plain". You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Requests loading of the specified #WebKitURIRequest. You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Requests loading of the specified URI string. You can monitor the load operation by connecting to #WebKitWebView::load-changed signal.
Reloads the current contents of @web_view. See also webkit_web_view_reload_bypass_cache().
Reloads the current contents of @web_view without using any cached data.
Restore the @web_view session state from @state
Asynchronously run @script in the context of the current page in @web_view. If WebKitSettings:enable-javascript is FALSE, this method will do nothing.
Finish an asynchronous operation started with webkit_web_view_run_javascript().
Asynchronously run the script from @resource in the context of the current page in @web_view.
Finish an asynchronous operation started with webkit_web_view_run_javascript_from_gresource().
Asynchronously run @script in the script world with name @world_name of the current page context in @web_view. If WebKitSettings:enable-javascript is FALSE, this method will do nothing.
Finish an asynchronous operation started with webkit_web_view_run_javascript_in_world().
Asynchronously save the current web page associated to the #WebKitWebView into a self-contained format using the mode specified in @save_mode.
Finish an asynchronous operation started with webkit_web_view_save().
Asynchronously save the current web page associated to the #WebKitWebView into a self-contained format using the mode specified in @save_mode and writing it to @file.
Finish an asynchronous operation started with webkit_web_view_save_to_file().
Send @message to the #WebKitWebPage corresponding to @web_view. If @message is floating, it's consumed.
Finish an asynchronous operation started with webkit_web_view_send_message_to_page().
Sets the color that will be used to draw the @web_view background before the actual contents are rendered. Note that if the web page loaded in @web_view specifies a background color, it will take precedence over the @rgba color. By default the @web_view background color is opaque white. Note that the parent window must have a RGBA visual and #GtkWidget:app-paintable property set to %TRUE for backgrounds colors to work.
Sets the current custom character encoding override of @web_view. The custom character encoding will override any text encoding detected via HTTP headers or META tags. Calling this method will stop any current load operation and reload the current page. Setting the custom character encoding to %NULL removes the character encoding override.
Sets whether the user is allowed to edit the HTML document.
Set the #WebKitInputMethodContext to be used by @web_view, or %NULL to not use any input method. Note that the same #WebKitInputMethodContext can't be set on more than one #WebKitWebView at the same time.
Sets the mute state of @web_view.
Sets the #WebKitSettings to be applied to @web_view. The existing #WebKitSettings of @web_view will be replaced by @settings. New settings are applied immediately on @web_view. The same #WebKitSettings object can be shared by multiple #WebKitWebView<!-- -->s.
Set the zoom level of @web_view, i.e. the factor by which the view contents are scaled with respect to their original size.
Stops any ongoing loading operation in @web_view. This method does nothing if no content is being loaded. If there is a loading operation in progress, it will be cancelled and #WebKitWebView::load-failed signal will be emitted with %WEBKIT_NETWORK_ERROR_CANCELLED error.
Tries to close the @web_view. This will fire the onbeforeunload event to ask the user for confirmation to close the page. If there isn't an onbeforeunload event handler or the user confirms to close the page, the #WebKitWebView::close signal is emitted, otherwise nothing happens.
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
#WebKitWebView is the central class of the WPE WebKit and WebKitGTK APIs. It is responsible for managing the drawing of the content and forwarding of events. You can load any URI into the #WebKitWebView or a data string. With #WebKitSettings you can control various aspects of the rendering and loading of the content.
Note that in WebKitGTK, #WebKitWebView is scrollable by itself, so you don't need to embed it in a #GtkScrolledWindow.