/*
 * This file was generated automatically by ExtUtils::ParseXS version 3.35 from the
 * contents of WebKitWebView.xs. Do not edit this file, edit WebKitWebView.xs instead.
 *
 *    ANY CHANGES MADE HERE WILL BE LOST!
 *
 */

#line 1 "xs/WebKitWebView.xs"
#include "perl_webkit.h"
#include <gperl_marshal.h>

STATIC void
store_sting (gpointer key, gpointer value, gpointer user_data)
{
	if (!hv_store ((HV *)user_data, (const char *)key, strlen ((const char *)key),
	               newSVGChar ((const gchar *)value), 0)) {
		croak ("failed to store in hash");
	}
}

STATIC SV *
string_hashtable_to_hashref (GHashTable *params)
{
	HV *hv = newHV ();
	g_hash_table_foreach (params, store_sting, hv);
	return newRV_noinc ((SV *)hv);
}

STATIC void
perl_webkit_web_view_marshall_create_plugin_widget (GClosure *closure,
                                                    GValue *return_value,
                                                    guint n_param_values,
                                                    const GValue *param_values,
                                                    gpointer invocant_hint,
                                                    gpointer marshal_data)
{
	dGPERL_CLOSURE_MARSHAL_ARGS;

	PERL_UNUSED_VAR (return_value);
	PERL_UNUSED_VAR (n_param_values);
	PERL_UNUSED_VAR (invocant_hint);

	GPERL_CLOSURE_MARSHAL_INIT (closure, marshal_data);

	ENTER;
	SAVETMPS;
	PUSHMARK (SP);

	GPERL_CLOSURE_MARSHAL_PUSH_INSTANCE (param_values);

	XPUSHs (sv_2mortal (newSVGChar (g_value_get_string (param_values + 1))));
	XPUSHs (sv_2mortal (newSVGChar (g_value_get_string (param_values + 2))));
	XPUSHs (sv_2mortal (string_hashtable_to_hashref ((GHashTable *)g_value_get_boxed (param_values + 3))));

	GPERL_CLOSURE_MARSHAL_PUSH_DATA;

	PUTBACK;

	GPERL_CLOSURE_MARSHAL_CALL (G_SCALAR);

	SPAGAIN;

	if (count != 1) {
		croak ("create-plugin-widget handlers need to return a single value");
	}

	g_value_set_object (return_value, SvGtkWidget (POPs));

	FREETMPS;
	LEAVE;
}

#line 75 "xs/WebKitWebView.c"
#ifndef PERL_UNUSED_VAR
#  define PERL_UNUSED_VAR(var) if (0) var = var
#endif

#ifndef dVAR
#  define dVAR		dNOOP
#endif


/* This stuff is not part of the API! You have been warned. */
#ifndef PERL_VERSION_DECIMAL
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
#endif
#ifndef PERL_DECIMAL_VERSION
#  define PERL_DECIMAL_VERSION \
	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
#endif
#ifndef PERL_VERSION_GE
#  define PERL_VERSION_GE(r,v,s) \
	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
#endif
#ifndef PERL_VERSION_LE
#  define PERL_VERSION_LE(r,v,s) \
	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
#endif

/* XS_INTERNAL is the explicit static-linkage variant of the default
 * XS macro.
 *
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
 * for anything but the BOOT XSUB.
 *
 * See XSUB.h in core!
 */


/* TODO: This might be compatible further back than 5.10.0. */
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
#  undef XS_EXTERNAL
#  undef XS_INTERNAL
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
#  endif
#  if defined(__SYMBIAN32__)
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
#  endif
#  ifndef XS_EXTERNAL
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
#    else
#      ifdef __cplusplus
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
#        define XS_INTERNAL(name) static XSPROTO(name)
#      else
#        define XS_EXTERNAL(name) XSPROTO(name)
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
#      endif
#    endif
#  endif
#endif

/* perl >= 5.10.0 && perl <= 5.15.1 */


/* The XS_EXTERNAL macro is used for functions that must not be static
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
 * macro defined, the best we can do is assume XS is the same.
 * Dito for XS_INTERNAL.
 */
#ifndef XS_EXTERNAL
#  define XS_EXTERNAL(name) XS(name)
#endif
#ifndef XS_INTERNAL
#  define XS_INTERNAL(name) XS(name)
#endif

/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
 * internal macro that we're free to redefine for varying linkage due
 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
 */

#undef XS_EUPXS
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
#  define XS_EUPXS(name) XS_EXTERNAL(name)
#else
   /* default to internal */
#  define XS_EUPXS(name) XS_INTERNAL(name)
#endif

#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)

/* prototype to pass -Wmissing-prototypes */
STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params);

STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params)
{
    const GV *const gv = CvGV(cv);

    PERL_ARGS_ASSERT_CROAK_XS_USAGE;

    if (gv) {
        const char *const gvname = GvNAME(gv);
        const HV *const stash = GvSTASH(gv);
        const char *const hvname = stash ? HvNAME(stash) : NULL;

        if (hvname)
	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
        else
	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
    } else {
        /* Pants. I don't think that it should be possible to get here. */
	Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
    }
}
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE

#define croak_xs_usage        S_croak_xs_usage

#endif

/* NOTE: the prototype of newXSproto() is different in versions of perls,
 * so we define a portable version of newXSproto()
 */
#ifdef newXS_flags
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
#else
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
#endif /* !defined(newXS_flags) */

#if PERL_VERSION_LE(5, 21, 5)
#  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
#else
#  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
#endif

#line 219 "xs/WebKitWebView.c"

XS_EUPXS(XS_Gtk2__WebKit__WebView_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "class");
    {
	GtkWidget *	RETVAL;

	RETVAL = webkit_web_view_new();
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkWidget (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_title); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_title)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	RETVAL;

	RETVAL = webkit_web_view_get_title(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    /* same as newSVGChar(), but not in a function */
	    sv_setpv ((SV*)RETVALSV, RETVAL);
	    SvUTF8_on (RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_uri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_uri)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	RETVAL;

	RETVAL = webkit_web_view_get_uri(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    /* same as newSVGChar(), but not in a function */
	    sv_setpv ((SV*)RETVALSV, RETVAL);
	    SvUTF8_on (RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_maintains_back_forward_list); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_maintains_back_forward_list)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, flag");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	flag = (bool)SvTRUE(ST(1))
;

	webkit_web_view_set_maintains_back_forward_list(web_view, flag);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_back_forward_list); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_back_forward_list)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebBackForwardList *	RETVAL;

	RETVAL = webkit_web_view_get_back_forward_list(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitWebBackForwardList (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_go_to_back_forward_item); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_go_to_back_forward_item)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, item");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebHistoryItem *	item = SvWebKitWebHistoryItem (ST(1))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_go_to_back_forward_item(web_view, item);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_go_back); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_go_back)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_go_back(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_go_back_or_forward); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_go_back_or_forward)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, steps");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gint	steps = (gint)SvIV(ST(1))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_go_back_or_forward(web_view, steps);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_go_forward); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_go_forward)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_go_forward(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_go_back); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_go_back)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_go_back(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_go_back_or_forward); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_go_back_or_forward)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, steps");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gint	steps = (gint)SvIV(ST(1))
;

	webkit_web_view_go_back_or_forward(web_view, steps);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_go_forward); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_go_forward)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_go_forward(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_stop_loading); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_stop_loading)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_stop_loading(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_open); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_open)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, uri");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	uri;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	uri = (const gchar *)SvPV_nolen (ST(1))
;

	webkit_web_view_open(web_view, uri);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_reload); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_reload)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_reload(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_reload_bypass_cache); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_reload_bypass_cache)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_reload_bypass_cache(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_load_uri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_load_uri)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, uri");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	uri;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	uri = (const gchar *)SvPV_nolen (ST(1))
;

	webkit_web_view_load_uri(web_view, uri);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_load_string); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_load_string)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "web_view, content, content_mime_type, content_encoding, base_uri");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	content;
	const gchar *	content_mime_type;
	const gchar *	content_encoding;
	const gchar *	base_uri;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	content = (const gchar *)SvPV_nolen (ST(1))
;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(2));
	content_mime_type = (const gchar *)SvPV_nolen (ST(2))
;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(3));
	content_encoding = (const gchar *)SvPV_nolen (ST(3))
;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(4));
	base_uri = (const gchar *)SvPV_nolen (ST(4))
;

	webkit_web_view_load_string(web_view, content, content_mime_type, content_encoding, base_uri);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_load_html_string); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_load_html_string)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "web_view, content, base_uri");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	content;
	const gchar *	base_uri;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	content = (const gchar *)SvPV_nolen (ST(1))
;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(2));
	base_uri = (const gchar *)SvPV_nolen (ST(2))
;

	webkit_web_view_load_html_string(web_view, content, base_uri);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_load_request); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_load_request)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, request");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitNetworkRequest *	request = SvWebKitNetworkRequest (ST(1))
;

	webkit_web_view_load_request(web_view, request);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_search_text); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_search_text)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "web_view, string, case_sensitive, forward, wrap");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	string;
	gboolean	case_sensitive = (bool)SvTRUE(ST(2))
;
	gboolean	forward = (bool)SvTRUE(ST(3))
;
	gboolean	wrap = (bool)SvTRUE(ST(4))
;
	gboolean	RETVAL;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	string = (const gchar *)SvPV_nolen (ST(1))
;

	RETVAL = webkit_web_view_search_text(web_view, string, case_sensitive, forward, wrap);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_mark_text_matches); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_mark_text_matches)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "web_view, string, case_sensitive, limit");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	string;
	gboolean	case_sensitive = (bool)SvTRUE(ST(2))
;
	guint	limit = (guint)SvUV(ST(3))
;
	guint	RETVAL;
	dXSTARG;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	string = (const gchar *)SvPV_nolen (ST(1))
;

	RETVAL = webkit_web_view_mark_text_matches(web_view, string, case_sensitive, limit);
	XSprePUSH; PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_highlight_text_matches); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_highlight_text_matches)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, highlight");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	highlight = (bool)SvTRUE(ST(1))
;

	webkit_web_view_set_highlight_text_matches(web_view, highlight);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_unmark_text_matches); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_unmark_text_matches)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_unmark_text_matches(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_main_frame); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_main_frame)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebFrame *	RETVAL;

	RETVAL = webkit_web_view_get_main_frame(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitWebFrame (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_focused_frame); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_focused_frame)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebFrame *	RETVAL;

	RETVAL = webkit_web_view_get_focused_frame(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitWebFrame (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_execute_script); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_execute_script)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, script");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	script;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	script = (const gchar *)SvPV_nolen (ST(1))
;

	webkit_web_view_execute_script(web_view, script);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_cut_clipboard); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_cut_clipboard)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_cut_clipboard(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_copy_clipboard); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_copy_clipboard)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_copy_clipboard(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_paste_clipboard); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_paste_clipboard)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_paste_clipboard(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_cut_clipboard); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_cut_clipboard)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_cut_clipboard(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_copy_clipboard); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_copy_clipboard)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_copy_clipboard(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_paste_clipboard); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_paste_clipboard)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_paste_clipboard(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_delete_selection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_delete_selection)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_delete_selection(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_has_selection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_has_selection)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_has_selection(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_select_all); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_select_all)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_select_all(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_editable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_editable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_get_editable(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_editable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_editable)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, flag");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	flag = (bool)SvTRUE(ST(1))
;

	webkit_web_view_set_editable(web_view, flag);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_copy_target_list); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_copy_target_list)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	GtkTargetList *	RETVAL;

	RETVAL = webkit_web_view_get_copy_target_list(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkTargetList (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_paste_target_list); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_paste_target_list)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	GtkTargetList *	RETVAL;

	RETVAL = webkit_web_view_get_paste_target_list(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkTargetList (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_settings); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_settings)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, settings");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebSettings *	settings = SvWebKitWebSettings (ST(1))
;

	webkit_web_view_set_settings(web_view, settings);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_settings); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_settings)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebSettings *	RETVAL;

	RETVAL = webkit_web_view_get_settings(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitWebSettings (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_inspector); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_inspector)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebInspector *	RETVAL;

	RETVAL = webkit_web_view_get_inspector(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitWebInspector (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_window_features); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_window_features)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitWebWindowFeatures *	RETVAL;

	RETVAL = webkit_web_view_get_window_features(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitWebWindowFeatures (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_show_mime_type); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_show_mime_type)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, mime_type");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	mime_type;
	gboolean	RETVAL;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	mime_type = (const gchar *)SvPV_nolen (ST(1))
;

	RETVAL = webkit_web_view_can_show_mime_type(web_view, mime_type);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_transparent); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_transparent)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_get_transparent(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_transparent); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_transparent)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, flag");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	flag = (bool)SvTRUE(ST(1))
;

	webkit_web_view_set_transparent(web_view, flag);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_zoom_level); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_zoom_level)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gfloat	RETVAL;
	dXSTARG;

	RETVAL = webkit_web_view_get_zoom_level(web_view);
	XSprePUSH; PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_zoom_level); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_zoom_level)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, zoom_level");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gfloat	zoom_level = (float)SvNV(ST(1))
;

	webkit_web_view_set_zoom_level(web_view, zoom_level);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_zoom_in); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_zoom_in)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_zoom_in(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_zoom_out); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_zoom_out)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_zoom_out(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_full_content_zoom); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_full_content_zoom)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_get_full_content_zoom(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_full_content_zoom); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_full_content_zoom)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, full_content_zoom");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	full_content_zoom = (bool)SvTRUE(ST(1))
;

	webkit_web_view_set_full_content_zoom(web_view, full_content_zoom);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_encoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_encoding)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	RETVAL;

	RETVAL = webkit_web_view_get_encoding(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    /* same as newSVGChar(), but not in a function */
	    sv_setpv ((SV*)RETVALSV, RETVAL);
	    SvUTF8_on (RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_custom_encoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_custom_encoding)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, encoding");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	encoding;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	encoding = (const gchar *)SvPV_nolen (ST(1))
;

	webkit_web_view_set_custom_encoding(web_view, encoding);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_custom_encoding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_custom_encoding)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	RETVAL;

	RETVAL = webkit_web_view_get_custom_encoding(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    /* same as newSVGChar(), but not in a function */
	    sv_setpv ((SV*)RETVALSV, RETVAL);
	    SvUTF8_on (RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_move_cursor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_move_cursor)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "web_view, step, count");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	GtkMovementStep	step = SvGtkMovementStep (ST(1))
;
	gint	count = (gint)SvIV(ST(2))
;

	webkit_web_view_move_cursor(web_view, step, count);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_load_status); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_load_status)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	WebKitLoadStatus	RETVAL;

	RETVAL = webkit_web_view_get_load_status(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitLoadStatus (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_progress); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_progress)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gdouble	RETVAL;
	dXSTARG;

	RETVAL = webkit_web_view_get_progress(web_view);
	XSprePUSH; PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_undo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_undo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_undo(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_undo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_undo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_undo(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_redo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_redo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;

	webkit_web_view_redo(web_view);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_can_redo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_can_redo)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_can_redo(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_set_view_source_mode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_set_view_source_mode)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "web_view, view_source_mode");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	view_source_mode = (bool)SvTRUE(ST(1))
;

	webkit_web_view_set_view_source_mode(web_view, view_source_mode);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_view_source_mode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_view_source_mode)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	gboolean	RETVAL;

	RETVAL = webkit_web_view_get_view_source_mode(web_view);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_get_icon_uri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_get_icon_uri)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "web_view");
    {
	WebKitWebView *	web_view = SvWebKitWebView (ST(0))
;
	const gchar *	RETVAL;

	RETVAL = webkit_web_view_get_icon_uri(web_view);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    /* same as newSVGChar(), but not in a function */
	    sv_setpv ((SV*)RETVALSV, RETVAL);
	    SvUTF8_on (RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_webkit_set_cache_model); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_webkit_set_cache_model)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "class, cache_model");
    {
	WebKitCacheModel	cache_model = SvWebKitCacheModel (ST(1))
;

	webkit_set_cache_model(cache_model);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__WebKit__WebView_webkit_get_cache_model); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__WebKit__WebView_webkit_get_cache_model)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "class");
    {
	WebKitCacheModel	RETVAL;

	RETVAL = webkit_get_cache_model();
	{
	    SV * RETVALSV;
	    RETVALSV = newSVWebKitCacheModel (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#ifdef __cplusplus
extern "C"
#endif
XS_EXTERNAL(boot_Gtk2__WebKit__WebView); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Gtk2__WebKit__WebView)
{
#if PERL_VERSION_LE(5, 21, 5)
    dVAR; dXSARGS;
#else
    dVAR; dXSBOOTARGSXSAPIVERCHK;
#endif
#if (PERL_REVISION == 5 && PERL_VERSION < 9)
    char* file = __FILE__;
#else
    const char* file = __FILE__;
#endif

    PERL_UNUSED_VAR(file);

    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
#if PERL_VERSION_LE(5, 21, 5)
    XS_VERSION_BOOTCHECK;
#  ifdef XS_APIVERSION_BOOTCHECK
    XS_APIVERSION_BOOTCHECK;
#  endif
#endif

        newXS_deffile("Gtk2::WebKit::WebView::new", XS_Gtk2__WebKit__WebView_new);
        newXS_deffile("Gtk2::WebKit::WebView::get_title", XS_Gtk2__WebKit__WebView_get_title);
        newXS_deffile("Gtk2::WebKit::WebView::get_uri", XS_Gtk2__WebKit__WebView_get_uri);
        newXS_deffile("Gtk2::WebKit::WebView::set_maintains_back_forward_list", XS_Gtk2__WebKit__WebView_set_maintains_back_forward_list);
        newXS_deffile("Gtk2::WebKit::WebView::get_back_forward_list", XS_Gtk2__WebKit__WebView_get_back_forward_list);
        newXS_deffile("Gtk2::WebKit::WebView::go_to_back_forward_item", XS_Gtk2__WebKit__WebView_go_to_back_forward_item);
        newXS_deffile("Gtk2::WebKit::WebView::can_go_back", XS_Gtk2__WebKit__WebView_can_go_back);
        newXS_deffile("Gtk2::WebKit::WebView::can_go_back_or_forward", XS_Gtk2__WebKit__WebView_can_go_back_or_forward);
        newXS_deffile("Gtk2::WebKit::WebView::can_go_forward", XS_Gtk2__WebKit__WebView_can_go_forward);
        newXS_deffile("Gtk2::WebKit::WebView::go_back", XS_Gtk2__WebKit__WebView_go_back);
        newXS_deffile("Gtk2::WebKit::WebView::go_back_or_forward", XS_Gtk2__WebKit__WebView_go_back_or_forward);
        newXS_deffile("Gtk2::WebKit::WebView::go_forward", XS_Gtk2__WebKit__WebView_go_forward);
        newXS_deffile("Gtk2::WebKit::WebView::stop_loading", XS_Gtk2__WebKit__WebView_stop_loading);
        newXS_deffile("Gtk2::WebKit::WebView::open", XS_Gtk2__WebKit__WebView_open);
        newXS_deffile("Gtk2::WebKit::WebView::reload", XS_Gtk2__WebKit__WebView_reload);
        newXS_deffile("Gtk2::WebKit::WebView::reload_bypass_cache", XS_Gtk2__WebKit__WebView_reload_bypass_cache);
        newXS_deffile("Gtk2::WebKit::WebView::load_uri", XS_Gtk2__WebKit__WebView_load_uri);
        newXS_deffile("Gtk2::WebKit::WebView::load_string", XS_Gtk2__WebKit__WebView_load_string);
        newXS_deffile("Gtk2::WebKit::WebView::load_html_string", XS_Gtk2__WebKit__WebView_load_html_string);
        newXS_deffile("Gtk2::WebKit::WebView::load_request", XS_Gtk2__WebKit__WebView_load_request);
        newXS_deffile("Gtk2::WebKit::WebView::search_text", XS_Gtk2__WebKit__WebView_search_text);
        newXS_deffile("Gtk2::WebKit::WebView::mark_text_matches", XS_Gtk2__WebKit__WebView_mark_text_matches);
        newXS_deffile("Gtk2::WebKit::WebView::set_highlight_text_matches", XS_Gtk2__WebKit__WebView_set_highlight_text_matches);
        newXS_deffile("Gtk2::WebKit::WebView::unmark_text_matches", XS_Gtk2__WebKit__WebView_unmark_text_matches);
        newXS_deffile("Gtk2::WebKit::WebView::get_main_frame", XS_Gtk2__WebKit__WebView_get_main_frame);
        newXS_deffile("Gtk2::WebKit::WebView::get_focused_frame", XS_Gtk2__WebKit__WebView_get_focused_frame);
        newXS_deffile("Gtk2::WebKit::WebView::execute_script", XS_Gtk2__WebKit__WebView_execute_script);
        newXS_deffile("Gtk2::WebKit::WebView::can_cut_clipboard", XS_Gtk2__WebKit__WebView_can_cut_clipboard);
        newXS_deffile("Gtk2::WebKit::WebView::can_copy_clipboard", XS_Gtk2__WebKit__WebView_can_copy_clipboard);
        newXS_deffile("Gtk2::WebKit::WebView::can_paste_clipboard", XS_Gtk2__WebKit__WebView_can_paste_clipboard);
        newXS_deffile("Gtk2::WebKit::WebView::cut_clipboard", XS_Gtk2__WebKit__WebView_cut_clipboard);
        newXS_deffile("Gtk2::WebKit::WebView::copy_clipboard", XS_Gtk2__WebKit__WebView_copy_clipboard);
        newXS_deffile("Gtk2::WebKit::WebView::paste_clipboard", XS_Gtk2__WebKit__WebView_paste_clipboard);
        newXS_deffile("Gtk2::WebKit::WebView::delete_selection", XS_Gtk2__WebKit__WebView_delete_selection);
        newXS_deffile("Gtk2::WebKit::WebView::has_selection", XS_Gtk2__WebKit__WebView_has_selection);
        newXS_deffile("Gtk2::WebKit::WebView::select_all", XS_Gtk2__WebKit__WebView_select_all);
        newXS_deffile("Gtk2::WebKit::WebView::get_editable", XS_Gtk2__WebKit__WebView_get_editable);
        newXS_deffile("Gtk2::WebKit::WebView::set_editable", XS_Gtk2__WebKit__WebView_set_editable);
        newXS_deffile("Gtk2::WebKit::WebView::get_copy_target_list", XS_Gtk2__WebKit__WebView_get_copy_target_list);
        newXS_deffile("Gtk2::WebKit::WebView::get_paste_target_list", XS_Gtk2__WebKit__WebView_get_paste_target_list);
        newXS_deffile("Gtk2::WebKit::WebView::set_settings", XS_Gtk2__WebKit__WebView_set_settings);
        newXS_deffile("Gtk2::WebKit::WebView::get_settings", XS_Gtk2__WebKit__WebView_get_settings);
        newXS_deffile("Gtk2::WebKit::WebView::get_inspector", XS_Gtk2__WebKit__WebView_get_inspector);
        newXS_deffile("Gtk2::WebKit::WebView::get_window_features", XS_Gtk2__WebKit__WebView_get_window_features);
        newXS_deffile("Gtk2::WebKit::WebView::can_show_mime_type", XS_Gtk2__WebKit__WebView_can_show_mime_type);
        newXS_deffile("Gtk2::WebKit::WebView::get_transparent", XS_Gtk2__WebKit__WebView_get_transparent);
        newXS_deffile("Gtk2::WebKit::WebView::set_transparent", XS_Gtk2__WebKit__WebView_set_transparent);
        newXS_deffile("Gtk2::WebKit::WebView::get_zoom_level", XS_Gtk2__WebKit__WebView_get_zoom_level);
        newXS_deffile("Gtk2::WebKit::WebView::set_zoom_level", XS_Gtk2__WebKit__WebView_set_zoom_level);
        newXS_deffile("Gtk2::WebKit::WebView::zoom_in", XS_Gtk2__WebKit__WebView_zoom_in);
        newXS_deffile("Gtk2::WebKit::WebView::zoom_out", XS_Gtk2__WebKit__WebView_zoom_out);
        newXS_deffile("Gtk2::WebKit::WebView::get_full_content_zoom", XS_Gtk2__WebKit__WebView_get_full_content_zoom);
        newXS_deffile("Gtk2::WebKit::WebView::set_full_content_zoom", XS_Gtk2__WebKit__WebView_set_full_content_zoom);
        newXS_deffile("Gtk2::WebKit::WebView::get_encoding", XS_Gtk2__WebKit__WebView_get_encoding);
        newXS_deffile("Gtk2::WebKit::WebView::set_custom_encoding", XS_Gtk2__WebKit__WebView_set_custom_encoding);
        newXS_deffile("Gtk2::WebKit::WebView::get_custom_encoding", XS_Gtk2__WebKit__WebView_get_custom_encoding);
        newXS_deffile("Gtk2::WebKit::WebView::move_cursor", XS_Gtk2__WebKit__WebView_move_cursor);
        newXS_deffile("Gtk2::WebKit::WebView::get_load_status", XS_Gtk2__WebKit__WebView_get_load_status);
        newXS_deffile("Gtk2::WebKit::WebView::get_progress", XS_Gtk2__WebKit__WebView_get_progress);
        newXS_deffile("Gtk2::WebKit::WebView::undo", XS_Gtk2__WebKit__WebView_undo);
        newXS_deffile("Gtk2::WebKit::WebView::can_undo", XS_Gtk2__WebKit__WebView_can_undo);
        newXS_deffile("Gtk2::WebKit::WebView::redo", XS_Gtk2__WebKit__WebView_redo);
        newXS_deffile("Gtk2::WebKit::WebView::can_redo", XS_Gtk2__WebKit__WebView_can_redo);
        newXS_deffile("Gtk2::WebKit::WebView::set_view_source_mode", XS_Gtk2__WebKit__WebView_set_view_source_mode);
        newXS_deffile("Gtk2::WebKit::WebView::get_view_source_mode", XS_Gtk2__WebKit__WebView_get_view_source_mode);
        newXS_deffile("Gtk2::WebKit::WebView::get_icon_uri", XS_Gtk2__WebKit__WebView_get_icon_uri);
        newXS_deffile("Gtk2::WebKit::WebView::webkit_set_cache_model", XS_Gtk2__WebKit__WebView_webkit_set_cache_model);
        newXS_deffile("Gtk2::WebKit::WebView::webkit_get_cache_model", XS_Gtk2__WebKit__WebView_webkit_get_cache_model);

    /* Initialisation Section */

#line 70 "xs/WebKitWebView.xs"
	gperl_signal_set_marshaller_for (WEBKIT_TYPE_WEB_VIEW,
	                                 "create-plugin-widget",
	                                 perl_webkit_web_view_marshall_create_plugin_widget);

#line 1687 "xs/WebKitWebView.c"

    /* End of Initialisation Section */

#if PERL_VERSION_LE(5, 21, 5)
#  if PERL_VERSION_GE(5, 9, 0)
    if (PL_unitcheckav)
        call_list(PL_scopestack_ix, PL_unitcheckav);
#  endif
    XSRETURN_YES;
#else
    Perl_xs_boot_epilog(aTHX_ ax);
#endif
}

