| 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();
 | 
|  }
 | 
| 
 |