[Xfce4-commits] <midori:master> Implement mouse movement, load-failed, crashed in WebKit2
Christian Dywan
noreply at xfce.org
Tue Mar 26 08:18:06 CET 2013
Updating branch refs/heads/master
to 15f43889607f1261fc031bcaf2aa844787bb2bd6 (commit)
from da9c0452c1ed92d7f08e5ec224dc80c6280cb941 (commit)
commit 15f43889607f1261fc031bcaf2aa844787bb2bd6
Author: Christian Dywan <christian at twotoasts.de>
Date: Tue Mar 26 08:11:07 2013 +0100
Implement mouse movement, load-failed, crashed in WebKit2
midori/midori-view.c | 57 ++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 46 insertions(+), 11 deletions(-)
diff --git a/midori/midori-view.c b/midori/midori-view.c
index b8094c3..4b4ce28 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -1332,10 +1332,13 @@ midori_view_display_error (MidoriView* view,
return FALSE;
}
-#ifndef HAVE_WEBKIT2
static gboolean
webkit_web_view_load_error_cb (WebKitWebView* web_view,
+#ifdef HAVE_WEBKIT2
+ WebKitLoadEvent load_event,
+#else
WebKitWebFrame* web_frame,
+#endif
const gchar* uri,
GError* error,
MidoriView* view)
@@ -1389,7 +1392,6 @@ midori_view_apply_scroll_position (MidoriView* view)
view->scrollv = -3;
}
}
-#endif
static void
midori_view_load_finished (MidoriView* view)
@@ -1497,6 +1499,18 @@ midori_view_load_finished (MidoriView* view)
#ifdef HAVE_WEBKIT2
static void
+midori_view_web_view_crashed_cb (WebKitWebView* web_view,
+ MidoriView* view)
+{
+ title = g_strdup_printf (_("Oops - %s"), uri);
+ message = g_strdup_printf (_("Something went wrong with '%s'."), uri);
+ result = midori_view_display_error (view, uri, title,
+ message, error->message, _("Try again"), web_frame);
+ g_free (message);
+ g_free (title);
+}
+
+static void
midori_view_web_view_load_changed_cb (WebKitWebView* web_view,
WebKitLoadEvent load_event,
MidoriView* view)
@@ -1563,7 +1577,9 @@ midori_web_view_notify_icon_uri_cb (WebKitWebView* web_view,
GParamSpec* pspec,
MidoriView* view)
{
-#ifndef HAVE_WEBKIT2
+#ifdef HAVE_WEBKIT2
+ /* TODO */
+#else
const gchar* icon_uri = webkit_web_view_get_icon_uri (web_view);
katze_assign (view->icon_uri, g_strdup (icon_uri));
_midori_web_view_load_icon (view);
@@ -1607,11 +1623,22 @@ midori_view_web_view_leave_notify_event_cb (WebKitWebView* web_view,
}
static void
-webkit_web_view_hovering_over_link_cb (WebKitWebView* web_view,
- const gchar* tooltip,
- const gchar* link_uri,
- MidoriView* view)
+webkit_web_view_hovering_over_link_cb (WebKitWebView* web_view,
+ #ifdef HAVE_WEBKIT2
+ WebKitHitTestResult* hit_test_result,
+ guint modifiers,
+ #else
+ const gchar* tooltip,
+ const gchar* link_uri,
+ #endif
+ MidoriView* view)
{
+ #ifdef HAVE_WEBKIT2
+ if (!webkit_hit_test_result_context_is_link (hit_test_result))
+ return;
+ const gchar* message = webkit_hit_test_result_get_link_uri (hit_test_result);
+ #endif
+
#if !(WEBKIT_CHECK_VERSION (1, 3, 1) && defined (HAVE_LIBSOUP_2_29_91))
sokoke_prefetch_uri (view->settings, link_uri, NULL, NULL);
#endif
@@ -3705,10 +3732,18 @@ midori_view_constructor (GType type,
view->web_view = GTK_WIDGET (midori_tab_get_web_view (MIDORI_TAB (view)));
g_object_connect (view->web_view,
#ifdef HAVE_WEBKIT2
+ "signal::web-process-crashed",
+ midori_view_web_view_crashed_cb, view,
+ "signal::load-failed",
+ webkit_web_view_load_error_cb, view,
"signal::load-changed",
midori_view_web_view_load_changed_cb, view,
"signal::notify::estimated-load-progress",
webkit_web_view_progress_changed_cb, view,
+ "signal::notify::favicon",
+ midori_web_view_notify_favicon_uri_cb, view,
+ "signal::mouse-target-changed",
+ webkit_web_view_hovering_over_link_cb, view,
#else
"signal::notify::load-status",
midori_view_web_view_notify_load_status_cb, view,
@@ -3736,12 +3771,14 @@ midori_view_constructor (GType type,
"signal::geolocation-policy-decision-requested",
midori_view_web_view_geolocation_decision_cb, view,
#endif
- #endif
-
#if WEBKIT_CHECK_VERSION (1, 1, 18)
"signal::notify::icon-uri",
midori_web_view_notify_icon_uri_cb, view,
#endif
+ "signal::hovering-over-link",
+ webkit_web_view_hovering_over_link_cb, view,
+ #endif
+
"signal::notify::uri",
webkit_web_view_notify_uri_cb, view,
"signal::notify::title",
@@ -3750,8 +3787,6 @@ midori_view_constructor (GType type,
webkit_web_view_statusbar_text_changed_cb, view,
"signal::leave-notify-event",
midori_view_web_view_leave_notify_event_cb, view,
- "signal::hovering-over-link",
- webkit_web_view_hovering_over_link_cb, view,
"signal::button-press-event",
midori_view_web_view_button_press_event_cb, view,
"signal::button-release-event",
More information about the Xfce4-commits
mailing list