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

Side by Side Diff: chrome/browser/permissions/permission_manager_unittest.cc

Issue 1527183003: Change mojo enums to be scoped enums in the generated C++ bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-binding-equals
Patch Set: rebase Created 4 years, 11 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/permissions/permission_manager.h" 5 #include "chrome/browser/permissions/permission_manager.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 9 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
10 #include "chrome/browser/permissions/permission_manager_factory.h" 10 #include "chrome/browser/permissions/permission_manager_factory.h"
(...skipping 27 matching lines...) Expand all
38 void OnPermissionChange(PermissionStatus permission) { 38 void OnPermissionChange(PermissionStatus permission) {
39 callback_called_ = true; 39 callback_called_ = true;
40 callback_result_ = permission; 40 callback_result_ = permission;
41 } 41 }
42 42
43 protected: 43 protected:
44 PermissionManagerTest() 44 PermissionManagerTest()
45 : url_("https://example.com"), 45 : url_("https://example.com"),
46 other_url_("https://foo.com"), 46 other_url_("https://foo.com"),
47 callback_called_(false), 47 callback_called_(false),
48 callback_result_(content::PERMISSION_STATUS_ASK) { 48 callback_result_(content::PermissionStatus::ASK) {}
49 }
50 49
51 PermissionManager* GetPermissionManager() { 50 PermissionManager* GetPermissionManager() {
52 return profile_.GetPermissionManager(); 51 return profile_.GetPermissionManager();
53 } 52 }
54 53
55 HostContentSettingsMap* GetHostContentSettingsMap() { 54 HostContentSettingsMap* GetHostContentSettingsMap() {
56 return HostContentSettingsMapFactory::GetForProfile(&profile_); 55 return HostContentSettingsMapFactory::GetForProfile(&profile_);
57 } 56 }
58 57
59 void CheckPermissionStatus(PermissionType type, 58 void CheckPermissionStatus(PermissionType type,
(...skipping 18 matching lines...) Expand all
78 } 77 }
79 78
80 bool callback_called() const { 79 bool callback_called() const {
81 return callback_called_; 80 return callback_called_;
82 } 81 }
83 82
84 PermissionStatus callback_result() const { return callback_result_; } 83 PermissionStatus callback_result() const { return callback_result_; }
85 84
86 void Reset() { 85 void Reset() {
87 callback_called_ = false; 86 callback_called_ = false;
88 callback_result_ = content::PERMISSION_STATUS_ASK; 87 callback_result_ = content::PermissionStatus::ASK;
89 } 88 }
90 89
91 private: 90 private:
92 const GURL url_; 91 const GURL url_;
93 const GURL other_url_; 92 const GURL other_url_;
94 bool callback_called_; 93 bool callback_called_;
95 PermissionStatus callback_result_; 94 PermissionStatus callback_result_;
96 content::TestBrowserThreadBundle thread_bundle_; 95 content::TestBrowserThreadBundle thread_bundle_;
97 PermissionManagerTestingProfile profile_; 96 PermissionManagerTestingProfile profile_;
98 }; 97 };
99 98
100 TEST_F(PermissionManagerTest, GetPermissionStatusDefault) { 99 TEST_F(PermissionManagerTest, GetPermissionStatusDefault) {
101 CheckPermissionStatus(PermissionType::MIDI_SYSEX, 100 CheckPermissionStatus(PermissionType::MIDI_SYSEX,
102 content::PERMISSION_STATUS_ASK); 101 content::PermissionStatus::ASK);
103 CheckPermissionStatus(PermissionType::PUSH_MESSAGING, 102 CheckPermissionStatus(PermissionType::PUSH_MESSAGING,
104 content::PERMISSION_STATUS_ASK); 103 content::PermissionStatus::ASK);
105 CheckPermissionStatus(PermissionType::NOTIFICATIONS, 104 CheckPermissionStatus(PermissionType::NOTIFICATIONS,
106 content::PERMISSION_STATUS_ASK); 105 content::PermissionStatus::ASK);
107 CheckPermissionStatus(PermissionType::GEOLOCATION, 106 CheckPermissionStatus(PermissionType::GEOLOCATION,
108 content::PERMISSION_STATUS_ASK); 107 content::PermissionStatus::ASK);
109 #if defined(OS_ANDROID) 108 #if defined(OS_ANDROID)
110 CheckPermissionStatus(PermissionType::PROTECTED_MEDIA_IDENTIFIER, 109 CheckPermissionStatus(PermissionType::PROTECTED_MEDIA_IDENTIFIER,
111 content::PERMISSION_STATUS_ASK); 110 content::PermissionStatus::ASK);
112 #endif 111 #endif
113 } 112 }
114 113
115 TEST_F(PermissionManagerTest, GetPermissionStatusAfterSet) { 114 TEST_F(PermissionManagerTest, GetPermissionStatusAfterSet) {
116 SetPermission(CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ALLOW); 115 SetPermission(CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ALLOW);
117 CheckPermissionStatus(PermissionType::GEOLOCATION, 116 CheckPermissionStatus(PermissionType::GEOLOCATION,
118 content::PERMISSION_STATUS_GRANTED); 117 content::PermissionStatus::GRANTED);
119 118
120 SetPermission(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW); 119 SetPermission(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW);
121 CheckPermissionStatus(PermissionType::NOTIFICATIONS, 120 CheckPermissionStatus(PermissionType::NOTIFICATIONS,
122 content::PERMISSION_STATUS_GRANTED); 121 content::PermissionStatus::GRANTED);
123 122
124 SetPermission(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, CONTENT_SETTING_ALLOW); 123 SetPermission(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, CONTENT_SETTING_ALLOW);
125 CheckPermissionStatus(PermissionType::MIDI_SYSEX, 124 CheckPermissionStatus(PermissionType::MIDI_SYSEX,
126 content::PERMISSION_STATUS_GRANTED); 125 content::PermissionStatus::GRANTED);
127 126
128 SetPermission(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, CONTENT_SETTING_ALLOW); 127 SetPermission(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, CONTENT_SETTING_ALLOW);
129 CheckPermissionStatus(PermissionType::PUSH_MESSAGING, 128 CheckPermissionStatus(PermissionType::PUSH_MESSAGING,
130 content::PERMISSION_STATUS_GRANTED); 129 content::PermissionStatus::GRANTED);
131 130
132 #if defined(OS_ANDROID) 131 #if defined(OS_ANDROID)
133 SetPermission(CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, 132 SetPermission(CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER,
134 CONTENT_SETTING_ALLOW); 133 CONTENT_SETTING_ALLOW);
135 CheckPermissionStatus(PermissionType::PROTECTED_MEDIA_IDENTIFIER, 134 CheckPermissionStatus(PermissionType::PROTECTED_MEDIA_IDENTIFIER,
136 content::PERMISSION_STATUS_GRANTED); 135 content::PermissionStatus::GRANTED);
137 #endif 136 #endif
138 } 137 }
139 138
140 TEST_F(PermissionManagerTest, SameTypeChangeNotifies) { 139 TEST_F(PermissionManagerTest, SameTypeChangeNotifies) {
141 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange( 140 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange(
142 PermissionType::GEOLOCATION, url(), url(), 141 PermissionType::GEOLOCATION, url(), url(),
143 base::Bind(&PermissionManagerTest::OnPermissionChange, 142 base::Bind(&PermissionManagerTest::OnPermissionChange,
144 base::Unretained(this))); 143 base::Unretained(this)));
145 144
146 GetHostContentSettingsMap()->SetContentSetting( 145 GetHostContentSettingsMap()->SetContentSetting(
147 ContentSettingsPattern::FromURLNoWildcard(url()), 146 ContentSettingsPattern::FromURLNoWildcard(url()),
148 ContentSettingsPattern::FromURLNoWildcard(url()), 147 ContentSettingsPattern::FromURLNoWildcard(url()),
149 CONTENT_SETTINGS_TYPE_GEOLOCATION, 148 CONTENT_SETTINGS_TYPE_GEOLOCATION,
150 std::string(), 149 std::string(),
151 CONTENT_SETTING_ALLOW); 150 CONTENT_SETTING_ALLOW);
152 151
153 EXPECT_TRUE(callback_called()); 152 EXPECT_TRUE(callback_called());
154 EXPECT_EQ(content::PERMISSION_STATUS_GRANTED, callback_result()); 153 EXPECT_EQ(content::PermissionStatus::GRANTED, callback_result());
155 154
156 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id); 155 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id);
157 } 156 }
158 157
159 TEST_F(PermissionManagerTest, DifferentTypeChangeDoesNotNotify) { 158 TEST_F(PermissionManagerTest, DifferentTypeChangeDoesNotNotify) {
160 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange( 159 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange(
161 PermissionType::GEOLOCATION, url(), url(), 160 PermissionType::GEOLOCATION, url(), url(),
162 base::Bind(&PermissionManagerTest::OnPermissionChange, 161 base::Bind(&PermissionManagerTest::OnPermissionChange,
163 base::Unretained(this))); 162 base::Unretained(this)));
164 163
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 base::Unretained(this))); 234 base::Unretained(this)));
236 235
237 GetHostContentSettingsMap()->SetContentSetting( 236 GetHostContentSettingsMap()->SetContentSetting(
238 ContentSettingsPattern::Wildcard(), 237 ContentSettingsPattern::Wildcard(),
239 ContentSettingsPattern::Wildcard(), 238 ContentSettingsPattern::Wildcard(),
240 CONTENT_SETTINGS_TYPE_GEOLOCATION, 239 CONTENT_SETTINGS_TYPE_GEOLOCATION,
241 std::string(), 240 std::string(),
242 CONTENT_SETTING_ALLOW); 241 CONTENT_SETTING_ALLOW);
243 242
244 EXPECT_TRUE(callback_called()); 243 EXPECT_TRUE(callback_called());
245 EXPECT_EQ(content::PERMISSION_STATUS_GRANTED, callback_result()); 244 EXPECT_EQ(content::PermissionStatus::GRANTED, callback_result());
246 245
247 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id); 246 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id);
248 } 247 }
249 248
250 TEST_F(PermissionManagerTest, ClearSettingsNotifies) { 249 TEST_F(PermissionManagerTest, ClearSettingsNotifies) {
251 GetHostContentSettingsMap()->SetContentSetting( 250 GetHostContentSettingsMap()->SetContentSetting(
252 ContentSettingsPattern::FromURLNoWildcard(url()), 251 ContentSettingsPattern::FromURLNoWildcard(url()),
253 ContentSettingsPattern::FromURLNoWildcard(url()), 252 ContentSettingsPattern::FromURLNoWildcard(url()),
254 CONTENT_SETTINGS_TYPE_GEOLOCATION, 253 CONTENT_SETTINGS_TYPE_GEOLOCATION,
255 std::string(), 254 std::string(),
256 CONTENT_SETTING_ALLOW); 255 CONTENT_SETTING_ALLOW);
257 256
258 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange( 257 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange(
259 PermissionType::GEOLOCATION, url(), url(), 258 PermissionType::GEOLOCATION, url(), url(),
260 base::Bind(&PermissionManagerTest::OnPermissionChange, 259 base::Bind(&PermissionManagerTest::OnPermissionChange,
261 base::Unretained(this))); 260 base::Unretained(this)));
262 261
263 GetHostContentSettingsMap()->ClearSettingsForOneType( 262 GetHostContentSettingsMap()->ClearSettingsForOneType(
264 CONTENT_SETTINGS_TYPE_GEOLOCATION); 263 CONTENT_SETTINGS_TYPE_GEOLOCATION);
265 264
266 EXPECT_TRUE(callback_called()); 265 EXPECT_TRUE(callback_called());
267 EXPECT_EQ(content::PERMISSION_STATUS_ASK, callback_result()); 266 EXPECT_EQ(content::PermissionStatus::ASK, callback_result());
268 267
269 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id); 268 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id);
270 } 269 }
271 270
272 TEST_F(PermissionManagerTest, NewValueCorrectlyPassed) { 271 TEST_F(PermissionManagerTest, NewValueCorrectlyPassed) {
273 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange( 272 int subscription_id = GetPermissionManager()->SubscribePermissionStatusChange(
274 PermissionType::GEOLOCATION, url(), url(), 273 PermissionType::GEOLOCATION, url(), url(),
275 base::Bind(&PermissionManagerTest::OnPermissionChange, 274 base::Bind(&PermissionManagerTest::OnPermissionChange,
276 base::Unretained(this))); 275 base::Unretained(this)));
277 276
278 GetHostContentSettingsMap()->SetContentSetting( 277 GetHostContentSettingsMap()->SetContentSetting(
279 ContentSettingsPattern::FromURLNoWildcard(url()), 278 ContentSettingsPattern::FromURLNoWildcard(url()),
280 ContentSettingsPattern::FromURLNoWildcard(url()), 279 ContentSettingsPattern::FromURLNoWildcard(url()),
281 CONTENT_SETTINGS_TYPE_GEOLOCATION, 280 CONTENT_SETTINGS_TYPE_GEOLOCATION,
282 std::string(), 281 std::string(),
283 CONTENT_SETTING_BLOCK); 282 CONTENT_SETTING_BLOCK);
284 283
285 EXPECT_TRUE(callback_called()); 284 EXPECT_TRUE(callback_called());
286 EXPECT_EQ(content::PERMISSION_STATUS_DENIED, callback_result()); 285 EXPECT_EQ(content::PermissionStatus::DENIED, callback_result());
287 286
288 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id); 287 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id);
289 } 288 }
290 289
291 TEST_F(PermissionManagerTest, ChangeWithoutPermissionChangeDoesNotNotify) { 290 TEST_F(PermissionManagerTest, ChangeWithoutPermissionChangeDoesNotNotify) {
292 GetHostContentSettingsMap()->SetContentSetting( 291 GetHostContentSettingsMap()->SetContentSetting(
293 ContentSettingsPattern::FromURLNoWildcard(url()), 292 ContentSettingsPattern::FromURLNoWildcard(url()),
294 ContentSettingsPattern::FromURLNoWildcard(url()), 293 ContentSettingsPattern::FromURLNoWildcard(url()),
295 CONTENT_SETTINGS_TYPE_GEOLOCATION, 294 CONTENT_SETTINGS_TYPE_GEOLOCATION,
296 std::string(), 295 std::string(),
(...skipping 30 matching lines...) Expand all
327 base::Unretained(this))); 326 base::Unretained(this)));
328 327
329 GetHostContentSettingsMap()->SetContentSetting( 328 GetHostContentSettingsMap()->SetContentSetting(
330 ContentSettingsPattern::FromURLNoWildcard(url()), 329 ContentSettingsPattern::FromURLNoWildcard(url()),
331 ContentSettingsPattern::FromURLNoWildcard(url()), 330 ContentSettingsPattern::FromURLNoWildcard(url()),
332 CONTENT_SETTINGS_TYPE_GEOLOCATION, 331 CONTENT_SETTINGS_TYPE_GEOLOCATION,
333 std::string(), 332 std::string(),
334 CONTENT_SETTING_ALLOW); 333 CONTENT_SETTING_ALLOW);
335 334
336 EXPECT_TRUE(callback_called()); 335 EXPECT_TRUE(callback_called());
337 EXPECT_EQ(content::PERMISSION_STATUS_GRANTED, callback_result()); 336 EXPECT_EQ(content::PermissionStatus::GRANTED, callback_result());
338 337
339 Reset(); 338 Reset();
340 339
341 GetHostContentSettingsMap()->SetContentSetting( 340 GetHostContentSettingsMap()->SetContentSetting(
342 ContentSettingsPattern::FromURLNoWildcard(url()), 341 ContentSettingsPattern::FromURLNoWildcard(url()),
343 ContentSettingsPattern::FromURLNoWildcard(url()), 342 ContentSettingsPattern::FromURLNoWildcard(url()),
344 CONTENT_SETTINGS_TYPE_GEOLOCATION, 343 CONTENT_SETTINGS_TYPE_GEOLOCATION,
345 std::string(), 344 std::string(),
346 CONTENT_SETTING_ASK); 345 CONTENT_SETTING_ASK);
347 346
348 EXPECT_TRUE(callback_called()); 347 EXPECT_TRUE(callback_called());
349 EXPECT_EQ(content::PERMISSION_STATUS_ASK, callback_result()); 348 EXPECT_EQ(content::PermissionStatus::ASK, callback_result());
350 349
351 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id); 350 GetPermissionManager()->UnsubscribePermissionStatusChange(subscription_id);
352 } 351 }
OLDNEW
« no previous file with comments | « chrome/browser/permissions/permission_manager.cc ('k') | chrome/browser/permissions/permission_uma_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698