#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION)
#error "Only <webkit2/webkit2.h> can be included directly."
#endif
#ifndef WebKitWebView_h
#define WebKitWebView_h
#include <JavaScriptCore/JSBase.h>
#include <webkit2/WebKitAuthenticationRequest.h>
#include <webkit2/WebKitBackForwardList.h>
#include <webkit2/WebKitDefines.h>
#include <webkit2/WebKitColorChooserRequest.h>
#include <webkit2/WebKitEditorState.h>
#include <webkit2/WebKitFileChooserRequest.h>
#include <webkit2/WebKitFindController.h>
#include <webkit2/WebKitFormSubmissionRequest.h>
#include <webkit2/WebKitForwardDeclarations.h>
#include <webkit2/WebKitHitTestResult.h>
#include <webkit2/WebKitJavascriptResult.h>
#include <webkit2/WebKitNavigationAction.h>
#include <webkit2/WebKitNotification.h>
#include <webkit2/WebKitOptionMenu.h>
#include <webkit2/WebKitPermissionRequest.h>
#include <webkit2/WebKitPolicyDecision.h>
#include <webkit2/WebKitScriptDialog.h>
#include <webkit2/WebKitSettings.h>
#include <webkit2/WebKitURIRequest.h>
#include <webkit2/WebKitUserContentManager.h>
#include <webkit2/WebKitWebContext.h>
#include <webkit2/WebKitWebInspector.h>
#include <webkit2/WebKitWebResource.h>
#include <webkit2/WebKitWebViewBase.h>
#include <webkit2/WebKitWebViewSessionState.h>
#include <webkit2/WebKitWindowProperties.h>
G_BEGIN_DECLS
#define WEBKIT_TYPE_WEB_VIEW (webkit_web_view_get_type())
#define WEBKIT_WEB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebView))
#define WEBKIT_IS_WEB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_VIEW))
#define WEBKIT_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewClass))
#define WEBKIT_IS_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_VIEW))
#define WEBKIT_WEB_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewClass))
typedef struct _WebKitWebViewClass WebKitWebViewClass;
typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate;
typedef enum {
WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION,
WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION,
WEBKIT_POLICY_DECISION_TYPE_RESPONSE,
} WebKitPolicyDecisionType;
typedef enum {
WEBKIT_LOAD_STARTED,
WEBKIT_LOAD_REDIRECTED,
WEBKIT_LOAD_COMMITTED,
WEBKIT_LOAD_FINISHED
} WebKitLoadEvent;
typedef enum {
WEBKIT_SAVE_MODE_MHTML
} WebKitSaveMode;
typedef enum {
WEBKIT_INSECURE_CONTENT_RUN,
WEBKIT_INSECURE_CONTENT_DISPLAYED
} WebKitInsecureContentEvent;
typedef enum {
WEBKIT_SNAPSHOT_OPTIONS_NONE = 0,
WEBKIT_SNAPSHOT_OPTIONS_INCLUDE_SELECTION_HIGHLIGHTING = 1 << 0,
WEBKIT_SNAPSHOT_OPTIONS_TRANSPARENT_BACKGROUND = 1 << 1,
} WebKitSnapshotOptions;
typedef enum {
WEBKIT_SNAPSHOT_REGION_VISIBLE = 0,
WEBKIT_SNAPSHOT_REGION_FULL_DOCUMENT,
} WebKitSnapshotRegion;
typedef enum {
WEBKIT_WEB_PROCESS_CRASHED,
WEBKIT_WEB_PROCESS_EXCEEDED_MEMORY_LIMIT
} WebKitWebProcessTerminationReason;
struct _WebKitWebView {
WebKitWebViewBase parent;
WebKitWebViewPrivate *priv;
};
struct _WebKitWebViewClass {
WebKitWebViewBaseClass parent;
void (* load_changed) (WebKitWebView *web_view,
WebKitLoadEvent load_event);
gboolean (* load_failed) (WebKitWebView *web_view,
WebKitLoadEvent load_event,
const gchar *failing_uri,
GError *error);
GtkWidget *(* create) (WebKitWebView *web_view,
WebKitNavigationAction *navigation_action);
void (* ready_to_show) (WebKitWebView *web_view);
void (* run_as_modal) (WebKitWebView *web_view);
void (* close) (WebKitWebView *web_view);
gboolean (* script_dialog) (WebKitWebView *web_view,
WebKitScriptDialog *dialog) ;
gboolean (* decide_policy) (WebKitWebView *web_view,
WebKitPolicyDecision *decision,
WebKitPolicyDecisionType type);
gboolean (* permission_request) (WebKitWebView *web_view,
WebKitPermissionRequest *permission_request);
void (* mouse_target_changed) (WebKitWebView *web_view,
WebKitHitTestResult *hit_test_result,
guint modifiers);
gboolean (* print) (WebKitWebView *web_view,
WebKitPrintOperation *print_operation);
void (* resource_load_started) (WebKitWebView *web_view,
WebKitWebResource *resource,
WebKitURIRequest *request);
gboolean (* enter_fullscreen) (WebKitWebView *web_view);
gboolean (* leave_fullscreen) (WebKitWebView *web_view);
gboolean (* run_file_chooser) (WebKitWebView *web_view,
WebKitFileChooserRequest *request);
gboolean (* context_menu) (WebKitWebView *web_view,
WebKitContextMenu *context_menu,
GdkEvent *event,
WebKitHitTestResult *hit_test_result);
void (* context_menu_dismissed) (WebKitWebView *web_view);
void (* submit_form) (WebKitWebView *web_view,
WebKitFormSubmissionRequest *request);
void (* insecure_content_detected) (WebKitWebView *web_view,
WebKitInsecureContentEvent event);
gboolean (* web_process_crashed) (WebKitWebView *web_view);
gboolean (* authenticate) (WebKitWebView *web_view,
WebKitAuthenticationRequest *request);
gboolean (* load_failed_with_tls_errors) (WebKitWebView *web_view,
const gchar *failing_uri,
GTlsCertificate *certificate,
GTlsCertificateFlags errors);
gboolean (* show_notification) (WebKitWebView *web_view,
WebKitNotification *notification);
gboolean (* run_color_chooser) (WebKitWebView *web_view,
WebKitColorChooserRequest *request);
gboolean (* show_option_menu) (WebKitWebView *web_view,
GdkRectangle *rectangle,
WebKitOptionMenu *menu);
void (* web_process_terminated) (WebKitWebView *web_view,
WebKitWebProcessTerminationReason reason);
void (*_webkit_reserved0) (void);
void (*_webkit_reserved1) (void);
};
WEBKIT_API GType
webkit_web_view_get_type (void);
WEBKIT_API GtkWidget *
webkit_web_view_new (void);
WEBKIT_API GtkWidget *
webkit_web_view_new_with_context (WebKitWebContext *context);
WEBKIT_API GtkWidget *
webkit_web_view_new_with_settings (WebKitSettings *settings);
WEBKIT_API GtkWidget *
webkit_web_view_new_with_related_view (WebKitWebView *web_view);
WEBKIT_API GtkWidget *
webkit_web_view_new_with_user_content_manager (WebKitUserContentManager *user_content_manager);
WEBKIT_API gboolean
webkit_web_view_is_ephemeral (WebKitWebView *web_view);
WEBKIT_API gboolean
webkit_web_view_is_controlled_by_automation (WebKitWebView *web_view);
WEBKIT_API WebKitWebsiteDataManager *
webkit_web_view_get_website_data_manager (WebKitWebView *web_view);
WEBKIT_API WebKitWebContext *
webkit_web_view_get_context (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_try_close (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_load_uri (WebKitWebView *web_view,
const gchar *uri);
WEBKIT_API void
webkit_web_view_load_html (WebKitWebView *web_view,
const gchar *content,
const gchar *base_uri);
WEBKIT_API void
webkit_web_view_load_alternate_html (WebKitWebView *web_view,
const gchar *content,
const gchar *content_uri,
const gchar *base_uri);
WEBKIT_API void
webkit_web_view_load_plain_text (WebKitWebView *web_view,
const gchar *plain_text);
WEBKIT_API void
webkit_web_view_load_bytes (WebKitWebView *web_view,
GBytes *bytes,
const gchar *mime_type,
const gchar *encoding,
const gchar *base_uri);
WEBKIT_API void
webkit_web_view_load_request (WebKitWebView *web_view,
WebKitURIRequest *request);
WEBKIT_API void
webkit_web_view_stop_loading (WebKitWebView *web_view);
WEBKIT_API gboolean
webkit_web_view_is_loading (WebKitWebView *web_view);
WEBKIT_API gboolean
webkit_web_view_is_playing_audio (WebKitWebView *web_view);
WEBKIT_API guint64
webkit_web_view_get_page_id (WebKitWebView *web_view);
WEBKIT_API const gchar *
webkit_web_view_get_title (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_reload (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_reload_bypass_cache (WebKitWebView *web_view);
WEBKIT_API gdouble
webkit_web_view_get_estimated_load_progress (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_go_back (WebKitWebView *web_view);
WEBKIT_API gboolean
webkit_web_view_can_go_back (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_go_forward (WebKitWebView *web_view);
WEBKIT_API gboolean
webkit_web_view_can_go_forward (WebKitWebView *web_view);
WEBKIT_API WebKitBackForwardList *
webkit_web_view_get_back_forward_list (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_go_to_back_forward_list_item (WebKitWebView *web_view,
WebKitBackForwardListItem *list_item);
WEBKIT_API const gchar *
webkit_web_view_get_uri (WebKitWebView *web_view);
WEBKIT_API cairo_surface_t *
webkit_web_view_get_favicon (WebKitWebView *web_view);
WEBKIT_API const gchar *
webkit_web_view_get_custom_charset (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_set_custom_charset (WebKitWebView *web_view,
const gchar *charset);
WEBKIT_API void
webkit_web_view_set_settings (WebKitWebView *web_view,
WebKitSettings *settings);
WEBKIT_API WebKitSettings *
webkit_web_view_get_settings (WebKitWebView *web_view);
WEBKIT_API WebKitWindowProperties *
webkit_web_view_get_window_properties (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_set_zoom_level (WebKitWebView *web_view,
gdouble zoom_level);
WEBKIT_API gdouble
webkit_web_view_get_zoom_level (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_can_execute_editing_command (WebKitWebView *web_view,
const gchar *command,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
WEBKIT_API gboolean
webkit_web_view_can_execute_editing_command_finish (WebKitWebView *web_view,
GAsyncResult *result,
GError **error);
WEBKIT_API void
webkit_web_view_execute_editing_command (WebKitWebView *web_view,
const gchar *command);
WEBKIT_API void
webkit_web_view_execute_editing_command_with_argument(WebKitWebView *web_view,
const char *command,
const char *argument);
WEBKIT_API WebKitFindController *
webkit_web_view_get_find_controller (WebKitWebView *web_view);
WEBKIT_DEPRECATED JSGlobalContextRef
webkit_web_view_get_javascript_global_context (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_run_javascript (WebKitWebView *web_view,
const gchar *script,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
WEBKIT_API WebKitJavascriptResult *
webkit_web_view_run_javascript_finish (WebKitWebView *web_view,
GAsyncResult *result,
GError **error);
WEBKIT_API void
webkit_web_view_run_javascript_in_world (WebKitWebView *web_view,
const gchar *script,
const gchar *world_name,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
WEBKIT_API WebKitJavascriptResult *
webkit_web_view_run_javascript_in_world_finish (WebKitWebView *web_view,
GAsyncResult *result,
GError **error);
WEBKIT_API void
webkit_web_view_run_javascript_from_gresource (WebKitWebView *web_view,
const gchar *resource,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
WEBKIT_API WebKitJavascriptResult *
webkit_web_view_run_javascript_from_gresource_finish (WebKitWebView *web_view,
GAsyncResult *result,
GError **error);
WEBKIT_API WebKitWebResource *
webkit_web_view_get_main_resource (WebKitWebView *web_view);
WEBKIT_API WebKitWebInspector *
webkit_web_view_get_inspector (WebKitWebView *web_view);
WEBKIT_API gboolean
webkit_web_view_can_show_mime_type (WebKitWebView *web_view,
const gchar *mime_type);
WEBKIT_API void
webkit_web_view_save (WebKitWebView *web_view,
WebKitSaveMode save_mode,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
WEBKIT_API GInputStream *
webkit_web_view_save_finish (WebKitWebView *web_view,
GAsyncResult *result,
GError **error);
WEBKIT_API void
webkit_web_view_save_to_file (WebKitWebView *web_view,
GFile *file,
WebKitSaveMode save_mode,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
WEBKIT_API gboolean
webkit_web_view_save_to_file_finish (WebKitWebView *web_view,
GAsyncResult *result,
GError **error);
WEBKIT_API WebKitDownload *
webkit_web_view_download_uri (WebKitWebView *web_view,
const char *uri);
WEBKIT_API gboolean
webkit_web_view_get_tls_info (WebKitWebView *web_view,
GTlsCertificate **certificate,
GTlsCertificateFlags *errors);
WEBKIT_API void
webkit_web_view_get_snapshot (WebKitWebView *web_view,
WebKitSnapshotRegion region,
WebKitSnapshotOptions options,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
WEBKIT_API cairo_surface_t *
webkit_web_view_get_snapshot_finish (WebKitWebView *web_view,
GAsyncResult *result,
GError **error);
WEBKIT_API WebKitUserContentManager *
webkit_web_view_get_user_content_manager (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_set_background_color (WebKitWebView *web_view,
const GdkRGBA *rgba);
WEBKIT_API void
webkit_web_view_get_background_color (WebKitWebView *web_view,
GdkRGBA *rgba);
WEBKIT_API gboolean
webkit_web_view_is_editable (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_set_editable (WebKitWebView *web_view,
gboolean editable);
WEBKIT_API WebKitEditorState *
webkit_web_view_get_editor_state (WebKitWebView *web_view);
WEBKIT_API WebKitWebViewSessionState *
webkit_web_view_get_session_state (WebKitWebView *web_view);
WEBKIT_API void
webkit_web_view_restore_session_state (WebKitWebView *web_view,
WebKitWebViewSessionState *state);
G_END_DECLS
#endif