Implemented the load-committed signal (fixes history)

This commit is contained in:
Pierre Pronchery 2009-04-05 00:44:06 +00:00
parent 24de22e685
commit dbd977adda

View File

@ -27,6 +27,8 @@ static WebKitWebView * _on_create_web_view(WebKitWebView * view,
WebKitWebFrame * frame, gpointer data); WebKitWebFrame * frame, gpointer data);
static void _on_hovering_over_link(WebKitWebView * view, const gchar * title, static void _on_hovering_over_link(WebKitWebView * view, const gchar * title,
const gchar * url, gpointer data); const gchar * url, gpointer data);
static void _on_load_committed(WebKitWebView * view, WebKitWebFrame * frame,
gpointer data);
static void _on_load_finished(WebKitWebView * view, WebKitWebFrame * frame, static void _on_load_finished(WebKitWebView * view, WebKitWebFrame * frame,
gpointer data); gpointer data);
static void _on_load_progress_changed(WebKitWebView * view, gint progress, static void _on_load_progress_changed(WebKitWebView * view, gint progress,
@ -62,6 +64,8 @@ GtkWidget * ghtml_new(Surfer * surfer)
_on_create_web_view), widget); _on_create_web_view), widget);
g_signal_connect(G_OBJECT(view), "hovering-over-link", G_CALLBACK( g_signal_connect(G_OBJECT(view), "hovering-over-link", G_CALLBACK(
_on_hovering_over_link), widget); _on_hovering_over_link), widget);
g_signal_connect(G_OBJECT(view), "load-committed", G_CALLBACK(
_on_load_committed), widget);
g_signal_connect(G_OBJECT(view), "load-finished", G_CALLBACK( g_signal_connect(G_OBJECT(view), "load-finished", G_CALLBACK(
_on_load_finished), widget); _on_load_finished), widget);
g_signal_connect(G_OBJECT(view), "load-progress-changed", G_CALLBACK( g_signal_connect(G_OBJECT(view), "load-progress-changed", G_CALLBACK(
@ -274,6 +278,19 @@ static void _on_hovering_over_link(WebKitWebView * view, const gchar * title,
} }
static void _on_load_committed(WebKitWebView * view, WebKitWebFrame * frame,
gpointer data)
{
Surfer * surfer;
char const * location;
surfer = g_object_get_data(G_OBJECT(data), "surfer");
if(frame == webkit_web_view_get_main_frame(view)
&& (location = webkit_web_frame_get_uri(frame)) != NULL)
surfer_set_location(surfer, location);
}
static void _on_load_finished(WebKitWebView * view, WebKitWebFrame * arg1, static void _on_load_finished(WebKitWebView * view, WebKitWebFrame * arg1,
gpointer data) gpointer data)
{ {