summaryrefslogtreecommitdiffstats
path: root/content/utility
diff options
context:
space:
mode:
Diffstat (limited to 'content/utility')
-rw-r--r--content/utility/utility_thread_impl.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/content/utility/utility_thread_impl.cc b/content/utility/utility_thread_impl.cc
index c979c91..d43e531 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);