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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/extension_popup_controller_unittest.mm

Issue 7189029: Implement an initial extension settings API. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Use base::Closure for storage callback, style fixes, mac/windows fixes Created 9 years, 6 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 (c) 2011 The Chromium Authors. All rights reserved. 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 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 "base/memory/scoped_nsobject.h" 5 #include "base/memory/scoped_nsobject.h"
6 #include "base/message_loop.h" 6 #include "base/message_loop.h"
7 #include "chrome/browser/extensions/extension_pref_value_map.h" 7 #include "chrome/browser/extensions/extension_pref_value_map.h"
8 #include "chrome/browser/extensions/extension_prefs.h" 8 #include "chrome/browser/extensions/extension_prefs.h"
9 #include "chrome/browser/extensions/extension_process_manager.h" 9 #include "chrome/browser/extensions/extension_process_manager.h"
10 #include "chrome/browser/extensions/extension_service.h" 10 #include "chrome/browser/extensions/extension_service.h"
11 #include "chrome/browser/extensions/extension_settings.h"
11 #include "chrome/browser/ui/cocoa/browser_test_helper.h" 12 #include "chrome/browser/ui/cocoa/browser_test_helper.h"
12 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h" 13 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h"
13 #include "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h" 14 #include "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h"
14 #include "chrome/test/testing_profile.h" 15 #include "chrome/test/testing_profile.h"
15 16
16 namespace { 17 namespace {
17 18
18 class ExtensionTestingProfile : public TestingProfile { 19 class ExtensionTestingProfile : public TestingProfile {
19 public: 20 public:
20 ExtensionTestingProfile() {} 21 ExtensionTestingProfile() {}
21 22
22 FilePath GetExtensionsInstallDir() { 23 FilePath GetExtensionsInstallDir() {
23 return GetPath().AppendASCII(ExtensionService::kInstallDirectoryName); 24 return GetPath().AppendASCII(ExtensionService::kInstallDirectoryName);
24 } 25 }
25 26
27 FilePath GetExtensionsSettingsDir() {
28 return GetPath().AppendASCII(ExtensionService::kSettingsDirectoryName);
29 }
30
26 void InitExtensionProfile() { 31 void InitExtensionProfile() {
27 DCHECK(!GetExtensionProcessManager()); 32 DCHECK(!GetExtensionProcessManager());
28 DCHECK(!GetExtensionService()); 33 DCHECK(!GetExtensionService());
29 34
30 manager_.reset(ExtensionProcessManager::Create(this)); 35 manager_.reset(ExtensionProcessManager::Create(this));
31 extension_pref_value_map_.reset(new ExtensionPrefValueMap); 36 extension_pref_value_map_.reset(new ExtensionPrefValueMap);
32 extension_prefs_.reset(new ExtensionPrefs(GetPrefs(), 37 extension_prefs_.reset(new ExtensionPrefs(GetPrefs(),
33 GetExtensionsInstallDir(), 38 GetExtensionsInstallDir(),
34 extension_pref_value_map_.get())); 39 extension_pref_value_map_.get()));
40 extension_settings_.reset(
41 new ExtensionSettings(GetExtensionsSettingsDir()));
35 service_.reset(new ExtensionService(this, 42 service_.reset(new ExtensionService(this,
36 CommandLine::ForCurrentProcess(), 43 CommandLine::ForCurrentProcess(),
37 GetExtensionsInstallDir(), 44 GetExtensionsInstallDir(),
38 extension_prefs_.get(), 45 extension_prefs_.get(),
46 extension_settings_.get(),
39 false, 47 false,
40 true)); 48 true));
41 service_->set_extensions_enabled(true); 49 service_->set_extensions_enabled(true);
42 service_->set_show_extensions_prompts(false); 50 service_->set_show_extensions_prompts(false);
43 service_->ClearProvidersForTesting(); 51 service_->ClearProvidersForTesting();
44 service_->Init(); 52 service_->Init();
45 } 53 }
46 54
47 void ShutdownExtensionProfile() { 55 void ShutdownExtensionProfile() {
48 manager_.reset(); 56 manager_.reset();
49 service_.reset(); 57 service_.reset();
50 extension_prefs_.reset(); 58 extension_prefs_.reset();
59 extension_settings_.reset();
51 } 60 }
52 61
53 virtual ExtensionProcessManager* GetExtensionProcessManager() { 62 virtual ExtensionProcessManager* GetExtensionProcessManager() {
54 return manager_.get(); 63 return manager_.get();
55 } 64 }
56 65
57 virtual ExtensionService* GetExtensionService() { 66 virtual ExtensionService* GetExtensionService() {
58 return service_.get(); 67 return service_.get();
59 } 68 }
60 69
61 private: 70 private:
62 scoped_ptr<ExtensionProcessManager> manager_; 71 scoped_ptr<ExtensionProcessManager> manager_;
63 scoped_ptr<ExtensionPrefs> extension_prefs_; 72 scoped_ptr<ExtensionPrefs> extension_prefs_;
73 scoped_ptr<ExtensionSettings> extension_settings_;
64 scoped_ptr<ExtensionService> service_; 74 scoped_ptr<ExtensionService> service_;
65 scoped_ptr<ExtensionPrefValueMap> extension_pref_value_map_; 75 scoped_ptr<ExtensionPrefValueMap> extension_pref_value_map_;
66 76
67 DISALLOW_COPY_AND_ASSIGN(ExtensionTestingProfile); 77 DISALLOW_COPY_AND_ASSIGN(ExtensionTestingProfile);
68 }; 78 };
69 79
70 class ExtensionPopupControllerTest : public CocoaTest { 80 class ExtensionPopupControllerTest : public CocoaTest {
71 public: 81 public:
72 virtual void SetUp() { 82 virtual void SetUp() {
73 CocoaTest::SetUp(); 83 CocoaTest::SetUp();
(...skipping 18 matching lines...) Expand all
92 }; 102 };
93 103
94 TEST_F(ExtensionPopupControllerTest, DISABLED_Basics) { 104 TEST_F(ExtensionPopupControllerTest, DISABLED_Basics) {
95 // TODO(andybons): Better mechanisms for mocking out the extensions service 105 // TODO(andybons): Better mechanisms for mocking out the extensions service
96 // and extensions for easy testing need to be implemented. 106 // and extensions for easy testing need to be implemented.
97 // http://crbug.com/28316 107 // http://crbug.com/28316
98 EXPECT_TRUE([ExtensionPopupController popup]); 108 EXPECT_TRUE([ExtensionPopupController popup]);
99 } 109 }
100 110
101 } // namespace 111 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698