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

Side by Side Diff: chrome/browser/managed_mode_unittest.cc

Issue 10542023: Disable modifying extensions when in managed mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Fixed Evan's nits Created 8 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
« no previous file with comments | « chrome/browser/managed_mode.cc ('k') | chrome/browser/resources/extensions/extensions.css » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 "chrome/browser/managed_mode.h" 5 #include "chrome/browser/managed_mode.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 19 matching lines...) Expand all
30 void set_should_cancel_enter(bool should_cancel_enter) { 30 void set_should_cancel_enter(bool should_cancel_enter) {
31 should_cancel_enter_ = should_cancel_enter; 31 should_cancel_enter_ = should_cancel_enter;
32 } 32 }
33 33
34 void EnterManagedModeForTesting(Profile* profile, 34 void EnterManagedModeForTesting(Profile* profile,
35 const base::Callback<void(bool)>& callback) { 35 const base::Callback<void(bool)>& callback) {
36 EnterManagedModeImpl(profile, callback); 36 EnterManagedModeImpl(profile, callback);
37 } 37 }
38 38
39 // ManagedMode overrides: 39 // ManagedMode overrides:
40 virtual bool IsInManagedModeImpl() OVERRIDE { 40 virtual bool IsInManagedModeImpl() const OVERRIDE {
41 return in_managed_mode_; 41 return in_managed_mode_;
42 } 42 }
43 43
44 virtual void SetInManagedMode(bool in_managed_mode) OVERRIDE { 44 virtual void SetInManagedMode(Profile* newly_managed_profile) OVERRIDE {
45 in_managed_mode_ = in_managed_mode; 45 if (newly_managed_profile) {
46 ASSERT_TRUE(!managed_profile_ ||
47 managed_profile_ == newly_managed_profile);
48 }
49 managed_profile_ = newly_managed_profile;
50 in_managed_mode_ = (newly_managed_profile != NULL);
46 } 51 }
47 52
48 virtual bool PlatformConfirmEnter() OVERRIDE { 53 virtual bool PlatformConfirmEnter() OVERRIDE {
49 return !should_cancel_enter_; 54 return !should_cancel_enter_;
50 } 55 }
51 56
52 virtual bool PlatformConfirmLeave() OVERRIDE { 57 virtual bool PlatformConfirmLeave() OVERRIDE {
53 return true; 58 return true;
54 } 59 }
55 60
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 FakeManagedMode* managed_mode_; 94 FakeManagedMode* managed_mode_;
90 }; 95 };
91 96
92 class MockCallback : public base::RefCountedThreadSafe<MockCallback> { 97 class MockCallback : public base::RefCountedThreadSafe<MockCallback> {
93 public: 98 public:
94 explicit MockCallback(FakeManagedMode* managed_mode) 99 explicit MockCallback(FakeManagedMode* managed_mode)
95 : managed_mode_(managed_mode) { 100 : managed_mode_(managed_mode) {
96 } 101 }
97 102
98 void CheckManagedMode(bool success) { 103 void CheckManagedMode(bool success) {
99 EXPECT_EQ(managed_mode_->IsInManagedModeImpl(), success); 104 EXPECT_EQ(success, managed_mode_->IsInManagedModeImpl());
100 DidEnterManagedMode(success); 105 DidEnterManagedMode(success);
101 } 106 }
102 107
103 MOCK_METHOD1(DidEnterManagedMode, void(bool)); 108 MOCK_METHOD1(DidEnterManagedMode, void(bool));
104 109
105 protected: 110 protected:
106 virtual ~MockCallback() {} 111 virtual ~MockCallback() {}
107 112
108 private: 113 private:
109 friend class base::RefCountedThreadSafe<MockCallback>; 114 friend class base::RefCountedThreadSafe<MockCallback>;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 // If there are no browsers belonging to a different profile, entering should 149 // If there are no browsers belonging to a different profile, entering should
145 // immediately succeed. 150 // immediately succeed.
146 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 151 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
147 CreateExpectedCallback(true)); 152 CreateExpectedCallback(true));
148 } 153 }
149 154
150 TEST_F(ManagedModeTest, AlreadyInManagedMode) { 155 TEST_F(ManagedModeTest, AlreadyInManagedMode) {
151 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 156 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
152 BrowserFixture other_browser(&managed_mode_, &other_profile_); 157 BrowserFixture other_browser(&managed_mode_, &other_profile_);
153 158
154 // If we're already in managed mode, entering should immediately succeed. 159 // If we're already in managed mode in this profile, entering should
155 managed_mode_.SetInManagedMode(true); 160 // immediately succeed.
161 managed_mode_.SetInManagedMode(&managed_mode_profile_);
156 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 162 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
157 CreateExpectedCallback(true)); 163 CreateExpectedCallback(true));
158 } 164 }
159 165
160 TEST_F(ManagedModeTest, QueueRequests) { 166 TEST_F(ManagedModeTest, QueueRequests) {
161 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 167 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
162 168
163 // Keep this before the other browser is constructed, so we verify its 169 // Keep this before the other browser is constructed, so we verify its
164 // expectations after the browser is destroyed. 170 // expectations after the browser is destroyed.
165 scoped_refptr<MockCallback> callback = CreateCallback(); 171 scoped_refptr<MockCallback> callback = CreateCallback();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 227
222 TEST_F(ManagedModeTest, Cancelled) { 228 TEST_F(ManagedModeTest, Cancelled) {
223 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 229 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
224 BrowserFixture other_browser(&managed_mode_, &other_profile_); 230 BrowserFixture other_browser(&managed_mode_, &other_profile_);
225 231
226 // If the user cancelled entering managed mode, it should fail immediately. 232 // If the user cancelled entering managed mode, it should fail immediately.
227 managed_mode_.set_should_cancel_enter(true); 233 managed_mode_.set_should_cancel_enter(true);
228 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 234 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
229 CreateExpectedCallback(false)); 235 CreateExpectedCallback(false));
230 } 236 }
237
238 TEST_F(ManagedModeTest, ExtensionManagementPolicyProvider) {
239 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
240
241 EXPECT_TRUE(managed_mode_.UserMayLoad(NULL, NULL));
242 EXPECT_TRUE(managed_mode_.UserMayModifySettings(NULL, NULL));
243
244 managed_mode_.SetInManagedMode(&managed_mode_profile_);
245 EXPECT_FALSE(managed_mode_.UserMayLoad(NULL, NULL));
246 EXPECT_FALSE(managed_mode_.UserMayModifySettings(NULL, NULL));
247
248 #ifndef NDEBUG
249 EXPECT_FALSE(managed_mode_.GetDebugPolicyProviderName().empty());
250 #endif
251 }
OLDNEW
« no previous file with comments | « chrome/browser/managed_mode.cc ('k') | chrome/browser/resources/extensions/extensions.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698