diff --git a/midori/midori-view.c b/midori/midori-view.c index e928f4a1..6ede1e3d 100644 --- a/midori/midori-view.c +++ b/midori/midori-view.c @@ -3914,6 +3914,45 @@ midori_view_set_uri (MidoriView* view, g_free (ident); g_free (sys_name); } + else if (!strcmp (uri, "about:plugins")) + { + GtkWidget* web_view = webkit_web_view_new (); + WebKitWebFrame* web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (web_view)); + JSContextRef js_context = webkit_web_frame_get_global_context (web_frame); + /* This snippet joins the available plugins into a string like this: + URI1|title1,URI2|title2 */ + gchar* value = sokoke_js_script_eval (js_context, + "function plugins (l) { var f = new Array (); for (i in l) " + "{ var p = l[i].name + '|' + l[i].filename; " + "if (f.indexOf (p) == -1) f.push (p); } return f; }" + "plugins (navigator.plugins)", NULL); + gchar** items = g_strsplit (value, ",", 0); + guint i = 0; + GString* ns_plugins = g_string_new ( + "