Chromium Code Reviews| Index: ios/chrome/browser/prefs/pref_observer_bridge.mm |
| diff --git a/ios/chrome/browser/prefs/pref_observer_bridge.mm b/ios/chrome/browser/prefs/pref_observer_bridge.mm |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..276b4ae7d948abb7a658144f0f497c4032974768 |
| --- /dev/null |
| +++ b/ios/chrome/browser/prefs/pref_observer_bridge.mm |
| @@ -0,0 +1,28 @@ |
| +// Copyright 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#import "ios/chrome/browser/prefs/pref_observer_bridge.h" |
| + |
| +#include "base/bind.h" |
| +#include "base/logging.h" |
| +#include "base/prefs/pref_change_registrar.h" |
|
droger
2015/04/23 17:00:54
Logging is not needed.
sdefresne
2015/04/23 17:04:42
Done.
|
| + |
| +PrefObserverBridge::PrefObserverBridge(id<PrefObserverDelegate> delegate) |
| + : delegate_(delegate) { |
| +} |
| + |
| +PrefObserverBridge::~PrefObserverBridge() { |
| +} |
| + |
| +void PrefObserverBridge::ObserveChangesForPreference( |
| + const std::string& pref_name, |
| + PrefChangeRegistrar* registrar) { |
| + PrefChangeRegistrar::NamedChangeCallback callback = base::Bind( |
| + &PrefObserverBridge::OnPreferenceChanged, base::Unretained(this)); |
| + registrar->Add(pref_name.c_str(), callback); |
| +} |
| + |
| +void PrefObserverBridge::OnPreferenceChanged(const std::string& pref_name) { |
| + [delegate_ onPreferenceChanged:pref_name]; |
| +} |