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 3 // found in the LICENSE file. 4 5 #include "components/content_settings/core/browser/content_settings_observable_provider.h" 6 7 namespace content_settings { 8 9 // //////////////////////////////////////////////////////////////////////////// 10 // ObservableProvider 11 // 12 ObservableProvider()13ObservableProvider::ObservableProvider() { 14 } 15 ~ObservableProvider()16ObservableProvider::~ObservableProvider() { 17 } 18 AddObserver(Observer * observer)19void ObservableProvider::AddObserver(Observer* observer) { 20 observer_list_.AddObserver(observer); 21 } 22 RemoveObserver(Observer * observer)23void ObservableProvider::RemoveObserver(Observer* observer) { 24 observer_list_.RemoveObserver(observer); 25 } 26 NotifyObservers(const ContentSettingsPattern & primary_pattern,const ContentSettingsPattern & secondary_pattern,ContentSettingsType content_type)27void ObservableProvider::NotifyObservers( 28 const ContentSettingsPattern& primary_pattern, 29 const ContentSettingsPattern& secondary_pattern, 30 ContentSettingsType content_type) { 31 for (Observer& observer : observer_list_) { 32 observer.OnContentSettingChanged(primary_pattern, secondary_pattern, 33 content_type); 34 } 35 } 36 RemoveAllObservers()37void ObservableProvider::RemoveAllObservers() { 38 observer_list_.Clear(); 39 } 40 CalledOnValidThread()41bool ObservableProvider::CalledOnValidThread() { 42 return thread_checker_.CalledOnValidThread(); 43 } 44 45 } // namespace content_settings 46