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

Side by Side Diff: chrome/browser/extensions/extension_blacklist_browsertest.cc

Issue 16295003: Update chrome/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "base/run_loop.h" 5 #include "base/run_loop.h"
6 #include "base/stringprintf.h" 6 #include "base/stringprintf.h"
7 #include "chrome/browser/extensions/blacklist.h" 7 #include "chrome/browser/extensions/blacklist.h"
8 #include "chrome/browser/extensions/extension_browsertest.h" 8 #include "chrome/browser/extensions/extension_browsertest.h"
9 #include "chrome/browser/extensions/extension_service.h" 9 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/extension_system.h" 10 #include "chrome/browser/extensions/extension_system.h"
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 InstallExtension(test_data_dir_.AppendASCII(info_c_.path()), 1); 253 InstallExtension(test_data_dir_.AppendASCII(info_c_.path()), 1);
254 254
255 EXPECT_TRUE(notifications.CheckNotifications( 255 EXPECT_TRUE(notifications.CheckNotifications(
256 chrome::NOTIFICATION_EXTENSION_INSTALLED, 256 chrome::NOTIFICATION_EXTENSION_INSTALLED,
257 chrome::NOTIFICATION_EXTENSION_LOADED, 257 chrome::NOTIFICATION_EXTENSION_LOADED,
258 chrome::NOTIFICATION_EXTENSION_INSTALLED, 258 chrome::NOTIFICATION_EXTENSION_INSTALLED,
259 chrome::NOTIFICATION_EXTENSION_LOADED, 259 chrome::NOTIFICATION_EXTENSION_LOADED,
260 chrome::NOTIFICATION_EXTENSION_INSTALLED, 260 chrome::NOTIFICATION_EXTENSION_INSTALLED,
261 chrome::NOTIFICATION_EXTENSION_LOADED)); 261 chrome::NOTIFICATION_EXTENSION_LOADED));
262 262
263 ASSERT_TRUE(extension_a); 263 ASSERT_TRUE(extension_a.get());
264 ASSERT_TRUE(extension_b); 264 ASSERT_TRUE(extension_b.get());
265 ASSERT_EQ(info_a_.id(), extension_a->id()); 265 ASSERT_EQ(info_a_.id(), extension_a->id());
266 ASSERT_EQ(info_b_.id(), extension_b->id()); 266 ASSERT_EQ(info_b_.id(), extension_b->id());
267 ASSERT_EQ(info_c_.id(), extension_c->id()); 267 ASSERT_EQ(info_c_.id(), extension_c->id());
268 268
269 std::vector<std::string> empty_vector; 269 std::vector<std::string> empty_vector;
270 std::vector<std::string> vector_a(1, info_a_.id()); 270 std::vector<std::string> vector_a(1, info_a_.id());
271 std::vector<std::string> vector_b(1, info_b_.id()); 271 std::vector<std::string> vector_b(1, info_b_.id());
272 std::vector<std::string> vector_c(1, info_c_.id()); 272 std::vector<std::string> vector_c(1, info_c_.id());
273 std::vector<std::string> vector_ab(1, info_a_.id()); 273 std::vector<std::string> vector_ab(1, info_a_.id());
274 vector_ab.push_back(info_b_.id()); 274 vector_ab.push_back(info_b_.id());
275 std::vector<std::string> vector_bc(1, info_b_.id()); 275 std::vector<std::string> vector_bc(1, info_b_.id());
276 vector_bc.push_back(info_c_.id()); 276 vector_bc.push_back(info_c_.id());
277 std::vector<std::string> vector_abc(1, info_a_.id()); 277 std::vector<std::string> vector_abc(1, info_a_.id());
278 vector_abc.push_back(info_b_.id()); 278 vector_abc.push_back(info_b_.id());
279 vector_abc.push_back(info_c_.id()); 279 vector_abc.push_back(info_c_.id());
280 280
281 EXPECT_TRUE(IsSafe(extension_a)); 281 EXPECT_TRUE(IsSafe(extension_a.get()));
282 EXPECT_TRUE(IsSafe(extension_b)); 282 EXPECT_TRUE(IsSafe(extension_b.get()));
283 EXPECT_TRUE(IsSafe(extension_c)); 283 EXPECT_TRUE(IsSafe(extension_c.get()));
284 284
285 // Blacklist a and b. 285 // Blacklist a and b.
286 blacklist()->SetFromUpdater(vector_ab, "1"); 286 blacklist()->SetFromUpdater(vector_ab, "1");
287 base::RunLoop().RunUntilIdle(); 287 base::RunLoop().RunUntilIdle();
288 288
289 EXPECT_TRUE(IsBlacklisted(extension_a)); 289 EXPECT_TRUE(IsBlacklisted(extension_a.get()));
290 EXPECT_TRUE(IsBlacklisted(extension_b)); 290 EXPECT_TRUE(IsBlacklisted(extension_b.get()));
291 EXPECT_TRUE(IsSafe(extension_c)); 291 EXPECT_TRUE(IsSafe(extension_c.get()));
292 EXPECT_TRUE(notifications.CheckNotifications( 292 EXPECT_TRUE(notifications.CheckNotifications(
293 chrome::NOTIFICATION_EXTENSION_UNLOADED, 293 chrome::NOTIFICATION_EXTENSION_UNLOADED,
294 chrome::NOTIFICATION_EXTENSION_UNLOADED)); 294 chrome::NOTIFICATION_EXTENSION_UNLOADED));
295 295
296 // Un-blacklist a. 296 // Un-blacklist a.
297 blacklist()->SetFromUpdater(vector_b, "2"); 297 blacklist()->SetFromUpdater(vector_b, "2");
298 base::RunLoop().RunUntilIdle(); 298 base::RunLoop().RunUntilIdle();
299 299
300 EXPECT_TRUE(IsSafe(extension_a)); 300 EXPECT_TRUE(IsSafe(extension_a.get()));
301 EXPECT_TRUE(IsBlacklisted(extension_b)); 301 EXPECT_TRUE(IsBlacklisted(extension_b.get()));
302 EXPECT_TRUE(IsSafe(extension_c)); 302 EXPECT_TRUE(IsSafe(extension_c.get()));
303 EXPECT_TRUE(notifications.CheckNotifications( 303 EXPECT_TRUE(
304 chrome::NOTIFICATION_EXTENSION_LOADED)); 304 notifications.CheckNotifications(chrome::NOTIFICATION_EXTENSION_LOADED));
305 305
306 // Blacklist a then switch with c. 306 // Blacklist a then switch with c.
307 blacklist()->SetFromUpdater(vector_ab, "3"); 307 blacklist()->SetFromUpdater(vector_ab, "3");
308 base::RunLoop().RunUntilIdle(); 308 base::RunLoop().RunUntilIdle();
309 309
310 EXPECT_TRUE(IsBlacklisted(extension_a)); 310 EXPECT_TRUE(IsBlacklisted(extension_a.get()));
311 EXPECT_TRUE(IsBlacklisted(extension_b)); 311 EXPECT_TRUE(IsBlacklisted(extension_b.get()));
312 EXPECT_TRUE(IsSafe(extension_c)); 312 EXPECT_TRUE(IsSafe(extension_c.get()));
313 EXPECT_TRUE(notifications.CheckNotifications( 313 EXPECT_TRUE(notifications.CheckNotifications(
314 chrome::NOTIFICATION_EXTENSION_UNLOADED)); 314 chrome::NOTIFICATION_EXTENSION_UNLOADED));
315 315
316 blacklist()->SetFromUpdater(vector_bc, "4"); 316 blacklist()->SetFromUpdater(vector_bc, "4");
317 base::RunLoop().RunUntilIdle(); 317 base::RunLoop().RunUntilIdle();
318 318
319 EXPECT_TRUE(IsSafe(extension_a)); 319 EXPECT_TRUE(IsSafe(extension_a.get()));
320 EXPECT_TRUE(IsBlacklisted(extension_b)); 320 EXPECT_TRUE(IsBlacklisted(extension_b.get()));
321 EXPECT_TRUE(IsBlacklisted(extension_c)); 321 EXPECT_TRUE(IsBlacklisted(extension_c.get()));
322 EXPECT_TRUE(notifications.CheckNotifications( 322 EXPECT_TRUE(notifications.CheckNotifications(
323 chrome::NOTIFICATION_EXTENSION_LOADED, 323 chrome::NOTIFICATION_EXTENSION_LOADED,
324 chrome::NOTIFICATION_EXTENSION_UNLOADED)); 324 chrome::NOTIFICATION_EXTENSION_UNLOADED));
325 325
326 // Add a to blacklist. 326 // Add a to blacklist.
327 blacklist()->SetFromUpdater(vector_abc, "5"); 327 blacklist()->SetFromUpdater(vector_abc, "5");
328 base::RunLoop().RunUntilIdle(); 328 base::RunLoop().RunUntilIdle();
329 329
330 EXPECT_TRUE(IsBlacklisted(extension_a)); 330 EXPECT_TRUE(IsBlacklisted(extension_a.get()));
331 EXPECT_TRUE(IsBlacklisted(extension_b)); 331 EXPECT_TRUE(IsBlacklisted(extension_b.get()));
332 EXPECT_TRUE(IsBlacklisted(extension_c)); 332 EXPECT_TRUE(IsBlacklisted(extension_c.get()));
333 EXPECT_TRUE(notifications.CheckNotifications( 333 EXPECT_TRUE(notifications.CheckNotifications(
334 chrome::NOTIFICATION_EXTENSION_UNLOADED)); 334 chrome::NOTIFICATION_EXTENSION_UNLOADED));
335 335
336 // Clear blacklist. 336 // Clear blacklist.
337 blacklist()->SetFromUpdater(empty_vector, "6"); 337 blacklist()->SetFromUpdater(empty_vector, "6");
338 base::RunLoop().RunUntilIdle(); 338 base::RunLoop().RunUntilIdle();
339 339
340 EXPECT_TRUE(IsSafe(extension_a)); 340 EXPECT_TRUE(IsSafe(extension_a.get()));
341 EXPECT_TRUE(IsSafe(extension_b)); 341 EXPECT_TRUE(IsSafe(extension_b.get()));
342 EXPECT_TRUE(IsSafe(extension_c)); 342 EXPECT_TRUE(IsSafe(extension_c.get()));
343 EXPECT_TRUE(notifications.CheckNotifications( 343 EXPECT_TRUE(
344 chrome::NOTIFICATION_EXTENSION_LOADED, 344 notifications.CheckNotifications(chrome::NOTIFICATION_EXTENSION_LOADED,
345 chrome::NOTIFICATION_EXTENSION_LOADED, 345 chrome::NOTIFICATION_EXTENSION_LOADED,
346 chrome::NOTIFICATION_EXTENSION_LOADED)); 346 chrome::NOTIFICATION_EXTENSION_LOADED));
347 347
348 // Add a and b back again for the next test. 348 // Add a and b back again for the next test.
349 blacklist()->SetFromUpdater(vector_ab, "7"); 349 blacklist()->SetFromUpdater(vector_ab, "7");
350 base::RunLoop().RunUntilIdle(); 350 base::RunLoop().RunUntilIdle();
351 351
352 EXPECT_TRUE(IsBlacklisted(extension_a)); 352 EXPECT_TRUE(IsBlacklisted(extension_a.get()));
353 EXPECT_TRUE(IsBlacklisted(extension_b)); 353 EXPECT_TRUE(IsBlacklisted(extension_b.get()));
354 EXPECT_TRUE(IsSafe(extension_c)); 354 EXPECT_TRUE(IsSafe(extension_c.get()));
355 EXPECT_TRUE(notifications.CheckNotifications( 355 EXPECT_TRUE(notifications.CheckNotifications(
356 chrome::NOTIFICATION_EXTENSION_UNLOADED, 356 chrome::NOTIFICATION_EXTENSION_UNLOADED,
357 chrome::NOTIFICATION_EXTENSION_UNLOADED)); 357 chrome::NOTIFICATION_EXTENSION_UNLOADED));
358 } 358 }
359 359
360 // Stage 2: blacklisting with extensions A and B having been installed, 360 // Stage 2: blacklisting with extensions A and B having been installed,
361 // with A actually in the blacklist. 361 // with A actually in the blacklist.
362 IN_PROC_BROWSER_TEST_F(ExtensionBlacklistBrowserTest, Blacklist) { 362 IN_PROC_BROWSER_TEST_F(ExtensionBlacklistBrowserTest, Blacklist) {
363 FilteringNotificationObserver notifications( 363 FilteringNotificationObserver notifications(
364 content::Source<Profile>(profile()), GetTestExtensionIDs()); 364 content::Source<Profile>(profile()), GetTestExtensionIDs());
365 365
366 scoped_refptr<const Extension> extension_a = 366 scoped_refptr<const Extension> extension_a =
367 extension_service()->blacklisted_extensions()->GetByID(info_a_.id()); 367 extension_service()->blacklisted_extensions()->GetByID(info_a_.id());
368 ASSERT_TRUE(extension_a); 368 ASSERT_TRUE(extension_a.get());
369 369
370 scoped_refptr<const Extension> extension_b = 370 scoped_refptr<const Extension> extension_b =
371 extension_service()->blacklisted_extensions()->GetByID(info_b_.id()); 371 extension_service()->blacklisted_extensions()->GetByID(info_b_.id());
372 ASSERT_TRUE(extension_b); 372 ASSERT_TRUE(extension_b.get());
373 373
374 scoped_refptr<const Extension> extension_c = 374 scoped_refptr<const Extension> extension_c =
375 extension_service()->extensions()->GetByID(info_c_.id()); 375 extension_service()->extensions()->GetByID(info_c_.id());
376 ASSERT_TRUE(extension_c); 376 ASSERT_TRUE(extension_c.get());
377 377
378 EXPECT_TRUE(IsBlacklisted(extension_a)); 378 EXPECT_TRUE(IsBlacklisted(extension_a.get()));
379 EXPECT_TRUE(IsBlacklisted(extension_b)); 379 EXPECT_TRUE(IsBlacklisted(extension_b.get()));
380 EXPECT_TRUE(IsSafe(extension_c)); 380 EXPECT_TRUE(IsSafe(extension_c.get()));
381 381
382 // Make sure that we can still blacklist c and unblacklist b. 382 // Make sure that we can still blacklist c and unblacklist b.
383 std::vector<std::string> vector_ac(1, extension_a->id()); 383 std::vector<std::string> vector_ac(1, extension_a->id());
384 vector_ac.push_back(extension_c->id()); 384 vector_ac.push_back(extension_c->id());
385 blacklist()->SetFromUpdater(vector_ac, "8"); 385 blacklist()->SetFromUpdater(vector_ac, "8");
386 base::RunLoop().RunUntilIdle(); 386 base::RunLoop().RunUntilIdle();
387 387
388 EXPECT_TRUE(IsBlacklisted(extension_a)); 388 EXPECT_TRUE(IsBlacklisted(extension_a.get()));
389 EXPECT_TRUE(IsSafe(extension_b)); 389 EXPECT_TRUE(IsSafe(extension_b.get()));
390 EXPECT_TRUE(IsBlacklisted(extension_c)); 390 EXPECT_TRUE(IsBlacklisted(extension_c.get()));
391 EXPECT_TRUE(notifications.CheckNotifications( 391 EXPECT_TRUE(notifications.CheckNotifications(
392 chrome::NOTIFICATION_EXTENSION_LOADED, 392 chrome::NOTIFICATION_EXTENSION_LOADED,
393 chrome::NOTIFICATION_EXTENSION_UNLOADED)); 393 chrome::NOTIFICATION_EXTENSION_UNLOADED));
394 } 394 }
395 395
396 } // namespace extensions 396 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698