diff options
Diffstat (limited to 'content/utility')
-rw-r--r-- | content/utility/utility_thread_impl.cc | 15 |
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); |