aboutsummaryrefslogtreecommitdiffstats
path: root/embed/xulrunner/src/gecko-embed.h
diff options
context:
space:
mode:
Diffstat (limited to 'embed/xulrunner/src/gecko-embed.h')
-rw-r--r--embed/xulrunner/src/gecko-embed.h151
1 files changed, 151 insertions, 0 deletions
diff --git a/embed/xulrunner/src/gecko-embed.h b/embed/xulrunner/src/gecko-embed.h
new file mode 100644
index 000000000..8aec90bc2
--- /dev/null
+++ b/embed/xulrunner/src/gecko-embed.h
@@ -0,0 +1,151 @@
+/*
+ * Copyright © Christopher Blizzard
+ * Copyright © Ramiro Estrugo
+ * Copyright © 2006 Christian Persch
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * ---------------------------------------------------------------------------
+ * Derived from Mozilla.org code, which had the following attributions:
+ *
+ * The Original Code is mozilla.org code.
+ *
+ * The Initial Developer of the Original Code is
+ * Christopher Blizzard. Portions created by Christopher Blizzard are Copyright © Christopher Blizzard. All Rights Reserved.
+ * Portions created by the Initial Developer are Copyright © 2001
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Christopher Blizzard <blizzard@mozilla.org>
+ * Ramiro Estrugo <ramiro@eazel.com>
+ * ---------------------------------------------------------------------------
+ *
+ * $Id$
+ */
+
+#ifndef gecko_embed_h
+#define gecko_embed_h
+
+#include <stddef.h>
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define GECKO_TYPE_EMBED (gecko_embed_get_type())
+#define GECKO_EMBED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GECKO_TYPE_EMBED, GeckoEmbed))
+#define GECKO_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GECKO_TYPE_EMBED, GeckoEmbedClass))
+#define GECKO_IS_EMBED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GECKO_TYPE_EMBED))
+#define GECKO_IS_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GECKO_TYPE_EMBED))
+#define GECKO_EMBED_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GECKO_TYPE_EMBED, GeckoEmbedClass))
+
+typedef struct _GeckoEmbed GeckoEmbed;
+typedef struct _GeckoEmbedPrivate GeckoEmbedPrivate;
+typedef struct _GeckoEmbedClass GeckoEmbedClass;
+
+struct _GeckoEmbed
+{
+ GtkBin parent_instance;
+
+ /*< private >*/
+ GeckoEmbedPrivate *priv;
+};
+
+struct _GeckoEmbedClass
+{
+ GtkBinClass parent_class;
+
+ /* Signals */
+
+ /* Network */
+ gboolean (* open_uri) (GeckoEmbed *embed, const char *aURI);
+ void (* net_start) (GeckoEmbed *embed);
+ void (* net_stop) (GeckoEmbed *embed);
+ void (* net_state) (GeckoEmbed *embed, int state, guint status);
+ void (* net_state_all) (GeckoEmbed *embed, const char *aURI,
+ int state, guint status);
+ void (* progress) (GeckoEmbed *embed, int curprogress,
+ int maxprogress);
+ void (* progress_all) (GeckoEmbed *embed, const char *aURI,
+ int curprogress, int maxprogress);
+ void (* security_change) (GeckoEmbed *embed, gpointer request,
+ guint state);
+ void (* status_change) (GeckoEmbed *embed, gpointer request,
+ int status, gpointer message);
+
+ /* Document */
+ void (* link_message) (GeckoEmbed *embed);
+ void (* js_status_message) (GeckoEmbed *embed);
+ void (* location) (GeckoEmbed *embed);
+ void (* title) (GeckoEmbed *embed);
+ void (* visibility) (GeckoEmbed *embed, gboolean visibility);
+ void (* destroy_browser) (GeckoEmbed *embed);
+ void (* size_to) (GeckoEmbed *embed, int width, int height);
+
+
+ /* misc. */
+ void (* new_window) (GeckoEmbed *embed, GeckoEmbed **newEmbed,
+ guint chromemask);
+
+ /* reserved for future use */
+ void (* reserved_0) (void);
+ void (* reserved_1) (void);
+ void (* reserved_2) (void);
+ void (* reserved_3) (void);
+ void (* reserved_4) (void);
+ void (* reserved_5) (void);
+ void (* reserved_6) (void);
+ void (* reserved_7) (void);
+ void (* reserved_8) (void);
+ void (* reserved_9) (void);
+ void (* reserved_a) (void);
+ void (* reserved_b) (void);
+ void (* reserved_c) (void);
+ void (* reserved_d) (void);
+ void (* reserved_e) (void);
+ void (* reserved_f) (void);
+};
+
+GType gecko_embed_get_type (void);
+GtkWidget *gecko_embed_new (void);
+void gecko_embed_load_url (GeckoEmbed *embed,
+ const char *url);
+void gecko_embed_stop_load (GeckoEmbed *embed);
+gboolean gecko_embed_can_go_back (GeckoEmbed *embed);
+gboolean gecko_embed_can_go_forward (GeckoEmbed *embed);
+void gecko_embed_go_back (GeckoEmbed *embed);
+void gecko_embed_go_forward (GeckoEmbed *embed);
+void gecko_embed_render_data (GeckoEmbed *embed,
+ const char *data,
+ guint32 len,
+ const char *base_uri,
+ const char *mime_type);
+void gecko_embed_open_stream (GeckoEmbed *embed,
+ const char *base_uri,
+ const char *mime_type);
+void gecko_embed_append_data (GeckoEmbed *embed,
+ const char *data, guint32 len);
+void gecko_embed_close_stream (GeckoEmbed *embed);
+char *gecko_embed_get_link_message (GeckoEmbed *embed);
+char *gecko_embed_get_js_status (GeckoEmbed *embed);
+char *gecko_embed_get_title (GeckoEmbed *embed);
+char *gecko_embed_get_location (GeckoEmbed *embed);
+void gecko_embed_reload (GeckoEmbed *embed, gint32 flags);
+void gecko_embed_set_chrome_mask (GeckoEmbed *embed,
+ guint32 flags);
+guint32 gecko_embed_get_chrome_mask (GeckoEmbed *embed);
+
+G_END_DECLS
+
+#endif /* gecko_embed_h */