[Xfce4-commits] <midori:master> Remove link labels on navigation decision
Christian Dywan
noreply at xfce.org
Tue Apr 5 00:16:03 CEST 2011
Updating branch refs/heads/master
to 2460c161dda9665d02bb79909988c843289ccf15 (commit)
from 850438daeed99102be05711fffb8db805776c704 (commit)
commit 2460c161dda9665d02bb79909988c843289ccf15
Author: Alexander Friesen <a_06357 at fastmail.fm>
Date: Tue Apr 5 00:13:13 2011 +0200
Remove link labels on navigation decision
Otherwise stale labels can appear when going back
and forward which are not backed by the view.
midori/midori-view.c | 25 +++++++++++++++----------
1 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/midori/midori-view.c b/midori/midori-view.c
index 0280b26..750305f 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -967,6 +967,8 @@ midori_view_web_view_navigation_decision_cb (WebKitWebView* web_view
WebKitWebPolicyDecision* decision,
MidoriView* view)
{
+ JSContextRef js_context;
+ gchar* result;
const gchar* uri = webkit_network_request_get_uri (request);
if (g_str_has_prefix (uri, "mailto:") || sokoke_external_uri (uri))
{
@@ -978,6 +980,19 @@ midori_view_web_view_navigation_decision_cb (WebKitWebView* web_view
}
}
view->special = FALSE;
+
+ /* Remove link labels */
+ js_context = webkit_web_frame_get_global_context (web_frame);
+ result = sokoke_js_script_eval (js_context,
+ "var links = document.getElementsByClassName ('midoriHKD87346');"
+ "if (links != undefined && links.length > 0) {"
+ " for (var i = links.length - 1; i >= 0; i--) {"
+ " var parent = links[i].parentNode;"
+ " parent.removeChild(links[i]); } }",
+ NULL);
+ g_free (result);
+ view->find_links = -1;
+
return FALSE;
}
@@ -1927,17 +1942,7 @@ gtk_widget_key_press_event_cb (WebKitWebView* web_view,
g_signal_emit (view, signals[NEW_TAB], 0, result, background);
}
else
- {
- gchar* dummy = sokoke_js_script_eval (js_context,
- "var links = document.getElementsByClassName ('midoriHKD87346');"
- "for (var i = links.length - 1; i >= 0; i--) {"
- " var parent = links[i].parentNode;"
- " parent.removeChild(links[i]); }",
- NULL);
- g_free (dummy);
- view->find_links = -1;
midori_view_set_uri (view, result);
- }
}
g_free (script);
g_free (result);
More information about the Xfce4-commits
mailing list