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 7namespace content_settings { 8 9// //////////////////////////////////////////////////////////////////////////// 10// ObservableProvider 11// 12 13ObservableProvider::ObservableProvider() { 14} 15 16ObservableProvider::~ObservableProvider() { 17} 18 19void ObservableProvider::AddObserver(Observer* observer) { 20 observer_list_.AddObserver(observer); 21} 22 23void ObservableProvider::RemoveObserver(Observer* observer) { 24 observer_list_.RemoveObserver(observer); 25} 26 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_EACH_OBSERVER(Observer, 33 observer_list_, 34 OnContentSettingChanged( 35 primary_pattern, 36 secondary_pattern, 37 content_type, 38 resource_identifier)); 39} 40 41void ObservableProvider::RemoveAllObservers() { 42 observer_list_.Clear(); 43} 44 45} // namespace content_settings 46