| OLD | NEW | 
|    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "chrome/browser/extensions/api/preference/preference_api.h" |    5 #include "chrome/browser/extensions/api/preference/preference_api.h" | 
|    6  |    6  | 
|    7 #include <map> |    7 #include <map> | 
|    8 #include <utility> |    8 #include <utility> | 
|    9  |    9  | 
|   10 #include "base/memory/singleton.h" |   10 #include "base/memory/singleton.h" | 
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  239   DISALLOW_COPY_AND_ASSIGN(PrefMapping); |  239   DISALLOW_COPY_AND_ASSIGN(PrefMapping); | 
|  240 }; |  240 }; | 
|  241  |  241  | 
|  242 }  // namespace |  242 }  // namespace | 
|  243  |  243  | 
|  244 PreferenceEventRouter::PreferenceEventRouter(Profile* profile) |  244 PreferenceEventRouter::PreferenceEventRouter(Profile* profile) | 
|  245     : profile_(profile) { |  245     : profile_(profile) { | 
|  246   registrar_.Init(profile_->GetPrefs()); |  246   registrar_.Init(profile_->GetPrefs()); | 
|  247   incognito_registrar_.Init(profile_->GetOffTheRecordPrefs()); |  247   incognito_registrar_.Init(profile_->GetOffTheRecordPrefs()); | 
|  248   for (size_t i = 0; i < arraysize(kPrefMapping); ++i) { |  248   for (size_t i = 0; i < arraysize(kPrefMapping); ++i) { | 
|  249     registrar_.Add(kPrefMapping[i].browser_pref, this); |  249     registrar_.Add(kPrefMapping[i].browser_pref, | 
|  250     incognito_registrar_.Add(kPrefMapping[i].browser_pref, this); |  250                    base::Bind(&PreferenceEventRouter::OnPrefChanged, | 
 |  251                               base::Unretained(this), | 
 |  252                               registrar_.prefs())); | 
 |  253     incognito_registrar_.Add(kPrefMapping[i].browser_pref, | 
 |  254                              base::Bind(&PreferenceEventRouter::OnPrefChanged, | 
 |  255                                         base::Unretained(this), | 
 |  256                                         incognito_registrar_.prefs())); | 
|  251   } |  257   } | 
|  252 } |  258 } | 
|  253  |  259  | 
|  254 PreferenceEventRouter::~PreferenceEventRouter() { } |  260 PreferenceEventRouter::~PreferenceEventRouter() { } | 
|  255  |  261  | 
|  256 void PreferenceEventRouter::OnPreferenceChanged(PrefServiceBase* service, |  | 
|  257                                                 const std::string& pref_name) { |  | 
|  258   OnPrefChanged(service, pref_name); |  | 
|  259 } |  | 
|  260  |  | 
|  261 void PreferenceEventRouter::OnPrefChanged(PrefServiceBase* pref_service, |  262 void PreferenceEventRouter::OnPrefChanged(PrefServiceBase* pref_service, | 
|  262                                           const std::string& browser_pref) { |  263                                           const std::string& browser_pref) { | 
|  263   bool incognito = (pref_service != profile_->GetPrefs()); |  264   bool incognito = (pref_service != profile_->GetPrefs()); | 
|  264  |  265  | 
|  265   std::string event_name; |  266   std::string event_name; | 
|  266   APIPermission::ID permission = APIPermission::kInvalid; |  267   APIPermission::ID permission = APIPermission::kInvalid; | 
|  267   bool rv = PrefMapping::GetInstance()->FindEventForBrowserPref( |  268   bool rv = PrefMapping::GetInstance()->FindEventForBrowserPref( | 
|  268       browser_pref, &event_name, &permission); |  269       browser_pref, &event_name, &permission); | 
|  269   DCHECK(rv); |  270   DCHECK(rv); | 
|  270  |  271  | 
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  506   if (!ValidateBrowserPref(pref_key, &browser_pref)) |  507   if (!ValidateBrowserPref(pref_key, &browser_pref)) | 
|  507     return false; |  508     return false; | 
|  508  |  509  | 
|  509   extensions::ExtensionPrefs* prefs = |  510   extensions::ExtensionPrefs* prefs = | 
|  510       profile_->GetExtensionService()->extension_prefs(); |  511       profile_->GetExtensionService()->extension_prefs(); | 
|  511   prefs->RemoveExtensionControlledPref(extension_id(), browser_pref, scope); |  512   prefs->RemoveExtensionControlledPref(extension_id(), browser_pref, scope); | 
|  512   return true; |  513   return true; | 
|  513 } |  514 } | 
|  514  |  515  | 
|  515 }  // namespace extensions |  516 }  // namespace extensions | 
| OLD | NEW |