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 "chrome/browser/content_settings/content_settings_observable_provider.h" 6 7 namespace content_settings { 8 9 // //////////////////////////////////////////////////////////////////////////// 10 // ObservableProvider 11 // 12 13 ObservableProvider::ObservableProvider() { 14 } 15 16 ObservableProvider::~ObservableProvider() { 17 } 18 19 void ObservableProvider::AddObserver(Observer* observer) { 20 observer_list_.AddObserver(observer); 21 } 22 23 void ObservableProvider::RemoveObserver(Observer* observer) { 24 observer_list_.RemoveObserver(observer); 25 } 26 27 void ObservableProvider::NotifyObservers( 28 const ContentSettingsPattern& primary_pattern, 29 const ContentSettingsPattern& secondary_pattern, 30 ContentSettingsType content_type, 31 const std::string& resource_identifier) { 32 FOR_EACH_OBSERVER(Observer, 33 observer_list_, 34 OnContentSettingChanged( 35 primary_pattern, 36 secondary_pattern, 37 content_type, 38 resource_identifier)); 39 } 40 41 void ObservableProvider::RemoveAllObservers() { 42 observer_list_.Clear(); 43 } 44 45 } // namespace content_settings 46