aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/callbacks.c66
-rw-r--r--src/callbacks.h10
-rw-r--r--src/uzbl-core.c8
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,