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

Unified Diff: chrome/browser/plugin_updater.cc

Issue 5699005: Policy: Re-enabled plugin still disabled (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make windows compiler even happier. 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: chrome/browser/plugin_updater.cc
diff --git a/chrome/browser/plugin_updater.cc b/chrome/browser/plugin_updater.cc
index 40f3be1ec48c20c2e04b21a989f870a84cafeda7..5321e61194c527f1dcb67dc51290579451c7e7ff 100644
--- a/chrome/browser/plugin_updater.cc
+++ b/chrome/browser/plugin_updater.cc
@@ -63,13 +63,14 @@ void PluginUpdater::EnablePluginGroup(bool enable, const string16& group_name) {
NotifyPluginStatusChanged();
}
-void PluginUpdater::EnablePluginFile(bool enable,
- const FilePath::StringType& path) {
+void PluginUpdater::EnablePlugin(bool enable,
+ const FilePath::StringType& path,
+ const string16& name) {
FilePath file_path(path);
- if (enable && !PluginGroup::IsPluginPathDisabledByPolicy(file_path))
- NPAPI::PluginList::Singleton()->EnablePlugin(file_path);
+ if (enable)
+ NPAPI::PluginList::Singleton()->EnablePlugin(file_path, name);
else
- NPAPI::PluginList::Singleton()->DisablePlugin(file_path);
+ NPAPI::PluginList::Singleton()->DisablePlugin(file_path, name);
NotifyPluginStatusChanged();
}
@@ -189,8 +190,11 @@ void PluginUpdater::DisablePluginGroupsFromPrefs(Profile* profile) {
}
}
}
- if (!enabled)
- NPAPI::PluginList::Singleton()->DisablePlugin(plugin_path);
+ if (!enabled) {
+ string16 name;
+ plugin->GetString("name", &name);
+ NPAPI::PluginList::Singleton()->DisablePlugin(plugin_path, name);
+ }
} else if (!enabled && plugin->GetString("name", &group_name)) {
// Don't disable this group if it's for the pdf plugin and we just
// forced it on.
@@ -213,7 +217,7 @@ void PluginUpdater::DisablePluginGroupsFromPrefs(Profile* profile) {
!force_internal_pdf_for_this_run) {
// The internal PDF plugin is disabled by default, and the user hasn't
// overridden the default.
- NPAPI::PluginList::Singleton()->DisablePlugin(pdf_path);
+ NPAPI::PluginList::Singleton()->DisablePlugin(pdf_path, pdf_group_name);
EnablePluginGroup(false, pdf_group_name);
}
@@ -246,9 +250,9 @@ void PluginUpdater::GetPreferencesDataOnFileThread(void* profile) {
BrowserThread::PostTask(
BrowserThread::UI,
FROM_HERE,
- NewRunnableFunction(
- &PluginUpdater::OnUpdatePreferences,
- static_cast<Profile*>(profile), plugins, groups));
+ NewRunnableFunction(&PluginUpdater::OnUpdatePreferences,
+ static_cast<Profile*>(profile),
+ plugins, groups));
}
void PluginUpdater::OnUpdatePreferences(
@@ -268,12 +272,25 @@ void PluginUpdater::OnUpdatePreferences(
for (std::vector<WebPluginInfo>::const_iterator it = plugins.begin();
it != plugins.end();
++it) {
- plugins_list->Append(CreatePluginFileSummary(*it));
+ DictionaryValue* summary = CreatePluginFileSummary(*it);
+ // If the plugin is disabled only by policy don't store this state in the
+ // user pref store.
+ if (!it->IsEnabled() && it->reason == WebPluginInfo::MANAGED)
+ summary->SetBoolean("enabled", true);
+ plugins_list->Append(summary);
}
// Add the groups as well.
- for (size_t i = 0; i < groups.size(); ++i) {
- plugins_list->Append(groups[i].GetSummary());
+ for (std::vector<PluginGroup>::const_iterator it = groups.begin();
jam 2010/12/17 19:14:45 the old code using a size_t instead of an iterator
pastarmovj 2010/12/20 19:57:37 Done.
+ it != groups.end();
+ ++it) {
+ DictionaryValue* summary = it->GetSummary();
+ // If the plugin is disabled only by policy don't store this state in the
+ // user pref store.
+ if (!it->Enabled() &&
+ PluginGroup::IsPluginNameDisabledByPolicy(it->GetGroupName()))
+ summary->SetBoolean("enabled", true);
+ plugins_list->Append(summary);
}
}

Powered by Google App Engine
This is Rietveld 408576698