Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc

Issue 220353002: Remove //chrome dependency from ExtensionPrefs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: don't ref ContentSettingsStore if !ENABLE_EXTENSIONS Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/prefs/mock_pref_change_callback.h" 9 #include "base/prefs/mock_pref_change_callback.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "chrome/browser/extensions/./extension_prefs_unittest.h" 11 #include "chrome/browser/extensions/./extension_prefs_unittest.h"
12 #include "chrome/browser/extensions/api/content_settings/content_settings_servic e.h"
12 #include "chrome/browser/extensions/api/preference/preference_api.h" 13 #include "chrome/browser/extensions/api/preference/preference_api.h"
13 #include "chrome/test/base/testing_profile.h" 14 #include "chrome/test/base/testing_profile.h"
14 #include "components/user_prefs/pref_registry_syncable.h" 15 #include "components/user_prefs/pref_registry_syncable.h"
15 #include "extensions/browser/extension_prefs.h" 16 #include "extensions/browser/extension_prefs.h"
16 #include "extensions/common/extension.h" 17 #include "extensions/common/extension.h"
17 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
18 19
19 using base::Value; 20 using base::Value;
20 21
21 namespace extensions { 22 namespace extensions {
(...skipping 11 matching lines...) Expand all
33 const char kDefaultPref3[] = "default pref 3"; 34 const char kDefaultPref3[] = "default pref 3";
34 const char kDefaultPref4[] = "default pref 4"; 35 const char kDefaultPref4[] = "default pref 4";
35 36
36 } // namespace 37 } // namespace
37 38
38 // An implementation of the PreferenceAPI which returns the ExtensionPrefs and 39 // An implementation of the PreferenceAPI which returns the ExtensionPrefs and
39 // ExtensionPrefValueMap from the TestExtensionPrefs, rather than from a 40 // ExtensionPrefValueMap from the TestExtensionPrefs, rather than from a
40 // profile (which we don't create in unittests). 41 // profile (which we don't create in unittests).
41 class TestPreferenceAPI : public PreferenceAPIBase { 42 class TestPreferenceAPI : public PreferenceAPIBase {
42 public: 43 public:
43 explicit TestPreferenceAPI(TestExtensionPrefs* test_extension_prefs) 44 explicit TestPreferenceAPI(TestExtensionPrefs* test_extension_prefs,
44 : test_extension_prefs_(test_extension_prefs) { } 45 ContentSettingsService* content_settings)
45 ~TestPreferenceAPI() { } 46 : test_extension_prefs_(test_extension_prefs),
47 content_settings_(content_settings) {}
48 ~TestPreferenceAPI() {}
49
46 private: 50 private:
47 // PreferenceAPIBase implementation. 51 // PreferenceAPIBase implementation.
48 virtual ExtensionPrefs* extension_prefs() OVERRIDE { 52 virtual ExtensionPrefs* extension_prefs() OVERRIDE {
49 return test_extension_prefs_->prefs(); 53 return test_extension_prefs_->prefs();
50 } 54 }
51 virtual ExtensionPrefValueMap* extension_pref_value_map() OVERRIDE { 55 virtual ExtensionPrefValueMap* extension_pref_value_map() OVERRIDE {
52 return test_extension_prefs_->extension_pref_value_map(); 56 return test_extension_prefs_->extension_pref_value_map();
53 } 57 }
58 virtual scoped_refptr<ContentSettingsStore> content_settings_store()
59 OVERRIDE {
60 return content_settings_->content_settings_store();
61 }
54 62
55 TestExtensionPrefs* test_extension_prefs_; 63 TestExtensionPrefs* test_extension_prefs_;
64 ContentSettingsService* content_settings_;
56 65
57 DISALLOW_COPY_AND_ASSIGN(TestPreferenceAPI); 66 DISALLOW_COPY_AND_ASSIGN(TestPreferenceAPI);
58 }; 67 };
59 68
60 class ExtensionControlledPrefsTest : public PrefsPrepopulatedTestBase { 69 class ExtensionControlledPrefsTest : public PrefsPrepopulatedTestBase {
61 public: 70 public:
62 ExtensionControlledPrefsTest(); 71 ExtensionControlledPrefsTest();
63 virtual ~ExtensionControlledPrefsTest(); 72 virtual ~ExtensionControlledPrefsTest();
64 73
65 virtual void RegisterPreferences(user_prefs::PrefRegistrySyncable* registry) 74 virtual void RegisterPreferences(user_prefs::PrefRegistrySyncable* registry)
66 OVERRIDE; 75 OVERRIDE;
67 void InstallExtensionControlledPref(Extension* extension, 76 void InstallExtensionControlledPref(Extension* extension,
68 const std::string& key, 77 const std::string& key,
69 base::Value* value); 78 base::Value* value);
70 void InstallExtensionControlledPrefIncognito(Extension* extension, 79 void InstallExtensionControlledPrefIncognito(Extension* extension,
71 const std::string& key, 80 const std::string& key,
72 base::Value* value); 81 base::Value* value);
73 void InstallExtensionControlledPrefIncognitoSessionOnly( 82 void InstallExtensionControlledPrefIncognitoSessionOnly(
74 Extension* extension, 83 Extension* extension,
75 const std::string& key, 84 const std::string& key,
76 base::Value* value); 85 base::Value* value);
77 void InstallExtension(Extension* extension); 86 void InstallExtension(Extension* extension);
78 void UninstallExtension(const std::string& extension_id); 87 void UninstallExtension(const std::string& extension_id);
79 88
89 scoped_refptr<ContentSettingsStore> content_settings_store() {
90 return content_settings_->content_settings_store();
91 }
92
80 protected: 93 protected:
81 void EnsureExtensionInstalled(Extension* extension); 94 void EnsureExtensionInstalled(Extension* extension);
82 void EnsureExtensionUninstalled(const std::string& extension_id); 95 void EnsureExtensionUninstalled(const std::string& extension_id);
83 96
97 TestingProfile profile_;
98 ContentSettingsService* content_settings_;
84 TestPreferenceAPI test_preference_api_; 99 TestPreferenceAPI test_preference_api_;
85 }; 100 };
86 101
87 ExtensionControlledPrefsTest::ExtensionControlledPrefsTest() 102 ExtensionControlledPrefsTest::ExtensionControlledPrefsTest()
88 : PrefsPrepopulatedTestBase(), 103 : PrefsPrepopulatedTestBase(),
89 test_preference_api_(&prefs_) { 104 content_settings_(ContentSettingsService::Get(&profile_)),
105 test_preference_api_(&prefs_, content_settings_) {
106 prefs_.prefs()->AddObserver(content_settings_);
90 } 107 }
91 108
92 ExtensionControlledPrefsTest::~ExtensionControlledPrefsTest() { 109 ExtensionControlledPrefsTest::~ExtensionControlledPrefsTest() {
93 } 110 }
94 111
95 void ExtensionControlledPrefsTest::RegisterPreferences( 112 void ExtensionControlledPrefsTest::RegisterPreferences(
96 user_prefs::PrefRegistrySyncable* registry) { 113 user_prefs::PrefRegistrySyncable* registry) {
97 registry->RegisterStringPref( 114 registry->RegisterStringPref(
98 kPref1, kDefaultPref1, user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 115 kPref1, kDefaultPref1, user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
99 registry->RegisterStringPref( 116 registry->RegisterStringPref(
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 }; 270 };
254 TEST_F(ControlledPrefsInstallIncognitoSessionOnly, 271 TEST_F(ControlledPrefsInstallIncognitoSessionOnly,
255 ControlledPrefsInstallIncognitoSessionOnly) { } 272 ControlledPrefsInstallIncognitoSessionOnly) { }
256 273
257 class ControlledPrefsUninstallExtension : public ExtensionControlledPrefsTest { 274 class ControlledPrefsUninstallExtension : public ExtensionControlledPrefsTest {
258 virtual void Initialize() OVERRIDE { 275 virtual void Initialize() OVERRIDE {
259 InstallExtensionControlledPref( 276 InstallExtensionControlledPref(
260 extension1(), kPref1, new base::StringValue("val1")); 277 extension1(), kPref1, new base::StringValue("val1"));
261 InstallExtensionControlledPref( 278 InstallExtensionControlledPref(
262 extension1(), kPref2, new base::StringValue("val2")); 279 extension1(), kPref2, new base::StringValue("val2"));
263 ContentSettingsStore* store = prefs()->content_settings_store(); 280 scoped_refptr<ContentSettingsStore> store = content_settings_store();
264 ContentSettingsPattern pattern = 281 ContentSettingsPattern pattern =
265 ContentSettingsPattern::FromString("http://[*.]example.com"); 282 ContentSettingsPattern::FromString("http://[*.]example.com");
266 store->SetExtensionContentSetting(extension1()->id(), 283 store->SetExtensionContentSetting(extension1()->id(),
267 pattern, pattern, 284 pattern, pattern,
268 CONTENT_SETTINGS_TYPE_IMAGES, 285 CONTENT_SETTINGS_TYPE_IMAGES,
269 std::string(), 286 std::string(),
270 CONTENT_SETTING_BLOCK, 287 CONTENT_SETTING_BLOCK,
271 kExtensionPrefsScopeRegular); 288 kExtensionPrefsScopeRegular);
272 289
273 UninstallExtension(extension1()->id()); 290 UninstallExtension(extension1()->id());
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 EXPECT_EQ(kDefaultPref1, actual); 477 EXPECT_EQ(kDefaultPref1, actual);
461 } 478 }
462 } 479 }
463 480
464 private: 481 private:
465 int iteration_; 482 int iteration_;
466 }; 483 };
467 TEST_F(ControlledPrefsDisableExtensions, ControlledPrefsDisableExtensions) { } 484 TEST_F(ControlledPrefsDisableExtensions, ControlledPrefsDisableExtensions) { }
468 485
469 } // namespace extensions 486 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698