<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="EphyEmbed">
<refmeta>
<refentrytitle role="top_of_page" id="EphyEmbed.top_of_page">EphyEmbed</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>EPIPHANY Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>EphyEmbed</refname>
<refpurpose>An interface to the widget displaying web pages</refpurpose>
</refnamediv>

<refsynopsisdiv id="EphyEmbed.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
                    <link linkend="EphyEmbed-struct">EphyEmbed</link>;
                    <link linkend="EphyEmbedIface">EphyEmbedIface</link>;
enum                <link linkend="EphyEmbedChrome">EphyEmbedChrome</link>;
<link linkend="void">void</link>                <link linkend="ephy-embed-load-url">ephy_embed_load_url</link>                 (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         const <link linkend="char">char</link> *url);
<link linkend="void">void</link>                <link linkend="ephy-embed-stop-load">ephy_embed_stop_load</link>                (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="void">void</link>                <link linkend="ephy-embed-reload">ephy_embed_reload</link>                   (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="gboolean">gboolean</link> force);
const <link linkend="char">char</link> *        <link linkend="ephy-embed-get-title">ephy_embed_get_title</link>                (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="char">char</link> *              <link linkend="ephy-embed-get-location">ephy_embed_get_location</link>             (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="gboolean">gboolean</link> toplevel);
const <link linkend="char">char</link> *        <link linkend="ephy-embed-get-link-message">ephy_embed_get_link_message</link>         (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="char">char</link> *              <link linkend="ephy-embed-get-js-status">ephy_embed_get_js_status</link>            (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="gboolean">gboolean</link>            <link linkend="ephy-embed-can-go-back">ephy_embed_can_go_back</link>              (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="gboolean">gboolean</link>            <link linkend="ephy-embed-can-go-forward">ephy_embed_can_go_forward</link>           (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="gboolean">gboolean</link>            <link linkend="ephy-embed-can-go-up">ephy_embed_can_go_up</link>                (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="GSList">GSList</link> *            <link linkend="ephy-embed-get-go-up-list">ephy_embed_get_go_up_list</link>           (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="void">void</link>                <link linkend="ephy-embed-go-back">ephy_embed_go_back</link>                  (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="void">void</link>                <link linkend="ephy-embed-go-forward">ephy_embed_go_forward</link>               (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="void">void</link>                <link linkend="ephy-embed-go-up">ephy_embed_go_up</link>                    (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="void">void</link>                <link linkend="ephy-embed-get-security-level">ephy_embed_get_security_level</link>       (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="EphyEmbedSecurityLevel">EphyEmbedSecurityLevel</link> *level,
                                                         <link linkend="char">char</link> **description);
<link linkend="void">void</link>                <link linkend="ephy-embed-set-zoom">ephy_embed_set_zoom</link>                 (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="float">float</link> zoom);
<link linkend="float">float</link>               <link linkend="ephy-embed-get-zoom">ephy_embed_get_zoom</link>                 (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="void">void</link>                <link linkend="ephy-embed-find-set-properties">ephy_embed_find_set_properties</link>      (<link linkend="EphyEmbedFind">EphyEmbedFind</link> *find,
                                                         const <link linkend="char">char</link> *search_string,
                                                         <link linkend="gboolean">gboolean</link> case_sensitive);
<link linkend="void">void</link>                <link linkend="ephy-embed-set-encoding">ephy_embed_set_encoding</link>             (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         const <link linkend="char">char</link> *encoding);
<link linkend="void">void</link>                <link linkend="ephy-embed-print">ephy_embed_print</link>                    (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="int">int</link>                 <link linkend="ephy-embed-print-preview-n-pages">ephy_embed_print_preview_n_pages</link>    (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
<link linkend="void">void</link>                <link linkend="ephy-embed-print-preview-navigate">ephy_embed_print_preview_navigate</link>   (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="EphyEmbedPrintPreviewNavType">EphyEmbedPrintPreviewNavType</link> type,
                                                         <link linkend="int">int</link> page);
<link linkend="gboolean">gboolean</link>            <link linkend="ephy-embed-has-modified-forms">ephy_embed_has_modified_forms</link>       (<link linkend="EphyEmbed">EphyEmbed</link> *embed);
</synopsis>
</refsynopsisdiv>

<refsect1 id="EphyEmbed.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GInterface">GInterface</link>
   +----EphyEmbed
</synopsis>
</refsect1>






<refsect1 id="EphyEmbed.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="EphyEmbed-close-request">close-request</link>&quot;                                  : Run Last
  &quot;<link linkend="EphyEmbed-content-blocked">content-blocked</link>&quot;                                : Run Last
  &quot;<link linkend="EphyEmbed-dom-content-loaded">dom-content-loaded</link>&quot;                             : Run First
  &quot;<link linkend="EphyEmbed-ge-context-menu">ge-context-menu</link>&quot;                                : Run Last
  &quot;<link linkend="EphyEmbed-ge-document-type">ge-document-type</link>&quot;                               : Run First
  &quot;<link linkend="EphyEmbed-ge-dom-mouse-click">ge-dom-mouse-click</link>&quot;                             : Run Last
  &quot;<link linkend="EphyEmbed-ge-dom-mouse-down">ge-dom-mouse-down</link>&quot;                              : Run Last
  &quot;<link linkend="EphyEmbed-ge-favicon">ge-favicon</link>&quot;                                     : Run First
  &quot;<link linkend="EphyEmbed-ge-feed-link">ge-feed-link</link>&quot;                                   : Run First
  &quot;<link linkend="EphyEmbed-ge-modal-alert">ge-modal-alert</link>&quot;                                 : Run Last
  &quot;<link linkend="EphyEmbed-ge-modal-alert-closed">ge-modal-alert-closed</link>&quot;                          : Run Last
  &quot;<link linkend="EphyEmbed-ge-new-window">ge-new-window</link>&quot;                                  : Run First
  &quot;<link linkend="EphyEmbed-ge-popup-blocked">ge-popup-blocked</link>&quot;                               : Run First
  &quot;<link linkend="EphyEmbed-ge-search-key-press">ge-search-key-press</link>&quot;                            : Run Last
  &quot;<link linkend="EphyEmbed-ge-search-link">ge-search-link</link>&quot;                                 : Run First
  &quot;<link linkend="EphyEmbed-ge-zoom-change">ge-zoom-change</link>&quot;                                 : Run Last
  &quot;<link linkend="EphyEmbed-new-document-now">new-document-now</link>&quot;                               : Run First
</synopsis>
</refsect1>


<refsect1 id="EphyEmbed.description" role="desc">
<title role="desc.title">Description</title>
<para>
Each <link linkend="EphyTab"><type>EphyTab</type></link> contains an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>. An <link linkend="EphyEmbed"><type>EphyEmbed</type></link> is an interface; right now
it is only implemented by <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link>, but whenever possible, <link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s
functions should be used instead of their <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link> equivalents.
</para>
<para>
<link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s most important functions can be divided into sets:
</para>
<itemizedlist>
<listitem>Functions which affect navigation</listitem>
<listitem>Functions which return information about the displayed web
page</listitem>
<listitem>Functions which manipulate the session history</listitem>
</itemizedlist>
<para>The first two sets of functions are self-explanitory.</para>
<para>The session history functions are used to traverse the embedded browser's
history. Each <link linkend="EphyEmbed"><type>EphyEmbed</type></link> remembers a history of the web pages it has visited.
There can be a maximum limit, however; for <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link>, this limit is
determined by Mozilla's browser.sessionhistory.max_entries preference. Because
of this limit, <link linkend="ephy-embed-shistory-n-items"><function>ephy_embed_shistory_n_items()</function></link> will not necessarily return the
number of web pages visited in the embed's lifetime; likewise,
<link linkend="ephy-embed-shistory-go-nth"><function>ephy_embed_shistory_go_nth()</function></link> will not always return to the user's home page
when called with a 0 argument.</para>
</refsect1>

<refsect1 id="EphyEmbed.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="EphyEmbed-struct" role="struct">
<title>EphyEmbed</title>
<indexterm zone="EphyEmbed-struct"><primary sortas="EphyEmbed">EphyEmbed</primary></indexterm><programlisting>typedef struct _EphyEmbed EphyEmbed;</programlisting>
<para>
</para></refsect2>
<refsect2 id="EphyEmbedIface" role="struct">
<title>EphyEmbedIface</title>
<indexterm zone="EphyEmbedIface"><primary sortas="EphyEmbedIface">EphyEmbedIface</primary></indexterm><programlisting>typedef struct {
	GTypeInterface base_iface;

	int	 (* context_menu)	(EphyEmbed *embed,
					 EphyEmbedEvent *event);
	void	 (* favicon)		(EphyEmbed *embed,
					 const char *location);
	void	 (* feed_link)		(EphyEmbed *embed,
					 const char *type,
					 const char *title,
					 const char *address);
	void	 (* search_link)	(EphyEmbed *embed,
					 const char *type,
					 const char *title,
					 const char *address);
	gboolean (* dom_mouse_click)	(EphyEmbed *embed,
					 EphyEmbedEvent *event);
	gboolean (* dom_mouse_down)	(EphyEmbed *embed,
					 EphyEmbedEvent *event);
	void	 (* dom_content_loaded) (EphyEmbed *embed,
					 gpointer event);
	void	 (* popup_blocked)	(EphyEmbed *embed,
					 const char *address,
					 const char *target,
					 const char *features);
	void	 (* zoom_change)	(EphyEmbed *embed,
					 float new_zoom);
	void	 (* content_blocked)	(EphyEmbed *embed,
					 const char *uri);
	gboolean (* modal_alert)	(EphyEmbed *embed);
	void	 (* modal_alert_closed) (EphyEmbed *embed);
	void	 (* document_type)	(EphyEmbed *embed,
					 EphyEmbedDocumentType type);
	void	 (* new_window)		(EphyEmbed *embed,
					 EphyEmbed *new_embed);
	gboolean (* search_key_press)	(EphyEmbed *embed,
					 GdkEventKey *event);
	gboolean (* close_request)	(EphyEmbed *embed);

	void	 (* new_document_now)	(EphyEmbed *embed,
					 const char *uri);

	/* Methods  */
	void		   (* load_url)			  (EphyEmbed *embed,
							   const char *url);
	void		   (* load)			  (EphyEmbed *embed,
							   const char *url,
							   EphyEmbedLoadFlags flags,
							   EphyEmbed *referring_embed);
	void		   (* stop_load)		  (EphyEmbed *embed);
	void		   (* reload)			  (EphyEmbed *embed,
							   gboolean force);
	gboolean	   (* can_go_back)		  (EphyEmbed *embed);
	gboolean	   (* can_go_forward)		  (EphyEmbed *embed);
	gboolean	   (* can_go_up)		  (EphyEmbed *embed);
	GSList *	   (* get_go_up_list)		  (EphyEmbed *embed);
	void		   (* go_back)			  (EphyEmbed *embed);
	void		   (* go_forward)		  (EphyEmbed *embed);
	void		   (* go_up)			  (EphyEmbed *embed);
	const char *	   (* get_title)		  (EphyEmbed *embed);
	char *		   (* get_location)		  (EphyEmbed *embed,
							   gboolean toplevel);
	const char *	   (* get_link_message)		  (EphyEmbed *embed);
	char *		   (* get_js_status)		  (EphyEmbed *embed);
	void		   (* shistory_copy)		  (EphyEmbed *source,
							   EphyEmbed *dest,
							   gboolean copy_back,
							   gboolean copy_forward,
							   gboolean copy_current);
	void		   (* get_security_level)	  (EphyEmbed *embed,
							   EphyEmbedSecurityLevel *level,
							   char **description);
	void		   (* show_page_certificate)	  (EphyEmbed *embed);
	void		   (* set_zoom)			  (EphyEmbed *embed,
							   float zoom);
	float		   (* get_zoom)			  (EphyEmbed *embed);
	void		   (* scroll_lines)		  (EphyEmbed *embed,
							   int num_lines);
	void		   (* scroll_pages)		  (EphyEmbed *embed,
							   int num_pages);
	void		   (* scroll_pixels)		  (EphyEmbed *embed,
							   int dx,
							   int dy);
	char *		   (* get_encoding)		  (EphyEmbed *embed);
	gboolean	   (* has_automatic_encoding)	  (EphyEmbed *embed);
	void		   (* set_encoding)		  (EphyEmbed *embed,
							   const char *encoding);
	void		   (* print)			  (EphyEmbed *embed);
	void		   (* set_print_preview_mode)	  (EphyEmbed *embed,
							   gboolean mode);
	int		   (* print_preview_n_pages)	  (EphyEmbed *embed);
	void		   (* print_preview_navigate)	  (EphyEmbed *embed,
							   EphyEmbedPrintPreviewNavType type,
							   int page);
	gboolean	   (* has_modified_forms)	  (EphyEmbed *embed);
	void		   (* close)			  (EphyEmbed *embed);
	EphyEmbedDocumentType	(* get_document_type)	  (EphyEmbed *embed);
	int		   (* get_load_percent)		  (EphyEmbed *embed);
	gboolean	   (* get_load_status)		  (EphyEmbed *embed);
	EphyEmbedNavigationFlags (* get_navigation_flags) (EphyEmbed *embed);
	const char *	   (* get_typed_address)	  (EphyEmbed *embed);
	void		   (* set_typed_address)	  (EphyEmbed *embed,
							   const char *address,
							   EphyEmbedAddressExpire expire);
	const char *	   (* get_address)		  (EphyEmbed *embed);
	const char *	   (* get_status_message)	  (EphyEmbed *embed);
	GdkPixbuf *	   (* get_icon)			  (EphyEmbed *embed);
	const char *	   (* get_icon_address)		  (EphyEmbed *embed);
	gboolean	   (* get_is_blank)		  (EphyEmbed *embed);
	const char *	   (* get_loading_title)	  (EphyEmbed *embed);
	gboolean	   (* get_visibility)		  (EphyEmbed *embed);
	GList *		   (* get_backward_history)	  (EphyEmbed *embed);
	GList *		   (* get_forward_history)	  (EphyEmbed *embed);
	EphyHistoryItem *  (* get_next_history_item)	  (EphyEmbed *embed);
	EphyHistoryItem *  (* get_previous_history_item)  (EphyEmbed *embed);
	void		   (* go_to_history_item)	  (EphyEmbed *embed,
							   EphyHistoryItem *history_item);
} EphyEmbedIface;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="EphyEmbedChrome" role="enum">
<title>enum EphyEmbedChrome</title>
<indexterm zone="EphyEmbedChrome"><primary sortas="EphyEmbedChrome">EphyEmbedChrome</primary></indexterm><programlisting>typedef enum
{
	EPHY_EMBED_CHROME_MENUBAR	= 1 &lt;&lt; 0,
	EPHY_EMBED_CHROME_TOOLBAR	= 1 &lt;&lt; 1,
	EPHY_EMBED_CHROME_STATUSBAR	= 1 &lt;&lt; 2,
	EPHY_EMBED_CHROME_BOOKMARKSBAR	= 1 &lt;&lt; 3
} EphyEmbedChrome;
</programlisting>
<para>
Determines which aspects of the user interface should be displayed. Most of the
time, an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s chrome will simply be <link linkend="EPHY-EMBED-CHROME-DEFAULT--CAPS"><literal>EPHY_EMBED_CHROME_DEFAULT</literal></link>. However,
windows opened with JavaScript often use a nonstandard chrome.
</para><variablelist role="enum">
<varlistentry id="EPHY-EMBED-CHROME-MENUBAR--CAPS" role="constant">
<term><literal>EPHY_EMBED_CHROME_MENUBAR</literal></term>
<listitem><simpara>%TRUE for the <link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s containing <link linkend="EphyWindow"><type>EphyWindow</type></link>
			    to display its menubar.
</simpara></listitem>
</varlistentry>
<varlistentry id="EPHY-EMBED-CHROME-TOOLBAR--CAPS" role="constant">
<term><literal>EPHY_EMBED_CHROME_TOOLBAR</literal></term>
<listitem><simpara>%TRUE for the <link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s containing <link linkend="EphyWindow"><type>EphyWindow</type></link>
			    to display its toolbars.
</simpara></listitem>
</varlistentry>
<varlistentry id="EPHY-EMBED-CHROME-STATUSBAR--CAPS" role="constant">
<term><literal>EPHY_EMBED_CHROME_STATUSBAR</literal></term>
<listitem><simpara>%TRUE for the <link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s containing <link linkend="EphyWindow"><type>EphyWindow</type></link>
			      to display its statusbar.
</simpara></listitem>
</varlistentry>
<varlistentry id="EPHY-EMBED-CHROME-BOOKMARKSBAR--CAPS" role="constant">
<term><literal>EPHY_EMBED_CHROME_BOOKMARKSBAR</literal></term>
<listitem><simpara>
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-load-url" role="function">
<title>ephy_embed_load_url ()</title>
<indexterm zone="ephy-embed-load-url"><primary sortas="ephy_embed_load_url">ephy_embed_load_url</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_load_url                 (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         const <link linkend="char">char</link> *url);</programlisting>
<para>
Loads a new web page in <parameter>embed</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>url</parameter>&#160;:</term>
<listitem><simpara> a URL
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-stop-load" role="function">
<title>ephy_embed_stop_load ()</title>
<indexterm zone="ephy-embed-stop-load"><primary sortas="ephy_embed_stop_load">ephy_embed_stop_load</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_stop_load                (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
If <parameter>embed</parameter> is loading, stops it from continuing.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-reload" role="function">
<title>ephy_embed_reload ()</title>
<indexterm zone="ephy-embed-reload"><primary sortas="ephy_embed_reload">ephy_embed_reload</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_reload                   (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="gboolean">gboolean</link> force);</programlisting>
<para>
Reloads the web page being displayed in <parameter>embed</parameter>.
</para>
<para>
If <parameter>force</parameter> is <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, cache and proxy will be bypassed when
reloading the page.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>force</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to bypass cache
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-get-title" role="function">
<title>ephy_embed_get_title ()</title>
<indexterm zone="ephy-embed-get-title"><primary sortas="ephy_embed_get_title">ephy_embed_get_title</primary></indexterm><programlisting>const <link linkend="char">char</link> *        ephy_embed_get_title                (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the title of the web page displayed in <parameter>embed</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-get-location" role="function">
<title>ephy_embed_get_location ()</title>
<indexterm zone="ephy-embed-get-location"><primary sortas="ephy_embed_get_location">ephy_embed_get_location</primary></indexterm><programlisting><link linkend="char">char</link> *              ephy_embed_get_location             (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="gboolean">gboolean</link> toplevel);</programlisting>
<para>
Returns the URL of the web page displayed in <parameter>embed</parameter>.
</para>
<para>
If the web page contains frames, <parameter>toplevel</parameter> will determine which location to
retrieve. If <parameter>toplevel</parameter> is <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, the return value will be the location of the
frameset document. If <parameter>toplevel</parameter> is <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>, the return value will be the
location of the currently-focused frame.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>toplevel</parameter>&#160;:</term>
<listitem><simpara> <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> to return the location of the focused frame only
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the URL of the web page displayed in <parameter>embed</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-get-link-message" role="function">
<title>ephy_embed_get_link_message ()</title>
<indexterm zone="ephy-embed-get-link-message"><primary sortas="ephy_embed_get_link_message">ephy_embed_get_link_message</primary></indexterm><programlisting>const <link linkend="char">char</link> *        ephy_embed_get_link_message         (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
When the user is hovering the mouse over a hyperlink, returns the URL of the
hyperlink.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the URL of the link over which the mouse is hovering
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-get-js-status" role="function">
<title>ephy_embed_get_js_status ()</title>
<indexterm zone="ephy-embed-get-js-status"><primary sortas="ephy_embed_get_js_status">ephy_embed_get_js_status</primary></indexterm><programlisting><link linkend="char">char</link> *              ephy_embed_get_js_status            (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Displays the message JavaScript is attempting to display in the statusbar.
</para>
<para>
Note that Epiphany does not display JavaScript statusbar messages.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a message from JavaScript meant to be displayed in the
	 statusbar
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-can-go-back" role="function">
<title>ephy_embed_can_go_back ()</title>
<indexterm zone="ephy-embed-can-go-back"><primary sortas="ephy_embed_can_go_back">ephy_embed_can_go_back</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            ephy_embed_can_go_back              (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>embed</parameter> can return to a previously-visited location
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-can-go-forward" role="function">
<title>ephy_embed_can_go_forward ()</title>
<indexterm zone="ephy-embed-can-go-forward"><primary sortas="ephy_embed_can_go_forward">ephy_embed_can_go_forward</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            ephy_embed_can_go_forward           (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>embed</parameter> has gone back, and can thus go forward again
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-can-go-up" role="function">
<title>ephy_embed_can_go_up ()</title>
<indexterm zone="ephy-embed-can-go-up"><primary sortas="ephy_embed_can_go_up">ephy_embed_can_go_up</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            ephy_embed_can_go_up                (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Returns whether <parameter>embed</parameter> can travel to a higher-level directory on the server.
For example, for http://www.example.com/subdir/index.html, returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>; for
http://www.example.com/index.html, returns <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>embed</parameter> can browse to a higher-level directory
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-get-go-up-list" role="function">
<title>ephy_embed_get_go_up_list ()</title>
<indexterm zone="ephy-embed-get-go-up-list"><primary sortas="ephy_embed_get_go_up_list">ephy_embed_get_go_up_list</primary></indexterm><programlisting><link linkend="GSList">GSList</link> *            ephy_embed_get_go_up_list           (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Returns a list of (<link linkend="char"><literal>char</literal></link> *) URLs to higher-level directories on the same
server, in order of deepest to shallowest. For example, given
"http://www.example.com/dir/subdir/file.html", will return a list containing
"http://www.example.com/dir/subdir/", "http://www.example.com/dir/" and
"http://www.example.com/".</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a list of URLs higher up in <parameter>embed</parameter>'s web page's directory
hierarchy
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-go-back" role="function">
<title>ephy_embed_go_back ()</title>
<indexterm zone="ephy-embed-go-back"><primary sortas="ephy_embed_go_back">ephy_embed_go_back</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_go_back                  (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Causes <parameter>embed</parameter> to return to the previously-visited web page.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-go-forward" role="function">
<title>ephy_embed_go_forward ()</title>
<indexterm zone="ephy-embed-go-forward"><primary sortas="ephy_embed_go_forward">ephy_embed_go_forward</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_go_forward               (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
If <parameter>embed</parameter> has returned to a previously-visited web page, proceed forward to
the next page.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-go-up" role="function">
<title>ephy_embed_go_up ()</title>
<indexterm zone="ephy-embed-go-up"><primary sortas="ephy_embed_go_up">ephy_embed_go_up</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_go_up                    (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Moves <parameter>embed</parameter> one level up in its web page's directory hierarchy.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-get-security-level" role="function">
<title>ephy_embed_get_security_level ()</title>
<indexterm zone="ephy-embed-get-security-level"><primary sortas="ephy_embed_get_security_level">ephy_embed_get_security_level</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_get_security_level       (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="EphyEmbedSecurityLevel">EphyEmbedSecurityLevel</link> *level,
                                                         <link linkend="char">char</link> **description);</programlisting>
<para>
Fetches the <link linkend="EphyEmbedSecurityLevel"><type>EphyEmbedSecurityLevel</type></link> and a newly-allocated string description
of the security state of <parameter>embed</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>level</parameter>&#160;:</term>
<listitem><simpara> return value of security level
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>description</parameter>&#160;:</term>
<listitem><simpara> return value of the description of the security level
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-set-zoom" role="function">
<title>ephy_embed_set_zoom ()</title>
<indexterm zone="ephy-embed-set-zoom"><primary sortas="ephy_embed_set_zoom">ephy_embed_set_zoom</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_set_zoom                 (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="float">float</link> zoom);</programlisting>
<para>
Sets the zoom level for a web page.
</para>
<para>
Zoom is normally controlled by the Epiphany itself and remembered in
Epiphany's history data. Be very careful not to break this behavior if using
this function; better yet, don't use this function at all.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>zoom</parameter>&#160;:</term>
<listitem><simpara> the new zoom level
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-get-zoom" role="function">
<title>ephy_embed_get_zoom ()</title>
<indexterm zone="ephy-embed-get-zoom"><primary sortas="ephy_embed_get_zoom">ephy_embed_get_zoom</primary></indexterm><programlisting><link linkend="float">float</link>               ephy_embed_get_zoom                 (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Returns the zoom level of <parameter>embed</parameter>. A zoom of 1.0 corresponds to 100% (normal
size).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the zoom level of <parameter>embed</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-find-set-properties" role="function">
<title>ephy_embed_find_set_properties ()</title>
<indexterm zone="ephy-embed-find-set-properties"><primary sortas="ephy_embed_find_set_properties">ephy_embed_find_set_properties</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_find_set_properties      (<link linkend="EphyEmbedFind">EphyEmbedFind</link> *find,
                                                         const <link linkend="char">char</link> *search_string,
                                                         <link linkend="gboolean">gboolean</link> case_sensitive);</programlisting>
<para>
Sets the properties of <parameter>find</parameter></para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>find</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbedFind"><type>EphyEmbedFind</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>search_string</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>case_sensitive</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> for "case sensitive" to be set
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-set-encoding" role="function">
<title>ephy_embed_set_encoding ()</title>
<indexterm zone="ephy-embed-set-encoding"><primary sortas="ephy_embed_set_encoding">ephy_embed_set_encoding</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_set_encoding             (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         const <link linkend="char">char</link> *encoding);</programlisting>
<para>
Sets <parameter>embed</parameter>'s character encoding to <parameter>encoding</parameter>. These cryptic encoding
strings are listed in <filename>embed/ephy-encodings.c</filename>.
</para>
<para>
Pass an empty string (not NULL) in <parameter>encoding</parameter> to reset <parameter>embed</parameter> to use the
document-specified encoding.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>encoding</parameter>&#160;:</term>
<listitem><simpara> the desired encoding
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-print" role="function">
<title>ephy_embed_print ()</title>
<indexterm zone="ephy-embed-print"><primary sortas="ephy_embed_print">ephy_embed_print</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_print                    (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Sends a document to the printer.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-print-preview-n-pages" role="function">
<title>ephy_embed_print_preview_n_pages ()</title>
<indexterm zone="ephy-embed-print-preview-n-pages"><primary sortas="ephy_embed_print_preview_n_pages">ephy_embed_print_preview_n_pages</primary></indexterm><programlisting><link linkend="int">int</link>                 ephy_embed_print_preview_n_pages    (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Returns the number of pages which would appear in <parameter>embed</parameter>'s loaded document
if it were to be printed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the number of pages in <parameter>embed</parameter>'s loaded document
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-print-preview-navigate" role="function">
<title>ephy_embed_print_preview_navigate ()</title>
<indexterm zone="ephy-embed-print-preview-navigate"><primary sortas="ephy_embed_print_preview_navigate">ephy_embed_print_preview_navigate</primary></indexterm><programlisting><link linkend="void">void</link>                ephy_embed_print_preview_navigate   (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                         <link linkend="EphyEmbedPrintPreviewNavType">EphyEmbedPrintPreviewNavType</link> type,
                                                         <link linkend="int">int</link> page);</programlisting>
<para>
Navigates <parameter>embed</parameter>'s print preview.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyPrintPreviewNavType"><type>EphyPrintPreviewNavType</type></link> which determines where to navigate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page</parameter>&#160;:</term>
<listitem><simpara> if <parameter>type</parameter> is <link linkend="EPHY-EMBED-PRINTPREVIEW-GOTO-PAGENUM--CAPS"><literal>EPHY_EMBED_PRINTPREVIEW_GOTO_PAGENUM</literal></link>, the desired page number
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ephy-embed-has-modified-forms" role="function">
<title>ephy_embed_has_modified_forms ()</title>
<indexterm zone="ephy-embed-has-modified-forms"><primary sortas="ephy_embed_has_modified_forms">ephy_embed_has_modified_forms</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            ephy_embed_has_modified_forms       (<link linkend="EphyEmbed">EphyEmbed</link> *embed);</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the user has modified &lt;input&gt; or &lt;textarea&gt;
values in <parameter>embed</parameter>'s loaded document.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> an <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>embed</parameter> has user-modified forms
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>

<refsect1 id="EphyEmbed.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="EphyEmbed-close-request" role="signal"><title>The <literal>&quot;close-request&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-close-request"><primary sortas="EphyEmbed::close-request">EphyEmbed::close-request</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::close signal is emitted when the embed request closing.
Return <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to prevent closing. You HAVE to process removal of the embed
as soon as possible after that.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-content-blocked" role="signal"><title>The <literal>&quot;content-blocked&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-content-blocked"><primary sortas="EphyEmbed::content-blocked">EphyEmbed::content-blocked</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gchar">gchar</link>     *uri,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::content-blocked signal is emitted when an url has been blocked.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uri</parameter>&#160;:</term>
<listitem><simpara> blocked URI
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-dom-content-loaded" role="signal"><title>The <literal>&quot;dom-content-loaded&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-dom-content-loaded"><primary sortas="EphyEmbed::dom-content-loaded">EphyEmbed::dom-content-loaded</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gpointer">gpointer</link>   arg1,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The ::dom-content-loaded signal is emitted when 
the document has been loaded (excluding images and other loads initiated by this document).
That's true also for frameset and all the frames within it.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-context-menu" role="signal"><title>The <literal>&quot;ge-context-menu&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-context-menu"><primary sortas="EphyEmbed::ge-context-menu">EphyEmbed::ge-context-menu</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="GObject">GObject</link>   *event,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::ge_context_menu signal is emitted when a context menu is to be
displayed. This will usually happen when the user right-clicks on a part of
<parameter>embed</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="EphyEmbedEvent"><type>EphyEmbedEvent</type></link> which triggered this signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-document-type" role="signal"><title>The <literal>&quot;ge-document-type&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-document-type"><primary sortas="EphyEmbed::ge-document-type">EphyEmbed::ge-document-type</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link>            *embed,
                                                        <link linkend="EphyEmbedDocumentType">EphyEmbedDocumentType</link> type,
                                                        <link linkend="gpointer">gpointer</link>              user_data)      : Run First</programlisting>
<para>
The ::ge-document-type signal is emitted when <parameter>embed</parameter> determines the type of its document.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara> the new document type
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-dom-mouse-click" role="signal"><title>The <literal>&quot;ge-dom-mouse-click&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-dom-mouse-click"><primary sortas="EphyEmbed::ge-dom-mouse-click">EphyEmbed::ge-dom-mouse-click</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="GObject">GObject</link>   *event,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::ge_dom_mouse_click signal is emitted when the user clicks in <parameter>embed</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="EphyEmbedEvent"><type>EphyEmbedEvent</type></link> which triggered this signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-dom-mouse-down" role="signal"><title>The <literal>&quot;ge-dom-mouse-down&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-dom-mouse-down"><primary sortas="EphyEmbed::ge-dom-mouse-down">EphyEmbed::ge-dom-mouse-down</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="GObject">GObject</link>   *event,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::ge_dom_mouse_down signal is emitted when the user depresses a mouse
button.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="EphyEmbedEvent"><type>EphyEmbedEvent</type></link> which triggered this signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-favicon" role="signal"><title>The <literal>&quot;ge-favicon&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-favicon"><primary sortas="EphyEmbed::ge-favicon">EphyEmbed::ge-favicon</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gchar">gchar</link>     *address,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The ::ge_favicon signal is emitted when <parameter>embed</parameter> discovers that a favourite
icon (favicon) is available for the site it is visiting.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>address</parameter>&#160;:</term>
<listitem><simpara> the URL to <parameter>embed</parameter>'s web site's favicon
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-feed-link" role="signal"><title>The <literal>&quot;ge-feed-link&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-feed-link"><primary sortas="EphyEmbed::ge-feed-link">EphyEmbed::ge-feed-link</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gchar">gchar</link>     *type,
                                                        <link linkend="gchar">gchar</link>     *title,
                                                        <link linkend="gchar">gchar</link>     *address,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The ::ge_rss signal is emitted when <parameter>embed</parameter> discovers that a news feed
is available for the site it is visiting.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara> the mime-type of the news feed
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>title</parameter>&#160;:</term>
<listitem><simpara> the title of the news feed
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>address</parameter>&#160;:</term>
<listitem><simpara> the URL to <parameter>embed</parameter>'s web site's news feed
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-modal-alert" role="signal"><title>The <literal>&quot;ge-modal-alert&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-modal-alert"><primary sortas="EphyEmbed::ge-modal-alert">EphyEmbed::ge-modal-alert</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::ge-modal-alert signal is emitted when a DOM event will open a
modal alert.
</para>
<para>
Return <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to prevent the dialog from being opened.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-modal-alert-closed" role="signal"><title>The <literal>&quot;ge-modal-alert-closed&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-modal-alert-closed"><primary sortas="EphyEmbed::ge-modal-alert-closed">EphyEmbed::ge-modal-alert-closed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::ge-modal-alert-closed signal is emitted when a modal alert put up by a
DOM event was closed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-new-window" role="signal"><title>The <literal>&quot;ge-new-window&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-new-window"><primary sortas="EphyEmbed::ge-new-window">EphyEmbed::ge-new-window</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="GtkWidget">GtkWidget</link> *new_embed,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The ::ge_new_window signal is emitted after a new window has been opened by
the embed. For example, when a JavaScript popup window is opened.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>new_embed</parameter>&#160;:</term>
<listitem><simpara> the newly opened <link linkend="EphyEmbed"><type>EphyEmbed</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-popup-blocked" role="signal"><title>The <literal>&quot;ge-popup-blocked&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-popup-blocked"><primary sortas="EphyEmbed::ge-popup-blocked">EphyEmbed::ge-popup-blocked</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gchar">gchar</link>     *address,
                                                        <link linkend="gchar">gchar</link>     *target,
                                                        <link linkend="gchar">gchar</link>     *features,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The ::ge_popup_blocked signal is emitted when the viewed web page requests
a popup window (with javascript:<link linkend="open"><function>open()</function></link>) but popup windows are not allowed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>address</parameter>&#160;:</term>
<listitem><simpara> The requested URL
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>target</parameter>&#160;:</term>
<listitem><simpara> The requested window name, e.g. "_blank"
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>features</parameter>&#160;:</term>
<listitem><simpara> The requested features: for example, "height=400,width=200"
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-search-key-press" role="signal"><title>The <literal>&quot;ge-search-key-press&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-search-key-press"><primary sortas="EphyEmbed::ge-search-key-press">EphyEmbed::ge-search-key-press</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="GdkEvent">GdkEvent</link>  *event,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::ge-search-key-press signal is emitted for keypresses which
should be used for find implementations.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GdkEventKey"><type>GdkEventKey</type></link> which triggered this signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-search-link" role="signal"><title>The <literal>&quot;ge-search-link&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-search-link"><primary sortas="EphyEmbed::ge-search-link">EphyEmbed::ge-search-link</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gchar">gchar</link>     *type,
                                                        <link linkend="gchar">gchar</link>     *title,
                                                        <link linkend="gchar">gchar</link>     *address,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The ::ge_rss signal is emitted when <parameter>embed</parameter> discovers that a search
description is available for the site it is visiting.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara> the mime-type of the search description
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>title</parameter>&#160;:</term>
<listitem><simpara> the title of the news feed
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>address</parameter>&#160;:</term>
<listitem><simpara> the URL to <parameter>embed</parameter>'s web site's search description
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-ge-zoom-change" role="signal"><title>The <literal>&quot;ge-zoom-change&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-ge-zoom-change"><primary sortas="EphyEmbed::ge-zoom-change">EphyEmbed::ge-zoom-change</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gfloat">gfloat</link>     zoom,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::ge_zoom_change signal is emitted when <parameter>embed</parameter>'s zoom changes. This can
be manual (the user modified the zoom level) or automatic (<parameter>embed</parameter>'s zoom is
automatically changed when browsing to a new site for which the user
previously specified a zoom level).
</para>
<para>
A <parameter>zoom</parameter> value of 1.0 indicates 100% (normal zoom).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>zoom</parameter>&#160;:</term>
<listitem><simpara> <parameter>embed</parameter>'s new zoom level
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="EphyEmbed-new-document-now" role="signal"><title>The <literal>&quot;new-document-now&quot;</literal> signal</title>
<indexterm zone="EphyEmbed-new-document-now"><primary sortas="EphyEmbed::new-document-now">EphyEmbed::new-document-now</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="EphyEmbed">EphyEmbed</link> *embed,
                                                        <link linkend="gchar">gchar</link>     *uri,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
The ::new-document-now signal is emitted when a new page content
is being loaded into the browser. It's a good place to do view
related changes, for example to restore the zoom level of a page
or to set an user style sheet.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uri</parameter>&#160;:</term>
<listitem><simpara> URI of the new content
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>


<refsect1 id="EphyEmbed.see-also">
<title>See Also</title>
<para>
Using <link linkend="EphyEmbed"><type>EphyEmbed</type></link> instead of <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link> is good practice. However, using a
<link linkend="MozillaEmbed"><type>MozillaEmbed</type></link> or even a <link linkend="GtkMozEmbed"><type>GtkMozEmbed</type></link> may be necessary in certain cases (this can
be done by casting).
</para>
</refsect1>

</refentry>
