Abstract availability of Netscape plugin support
Disable if MOZ_PLUGIN_PATH is / or MIDORI_UNARMED.
This commit is contained in:
parent
9275a6cd24
commit
18b6b48ef5
6 changed files with 43 additions and 11 deletions
2
INSTALL
2
INSTALL
|
@ -67,6 +67,8 @@ If you want to "dry run" without WebKitGTK+ rendering, try this:
|
||||||
|
|
||||||
'MIDORI_UNARMED=1 _build_/default/midori/midori'
|
'MIDORI_UNARMED=1 _build_/default/midori/midori'
|
||||||
|
|
||||||
|
To disable Netscape plugins, use MOZ_PLUGIN_PATH=/.
|
||||||
|
|
||||||
To debug extensions you can specify the path:
|
To debug extensions you can specify the path:
|
||||||
|
|
||||||
'export MIDORI_EXTENSION_PATH=_build_/default/extensions'
|
'export MIDORI_EXTENSION_PATH=_build_/default/extensions'
|
||||||
|
|
|
@ -142,8 +142,11 @@ statusbar_features_app_add_browser_cb (MidoriApp* app,
|
||||||
g_signal_connect (toolbar, "notify::toolbar-style",
|
g_signal_connect (toolbar, "notify::toolbar-style",
|
||||||
G_CALLBACK (statusbar_features_toolbar_notify_toolbar_style_cb), button);
|
G_CALLBACK (statusbar_features_toolbar_notify_toolbar_style_cb), button);
|
||||||
gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 2);
|
gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 2);
|
||||||
|
if (midori_web_settings_has_plugin_support ())
|
||||||
|
{
|
||||||
button = katze_property_proxy (settings, "enable-plugins", "toggle");
|
button = katze_property_proxy (settings, "enable-plugins", "toggle");
|
||||||
g_object_set_data (G_OBJECT (button), "feature-label", _("Netscape plugins"));
|
g_object_set_data (G_OBJECT (button), "feature-label", _("Netscape plugins"));
|
||||||
|
}
|
||||||
image = gtk_image_new_from_stock (STOCK_PLUGINS, GTK_ICON_SIZE_MENU);
|
image = gtk_image_new_from_stock (STOCK_PLUGINS, GTK_ICON_SIZE_MENU);
|
||||||
gtk_button_set_image (GTK_BUTTON (button), image);
|
gtk_button_set_image (GTK_BUTTON (button), image);
|
||||||
gtk_widget_set_tooltip_text (button, _("Enable Netscape plugins"));
|
gtk_widget_set_tooltip_text (button, _("Enable Netscape plugins"));
|
||||||
|
|
|
@ -1743,6 +1743,8 @@ midori_clear_web_cookies_cb (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Local shared objects/ Flash cookies */
|
/* Local shared objects/ Flash cookies */
|
||||||
|
if (midori_web_settings_has_plugin_support ())
|
||||||
|
{
|
||||||
#ifdef GDK_WINDOWING_X11
|
#ifdef GDK_WINDOWING_X11
|
||||||
cache = g_build_filename (g_get_home_dir (), ".macromedia", "Flash_Player", NULL);
|
cache = g_build_filename (g_get_home_dir (), ".macromedia", "Flash_Player", NULL);
|
||||||
sokoke_remove_path (cache, TRUE);
|
sokoke_remove_path (cache, TRUE);
|
||||||
|
@ -1757,6 +1759,7 @@ midori_clear_web_cookies_cb (void)
|
||||||
sokoke_remove_path (cache, TRUE);
|
sokoke_remove_path (cache, TRUE);
|
||||||
g_free (cache);
|
g_free (cache);
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/* HTML5 databases */
|
/* HTML5 databases */
|
||||||
webkit_remove_all_web_databases ();
|
webkit_remove_all_web_databases ();
|
||||||
|
|
|
@ -3659,6 +3659,8 @@ midori_view_construct_web_view (MidoriView* view)
|
||||||
}
|
}
|
||||||
|
|
||||||
static gchar* list_netscape_plugins ()
|
static gchar* list_netscape_plugins ()
|
||||||
|
{
|
||||||
|
if (midori_web_settings_has_plugin_support ())
|
||||||
{
|
{
|
||||||
GtkWidget* web_view = webkit_web_view_new ();
|
GtkWidget* web_view = webkit_web_view_new ();
|
||||||
WebKitWebFrame* web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (web_view));
|
WebKitWebFrame* web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (web_view));
|
||||||
|
@ -3671,7 +3673,7 @@ static gchar* list_netscape_plugins ()
|
||||||
"plugins (navigator.plugins)", NULL);
|
"plugins (navigator.plugins)", NULL);
|
||||||
gchar** items = g_strsplit (value, ",", 0);
|
gchar** items = g_strsplit (value, ",", 0);
|
||||||
guint i = 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)
|
if (items != NULL)
|
||||||
while (items[i] != NULL)
|
while (items[i] != NULL)
|
||||||
{
|
{
|
||||||
|
@ -3689,11 +3691,15 @@ static gchar* list_netscape_plugins ()
|
||||||
}
|
}
|
||||||
if (g_str_has_prefix (value, "undefined"))
|
if (g_str_has_prefix (value, "undefined"))
|
||||||
g_string_append (ns_plugins, "<tr><td>No plugins found</td></tr>");
|
g_string_append (ns_plugins, "<tr><td>No plugins found</td></tr>");
|
||||||
|
g_string_append (ns_plugins, "</table>");
|
||||||
g_strfreev (items);
|
g_strfreev (items);
|
||||||
g_free (value);
|
g_free (value);
|
||||||
gtk_widget_destroy (web_view);
|
gtk_widget_destroy (web_view);
|
||||||
return g_string_free (ns_plugins, FALSE);
|
return g_string_free (ns_plugins, FALSE);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
return g_strdup ("");
|
||||||
|
}
|
||||||
|
|
||||||
static gchar*
|
static gchar*
|
||||||
list_video_formats ()
|
list_video_formats ()
|
||||||
|
@ -4022,7 +4028,7 @@ midori_view_set_uri (MidoriView* view,
|
||||||
"<tr><td>Identification</td><td>%s</td></tr>"
|
"<tr><td>Identification</td><td>%s</td></tr>"
|
||||||
"<tr><td>Video Formats</td><td>%s</td></tr>"
|
"<tr><td>Video Formats</td><td>%s</td></tr>"
|
||||||
"</table>"
|
"</table>"
|
||||||
"<h2>Netscape Plugins:</h2><table>%s</table>"
|
"%s"
|
||||||
"</body></html>",
|
"</body></html>",
|
||||||
_("Version numbers in brackets show the version used at runtime."),
|
_("Version numbers in brackets show the version used at runtime."),
|
||||||
command_line,
|
command_line,
|
||||||
|
|
|
@ -728,13 +728,8 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
||||||
"enable-plugins",
|
"enable-plugins",
|
||||||
_("Enable Netscape plugins"),
|
_("Enable Netscape plugins"),
|
||||||
_("Enable embedded Netscape plugin objects"),
|
_("Enable embedded Netscape plugin objects"),
|
||||||
#ifdef G_OS_WIN32
|
midori_web_settings_has_plugin_support (),
|
||||||
FALSE,
|
midori_web_settings_has_plugin_support () ? flags : G_PARAM_READABLE));
|
||||||
G_PARAM_READABLE));
|
|
||||||
#else
|
|
||||||
TRUE,
|
|
||||||
flags));
|
|
||||||
#endif
|
|
||||||
/* Override properties to override defaults */
|
/* Override properties to override defaults */
|
||||||
g_object_class_install_property (gobject_class,
|
g_object_class_install_property (gobject_class,
|
||||||
PROP_ENABLE_DEVELOPER_EXTRAS,
|
PROP_ENABLE_DEVELOPER_EXTRAS,
|
||||||
|
@ -1191,6 +1186,26 @@ midori_web_settings_finalize (GObject* object)
|
||||||
G_OBJECT_CLASS (midori_web_settings_parent_class)->finalize (object);
|
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)
|
#if (!HAVE_OSX && defined (G_OS_UNIX)) || defined (G_OS_WIN32)
|
||||||
static gchar*
|
static gchar*
|
||||||
get_sys_name (gchar** architecture)
|
get_sys_name (gchar** architecture)
|
||||||
|
|
|
@ -173,6 +173,9 @@ const gchar*
|
||||||
midori_web_settings_get_system_name (gchar** architecture,
|
midori_web_settings_get_system_name (gchar** architecture,
|
||||||
gchar** platform);
|
gchar** platform);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
midori_web_settings_has_plugin_support (void);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __MIDORI_WEB_SETTINGS_H__ */
|
#endif /* __MIDORI_WEB_SETTINGS_H__ */
|
||||||
|
|
Loading…
Reference in a new issue