Index: chrome/browser/plugins/plugin_prefs.cc |
diff --git a/chrome/browser/plugins/plugin_prefs.cc b/chrome/browser/plugins/plugin_prefs.cc |
index 97dcf993ea7efe82fd659b7221d5a93f9726edfd..ad57001712095fa145d5296d8e832a7422919e71 100644 |
--- a/chrome/browser/plugins/plugin_prefs.cc |
+++ b/chrome/browser/plugins/plugin_prefs.cc |
@@ -280,6 +280,11 @@ void PluginPrefs::UpdatePatternsAndNotify(std::set<base::string16>* patterns, |
NotifyPluginStatusChanged(); |
} |
+void PluginPrefs::EnableNpapi() { |
+ PluginService::GetInstance()->EnableNpapiPlugins(); |
+ NotifyPluginStatusChanged(); |
+} |
+ |
/*static*/ |
bool PluginPrefs::IsStringMatchedInSet( |
const base::string16& name, |
@@ -486,6 +491,9 @@ void PluginPrefs::SetPrefs(PrefService* prefs) { |
ListValueToStringSet(prefs_->GetList(prefs::kPluginsEnabledPlugins), |
&policy_enabled_plugin_patterns_); |
+ if (prefs_->GetBoolean(prefs::kEnableNpapi)) |
+ EnableNpapi(); |
+ |
registrar_.Init(prefs_); |
// Because pointers to our own members will remain unchanged for the |
@@ -504,6 +512,9 @@ void PluginPrefs::SetPrefs(PrefService* prefs) { |
base::Bind(&PluginPrefs::UpdatePatternsAndNotify, |
base::Unretained(this), |
&policy_enabled_plugin_patterns_)); |
+ registrar_.Add(prefs::kEnableNpapi, |
+ base::Bind(&PluginPrefs::EnableNpapi, |
+ base::Unretained(this))); |
NotifyPluginStatusChanged(); |
} |