[epiphany] Port hovering over link to WebKit2



commit d87fd5e750f7c5eafd7512ba0e9e15363a00be6f
Author: Carlos Garcia Campos <cgarcia igalia com>
Date:   Fri Jun 22 09:28:31 2012 +0200

    Port hovering over link to WebKit2
    
    https://bugzilla.gnome.org/show_bug.cgi?id=678599

 embed/ephy-embed.c    |    5 -----
 embed/ephy-web-view.c |   18 ++++++++++++++++--
 2 files changed, 16 insertions(+), 7 deletions(-)
---
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 6cff6c0..8c0fa53 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -848,14 +848,9 @@ ephy_embed_constructed (GObject *object)
                     NULL);
 #endif
 
-#ifdef HAVE_WEBKIT2
-  /* TODO: status message? */
-#else
   priv->status_handler_id = g_signal_connect (web_view, "notify::status-message",
                                               G_CALLBACK (status_message_notify_cb),
                                               embed);
-#endif
-
 #ifdef HAVE_WEBKIT2
   /* Window properties */
   window_properties = webkit_web_view_get_window_properties (web_view);
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index acf9751..d62c5df 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -1204,7 +1204,19 @@ uri_changed_cb (WebKitWebView *web_view,
 }
 
 #ifdef HAVE_WEBKIT2
-/* TODO: Mouse target changed */
+static void
+mouse_target_changed_cb (EphyWebView *web_view,
+                         WebKitHitTestResult *hit_test_result,
+                         guint modifiers,
+                         gpointer data)
+{
+  const char *message = NULL;
+
+  if (webkit_hit_test_result_context_is_link (hit_test_result))
+    message = webkit_hit_test_result_get_link_uri (hit_test_result);
+
+  ephy_web_view_set_link_message (web_view, message);
+}
 #else
 static void
 hovering_over_link_cb (EphyWebView *web_view,
@@ -2700,7 +2712,9 @@ ephy_web_view_init (EphyWebView *web_view)
                     NULL);
 
 #ifdef HAVE_WEBKIT2
-  /* TODO: Mouse target changed */
+  g_signal_connect (web_view, "mouse-target-changed",
+                    G_CALLBACK (mouse_target_changed_cb),
+                    NULL);
 #else
   g_signal_connect (web_view, "hovering-over-link",
                     G_CALLBACK (hovering_over_link_cb),



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]