aboutsummaryrefslogtreecommitdiffstats
path: root/embed
diff options
context:
space:
mode:
authorXan Lopez <xan@src.gnome.org>2007-11-06 03:54:41 +0800
committerXan Lopez <xan@src.gnome.org>2007-11-06 03:54:41 +0800
commite4d46bcca6d53a474cef868790c306d13c3b0ee9 (patch)
tree94ea8d2034b53e1b0bfcb1aa5cf4d437b4c8d4b3 /embed
parent7f5b4500369c010da69160e4494bafd37d807599 (diff)
downloadgsoc2013-epiphany-e4d46bcca6d53a474cef868790c306d13c3b0ee9.tar
gsoc2013-epiphany-e4d46bcca6d53a474cef868790c306d13c3b0ee9.tar.gz
gsoc2013-epiphany-e4d46bcca6d53a474cef868790c306d13c3b0ee9.tar.bz2
gsoc2013-epiphany-e4d46bcca6d53a474cef868790c306d13c3b0ee9.tar.lz
gsoc2013-epiphany-e4d46bcca6d53a474cef868790c306d13c3b0ee9.tar.xz
gsoc2013-epiphany-e4d46bcca6d53a474cef868790c306d13c3b0ee9.tar.zst
gsoc2013-epiphany-e4d46bcca6d53a474cef868790c306d13c3b0ee9.zip
Create EphyBaseEmbed, make MozillaEmbed a subclass of it.
EphyBaseEmbed is an abstract class that will implement the generic bits common to any Epiphany backend. In this first commit it does nothing but serve as the parent class for the mozilla embedding widget. svn path=/trunk/; revision=7626
Diffstat (limited to 'embed')
-rw-r--r--embed/Makefile.am2
-rw-r--r--embed/ephy-base-embed.c114
-rw-r--r--embed/ephy-base-embed.h34
-rw-r--r--embed/mozilla/EphyBrowser.cpp6
-rw-r--r--embed/mozilla/EphyBrowser.h2
-rw-r--r--embed/mozilla/mozilla-embed.cpp110
6 files changed, 218 insertions, 50 deletions
diff --git a/embed/Makefile.am b/embed/Makefile.am
index 209eb74e6..48259ab18 100644
--- a/embed/Makefile.am
+++ b/embed/Makefile.am
@@ -22,6 +22,7 @@ NOINST_H_FILES = \
INST_H_FILES = \
ephy-adblock.h \
ephy-adblock-manager.h \
+ ephy-base-embed.h \
ephy-command-manager.h \
ephy-cookie-manager.h \
ephy-embed.h \
@@ -43,6 +44,7 @@ BUILT_SOURCES = \
libephyembed_la_SOURCES = \
ephy-adblock.c \
ephy-adblock-manager.c \
+ ephy-base-embed.c \
downloader-view.c \
ephy-command-manager.c \
ephy-cookie-manager.c \
diff --git a/embed/ephy-base-embed.c b/embed/ephy-base-embed.c
new file mode 100644
index 000000000..776ee8e1a
--- /dev/null
+++ b/embed/ephy-base-embed.c
@@ -0,0 +1,114 @@
+/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * Copyright © 2007 Xan Lopez
+ *
+ * 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.
+ *
+ */
+
+#include "config.h"
+#include "ephy-embed.h"
+#include "ephy-base-embed.h"
+
+struct _EphyBaseEmbedPrivate
+{
+ /* Flags */
+ guint is_blank : 1;
+
+ char *address;
+ char *typed_address;
+ char *title;
+ char *loading_title;
+};
+
+static void ephy_base_embed_dispose (GObject *object);
+static void ephy_base_embed_finalize (GObject *object);
+static void ephy_embed_iface_init (EphyEmbedIface *iface);
+
+G_DEFINE_ABSTRACT_TYPE_WITH_CODE (EphyBaseEmbed, ephy_base_embed, GTK_TYPE_BIN,
+ G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED,
+ ephy_embed_iface_init))
+
+static void
+ephy_base_embed_size_request (GtkWidget *widget,
+ GtkRequisition *requisition)
+{
+ GtkWidget *child;
+
+ GTK_WIDGET_CLASS (ephy_base_embed_parent_class)->size_request (widget, requisition);
+
+ child = GTK_BIN (widget)->child;
+
+ if (child && GTK_WIDGET_VISIBLE (child))
+ {
+ GtkRequisition child_requisition;
+ gtk_widget_size_request (GTK_WIDGET (child), &child_requisition);
+ }
+}
+
+static void
+ephy_base_embed_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation)
+{
+ GtkWidget *child;
+ GtkAllocation invalid = { -1, -1, 1, 1 };
+
+ widget->allocation = *allocation;
+
+ child = GTK_BIN (widget)->child;
+ g_return_if_fail (child != NULL);
+
+ gtk_widget_size_allocate (child, allocation);
+}
+
+static void
+ephy_base_embed_class_init (EphyBaseEmbedClass *klass)
+{
+ GObjectClass *gobject_class = (GObjectClass *)klass;
+ GtkWidgetClass *widget_class = (GtkWidgetClass *)klass;
+
+ gobject_class->dispose = ephy_base_embed_dispose;
+ gobject_class->finalize = ephy_base_embed_finalize;
+
+ widget_class->size_request = ephy_base_embed_size_request;
+ widget_class->size_allocate = ephy_base_embed_size_allocate;
+ g_type_class_add_private (gobject_class, sizeof (EphyBaseEmbedPrivate));
+}
+
+static void
+ephy_base_embed_init (EphyBaseEmbed *self)
+{
+}
+
+static void
+ephy_base_embed_dispose (GObject *object)
+{
+ EphyBaseEmbed *self = (EphyBaseEmbed *)object;
+
+ G_OBJECT_CLASS (ephy_base_embed_parent_class)->dispose (object);
+}
+
+static void
+ephy_base_embed_finalize (GObject *object)
+{
+ EphyBaseEmbed *self = (EphyBaseEmbed *)object;
+
+ G_OBJECT_CLASS (ephy_base_embed_parent_class)->finalize (object);
+}
+
+static void
+ephy_embed_iface_init (EphyEmbedIface *iface)
+{
+}
diff --git a/embed/ephy-base-embed.h b/embed/ephy-base-embed.h
new file mode 100644
index 000000000..4fe5b120d
--- /dev/null
+++ b/embed/ephy-base-embed.h
@@ -0,0 +1,34 @@
+#ifndef __EPHY_BASE_EMBED_H__
+#define __EPHY_BASE_EMBED_H__
+
+#include <gtk/gtk.h>
+
+
+G_BEGIN_DECLS
+
+#define EPHY_TYPE_BASE_EMBED (ephy_base_embed_get_type())
+#define EPHY_BASE_EMBED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EPHY_TYPE_BASE_EMBED, EphyBaseEmbed))
+#define EPHY_BASE_EMBED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EPHY_TYPE_BASE_EMBED, EphyBaseEmbedClass))
+#define EPHY_IS_BASE_EMBED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EPHY_TYPE_BASE_EMBED))
+#define EPHY_IS_BASE_EMBED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EPHY_TYPE_BASE_EMBED))
+#define EPHY_BASE_EMBED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EPHY_TYPE_BASE_EMBED, EphyBaseEmbedClass))
+
+typedef struct _EphyBaseEmbed EphyBaseEmbed;
+typedef struct _EphyBaseEmbedClass EphyBaseEmbedClass;
+typedef struct _EphyBaseEmbedPrivate EphyBaseEmbedPrivate;
+
+struct _EphyBaseEmbedClass
+{
+ GtkBinClass parent_class;
+};
+
+struct _EphyBaseEmbed
+{
+ GtkBin parent_instance;
+};
+
+GType ephy_base_embed_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __EPHY_BASE_EMBED_H__ */
diff --git a/embed/mozilla/EphyBrowser.cpp b/embed/mozilla/EphyBrowser.cpp
index 9ea302360..d4a53811b 100644
--- a/embed/mozilla/EphyBrowser.cpp
+++ b/embed/mozilla/EphyBrowser.cpp
@@ -566,13 +566,13 @@ EphyBrowser::~EphyBrowser ()
LOG ("EphyBrowser dtor (%p)", this);
}
-nsresult EphyBrowser::Init (GtkMozEmbed *mozembed)
+nsresult EphyBrowser::Init (EphyEmbed *embed)
{
if (mInitialized) return NS_OK;
- mEmbed = GTK_WIDGET (mozembed);
+ mEmbed = GTK_WIDGET (embed);
- gtk_moz_embed_get_nsIWebBrowser (mozembed,
+ gtk_moz_embed_get_nsIWebBrowser (GTK_MOZ_EMBED (gtk_bin_get_child (GTK_BIN (embed))),
getter_AddRefs(mWebBrowser));
NS_ENSURE_TRUE (mWebBrowser, NS_ERROR_FAILURE);
diff --git a/embed/mozilla/EphyBrowser.h b/embed/mozilla/EphyBrowser.h
index a498f42c9..57cec5ad6 100644
--- a/embed/mozilla/EphyBrowser.h
+++ b/embed/mozilla/EphyBrowser.h
@@ -136,7 +136,7 @@ public:
EphyBrowser();
~EphyBrowser();
- nsresult Init (GtkMozEmbed *mozembed);
+ nsresult Init (EphyEmbed *embed);
nsresult Destroy (void);
nsresult DoCommand (const char *command);
diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp
index 12b1f200b..e0622ccad 100644
--- a/embed/mozilla/mozilla-embed.cpp
+++ b/embed/mozilla/mozilla-embed.cpp
@@ -41,6 +41,7 @@
#include "EphyUtils.h"
#include "EventContext.h"
+#include "ephy-base-embed.h"
#include "ephy-command-manager.h"
#include "ephy-debug.h"
#include "ephy-embed-shell.h"
@@ -90,9 +91,9 @@ static void mozilla_embed_document_type_cb (EphyEmbed *embed,
static void mozilla_embed_zoom_change_cb (EphyEmbed *embed,
float zoom,
MozillaEmbed *membed);
-static void mozilla_embed_title_change_cb (EphyEmbed *embed,
+static void mozilla_embed_title_change_cb (GtkMozEmbed *embed,
MozillaEmbed *membed);
-static void mozilla_embed_link_message_cb (EphyEmbed *embed,
+static void mozilla_embed_link_message_cb (GtkMozEmbed *embed,
MozillaEmbed *membed);
static void mozilla_embed_set_title (MozillaEmbed *embed,
char *title);
@@ -104,9 +105,9 @@ static void mozilla_embed_icon_cache_changed_cb (EphyFaviconCache *cache,
MozillaEmbed *embed);
static void mozilla_embed_set_icon_address (MozillaEmbed *embed,
const char *address);
-static void mozilla_embed_favicon_cb (EphyEmbed *embed,
+static void mozilla_embed_favicon_cb (MozillaEmbed *membed,
const char *address,
- MozillaEmbed *membed);
+ GtkMozEmbed *embed);
static gboolean mozilla_embed_open_uri_cb (EphyEmbed *embed,
const char *uri,
MozillaEmbed *membed);
@@ -142,6 +143,7 @@ typedef enum
struct MozillaEmbedPrivate
{
EphyBrowser *browser;
+ GtkMozEmbed *moz_embed;
MozillaEmbedLoadState load_state;
EphyEmbedAddressExpire address_expire;
@@ -236,7 +238,7 @@ ephy_command_manager_iface_init (EphyCommandManagerIface *iface)
iface->can_do_command = impl_manager_can_do_command;
}
-G_DEFINE_TYPE_WITH_CODE (MozillaEmbed, mozilla_embed, GTK_TYPE_MOZ_EMBED,
+G_DEFINE_TYPE_WITH_CODE (MozillaEmbed, mozilla_embed, EPHY_TYPE_BASE_EMBED,
G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED,
ephy_embed_iface_init)
G_IMPLEMENT_INTERFACE (EPHY_TYPE_COMMAND_MANAGER,
@@ -274,9 +276,10 @@ mozilla_embed_realize (GtkWidget *widget)
GTK_WIDGET_CLASS (mozilla_embed_parent_class)->realize (widget);
+ gtk_widget_realize (GTK_WIDGET (mpriv->moz_embed));
/* Initialise our helper class */
nsresult rv;
- rv = mpriv->browser->Init (GTK_MOZ_EMBED (widget));
+ rv = mpriv->browser->Init (EPHY_EMBED (widget));
if (NS_FAILED (rv))
{
g_warning ("EphyBrowser initialization failed for %p\n", widget);
@@ -406,8 +409,6 @@ mozilla_embed_class_init (MozillaEmbedClass *klass)
GtkObjectClass *gtk_object_class = GTK_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- mozilla_embed_parent_class = (GObjectClass *) g_type_class_peek_parent (klass);
-
object_class->constructor = mozilla_embed_constructor;
object_class->finalize = mozilla_embed_finalize;
object_class->dispose = mozilla_embed_dispose;
@@ -439,59 +440,67 @@ mozilla_embed_class_init (MozillaEmbedClass *klass)
}
static void
-mozilla_embed_init (MozillaEmbed *embed)
+mozilla_embed_init (MozillaEmbed *membed)
{
EphyFaviconCache *cache;
MozillaEmbedPrivate *priv;
- embed->priv = MOZILLA_EMBED_GET_PRIVATE (embed);
- priv = embed->priv;
+ GtkWidget *embed;
+
+ membed->priv = MOZILLA_EMBED_GET_PRIVATE (membed);
+ priv = membed->priv;
+
+ embed = gtk_moz_embed_new ();
+ priv->moz_embed = GTK_MOZ_EMBED (embed);
+ gtk_container_add (GTK_CONTAINER (membed), embed);
+ gtk_widget_show (embed);
+
priv->browser = new EphyBrowser ();
g_signal_connect_object (embed, "location",
G_CALLBACK (mozilla_embed_location_changed_cb),
- embed, (GConnectFlags) 0);
+ membed, (GConnectFlags) 0);
g_signal_connect_object (embed, "net_state_all",
G_CALLBACK (mozilla_embed_net_state_all_cb),
- embed, (GConnectFlags) 0);
+ membed, (GConnectFlags) 0);
g_signal_connect_object (embed, "dom_mouse_click",
G_CALLBACK (mozilla_embed_dom_mouse_click_cb),
- embed, (GConnectFlags) 0);
+ membed, (GConnectFlags) 0);
g_signal_connect_object (embed, "dom_mouse_down",
G_CALLBACK (mozilla_embed_dom_mouse_down_cb),
- embed, (GConnectFlags) 0);
+ membed, (GConnectFlags) 0);
g_signal_connect_object (embed, "dom-key-press",
G_CALLBACK (mozilla_embed_dom_key_press_cb),
- embed, (GConnectFlags) 0);
+ membed, (GConnectFlags) 0);
g_signal_connect_object (embed, "new_window",
G_CALLBACK (mozilla_embed_new_window_cb),
- embed, (GConnectFlags) 0);
+ membed, (GConnectFlags) 0);
g_signal_connect_object (embed, "security_change",
G_CALLBACK (mozilla_embed_security_change_cb),
- embed, (GConnectFlags) 0);
- g_signal_connect_object (embed, "ge_document_type",
+ membed, (GConnectFlags) 0);
+ g_signal_connect_object (membed, "ge_document_type",
G_CALLBACK (mozilla_embed_document_type_cb),
- embed, (GConnectFlags) 0);
- g_signal_connect_object (embed, "ge_zoom_change",
+ membed, (GConnectFlags) 0);
+ g_signal_connect_object (membed, "ge_zoom_change",
G_CALLBACK (mozilla_embed_zoom_change_cb),
embed, (GConnectFlags) 0);
g_signal_connect_object (embed, "title",
G_CALLBACK (mozilla_embed_title_change_cb),
- embed, (GConnectFlags) 0);
+ membed, (GConnectFlags) 0);
g_signal_connect_object (embed, "link_message",
G_CALLBACK (mozilla_embed_link_message_cb),
- embed, (GConnectFlags)0);
- g_signal_connect_object (embed, "ge_favicon",
+ membed, (GConnectFlags)0);
+ g_signal_connect_object (membed, "ge_favicon",
G_CALLBACK (mozilla_embed_favicon_cb),
embed, (GConnectFlags)0);
g_signal_connect_object (embed, "open_uri",
G_CALLBACK (mozilla_embed_open_uri_cb),
- embed,(GConnectFlags) 0);
+ membed,(GConnectFlags) 0);
cache = EPHY_FAVICON_CACHE
(ephy_embed_shell_get_favicon_cache (embed_shell));
g_signal_connect_object (G_OBJECT (cache), "changed",
G_CALLBACK (mozilla_embed_icon_cache_changed_cb),
- embed, (GConnectFlags)0);
+ membed, (GConnectFlags)0);
priv->document_type = EPHY_EMBED_DOCUMENT_HTML;
priv->security_level = EPHY_EMBED_STATE_IS_UNKNOWN;
@@ -888,7 +897,8 @@ static void
impl_load_url (EphyEmbed *embed,
const char *url)
{
- gtk_moz_embed_load_url (GTK_MOZ_EMBED(embed), url);
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
+ gtk_moz_embed_load_url (moz_embed, url);
}
static char * impl_get_location (EphyEmbed *embed, gboolean toplevel);
@@ -931,19 +941,22 @@ impl_load (EphyEmbed *embed,
static void
impl_stop_load (EphyEmbed *embed)
{
- gtk_moz_embed_stop_load (GTK_MOZ_EMBED(embed));
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
+ gtk_moz_embed_stop_load (moz_embed);
}
static gboolean
impl_can_go_back (EphyEmbed *embed)
{
- return gtk_moz_embed_can_go_back (GTK_MOZ_EMBED(embed));
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
+ return gtk_moz_embed_can_go_back (moz_embed);
}
static gboolean
impl_can_go_forward (EphyEmbed *embed)
{
- return gtk_moz_embed_can_go_forward (GTK_MOZ_EMBED(embed));
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
+ return gtk_moz_embed_can_go_forward (moz_embed);
}
static gboolean
@@ -1035,13 +1048,15 @@ impl_get_go_up_list (EphyEmbed *embed)
static void
impl_go_back (EphyEmbed *embed)
{
- gtk_moz_embed_go_back (GTK_MOZ_EMBED(embed));
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
+ gtk_moz_embed_go_back (moz_embed);
}
static void
impl_go_forward (EphyEmbed *embed)
{
- gtk_moz_embed_go_forward (GTK_MOZ_EMBED(embed));
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
+ gtk_moz_embed_go_forward (moz_embed);
}
static void
@@ -1072,7 +1087,8 @@ impl_get_title (EphyEmbed *embed)
static char *
impl_get_js_status (EphyEmbed *embed)
{
- return gtk_moz_embed_get_js_status (GTK_MOZ_EMBED (embed));
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
+ return gtk_moz_embed_get_js_status (moz_embed);
}
static char *
@@ -1114,6 +1130,7 @@ static void
impl_reload (EphyEmbed *embed,
gboolean force)
{
+ GtkMozEmbed *moz_embed = MOZILLA_EMBED (embed)->priv->moz_embed;
guint32 mflags = GTK_MOZ_EMBED_FLAG_RELOADNORMAL;
if (force)
@@ -1121,7 +1138,7 @@ impl_reload (EphyEmbed *embed,
mflags = GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXYANDCACHE;
}
- gtk_moz_embed_reload (GTK_MOZ_EMBED(embed), mflags);
+ gtk_moz_embed_reload (moz_embed, mflags);
}
static void
@@ -1359,7 +1376,7 @@ impl_set_encoding (EphyEmbed *embed,
if (NS_FAILED (rv)) return;
}
- gtk_moz_embed_reload (GTK_MOZ_EMBED (embed),
+ gtk_moz_embed_reload (mpriv->moz_embed,
GTK_MOZ_EMBED_FLAG_RELOADCHARSETCHANGE);
}
@@ -1802,7 +1819,7 @@ mozilla_embed_location_changed_cb (GtkMozEmbed *embed,
MozillaEmbed *membed)
{
char *location;
- GObject *object = G_OBJECT (embed);
+ GObject *object = G_OBJECT (membed);
location = gtk_moz_embed_get_location (embed);
g_signal_emit_by_name (membed, "ge_location", location);
@@ -1825,7 +1842,7 @@ mozilla_embed_location_changed_cb (GtkMozEmbed *embed,
char *embed_address;
/* we do this to get rid of an eventual password in the URL */
- embed_address = impl_get_location (EPHY_EMBED (embed), TRUE);
+ embed_address = impl_get_location (EPHY_EMBED (membed), TRUE);
mozilla_embed_set_address (membed, embed_address);
mozilla_embed_set_loading_title (membed, embed_address, TRUE);
}
@@ -1842,10 +1859,10 @@ mozilla_embed_location_changed_cb (GtkMozEmbed *embed,
}
static void
-mozilla_embed_link_message_cb (EphyEmbed *embed,
+mozilla_embed_link_message_cb (GtkMozEmbed *embed,
MozillaEmbed *membed)
{
- char *link_message = gtk_moz_embed_get_link_message (GTK_MOZ_EMBED (membed));
+ char *link_message = gtk_moz_embed_get_link_message (embed);
mozilla_embed_set_link_message (membed, link_message);
g_free (link_message);
}
@@ -1924,9 +1941,9 @@ mozilla_embed_set_icon_address (MozillaEmbed *embed,
}
static void
-mozilla_embed_favicon_cb (EphyEmbed *embed,
+mozilla_embed_favicon_cb (MozillaEmbed *membed,
const char *address,
- MozillaEmbed *membed)
+ GtkMozEmbed *embed)
{
mozilla_embed_set_icon_address (membed, address);
}
@@ -1987,6 +2004,7 @@ static void
update_load_state (MozillaEmbed *membed, gint state)
{
MozillaEmbedPrivate *priv = membed->priv;
+ GtkMozEmbed *moz_embed = priv->moz_embed;
if (state & GTK_MOZ_EMBED_FLAG_IS_DOCUMENT &&
state & (GTK_MOZ_EMBED_FLAG_START | GTK_MOZ_EMBED_FLAG_STOP))
@@ -2001,7 +2019,7 @@ update_load_state (MozillaEmbed *membed, gint state)
priv->load_state = MOZILLA_EMBED_LOAD_LOADING;
char *address;
- address = gtk_moz_embed_get_location (GTK_MOZ_EMBED (membed));
+ address = gtk_moz_embed_get_location (moz_embed);
g_signal_emit_by_name (membed, "ge-content-change", address);
mozilla_embed_restore_zoom_level (membed, address);
g_free (address);
@@ -2030,7 +2048,7 @@ update_load_state (MozillaEmbed *membed, gint state)
priv->load_state = MOZILLA_EMBED_LOAD_LOADING;
char *address;
- address = gtk_moz_embed_get_location (GTK_MOZ_EMBED (membed));
+ address = gtk_moz_embed_get_location (moz_embed);
g_signal_emit_by_name (membed, "ge_content_change", address);
mozilla_embed_restore_zoom_level (membed, address);
g_free (address);
@@ -2406,7 +2424,7 @@ mozilla_embed_new_window_cb (GtkMozEmbed *embed,
g_assert (new_embed != NULL);
- gtk_moz_embed_set_chrome_mask (GTK_MOZ_EMBED (new_embed), chrome);
+ gtk_moz_embed_set_chrome_mask (embed, chrome);
g_signal_emit_by_name (membed, "ge-new-window", new_embed);
@@ -2572,13 +2590,13 @@ mozilla_embed_set_title (MozillaEmbed *embed,
}
static void
-mozilla_embed_title_change_cb (EphyEmbed *embed,
+mozilla_embed_title_change_cb (GtkMozEmbed *embed,
MozillaEmbed *membed)
{
GObject *object = G_OBJECT (embed);
char *title;
- title = gtk_moz_embed_get_title (GTK_MOZ_EMBED (embed));
+ title = gtk_moz_embed_get_title (embed);
g_object_freeze_notify (object);