Index: content/utility/utility_thread_impl.cc |
diff --git a/content/utility/utility_thread_impl.cc b/content/utility/utility_thread_impl.cc |
index c979c91a2e756ca4b7b778457271aaee199aa018..d43e531e080c4822636361ec79240ae6fff855c6 100644 |
--- a/content/utility/utility_thread_impl.cc |
+++ b/content/utility/utility_thread_impl.cc |
@@ -44,13 +44,6 @@ UtilityThreadImpl::UtilityThreadImpl() |
webkit_platform_support_.reset(new content::WebKitPlatformSupportImpl); |
WebKit::initialize(webkit_platform_support_.get()); |
content::GetContentClient()->utility()->UtilityThreadStarted(); |
- |
- // On Linux, some plugins expect the browser to have loaded glib/gtk. Do that |
- // before attempting to call into the plugin. |
-#if defined(TOOLKIT_USES_GTK) |
- g_thread_init(NULL); |
- gfx::GtkInitFromCommandLine(*CommandLine::ForCurrentProcess()); |
-#endif |
} |
UtilityThreadImpl::~UtilityThreadImpl() { |
@@ -141,6 +134,14 @@ void UtilityThreadImpl::OnLoadPlugins( |
webkit::npapi::PluginList* plugin_list = |
webkit::npapi::PluginList::Singleton(); |
+ // On Linux, some plugins expect the browser to have loaded glib/gtk. Do that |
+ // before attempting to call into the plugin. |
+#if defined(TOOLKIT_USES_GTK) |
+ CHECK(!g_thread_get_initialized()); |
+ g_thread_init(NULL); |
+ gfx::GtkInitFromCommandLine(*CommandLine::ForCurrentProcess()); |
+#endif |
+ |
for (size_t i = 0; i < plugin_paths.size(); ++i) { |
ScopedVector<webkit::npapi::PluginGroup> plugin_groups; |
plugin_list->LoadPlugin(plugin_paths[i], &plugin_groups); |