Exemplo n.º 1
0
void WebBrowserObject::BrowserData(const char *data)
{
    if (data) {
       gtk_moz_embed_open_stream(GTK_MOZ_EMBED(mozilla), "file://", "text/html");
       gtk_moz_embed_append_data(GTK_MOZ_EMBED(mozilla), data, strlen(data));
       gtk_moz_embed_close_stream(GTK_MOZ_EMBED(mozilla));
    }
}
Exemplo n.º 2
0
static gboolean
impl_open_stream (GaleonEmbed *embed,
                  const char *base_uri,
                  const char *mime_type)
{
	gtk_moz_embed_open_stream (GTK_MOZ_EMBED(embed),
				   base_uri, mime_type);
	
	return TRUE;
}
Exemplo n.º 3
0
void
stream_clicked_cb  (GtkButton   *button, TestGtkBrowser *browser)
{
    const char *data;
    const char *data2;
    data = "<html>Hi";
    data2 = " there</html>\n";
    g_print("stream_clicked_cb\n");
    gtk_moz_embed_open_stream(GTK_MOZ_EMBED(browser->mozEmbed),
                              "file://", "text/html");
    gtk_moz_embed_append_data(GTK_MOZ_EMBED(browser->mozEmbed),
                              data, strlen(data));
    gtk_moz_embed_append_data(GTK_MOZ_EMBED(browser->mozEmbed),
                              data2, strlen(data2));
    gtk_moz_embed_close_stream(GTK_MOZ_EMBED(browser->mozEmbed));
}
Exemplo n.º 4
0
void
menu_stream_cb     (GtkMenuItem *menuitem, TestGtkBrowser *browser)
{
    g_print("menu_stream_cb\n");
    const char *data;
    const char *data2;
    data = "<html>Hi";
    data2 = " <a href='foo.html'>there</a></html>\n";
    g_print("stream_clicked_cb\n");
    gtk_moz_embed_open_stream(GTK_MOZ_EMBED(browser->mozEmbed),
                              "file://", "text/html");
    gtk_moz_embed_append_data(GTK_MOZ_EMBED(browser->mozEmbed),
                              data, strlen(data));
    gtk_moz_embed_append_data(GTK_MOZ_EMBED(browser->mozEmbed),
                              data2, strlen(data2));
    gtk_moz_embed_close_stream(GTK_MOZ_EMBED(browser->mozEmbed));
}
/// Renders HTML held in a buffer.
bool MozillaRenderer::renderData(const char *data, unsigned int length, const string &baseUrl)
{
	if ((m_htmlWidget == NULL) ||
		(data == NULL) ||
		(length == 0))
	{
		return false;
	}

#ifdef DEBUG
	cout << "MozillaRenderer::renderData: data length " << strlen(data) << "/" << length << " at " << baseUrl << endl;
#endif
	gtk_moz_embed_open_stream(GTK_MOZ_EMBED(m_htmlWidget), baseUrl.c_str(), "text/html");
	// Append data to stream in medium-sized chunks
	const char *where = data;
	unsigned int total = length, chunk = 0;
	while (total > 0)
	{
		if (total > 15000)
		{
			chunk = 15000;
		}
		else
		{
			chunk = total;
		}
#ifdef DEBUG
		cout << "MozillaRenderer::renderData: appending " << chunk << " to stream" << endl;
#endif
		gtk_moz_embed_append_data(GTK_MOZ_EMBED(m_htmlWidget), where, chunk);

		where += chunk;
		total = total - chunk;
	}
	gtk_moz_embed_close_stream(GTK_MOZ_EMBED(m_htmlWidget));
	m_rendering = true;

	return true;
}