Commit c75bf863 authored by Xan Lopez's avatar Xan Lopez Committed by Xan Lopez

Add support for the WebKit engine, compile with --with-engine=webkit to

2007-07-27  Xan Lopez  <xan@gnome.org>

	* Makefile.am:
	* configure.ac:
	* doc/reference/Makefile.am:
	* embed/Makefile.am:
	* embed/ephy-embed-factory.c: (ephy_embed_factory_new_object):
	* embed/ephy-embed-persist.c:
	* embed/ephy-embed-shell.c:
	* embed/ephy-embed.c:
	* embed/webkit/Makefile.am:
	* embed/webkit/webkit-embed-find.cpp:
	* embed/webkit/webkit-embed-find.h:
	* embed/webkit/webkit-embed-persist.cpp:
	* embed/webkit/webkit-embed-persist.h:
	* embed/webkit/webkit-embed-single.cpp:
	* embed/webkit/webkit-embed-single.h:
	* embed/webkit/webkit-embed.cpp:
	* embed/webkit/webkit-embed.h:
	* src/Makefile.am:

	Add support for the WebKit engine, compile with
	--with-engine=webkit to activate.
	
	* embed/mozilla/mozilla-embed-single.cpp:

	Move to the G_DEFINE_TYPE_WITH_CODE macro.

svn path=/trunk/; revision=7208
parent ec7067fd
2007-07-27 Xan Lopez <xan@gnome.org>
* Makefile.am:
* configure.ac:
* doc/reference/Makefile.am:
* embed/Makefile.am:
* embed/ephy-embed-factory.c: (ephy_embed_factory_new_object):
* embed/ephy-embed-persist.c:
* embed/ephy-embed-shell.c:
* embed/ephy-embed.c:
* embed/webkit/Makefile.am:
* embed/webkit/webkit-embed-find.cpp:
* embed/webkit/webkit-embed-find.h:
* embed/webkit/webkit-embed-persist.cpp:
* embed/webkit/webkit-embed-persist.h:
* embed/webkit/webkit-embed-single.cpp:
* embed/webkit/webkit-embed-single.h:
* embed/webkit/webkit-embed.cpp:
* embed/webkit/webkit-embed.h:
* src/Makefile.am:
Add support for the WebKit engine, compile with
--with-engine=webkit to activate.
* embed/mozilla/mozilla-embed-single.cpp:
Move to the G_DEFINE_TYPE_WITH_CODE macro.
2007-07-26 Diego Escalante Urrelo <diegoe@gnome.org>
* src/ephy-window.c:
......
......@@ -30,4 +30,4 @@ DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--disable-schemas-install \
--disable-scrollkeeper \
--with-gecko=$(MOZILLA)
--with-gecko=$(GECKO)
......@@ -164,11 +164,30 @@ if test "x$enable_maintainer_mode" = "xyes"; then
AC_LANG_POP([C])
fi
# ************
# Engine check
# ************
AC_MSG_CHECKING(for which engine to use)
AC_ARG_WITH([engine],
AS_HELP_STRING([--with-engine@<:@=mozilla|webkit@:>@],
[Which engine to build against @<:@mozilla@:>@]),
[], [with_engine="mozilla"])
AC_MSG_RESULT($with_engine)
AC_SUBST([with_engine])
# *******
# Mozilla
# *******
GECKO_INIT([GECKO])
GECKO_INIT([GECKO], [gecko_found=yes],[gecko_found=no])
AM_CONDITIONAL([WITH_GECKO_ENGINE], [test "$with_engine" = "mozilla"])
if test "$with_engine" = "mozilla" ; then
AC_DEFINE([WITH_GECKO_ENGINE],[1],[Define if you wish to enable mozilla engine])
AC_SUBST([GECKO])
AC_SUBST([GECKO_FLAVOUR])
......@@ -192,8 +211,6 @@ xulrunner) min_version=1.8 ;;
*) AC_MSG_ERROR([Unsupported gecko "$gecko_cv_gecko"]) ;;
esac
AM_CONDITIONAL([HAVE_XULRUNNER],[test "$gecko_cv_gecko" = "xulrunner"])
# Added $gecko_cv_gecko-js for debian xulrunner brokenness
PKG_CHECK_MODULES([GECKO],[${gecko_cv_gecko}-xpcom >= $min_version ${gecko_cv_gecko}-js $gecko_cv_extra_pkg_dependencies])
AC_SUBST([GECKO_CFLAGS])
......@@ -280,8 +297,6 @@ if test "$enable_psm" = "yes" -a "$have_psm" = "yes"; then
AC_DEFINE([HAVE_MOZILLA_PSM],[1],[Define if you have the mozilla NSS headers installed])
fi
AM_CONDITIONAL([HAVE_MOZILLA_PSM],[test "$enable_psm" = "yes" -a "$have_psm" = "yes"])
# Check whether to enable our filepicker component
AC_MSG_CHECKING([whether to enable native gtk+ filepicker])
......@@ -290,7 +305,6 @@ AC_ARG_ENABLE([filepicker],
[],[enable_filepicker=no])
AC_MSG_RESULT([$enable_filepicker])
AM_CONDITIONAL([ENABLE_FILEPICKER],[test "$enable_filepicker" = "yes"])
if test "$enable_filepicker" = "yes"; then
AC_DEFINE([ENABLE_FILEPICKER],[1],[Define to enable the native filepicker])
fi
......@@ -329,6 +343,24 @@ REQUIRED_EXTENSIONS="cookie,permissions"
GECKO_CHECK_CONTRACTIDS([$REQUIRED_CONTRACTS],
[],[AC_MSG_ERROR([$gecko_cv_gecko needs to be compiled with at least --enable-extensions=default,$REQUIRED_EXTENSIONS])])
fi # with_engine = gecko
AM_CONDITIONAL([HAVE_XULRUNNER],[test "$gecko_cv_gecko" = "xulrunner"])
AM_CONDITIONAL([HAVE_MOZILLA_PSM],[test "$enable_psm" = "yes" -a "$have_psm" = "yes"])
AM_CONDITIONAL([ENABLE_FILEPICKER],[test "$enable_filepicker" = "yes"])
# *******************************
# webkit renderer
# *******************************
AM_CONDITIONAL([WITH_WEBKIT_ENGINE], test "$with_engine" = "webkit")
if test "$with_engine" = "webkit" ; then
AC_DEFINE([WITH_WEBKIT_ENGINE],[1],[Define if you wish to enable webkit engine])
PKG_CHECK_MODULES([WEBKIT], WebKitGdk)
AC_SUBST([WEBKIT_CFLAGS])
AC_SUBST([WEBKIT_LIBS])
fi # with_engine = webkit
# ***************
# Multimedia keys
# ***************
......@@ -378,7 +410,7 @@ if test "x$have_python" != "xno"; then
AC_SUBST([PYTHON_CFLAGS])
AC_SUBST([PYTHON_EXTRA_LIBS])
dnl FIXME: do we really need this test?
# FIXME: do we really need this test?
AC_MSG_CHECKING([whether we can build a shared library depending on libpython])
rm -rf testpython
mkdir testpython
......@@ -432,7 +464,7 @@ if test "x$have_python" != "xno"; then
AC_SUBST([PYGTK_CODEGEN])
AC_SUBST([PYGTK_H2DEF])
dnl Check for -fno-strict-aliasing
# Check for -fno-strict-aliasing
FLAGS="-fno-strict-aliasing"
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $FLAGS"
......@@ -470,14 +502,14 @@ AC_SUBST([EPIPHANY_FEATURES])
# Gecko 1.9 can handle .desktop files from file: URLs itself, but we
# also support windows .lnk files, so always enable this plugin
if test "$with_engine" = "mozilla" ; then
AC_MSG_CHECKING([whether to build the deskop file plugin])
AC_ARG_ENABLE([desktop-file-plugin],
AS_HELP_STRING([--disable-desktop-file-plugin],[Disable the desktop file plugin (default: enabled)]),
[],[enable_desktop_file_plugin=yes])
AC_MSG_RESULT([$enable_desktop_file_plugin])
AM_CONDITIONAL([ENABLE_DESKTOP_FILE_PLUGIN],[test "x$enable_desktop_file_plugin" = "xyes"])
if test "x$enable_desktop_file_plugin" = "xyes"; then
PKG_CHECK_MODULES([DESKTOP_FILE_PLUGIN_DEP],[${gecko_cv_gecko}-xpcom ${gecko_cv_gecko}-plugin gtk+-2.0 >= 2.6.0])
AC_SUBST([DESKTOP_FILE_PLUGIN_DEP_CFLAGS])
......@@ -488,6 +520,10 @@ if test "x$enable_desktop_file_plugin" = "xyes"; then
AC_DEFINE([HAVE_PRIVATE_PLUGINS],[1],[Define if any private plugins are enabled])
fi
fi # with_engine = mozilla
AM_CONDITIONAL([ENABLE_DESKTOP_FILE_PLUGIN],[test "x$enable_desktop_file_plugin" = "xyes"])
# *******************
# Additional features
# *******************
......@@ -552,6 +588,8 @@ AM_CONDITIONAL([ENABLE_NETWORK_MANAGER],[test "$enable_network_manager" = "yes"]
# Enchant spell checking
# Does not appear to work on gecko 1.8.0, so only offer for >= 1.8.1
if test "$with_engine" = "mozilla" ; then
if test "$gecko_cv_gecko_version_int" -ge "1008001"; then
# Default to 'disabled' until it's fully functional
......@@ -580,6 +618,8 @@ if test "$enable_spell_checker" = "yes" -a "$have_gecko_spell_checker" = "yes";
AC_DEFINE([ENABLE_SPELLCHECKER],[1],[Define to enable the spell checker])
fi
fi # with_engine = mozilla
AM_CONDITIONAL([ENABLE_SPELLCHECKER],[test "$enable_spell_checker" = "yes" -a "$have_gecko_spell_checker" = "yes"])
# ************
......@@ -694,6 +734,7 @@ lib/egg/Makefile
lib/widgets/Makefile
embed/Makefile
embed/mozilla/Makefile
embed/webkit/Makefile
src/Makefile
src/bookmarks/Makefile
help/Makefile
......@@ -717,6 +758,7 @@ Epiphany was configured with the following options:
Prefix : $prefix
Extra debugging support : $enable_debug
Engine : $with_engine
Gecko backend : $gecko_cv_gecko version $gecko_cv_gecko_version
PSM support : $enable_psm
Zeroconf bookmarks support : $enable_zeroconf
......
......@@ -80,6 +80,9 @@ IGNORE_HFILES = \
mozilla-notifiers.h \
MozillaPrivate.h \
MozRegisterComponents.h \
webkit-embed.h \
webkit-embed-persist.h \
webkit-embed-single.h \
PrintingPromptService.h \
egg-editable-toolbar.h \
eggintl.h \
......@@ -142,14 +145,10 @@ GTKDOC_CFLAGS = -I$(top_srcdir)/src \
-I$(top_srcdir)/lib/widgets \
-I$(top_srcdir)/embed \
-I$(top_builddir)/embed \
-I$(top_srcdir)/embed/mozilla \
-I$(top_srcdir)/src/bookmarks \
-I$(top_srcdir)/lib/egg \
-I$(top_builddir)/lib/egg \
-I$(GECKO_INCLUDE_ROOT) \
-I$(GECKO_INCLUDE_ROOT)/gtkembedmoz \
$(DEPENDENCIES_CFLAGS) \
$(GECKO_CFLAGS) \
$(DBUS_CFLAGS) \
$(INCINTL)
......@@ -157,7 +156,6 @@ GTKDOC_LIBS = \
$(top_builddir)/src/libephymain.la \
$(top_builddir)/src/bookmarks/libephybookmarks.la \
$(top_builddir)/embed/libephyembedfactory.la \
$(top_builddir)/embed/mozilla/libephymozillaembed.la \
$(top_builddir)/embed/libephyembed.la \
$(top_builddir)/lib/widgets/libephywidgets.la \
$(top_builddir)/lib/libephymisc.la \
......@@ -168,6 +166,22 @@ GTKDOC_LIBS = \
$(DBUS_LIBS) \
$(LIBINTL)
if WITH_GECKO_ENGINE
GTKDOC_LIBS += $(top_builddir)/embed/mozilla/libephymozillaembed.la
GTKDOC_CFLAGS += -I$(top_srcdir)/embed/mozilla \
-I$(GECKO_INCLUDE_ROOT) \
-I$(GECKO_INCLUDE_ROOT)/gtkembedmoz \
$(GECKO_CFLAGS)
endif
if WITH_WEBKIT_ENGINE
GTKDOC_LIBS += $(top_builddir)/embed/webkit/libephywebkitembed.la
GTKDOC_CFLAGS += -I$(top_srcdir)/embed/webkit \
$(WEBKIT_CFLAGS)
endif
if ENABLE_PYTHON
GTKDOC_LIBS += \
$(top_builddir)/src/libpyphany.la \
......
SUBDIRS = mozilla
SUBDIRS = $(with_engine)
DIST_SUBDIRS = mozilla webkit
noinst_LTLIBRARIES = libephyembed.la libephyembedfactory.la
......@@ -72,14 +73,12 @@ nodist_libephyembed_la_SOURCES = \
libephyembed_la_CPPFLAGS = \
-I$(top_builddir)/lib \
-I$(top_srcdir)/embed/mozilla \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/lib/egg \
-I$(top_srcdir)/lib/widgets \
$(AM_CPPFLAGS)
libephyembed_la_CFLAGS = \
-I$(GECKO_INCLUDE_ROOT)/gtkembedmoz \
-DSHARE_DIR=\"$(pkgdatadir)\" \
$(DEPENDENCIES_CFLAGS) \
$(AM_CFLAGS)
......@@ -89,10 +88,13 @@ libephyembedfactory_la_SOURCES = \
ephy-embed-factory.h
libephyembedfactory_la_CPPFLAGS = \
-I$(top_srcdir)/embed/mozilla \
-I$(GECKO_INCLUDE_ROOT)/gtkembedmoz \
-I$(top_srcdir)/embed/$(with_engine) \
$(AM_CPPFLAGS)
if WITH_GECKO_ENGINE
libephyembedfactory_la_CPPFLAGS += -I$(GECKO_INCLUDE_ROOT)/gtkembedmoz
endif
libephyembedfactory_la_CFLAGS = \
$(DEPENDENCIES_CFLAGS) \
$(AM_CFLAGS)
......
......@@ -21,10 +21,17 @@
#include "config.h"
#include "ephy-embed-factory.h"
#if defined(WITH_GECKO_ENGINE)
#include "mozilla-embed.h"
#include "mozilla-embed-find.h"
#include "mozilla-embed-persist.h"
#include "mozilla-embed-single.h"
#elif defined(WITH_WEBKIT_ENGINE)
#include "webkit-embed.h"
#include "webkit-embed-find.h"
#include "webkit-embed-persist.h"
#include "webkit-embed-single.h"
#endif
#include "ephy-embed.h"
#include "ephy-embed-find.h"
#include "ephy-embed-persist.h"
......@@ -45,19 +52,35 @@ ephy_embed_factory_new_object (GType type)
if (type == EPHY_TYPE_EMBED)
{
#if defined(WITH_GECKO_ENGINE)
object = g_object_new (MOZILLA_TYPE_EMBED, NULL);
#elif defined(WITH_WEBKIT_ENGINE)
object = g_object_new (WEBKIT_TYPE_EMBED, NULL);
#endif
}
else if (type == EPHY_TYPE_EMBED_PERSIST)
{
#if defined(WITH_GECKO_ENGINE)
object = g_object_new (MOZILLA_TYPE_EMBED_PERSIST, NULL);
#elif defined(WITH_WEBKIT_ENGINE)
object = g_object_new (WEBKIT_TYPE_EMBED_PERSIST, NULL);
#endif
}
else if (type == EPHY_TYPE_EMBED_FIND)
{
#if defined(WITH_GECKO_ENGINE)
object = g_object_new (MOZILLA_TYPE_EMBED_FIND, NULL);
#elif defined(WITH_WEBKIT_ENGINE)
object = g_object_new (WEBKIT_TYPE_EMBED_FIND, NULL);
#endif
}
else if (type == EPHY_TYPE_EMBED_SINGLE)
{
#if defined(WITH_GECKO_ENGINE)
object = g_object_new (MOZILLA_TYPE_EMBED_SINGLE, NULL);
#elif defined(WITH_WEBKIT_ENGINE)
object = g_object_new (WEBKIT_TYPE_EMBED_SINGLE, NULL);
#endif
}
else
{
......
......@@ -22,7 +22,6 @@
#include "config.h"
#include "ephy-embed-persist.h"
#include "mozilla-embed-persist.h"
#include "ephy-embed-type-builtins.h"
#include "ephy-debug.h"
......
......@@ -37,7 +37,6 @@
#include "ephy-file-helpers.h"
#include "ephy-history.h"
#include "ephy-marshal.h"
#include "mozilla-embed-single.h"
#include "ephy-print-utils.h"
......
......@@ -24,8 +24,6 @@
#include "ephy-embed-type-builtins.h"
#include "ephy-marshal.h"
#include "mozilla-embed-single.h"
#include "mozilla-embed.h"
static void ephy_embed_base_init (gpointer g_class);
......
......@@ -137,94 +137,19 @@ static void mozilla_embed_single_init (MozillaEmbedSingle *ges);
static void ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface);
#endif
static GObjectClass *parent_class = NULL;
GType
mozilla_embed_single_get_type (void)
{
static GType type = 0;
if (G_UNLIKELY (type == 0))
{
const GTypeInfo our_info =
{
sizeof (MozillaEmbedSingleClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) mozilla_embed_single_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (MozillaEmbedSingle),
0, /* n_preallocs */
(GInstanceInitFunc) mozilla_embed_single_init
};
const GInterfaceInfo embed_single_info =
{
(GInterfaceInitFunc) ephy_embed_single_iface_init,
NULL,
NULL
};
const GInterfaceInfo cookie_manager_info =
{
(GInterfaceInitFunc) ephy_cookie_manager_iface_init,
NULL,
NULL
};
const GInterfaceInfo password_manager_info =
{
(GInterfaceInitFunc) ephy_password_manager_iface_init,
NULL,
NULL
};
const GInterfaceInfo permission_manager_info =
{
(GInterfaceInitFunc) ephy_permission_manager_iface_init,
NULL,
NULL
};
G_DEFINE_TYPE_WITH_CODE (MozillaEmbedSingle, mozilla_embed_single, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_SINGLE,
ephy_embed_single_iface_init)
G_IMPLEMENT_INTERFACE (EPHY_TYPE_COOKIE_MANAGER,
ephy_cookie_manager_iface_init)
G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
ephy_password_manager_iface_init)
#ifdef ENABLE_CERTIFICATE_MANAGER
const GInterfaceInfo certificate_manager_info =
{
(GInterfaceInitFunc) ephy_certificate_manager_iface_init,
NULL,
NULL
};
#endif
type = g_type_register_static (G_TYPE_OBJECT,
"MozillaEmbedSingle",
&our_info,
(GTypeFlags)0);
g_type_add_interface_static (type,
EPHY_TYPE_EMBED_SINGLE,
&embed_single_info);
g_type_add_interface_static (type,
EPHY_TYPE_COOKIE_MANAGER,
&cookie_manager_info);
g_type_add_interface_static (type,
EPHY_TYPE_PASSWORD_MANAGER,
&password_manager_info);
g_type_add_interface_static (type,
EPHY_TYPE_PERMISSION_MANAGER,
&permission_manager_info);
#ifdef ENABLE_CERTIFICATE_MANAGER
g_type_add_interface_static (type,
EPHY_TYPE_CERTIFICATE_MANAGER,
&certificate_manager_info);
G_IMPLEMENT_INTERFACE (EPHY_TYPE_CERTIFICATE_MANAGER,
ephy_certificate_manager_iface_init)
#endif
}
return type;
}
G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
ephy_permission_manager_iface_init))
static gboolean
mozilla_set_default_prefs (MozillaEmbedSingle *mes)
......@@ -739,7 +664,7 @@ mozilla_embed_single_dispose (GObject *object)
priv->mSingleObserver = nsnull;
}
parent_class->dispose (object);
G_OBJECT_CLASS (mozilla_embed_single_parent_class)->dispose (object);
}
static void
......@@ -749,7 +674,7 @@ mozilla_embed_single_finalize (GObject *object)
/* Destroy EphyEmbedSingle before because some
* services depend on xpcom */
G_OBJECT_CLASS (parent_class)->finalize (object);
G_OBJECT_CLASS (mozilla_embed_single_parent_class)->finalize (object);
mozilla_notifiers_shutdown ();
......@@ -1363,8 +1288,6 @@ mozilla_embed_single_class_init (MozillaEmbedSingleClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
parent_class = (GObjectClass *) g_type_class_peek_parent (klass);
object_class->dispose = mozilla_embed_single_dispose;
object_class->finalize = mozilla_embed_single_finalize;
object_class->get_property = mozilla_embed_single_get_property;
......
noinst_LTLIBRARIES = libephywebkitembed.la
libephywebkitembed_la_SOURCES = \
webkit-embed.cpp \
webkit-embed.h \
webkit-embed-find.cpp \
webkit-embed-find.h \
webkit-embed-persist.cpp \
webkit-embed-persist.h \
webkit-embed-single.cpp \
webkit-embed-single.h
libephywebkitembed_la_CPPFLAGS = \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/embed \
-I$(top_srcdir) \
$(WEBKIT_CFLAGS) \
-DSHARE_DIR=\"$(pkgdatadir)\" \
-DBUILDING_GDK__=1 \
-DBUILDING_CAIRO__=1 \
$(DEPENDENCIES_CFLAGS) \
$(AM_CPPFLAGS)
/*
* Copyright © 2000-2004 Marco Pesenti Gritti
* Copyright © 2003, 2004 Christian Persch
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $Id$
*/
#include "config.h"
#include "ephy-debug.h"
#include "ephy-embed-find.h"
#include "ephy-embed-shell.h"
#include "webkit-embed-find.h"
#define WEBKIT_EMBED_FIND_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), WEBKIT_TYPE_EMBED_FIND, WebkitEmbedFindPrivate))
struct _WebkitEmbedFindPrivate
{
};
static void
impl_set_embed (EphyEmbedFind *efind,
EphyEmbed *embed)
{
}
static void
impl_set_properties (EphyEmbedFind *efind,
const char *find_string,
gboolean case_sensitive)
{
}
static EphyEmbedFindResult
impl_find (EphyEmbedFind *efind,
const char *find_string,
gboolean links_only)
{
return EPHY_EMBED_FIND_FOUND;
}
static EphyEmbedFindResult
impl_find_again (EphyEmbedFind *efind,
gboolean forward,
gboolean links_only)
{
return EPHY_EMBED_FIND_FOUND;
}
static void
impl_set_selection (EphyEmbedFind *efind,
gboolean attention)
{
}
static gboolean
impl_activate_link (EphyEmbedFind *efind,
GdkModifierType mask)
{
return FALSE;
}
static void
ephy_find_iface_init (EphyEmbedFindIface *iface)
{
iface->set_embed = impl_set_embed;
iface->set_properties = impl_set_properties;
iface->find = impl_find;
iface->find_again = impl_find_again;
iface->set_selection = impl_set_selection;
iface->activate_link = impl_activate_link;
}
static void
webkit_embed_find_init (WebkitEmbedFind *find)
{
}
static void
webkit_embed_find_class_init (WebkitEmbedFindClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
g_type_class_add_private (object_class, sizeof (WebkitEmbedFindPrivate));
}
G_DEFINE_TYPE_WITH_CODE (WebkitEmbedFind, webkit_embed_find, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_FIND,
ephy_find_iface_init))
/*
* Copyright © 2000-2004 Marco Pesenti Gritti
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $Id$
*/
#ifndef WEBKIT_EMBED_FIND_H
#define WEBKIT_EMBED_FIND_H
#include <glib.h>
#include <glib-object.h>
G_BEGIN_DECLS
#define WEBKIT_TYPE_EMBED_FIND (webkit_embed_find_get_type ())
#define WEBKIT_EMBED_FIND(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), WEBKIT_TYPE_EMBED_FIND, WebkitEmbedFind))
#define WEBKIT_EMBED_FIND_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), WEBKIT_TYPE_EMBED_FIND, WebkitEmbedFindClass))
#define WEBKIT_IS_EMBED_FIND(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), WEBKIT_TYPE_EMBED_FIND))
#define WEBKIT_IS_EMBED_FIND_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), WEBKIT_TYPE_EMBED_FIND))
#define WEBKIT_EMBED_FIND_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), WEBKIT_TYPE_EMBED_FIND, WebkitEmbedFindClass))
typedef struct _WebkitEmbedFindClass WebkitEmbedFindClass;
typedef struct _WebkitEmbedFind WebkitEmbedFind;
typedef struct _WebkitEmbedFindPrivate WebkitEmbedFindPrivate;
struct _WebkitEmbedFind
{
GObject parent_instance;
/*< private >*/
WebkitEmbedFindPrivate *priv;
};
struct _WebkitEmbedFindClass
{
GObjectClass parent_class;
};
GType webkit_embed_find_get_type (void);
G_END_DECLS
#endif
/*
* Copyright © 2007 Xan Lopez <xan@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $Id$
*/
#include "webkit-embed-persist.h"
static void
webkit_embed_persist_class_init (WebkitEmbedPersistClass *klass);
static void
webkit_embed_persist_init (WebkitEmbedPersist *ges);
static void
webkit_embed_persist_finalize (GObject *object);
#define WEBKIT_EMBED_PERSIST_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), WEBKIT_TYPE_EMBED_PERSIST, WebkitEmbedPersistPrivate))
G_DEFINE_TYPE (WebkitEmbedPersist, webkit_embed_persist, EPHY_TYPE_EMBED_PERSIST)
static void
webkit_embed_persist_init (WebkitEmbedPersist *persist)
{
}
static void
webkit_embed_persist_finalize (GObject *object)
{
G_OBJECT_CLASS (webkit_embed_persist_parent_class)->finalize (object);
}
void
webkit_embed_persist_completed (WebkitEmbedPersist *persist)
{
g_signal_emit_by_name (persist, "completed");
g_object_unref (persist);
}
void
webkit_embed_persist_cancelled (WebkitEmbedPersist *persist)
{
g_signal_emit_by_name (persist, "cancelled");
g_object_unref (persist);
}
static void
impl_cancel (EphyEmbedPersist *persist)
{
g_object_unref (persist);
}
static gboolean
impl_save (EphyEmbedPersist *persist)
{
g_object_ref (persist);
}
static char *
impl_to_string (EphyEmbedPersist *persist)
{
}