summaryrefslogtreecommitdiffstats
path: root/content/utility/utility_thread_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/utility/utility_thread_impl.cc')
-rw-r--r--content/utility/utility_thread_impl.cc19
1 files changed, 11 insertions, 8 deletions
diff --git a/content/utility/utility_thread_impl.cc b/content/utility/utility_thread_impl.cc
index f1f7cc8..6b841aa 100644
--- a/content/utility/utility_thread_impl.cc
+++ b/content/utility/utility_thread_impl.cc
@@ -143,16 +143,19 @@ void UtilityThreadImpl::OnLoadPlugins(
}
#endif
- ScopedVector<webkit::npapi::PluginGroup> plugin_groups;
- // TODO(bauerb): If we restart loading plug-ins, we might mess up the logic in
- // PluginList::ShouldLoadPlugin due to missing the previously loaded plug-ins
- // in |plugin_groups|.
for (size_t i = 0; i < plugin_paths.size(); ++i) {
- webkit::WebPluginInfo plugin;
- if (!plugin_list->LoadPlugin(plugin_paths[i], &plugin_groups, &plugin))
+ ScopedVector<webkit::npapi::PluginGroup> plugin_groups;
+ plugin_list->LoadPlugin(plugin_paths[i], &plugin_groups);
+
+ if (plugin_groups.empty()) {
Send(new UtilityHostMsg_LoadPluginFailed(i, plugin_paths[i]));
- else
- Send(new UtilityHostMsg_LoadedPlugin(i, plugin));
+ continue;
+ }
+
+ const webkit::npapi::PluginGroup* group = plugin_groups[0];
+ DCHECK_EQ(group->web_plugin_infos().size(), 1u);
+
+ Send(new UtilityHostMsg_LoadedPlugin(i, group->web_plugin_infos().front()));
}
ReleaseProcessIfNeeded();