diff options
-rw-r--r-- | src/callbacks.c | 66 | ||||
-rw-r--r-- | src/callbacks.h | 10 | ||||
-rw-r--r-- | src/uzbl-core.c | 8 |
3 files changed, 37 insertions, 47 deletions
diff --git a/src/callbacks.c b/src/callbacks.c index aea5c43..0cfa7f4 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -408,17 +408,43 @@ title_change_cb (WebKitWebView* web_view, GParamSpec param_spec) { } void -progress_change_cb (WebKitWebView* page, gint progress, gpointer data) { - (void) page; - (void) data; - gchar *prg_str; - - prg_str = itos(progress); +progress_change_cb (WebKitWebView* web_view, GParamSpec param_spec) { + (void) param_spec; + int progress = webkit_web_view_get_progress(web_view) * 100; + gchar *prg_str = itos(progress); send_event(LOAD_PROGRESS, prg_str, NULL); g_free(prg_str); } void +load_status_change_cb (WebKitWebView* web_view, GParamSpec param_spec) { + (void) param_spec; + + WebKitWebFrame *frame = webkit_web_view_get_main_frame(web_view); + WebKitLoadStatus status = webkit_web_view_get_load_status(web_view); + switch(status) { + case WEBKIT_LOAD_PROVISIONAL: + send_event(LOAD_START, uzbl.state.uri, NULL); + break; + case WEBKIT_LOAD_COMMITTED: + g_free (uzbl.state.uri); + GString* newuri = g_string_new (webkit_web_frame_get_uri (frame)); + uzbl.state.uri = g_string_free (newuri, FALSE); + + send_event(LOAD_COMMIT, webkit_web_frame_get_uri (frame), NULL); + break; + case WEBKIT_LOAD_FINISHED: + send_event(LOAD_FINISH, webkit_web_frame_get_uri(frame), NULL); + break; + case WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT: + break; /* we don't do anything with this (yet) */ + case WEBKIT_LOAD_FAILED: + break; /* load_error_cb will handle this case */ + } + +} + +void selection_changed_cb(WebKitWebView *webkitwebview, gpointer ud) { (void)ud; gchar *tmp; @@ -430,23 +456,6 @@ selection_changed_cb(WebKitWebView *webkitwebview, gpointer ud) { } void -load_finish_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data) { - (void) page; - (void) data; - - send_event(LOAD_FINISH, webkit_web_frame_get_uri(frame), NULL); -} - -void -load_start_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data) { - (void) page; - (void) frame; - (void) data; - - send_event(LOAD_START, uzbl.state.uri, NULL); -} - -void load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer web_err, gpointer ud) { (void) page; (void) frame; @@ -460,17 +469,6 @@ load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer } void -load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data) { - (void) page; - (void) data; - g_free (uzbl.state.uri); - GString* newuri = g_string_new (webkit_web_frame_get_uri (frame)); - uzbl.state.uri = g_string_free (newuri, FALSE); - - send_event(LOAD_COMMIT, webkit_web_frame_get_uri (frame), NULL); -} - -void destroy_cb (GtkWidget* widget, gpointer data) { (void) widget; (void) data; diff --git a/src/callbacks.h b/src/callbacks.h index a2862f4..1f03f36 100644 --- a/src/callbacks.h +++ b/src/callbacks.h @@ -146,16 +146,10 @@ void title_change_cb (WebKitWebView* web_view, GParamSpec param_spec); void -progress_change_cb (WebKitWebView* page, gint progress, gpointer data); +progress_change_cb (WebKitWebView* web_view, GParamSpec param_spec); void -load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data); - -void -load_start_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data); - -void -load_finish_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data); +load_status_change_cb (WebKitWebView* web_view, GParamSpec param_spec); void load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer web_err, gpointer ud); diff --git a/src/uzbl-core.c b/src/uzbl-core.c index 6e72c32..6b120d0 100644 --- a/src/uzbl-core.c +++ b/src/uzbl-core.c @@ -1956,12 +1956,10 @@ create_browser () { "signal::button-press-event", (GCallback)button_press_cb, NULL, "signal::button-release-event", (GCallback)button_release_cb, NULL, "signal::motion-notify-event", (GCallback)motion_notify_cb, NULL, - "signal::title-changed", (GCallback)title_change_cb, NULL, + "signal::notify::title", (GCallback)title_change_cb, NULL, "signal::selection-changed", (GCallback)selection_changed_cb, NULL, - "signal::load-progress-changed", (GCallback)progress_change_cb, NULL, - "signal::load-committed", (GCallback)load_commit_cb, NULL, - "signal::load-started", (GCallback)load_start_cb, NULL, - "signal::load-finished", (GCallback)load_finish_cb, NULL, + "signal::notify::progress", (GCallback)progress_change_cb, NULL, + "signal::notify::load-status", (GCallback)load_status_change_cb, NULL, "signal::load-error", (GCallback)load_error_cb, NULL, "signal::hovering-over-link", (GCallback)link_hover_cb, NULL, "signal::navigation-policy-decision-requested", (GCallback)navigation_decision_cb, NULL, |