Disable if MOZ_PLUGIN_PATH is / or MIDORI_UNARMED.
'MIDORI_UNARMED=1 _build_/default/midori/midori'
+To disable Netscape plugins, use MOZ_PLUGIN_PATH=/.
+
To debug extensions you can specify the path:
'export MIDORI_EXTENSION_PATH=_build_/default/extensions'
g_signal_connect (toolbar, "notify::toolbar-style",
G_CALLBACK (statusbar_features_toolbar_notify_toolbar_style_cb), button);
gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 2);
- button = katze_property_proxy (settings, "enable-plugins", "toggle");
- g_object_set_data (G_OBJECT (button), "feature-label", _("Netscape plugins"));
+ if (midori_web_settings_has_plugin_support ())
+ {
+ button = katze_property_proxy (settings, "enable-plugins", "toggle");
+ g_object_set_data (G_OBJECT (button), "feature-label", _("Netscape plugins"));
+ }
image = gtk_image_new_from_stock (STOCK_PLUGINS, GTK_ICON_SIZE_MENU);
gtk_button_set_image (GTK_BUTTON (button), image);
gtk_widget_set_tooltip_text (button, _("Enable Netscape plugins"));
}
/* Local shared objects/ Flash cookies */
+ if (midori_web_settings_has_plugin_support ())
+ {
#ifdef GDK_WINDOWING_X11
cache = g_build_filename (g_get_home_dir (), ".macromedia", "Flash_Player", NULL);
sokoke_remove_path (cache, TRUE);
sokoke_remove_path (cache, TRUE);
g_free (cache);
#endif
+ }
/* HTML5 databases */
webkit_remove_all_web_databases ();
static gchar* list_netscape_plugins ()
{
+ if (midori_web_settings_has_plugin_support ())
+ {
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);
"plugins (navigator.plugins)", NULL);
gchar** items = g_strsplit (value, ",", 0);
guint i = 0;
- GString* ns_plugins = g_string_new (NULL);
+ GString* ns_plugins = g_string_new ("<h2>Netscape Plugins:</h2><table>");
if (items != NULL)
while (items[i] != NULL)
{
}
if (g_str_has_prefix (value, "undefined"))
g_string_append (ns_plugins, "<tr><td>No plugins found</td></tr>");
+ g_string_append (ns_plugins, "</table>");
g_strfreev (items);
g_free (value);
gtk_widget_destroy (web_view);
return g_string_free (ns_plugins, FALSE);
+ }
+ else
+ return g_strdup ("");
}
static gchar*
"<tr><td>Identification</td><td>%s</td></tr>"
"<tr><td>Video Formats</td><td>%s</td></tr>"
"</table>"
- "<h2>Netscape Plugins:</h2><table>%s</table>"
+ "%s"
"</body></html>",
_("Version numbers in brackets show the version used at runtime."),
command_line,
"enable-plugins",
_("Enable Netscape plugins"),
_("Enable embedded Netscape plugin objects"),
- #ifdef G_OS_WIN32
- FALSE,
- G_PARAM_READABLE));
- #else
- TRUE,
- flags));
- #endif
+ midori_web_settings_has_plugin_support (),
+ midori_web_settings_has_plugin_support () ? flags : G_PARAM_READABLE));
/* Override properties to override defaults */
g_object_class_install_property (gobject_class,
PROP_ENABLE_DEVELOPER_EXTRAS,
G_OBJECT_CLASS (midori_web_settings_parent_class)->finalize (object);
}
+/**
+ * midori_web_settings_has_plugin_support:
+ *
+ * Determines if Netscape plugins are supported.
+ *
+ * Returns: %TRUE if Netscape plugins can be used
+ *
+ * Since: 0.4.4
+ **/
+gboolean
+midori_web_settings_has_plugin_support (void)
+{
+ #ifdef G_OS_WIN32
+ return FALSE;
+ #else
+ return g_getenv ("MIDORI_UNARMED") == NULL
+ && g_strcmp0 (g_getenv ("MOZ_PLUGIN_PATH"), "/");
+ #endif
+}
+
#if (!HAVE_OSX && defined (G_OS_UNIX)) || defined (G_OS_WIN32)
static gchar*
get_sys_name (gchar** architecture)
midori_web_settings_get_system_name (gchar** architecture,
gchar** platform);
+gboolean
+midori_web_settings_has_plugin_support (void);
+
G_END_DECLS
#endif /* __MIDORI_WEB_SETTINGS_H__ */