Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Unified Diff: webkit/glue/plugins/plugin_list.cc

Issue 5783005: PluginList: Unit tests and bugfixes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix a few details Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/glue/plugins/plugin_list.cc
diff --git a/webkit/glue/plugins/plugin_list.cc b/webkit/glue/plugins/plugin_list.cc
index 60ec567c18d618f8633c02536f77907ac17abcb5..78cf51661ad0b36f52e8d237acba7055f472b1b6 100644
--- a/webkit/glue/plugins/plugin_list.cc
+++ b/webkit/glue/plugins/plugin_list.cc
@@ -470,7 +470,6 @@ void PluginList::GetPlugins(bool refresh, std::vector<WebPluginInfo>* plugins) {
void PluginList::GetEnabledPlugins(bool refresh,
std::vector<WebPluginInfo>* plugins) {
LoadPlugins(refresh);
-
plugins->clear();
AutoLock lock(lock_);
for (std::vector<WebPluginInfo*>::const_iterator it = plugins_.begin();
@@ -607,10 +606,12 @@ void PluginList::GetPluginGroups(
std::vector<PluginGroup>* plugin_groups) {
if (load_if_necessary)
LoadPlugins(false);
+ AutoLock lock(lock_);
plugin_groups->clear();
for (PluginGroup::PluginMap::const_iterator it = plugin_groups_.begin();
it != plugin_groups_.end(); ++it) {
- plugin_groups->push_back(*it->second);
+ if (!it->second->IsEmpty())
+ plugin_groups->push_back(*it->second);
}
}
@@ -641,6 +642,7 @@ void PluginList::AddHardcodedPluginGroups() {
for (size_t i = 0; i < GetPluginGroupDefinitionsSize(); ++i) {
PluginGroup* definition_group = PluginGroup::FromPluginGroupDefinition(
definitions[i]);
+ PostInitPluginGroup(definition_group);
std::string identifier = definition_group->identifier();
DCHECK(plugin_groups_.find(identifier) == plugin_groups_.end());
plugin_groups_.insert(std::make_pair(identifier, definition_group));
@@ -657,6 +659,7 @@ PluginGroup* PluginList::AddToPluginGroups(
}
if (!group) {
group = PluginGroup::FromWebPluginInfo(web_plugin_info);
+ PostInitPluginGroup(group);
std::string identifier = group->identifier();
// If the identifier is not unique, use the full path. This means that we
// probably won't be able to search for this group by identifier, but at

Powered by Google App Engine
This is Rietveld 408576698