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,const std::string & resource_identifier)27void ObservableProvider::NotifyObservers( 28 const ContentSettingsPattern& primary_pattern, 29 const ContentSettingsPattern& secondary_pattern, 30 ContentSettingsType content_type, 31 const std::string& resource_identifier) { 32 for (Observer& observer : observer_list_) { 33 observer.OnContentSettingChanged(primary_pattern, secondary_pattern, 34 content_type, resource_identifier); 35 } 36 } 37 RemoveAllObservers()38void ObservableProvider::RemoveAllObservers() { 39 observer_list_.Clear(); 40 } 41 CalledOnValidThread()42bool ObservableProvider::CalledOnValidThread() { 43 return thread_checker_.CalledOnValidThread(); 44 } 45 46 } // namespace content_settings 47