1 // Copyright (c) 2011 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/mock_settings_observer.h"
6
7 #include "chrome/browser/chrome_notification_types.h"
8 #include "components/content_settings/core/browser/content_settings_details.h"
9 #include "url/gurl.h"
10
MockSettingsObserver(HostContentSettingsMap * map)11 MockSettingsObserver::MockSettingsObserver(HostContentSettingsMap* map)
12 : map_(map) {
13 observer_.Add(map_);
14 }
15
~MockSettingsObserver()16 MockSettingsObserver::~MockSettingsObserver() {}
17
OnContentSettingChanged(const ContentSettingsPattern & primary_pattern,const ContentSettingsPattern & secondary_pattern,ContentSettingsType content_type)18 void MockSettingsObserver::OnContentSettingChanged(
19 const ContentSettingsPattern& primary_pattern,
20 const ContentSettingsPattern& secondary_pattern,
21 ContentSettingsType content_type) {
22 const ContentSettingsDetails details(primary_pattern, secondary_pattern,
23 content_type);
24 OnContentSettingsChanged(map_,
25 details.type(),
26 details.update_all_types(),
27 details.primary_pattern(),
28 details.secondary_pattern(),
29 details.update_all());
30 // This checks that calling a Get function from an observer doesn't
31 // deadlock.
32 GURL url("http://random-hostname.com/");
33 map_->GetContentSetting(url, url, ContentSettingsType::COOKIES);
34 }
35