1// Copyright 2012 The Chromium Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#import "components/prefs/ios/pref_observer_bridge.h" 6 7#include "base/functional/bind.h" 8#include "components/prefs/pref_change_registrar.h" 9 10PrefObserverBridge::PrefObserverBridge(id<PrefObserverDelegate> delegate) 11 : delegate_(delegate) {} 12 13PrefObserverBridge::~PrefObserverBridge() {} 14 15void PrefObserverBridge::ObserveChangesForPreference( 16 const std::string& pref_name, 17 PrefChangeRegistrar* registrar) { 18 PrefChangeRegistrar::NamedChangeCallback callback = base::BindRepeating( 19 &PrefObserverBridge::OnPreferenceChanged, base::Unretained(this)); 20 registrar->Add(pref_name.c_str(), callback); 21} 22 23void PrefObserverBridge::OnPreferenceChanged(const std::string& pref_name) { 24 [delegate_ onPreferenceChanged:pref_name]; 25} 26