Home | History | Annotate | Download | only in content_settings
      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