Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / components / content_settings / core / browser / content_settings_mock_provider.cc
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 "components/content_settings/core/browser/content_settings_mock_provider.h"
6
7 namespace content_settings {
8
9 MockProvider::MockProvider()
10     : read_only_(false) {}
11
12 MockProvider::MockProvider(bool read_only)
13     : read_only_(read_only) {
14 }
15
16 MockProvider::~MockProvider() {}
17
18 RuleIterator* MockProvider::GetRuleIterator(
19     ContentSettingsType content_type,
20     const ResourceIdentifier& resource_identifier,
21     bool incognito) const {
22   return value_map_.GetRuleIterator(content_type, resource_identifier, NULL);
23 }
24
25 bool MockProvider::SetWebsiteSetting(
26     const ContentSettingsPattern& requesting_url_pattern,
27     const ContentSettingsPattern& embedding_url_pattern,
28     ContentSettingsType content_type,
29     const ResourceIdentifier& resource_identifier,
30     base::Value* value) {
31   if (read_only_)
32     return false;
33   value_map_.clear();
34   value_map_.SetValue(requesting_url_pattern,
35                       embedding_url_pattern,
36                       content_type,
37                       resource_identifier,
38                       value);
39   return true;
40 }
41
42 void MockProvider::ShutdownOnUIThread() {
43   RemoveAllObservers();
44 }
45
46 }  // namespace content_settings