OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/base_switches.h" | 7 #include "base/base_switches.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "chrome/browser/prefs/chrome_pref_service_factory.h" | 25 #include "chrome/browser/prefs/chrome_pref_service_factory.h" |
26 #include "chrome/browser/prefs/profile_pref_store_manager.h" | 26 #include "chrome/browser/prefs/profile_pref_store_manager.h" |
27 #include "chrome/browser/prefs/session_startup_pref.h" | 27 #include "chrome/browser/prefs/session_startup_pref.h" |
28 #include "chrome/browser/profiles/profile.h" | 28 #include "chrome/browser/profiles/profile.h" |
29 #include "chrome/browser/ui/browser.h" | 29 #include "chrome/browser/ui/browser.h" |
30 #include "chrome/common/chrome_constants.h" | 30 #include "chrome/common/chrome_constants.h" |
31 #include "chrome/common/chrome_paths.h" | 31 #include "chrome/common/chrome_paths.h" |
32 #include "chrome/common/pref_names.h" | 32 #include "chrome/common/pref_names.h" |
33 #include "chrome/test/base/testing_profile.h" | 33 #include "chrome/test/base/testing_profile.h" |
34 #include "components/search_engines/default_search_manager.h" | 34 #include "components/search_engines/default_search_manager.h" |
| 35 #include "components/user_prefs/tracked/tracked_preference_histogram_names.h" |
35 #include "extensions/browser/pref_names.h" | 36 #include "extensions/browser/pref_names.h" |
36 #include "extensions/common/extension.h" | 37 #include "extensions/common/extension.h" |
37 | 38 |
38 #if defined(OS_CHROMEOS) | 39 #if defined(OS_CHROMEOS) |
39 #include "chromeos/chromeos_switches.h" | 40 #include "chromeos/chromeos_switches.h" |
40 #endif | 41 #endif |
41 | 42 |
42 namespace { | 43 namespace { |
43 | 44 |
44 // Extension ID of chrome/test/data/extensions/good.crx | 45 // Extension ID of chrome/test/data/extensions/good.crx |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 const char kNumTrackedPrefFilename[] = "NumTrackedPrefs"; | 248 const char kNumTrackedPrefFilename[] = "NumTrackedPrefs"; |
248 | 249 |
249 base::FilePath num_tracked_prefs_file; | 250 base::FilePath num_tracked_prefs_file; |
250 ASSERT_TRUE( | 251 ASSERT_TRUE( |
251 PathService::Get(chrome::DIR_USER_DATA, &num_tracked_prefs_file)); | 252 PathService::Get(chrome::DIR_USER_DATA, &num_tracked_prefs_file)); |
252 num_tracked_prefs_file = | 253 num_tracked_prefs_file = |
253 num_tracked_prefs_file.AppendASCII(kNumTrackedPrefFilename); | 254 num_tracked_prefs_file.AppendASCII(kNumTrackedPrefFilename); |
254 | 255 |
255 if (IsPRETest()) { | 256 if (IsPRETest()) { |
256 num_tracked_prefs_ = GetTrackedPrefHistogramCount( | 257 num_tracked_prefs_ = GetTrackedPrefHistogramCount( |
257 "Settings.TrackedPreferenceNullInitialized", ALLOW_ANY); | 258 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 259 ALLOW_ANY); |
258 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, | 260 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, |
259 num_tracked_prefs_ > 0); | 261 num_tracked_prefs_ > 0); |
260 | 262 |
261 // Split tracked prefs are reported as Unchanged not as NullInitialized | 263 // Split tracked prefs are reported as Unchanged not as NullInitialized |
262 // when an empty dictionary is encountered on first run (this should only | 264 // when an empty dictionary is encountered on first run (this should only |
263 // hit for pref #5 in the current design). | 265 // hit for pref #5 in the current design). |
264 int num_split_tracked_prefs = GetTrackedPrefHistogramCount( | 266 int num_split_tracked_prefs = GetTrackedPrefHistogramCount( |
265 "Settings.TrackedPreferenceUnchanged", BEGIN_ALLOW_SINGLE_BUCKET + 5); | 267 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
| 268 BEGIN_ALLOW_SINGLE_BUCKET + 5); |
266 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, | 269 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, |
267 num_split_tracked_prefs); | 270 num_split_tracked_prefs); |
268 | 271 |
269 num_tracked_prefs_ += num_split_tracked_prefs; | 272 num_tracked_prefs_ += num_split_tracked_prefs; |
270 | 273 |
271 std::string num_tracked_prefs_str = base::IntToString(num_tracked_prefs_); | 274 std::string num_tracked_prefs_str = base::IntToString(num_tracked_prefs_); |
272 EXPECT_EQ(static_cast<int>(num_tracked_prefs_str.size()), | 275 EXPECT_EQ(static_cast<int>(num_tracked_prefs_str.size()), |
273 base::WriteFile(num_tracked_prefs_file, | 276 base::WriteFile(num_tracked_prefs_file, |
274 num_tracked_prefs_str.c_str(), | 277 num_tracked_prefs_str.c_str(), |
275 num_tracked_prefs_str.size())); | 278 num_tracked_prefs_str.size())); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 | 370 |
368 void AttackPreferencesOnDisk( | 371 void AttackPreferencesOnDisk( |
369 base::DictionaryValue* unprotected_preferences, | 372 base::DictionaryValue* unprotected_preferences, |
370 base::DictionaryValue* protected_preferences) override { | 373 base::DictionaryValue* protected_preferences) override { |
371 // No attack. | 374 // No attack. |
372 } | 375 } |
373 | 376 |
374 void VerifyReactionToPrefAttack() override { | 377 void VerifyReactionToPrefAttack() override { |
375 // Expect all prefs to be reported as Unchanged with no resets. | 378 // Expect all prefs to be reported as Unchanged with no resets. |
376 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM | 379 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM |
377 ? num_tracked_prefs() : 0, | 380 ? num_tracked_prefs() |
| 381 : 0, |
378 GetTrackedPrefHistogramCount( | 382 GetTrackedPrefHistogramCount( |
379 "Settings.TrackedPreferenceUnchanged", ALLOW_ANY)); | 383 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
380 EXPECT_EQ(0, | 384 ALLOW_ANY)); |
381 GetTrackedPrefHistogramCount( | 385 EXPECT_EQ( |
382 "Settings.TrackedPreferenceWantedReset", ALLOW_NONE)); | 386 0, GetTrackedPrefHistogramCount( |
383 EXPECT_EQ(0, | 387 tracked_pref_histogram_names::kTrackedPrefHistogramWantedReset, |
384 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | 388 ALLOW_NONE)); |
385 ALLOW_NONE)); | 389 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 390 tracked_pref_histogram_names::kTrackedPrefHistogramReset, |
| 391 ALLOW_NONE)); |
386 | 392 |
387 // Nothing else should have triggered. | 393 // Nothing else should have triggered. |
388 EXPECT_EQ(0, | 394 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
389 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 395 tracked_pref_histogram_names::kTrackedPrefHistogramChanged, |
390 ALLOW_NONE)); | 396 ALLOW_NONE)); |
391 EXPECT_EQ(0, | 397 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
392 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 398 tracked_pref_histogram_names::kTrackedPrefHistogramCleared, |
393 ALLOW_NONE)); | 399 ALLOW_NONE)); |
394 EXPECT_EQ(0, | 400 EXPECT_EQ( |
395 GetTrackedPrefHistogramCount( | 401 0, GetTrackedPrefHistogramCount( |
396 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 402 tracked_pref_histogram_names::kTrackedPrefHistogramInitialized, |
397 EXPECT_EQ(0, | 403 ALLOW_NONE)); |
398 GetTrackedPrefHistogramCount( | 404 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
399 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 405 tracked_pref_histogram_names:: |
400 EXPECT_EQ(0, | 406 kTrackedPrefHistogramTrustedInitialized, |
401 GetTrackedPrefHistogramCount( | 407 ALLOW_NONE)); |
402 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); | |
403 EXPECT_EQ( | 408 EXPECT_EQ( |
404 0, | 409 0, |
405 GetTrackedPrefHistogramCount( | 410 GetTrackedPrefHistogramCount( |
406 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 411 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 412 ALLOW_NONE)); |
| 413 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 414 tracked_pref_histogram_names:: |
| 415 kTrackedPrefHistogramMigratedLegacyDeviceId, |
| 416 ALLOW_NONE)); |
407 } | 417 } |
408 }; | 418 }; |
409 | 419 |
410 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedDefault, UnchangedDefault); | 420 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedDefault, UnchangedDefault); |
411 | 421 |
412 // Augments PrefHashBrowserTestUnchangedDefault to confirm that nothing is reset | 422 // Augments PrefHashBrowserTestUnchangedDefault to confirm that nothing is reset |
413 // when nothing is tampered with, even if Chrome itself wrote custom prefs in | 423 // when nothing is tampered with, even if Chrome itself wrote custom prefs in |
414 // its last run. | 424 // its last run. |
415 class PrefHashBrowserTestUnchangedCustom | 425 class PrefHashBrowserTestUnchangedCustom |
416 : public PrefHashBrowserTestUnchangedDefault { | 426 : public PrefHashBrowserTestUnchangedDefault { |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 // it. | 463 // it. |
454 EXPECT_TRUE(selected_prefs); | 464 EXPECT_TRUE(selected_prefs); |
455 EXPECT_TRUE(selected_prefs->Remove(prefs::kHomePage, NULL)); | 465 EXPECT_TRUE(selected_prefs->Remove(prefs::kHomePage, NULL)); |
456 } | 466 } |
457 | 467 |
458 void VerifyReactionToPrefAttack() override { | 468 void VerifyReactionToPrefAttack() override { |
459 // The clearance of homepage should have been noticed (as pref #2 being | 469 // The clearance of homepage should have been noticed (as pref #2 being |
460 // cleared), but shouldn't have triggered a reset (as there is nothing we | 470 // cleared), but shouldn't have triggered a reset (as there is nothing we |
461 // can do when the pref is already gone). | 471 // can do when the pref is already gone). |
462 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, | 472 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, |
463 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 473 GetTrackedPrefHistogramCount( |
464 BEGIN_ALLOW_SINGLE_BUCKET + 2)); | 474 tracked_pref_histogram_names::kTrackedPrefHistogramCleared, |
| 475 BEGIN_ALLOW_SINGLE_BUCKET + 2)); |
465 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM | 476 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM |
466 ? num_tracked_prefs() - 1 : 0, | 477 ? num_tracked_prefs() - 1 |
| 478 : 0, |
467 GetTrackedPrefHistogramCount( | 479 GetTrackedPrefHistogramCount( |
468 "Settings.TrackedPreferenceUnchanged", ALLOW_ANY)); | 480 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
469 EXPECT_EQ(0, | 481 ALLOW_ANY)); |
470 GetTrackedPrefHistogramCount( | 482 EXPECT_EQ( |
471 "Settings.TrackedPreferenceWantedReset", ALLOW_NONE)); | 483 0, GetTrackedPrefHistogramCount( |
472 EXPECT_EQ(0, | 484 tracked_pref_histogram_names::kTrackedPrefHistogramWantedReset, |
473 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | 485 ALLOW_NONE)); |
474 ALLOW_NONE)); | 486 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 487 tracked_pref_histogram_names::kTrackedPrefHistogramReset, |
| 488 ALLOW_NONE)); |
475 | 489 |
476 // Nothing else should have triggered. | 490 // Nothing else should have triggered. |
477 EXPECT_EQ(0, | 491 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
478 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 492 tracked_pref_histogram_names::kTrackedPrefHistogramChanged, |
479 ALLOW_NONE)); | 493 ALLOW_NONE)); |
480 EXPECT_EQ(0, | 494 EXPECT_EQ( |
481 GetTrackedPrefHistogramCount( | 495 0, GetTrackedPrefHistogramCount( |
482 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 496 tracked_pref_histogram_names::kTrackedPrefHistogramInitialized, |
483 EXPECT_EQ(0, | 497 ALLOW_NONE)); |
484 GetTrackedPrefHistogramCount( | 498 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
485 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 499 tracked_pref_histogram_names:: |
486 EXPECT_EQ(0, | 500 kTrackedPrefHistogramTrustedInitialized, |
487 GetTrackedPrefHistogramCount( | 501 ALLOW_NONE)); |
488 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); | |
489 EXPECT_EQ( | 502 EXPECT_EQ( |
490 0, | 503 0, |
491 GetTrackedPrefHistogramCount( | 504 GetTrackedPrefHistogramCount( |
492 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 505 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 506 ALLOW_NONE)); |
| 507 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 508 tracked_pref_histogram_names:: |
| 509 kTrackedPrefHistogramMigratedLegacyDeviceId, |
| 510 ALLOW_NONE)); |
493 } | 511 } |
494 }; | 512 }; |
495 | 513 |
496 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestClearedAtomic, ClearedAtomic); | 514 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestClearedAtomic, ClearedAtomic); |
497 | 515 |
498 // Verifies that clearing the MACs results in untrusted Initialized pings for | 516 // Verifies that clearing the MACs results in untrusted Initialized pings for |
499 // non-null protected prefs. | 517 // non-null protected prefs. |
500 class PrefHashBrowserTestUntrustedInitialized : public PrefHashBrowserTestBase { | 518 class PrefHashBrowserTestUntrustedInitialized : public PrefHashBrowserTestBase { |
501 public: | 519 public: |
502 void SetupPreferences() override { | 520 void SetupPreferences() override { |
(...skipping 24 matching lines...) Expand all Loading... |
527 base::DictionaryValue* unprotected_preferences, | 545 base::DictionaryValue* unprotected_preferences, |
528 base::DictionaryValue* protected_preferences) override { | 546 base::DictionaryValue* protected_preferences) override { |
529 EXPECT_TRUE(unprotected_preferences->Remove("protection.macs", NULL)); | 547 EXPECT_TRUE(unprotected_preferences->Remove("protection.macs", NULL)); |
530 if (protected_preferences) | 548 if (protected_preferences) |
531 EXPECT_TRUE(protected_preferences->Remove("protection.macs", NULL)); | 549 EXPECT_TRUE(protected_preferences->Remove("protection.macs", NULL)); |
532 } | 550 } |
533 | 551 |
534 void VerifyReactionToPrefAttack() override { | 552 void VerifyReactionToPrefAttack() override { |
535 // Preferences that are NULL by default will be NullInitialized. | 553 // Preferences that are NULL by default will be NullInitialized. |
536 int num_null_values = GetTrackedPrefHistogramCount( | 554 int num_null_values = GetTrackedPrefHistogramCount( |
537 "Settings.TrackedPreferenceNullInitialized", ALLOW_ANY); | 555 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 556 ALLOW_ANY); |
538 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, | 557 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, |
539 num_null_values > 0); | 558 num_null_values > 0); |
540 if (num_null_values > 0) { | 559 if (num_null_values > 0) { |
541 // This test requires that at least 3 prefs be non-null (extensions, DSE, | 560 // This test requires that at least 3 prefs be non-null (extensions, DSE, |
542 // and 1 atomic pref explictly set for this test above). | 561 // and 1 atomic pref explictly set for this test above). |
543 EXPECT_GE(num_tracked_prefs() - num_null_values, 3); | 562 EXPECT_GE(num_tracked_prefs() - num_null_values, 3); |
544 } | 563 } |
545 | 564 |
546 // Expect all non-null prefs to be reported as Initialized (with | 565 // Expect all non-null prefs to be reported as Initialized (with |
547 // accompanying resets or wanted resets based on the current protection | 566 // accompanying resets or wanted resets based on the current protection |
548 // level). | 567 // level). |
549 EXPECT_EQ(num_tracked_prefs() - num_null_values, | 568 EXPECT_EQ( |
550 GetTrackedPrefHistogramCount( | 569 num_tracked_prefs() - num_null_values, |
551 "Settings.TrackedPreferenceInitialized", ALLOW_ANY)); | 570 GetTrackedPrefHistogramCount( |
| 571 tracked_pref_histogram_names::kTrackedPrefHistogramInitialized, |
| 572 ALLOW_ANY)); |
552 | 573 |
553 int num_protected_prefs = 0; | 574 int num_protected_prefs = 0; |
554 // A switch statement falling through each protection level in decreasing | 575 // A switch statement falling through each protection level in decreasing |
555 // levels of protection to add expectations for each level which augments | 576 // levels of protection to add expectations for each level which augments |
556 // the previous one. | 577 // the previous one. |
557 switch (protection_level_) { | 578 switch (protection_level_) { |
558 case PROTECTION_ENABLED_ALL: | 579 case PROTECTION_ENABLED_ALL: |
559 // Falls through. | 580 // Falls through. |
560 case PROTECTION_ENABLED_EXTENSIONS: | 581 case PROTECTION_ENABLED_EXTENSIONS: |
561 ++num_protected_prefs; | 582 ++num_protected_prefs; |
562 // Falls through. | 583 // Falls through. |
563 case PROTECTION_ENABLED_DSE: | 584 case PROTECTION_ENABLED_DSE: |
564 ++num_protected_prefs; | 585 ++num_protected_prefs; |
565 // Falls through. | 586 // Falls through. |
566 case PROTECTION_ENABLED_BASIC: | 587 case PROTECTION_ENABLED_BASIC: |
567 num_protected_prefs += num_tracked_prefs() - num_null_values - 2; | 588 num_protected_prefs += num_tracked_prefs() - num_null_values - 2; |
568 // Falls through. | 589 // Falls through. |
569 case PROTECTION_DISABLED_FOR_GROUP: | 590 case PROTECTION_DISABLED_FOR_GROUP: |
570 // No protection. Falls through. | 591 // No protection. Falls through. |
571 case PROTECTION_DISABLED_ON_PLATFORM: | 592 case PROTECTION_DISABLED_ON_PLATFORM: |
572 // No protection. | 593 // No protection. |
573 break; | 594 break; |
574 } | 595 } |
575 | 596 |
576 EXPECT_EQ(num_tracked_prefs() - num_null_values - num_protected_prefs, | 597 EXPECT_EQ( |
| 598 num_tracked_prefs() - num_null_values - num_protected_prefs, |
| 599 GetTrackedPrefHistogramCount( |
| 600 tracked_pref_histogram_names::kTrackedPrefHistogramWantedReset, |
| 601 ALLOW_ANY)); |
| 602 EXPECT_EQ(num_protected_prefs, |
577 GetTrackedPrefHistogramCount( | 603 GetTrackedPrefHistogramCount( |
578 "Settings.TrackedPreferenceWantedReset", ALLOW_ANY)); | 604 tracked_pref_histogram_names::kTrackedPrefHistogramReset, |
579 EXPECT_EQ(num_protected_prefs, | 605 ALLOW_ANY)); |
580 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | |
581 ALLOW_ANY)); | |
582 | 606 |
583 // Explicitly verify the result of reported resets. | 607 // Explicitly verify the result of reported resets. |
584 | 608 |
585 DefaultSearchManager default_search_manager( | 609 DefaultSearchManager default_search_manager( |
586 profile()->GetPrefs(), DefaultSearchManager::ObserverCallback()); | 610 profile()->GetPrefs(), DefaultSearchManager::ObserverCallback()); |
587 DefaultSearchManager::Source dse_source = | 611 DefaultSearchManager::Source dse_source = |
588 static_cast<DefaultSearchManager::Source>(-1); | 612 static_cast<DefaultSearchManager::Source>(-1); |
589 default_search_manager.GetDefaultSearchEngine(&dse_source); | 613 default_search_manager.GetDefaultSearchEngine(&dse_source); |
590 EXPECT_EQ(protection_level_ < PROTECTION_ENABLED_DSE | 614 EXPECT_EQ(protection_level_ < PROTECTION_ENABLED_DSE |
591 ? DefaultSearchManager::FROM_USER | 615 ? DefaultSearchManager::FROM_USER |
592 : DefaultSearchManager::FROM_FALLBACK, | 616 : DefaultSearchManager::FROM_FALLBACK, |
593 dse_source); | 617 dse_source); |
594 | 618 |
595 EXPECT_EQ(protection_level_ < PROTECTION_ENABLED_BASIC, | 619 EXPECT_EQ(protection_level_ < PROTECTION_ENABLED_BASIC, |
596 profile()->GetPrefs()->GetInteger(prefs::kRestoreOnStartup) == | 620 profile()->GetPrefs()->GetInteger(prefs::kRestoreOnStartup) == |
597 SessionStartupPref::URLS); | 621 SessionStartupPref::URLS); |
598 | 622 |
599 // Nothing else should have triggered. | 623 // Nothing else should have triggered. |
600 EXPECT_EQ(0, | 624 EXPECT_EQ(0, |
601 GetTrackedPrefHistogramCount( | 625 GetTrackedPrefHistogramCount( |
602 "Settings.TrackedPreferenceUnchanged", ALLOW_NONE)); | 626 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
603 EXPECT_EQ(0, | 627 ALLOW_NONE)); |
604 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 628 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
605 ALLOW_NONE)); | 629 tracked_pref_histogram_names::kTrackedPrefHistogramChanged, |
606 EXPECT_EQ(0, | 630 ALLOW_NONE)); |
607 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 631 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
608 ALLOW_NONE)); | 632 tracked_pref_histogram_names::kTrackedPrefHistogramCleared, |
609 EXPECT_EQ( | 633 ALLOW_NONE)); |
610 0, | 634 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
611 GetTrackedPrefHistogramCount( | 635 tracked_pref_histogram_names:: |
612 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 636 kTrackedPrefHistogramMigratedLegacyDeviceId, |
| 637 ALLOW_NONE)); |
613 } | 638 } |
614 }; | 639 }; |
615 | 640 |
616 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedInitialized, | 641 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedInitialized, |
617 UntrustedInitialized); | 642 UntrustedInitialized); |
618 | 643 |
619 // Verifies that changing an atomic pref results in it being reported (and reset | 644 // Verifies that changing an atomic pref results in it being reported (and reset |
620 // if the protection level allows it). | 645 // if the protection level allows it). |
621 class PrefHashBrowserTestChangedAtomic : public PrefHashBrowserTestBase { | 646 class PrefHashBrowserTestChangedAtomic : public PrefHashBrowserTestBase { |
622 public: | 647 public: |
(...skipping 19 matching lines...) Expand all Loading... |
642 EXPECT_TRUE( | 667 EXPECT_TRUE( |
643 selected_prefs->GetList(prefs::kURLsToRestoreOnStartup, &startup_urls)); | 668 selected_prefs->GetList(prefs::kURLsToRestoreOnStartup, &startup_urls)); |
644 EXPECT_TRUE(startup_urls); | 669 EXPECT_TRUE(startup_urls); |
645 EXPECT_EQ(1U, startup_urls->GetSize()); | 670 EXPECT_EQ(1U, startup_urls->GetSize()); |
646 startup_urls->AppendString("http://example.org"); | 671 startup_urls->AppendString("http://example.org"); |
647 } | 672 } |
648 | 673 |
649 void VerifyReactionToPrefAttack() override { | 674 void VerifyReactionToPrefAttack() override { |
650 // Expect a single Changed event for tracked pref #4 (startup URLs). | 675 // Expect a single Changed event for tracked pref #4 (startup URLs). |
651 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, | 676 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, |
652 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 677 GetTrackedPrefHistogramCount( |
653 BEGIN_ALLOW_SINGLE_BUCKET + 4)); | 678 tracked_pref_histogram_names::kTrackedPrefHistogramChanged, |
| 679 BEGIN_ALLOW_SINGLE_BUCKET + 4)); |
654 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM | 680 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM |
655 ? num_tracked_prefs() - 1 : 0, | 681 ? num_tracked_prefs() - 1 |
| 682 : 0, |
656 GetTrackedPrefHistogramCount( | 683 GetTrackedPrefHistogramCount( |
657 "Settings.TrackedPreferenceUnchanged", ALLOW_ANY)); | 684 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
| 685 ALLOW_ANY)); |
658 | 686 |
659 EXPECT_EQ( | 687 EXPECT_EQ( |
660 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && | 688 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && |
661 protection_level_ < PROTECTION_ENABLED_BASIC) ? 1 : 0, | 689 protection_level_ < PROTECTION_ENABLED_BASIC) |
662 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceWantedReset", | 690 ? 1 |
663 BEGIN_ALLOW_SINGLE_BUCKET + 4)); | 691 : 0, |
| 692 GetTrackedPrefHistogramCount( |
| 693 tracked_pref_histogram_names::kTrackedPrefHistogramWantedReset, |
| 694 BEGIN_ALLOW_SINGLE_BUCKET + 4)); |
664 EXPECT_EQ(protection_level_ >= PROTECTION_ENABLED_BASIC ? 1 : 0, | 695 EXPECT_EQ(protection_level_ >= PROTECTION_ENABLED_BASIC ? 1 : 0, |
665 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | 696 GetTrackedPrefHistogramCount( |
666 BEGIN_ALLOW_SINGLE_BUCKET + 4)); | 697 tracked_pref_histogram_names::kTrackedPrefHistogramReset, |
| 698 BEGIN_ALLOW_SINGLE_BUCKET + 4)); |
667 | 699 |
668 // TODO(gab): This doesn't work on OS_CHROMEOS because we fail to attack | 700 // TODO(gab): This doesn't work on OS_CHROMEOS because we fail to attack |
669 // Preferences. | 701 // Preferences. |
670 #if !defined(OS_CHROMEOS) | 702 #if !defined(OS_CHROMEOS) |
671 // Explicitly verify the result of reported resets. | 703 // Explicitly verify the result of reported resets. |
672 EXPECT_EQ(protection_level_ >= PROTECTION_ENABLED_BASIC ? 0U : 2U, | 704 EXPECT_EQ(protection_level_ >= PROTECTION_ENABLED_BASIC ? 0U : 2U, |
673 profile() | 705 profile() |
674 ->GetPrefs() | 706 ->GetPrefs() |
675 ->GetList(prefs::kURLsToRestoreOnStartup) | 707 ->GetList(prefs::kURLsToRestoreOnStartup) |
676 ->GetSize()); | 708 ->GetSize()); |
677 #endif | 709 #endif |
678 | 710 |
679 // Nothing else should have triggered. | 711 // Nothing else should have triggered. |
680 EXPECT_EQ(0, | 712 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
681 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 713 tracked_pref_histogram_names::kTrackedPrefHistogramCleared, |
682 ALLOW_NONE)); | 714 ALLOW_NONE)); |
683 EXPECT_EQ(0, | 715 EXPECT_EQ( |
684 GetTrackedPrefHistogramCount( | 716 0, GetTrackedPrefHistogramCount( |
685 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 717 tracked_pref_histogram_names::kTrackedPrefHistogramInitialized, |
686 EXPECT_EQ(0, | 718 ALLOW_NONE)); |
687 GetTrackedPrefHistogramCount( | 719 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
688 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 720 tracked_pref_histogram_names:: |
689 EXPECT_EQ(0, | 721 kTrackedPrefHistogramTrustedInitialized, |
690 GetTrackedPrefHistogramCount( | 722 ALLOW_NONE)); |
691 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); | |
692 EXPECT_EQ( | 723 EXPECT_EQ( |
693 0, | 724 0, |
694 GetTrackedPrefHistogramCount( | 725 GetTrackedPrefHistogramCount( |
695 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 726 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 727 ALLOW_NONE)); |
| 728 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 729 tracked_pref_histogram_names:: |
| 730 kTrackedPrefHistogramMigratedLegacyDeviceId, |
| 731 ALLOW_NONE)); |
696 } | 732 } |
697 }; | 733 }; |
698 | 734 |
699 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedAtomic, ChangedAtomic); | 735 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedAtomic, ChangedAtomic); |
700 | 736 |
701 // Verifies that changing or adding an entry in a split pref results in both | 737 // Verifies that changing or adding an entry in a split pref results in both |
702 // items being reported (and remove if the protection level allows it). | 738 // items being reported (and remove if the protection level allows it). |
703 class PrefHashBrowserTestChangedSplitPref : public PrefHashBrowserTestBase { | 739 class PrefHashBrowserTestChangedSplitPref : public PrefHashBrowserTestBase { |
704 public: | 740 public: |
705 void SetupPreferences() override { | 741 void SetupPreferences() override { |
(...skipping 28 matching lines...) Expand all Loading... |
734 // don't need to be valid extension settings). | 770 // don't need to be valid extension settings). |
735 base::DictionaryValue* fake_extension = new base::DictionaryValue; | 771 base::DictionaryValue* fake_extension = new base::DictionaryValue; |
736 fake_extension->SetString("name", "foo"); | 772 fake_extension->SetString("name", "foo"); |
737 extensions_dict->Set(std::string(32, 'a'), fake_extension); | 773 extensions_dict->Set(std::string(32, 'a'), fake_extension); |
738 } | 774 } |
739 | 775 |
740 void VerifyReactionToPrefAttack() override { | 776 void VerifyReactionToPrefAttack() override { |
741 // Expect a single split pref changed report with a count of 2 for tracked | 777 // Expect a single split pref changed report with a count of 2 for tracked |
742 // pref #5 (extensions). | 778 // pref #5 (extensions). |
743 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, | 779 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, |
744 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 780 GetTrackedPrefHistogramCount( |
745 BEGIN_ALLOW_SINGLE_BUCKET + 5)); | 781 tracked_pref_histogram_names::kTrackedPrefHistogramChanged, |
| 782 BEGIN_ALLOW_SINGLE_BUCKET + 5)); |
746 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, | 783 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, |
747 GetTrackedPrefHistogramCount( | 784 GetTrackedPrefHistogramCount( |
748 "Settings.TrackedSplitPreferenceChanged.extensions.settings", | 785 "Settings.TrackedSplitPreferenceChanged.extensions.settings", |
749 BEGIN_ALLOW_SINGLE_BUCKET + 2)); | 786 BEGIN_ALLOW_SINGLE_BUCKET + 2)); |
750 | 787 |
751 // Everything else should have remained unchanged. | 788 // Everything else should have remained unchanged. |
752 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM | 789 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM |
753 ? num_tracked_prefs() - 1 : 0, | 790 ? num_tracked_prefs() - 1 |
| 791 : 0, |
754 GetTrackedPrefHistogramCount( | 792 GetTrackedPrefHistogramCount( |
755 "Settings.TrackedPreferenceUnchanged", ALLOW_ANY)); | 793 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
| 794 ALLOW_ANY)); |
756 | 795 |
757 EXPECT_EQ( | 796 EXPECT_EQ( |
758 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && | 797 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && |
759 protection_level_ < PROTECTION_ENABLED_EXTENSIONS) ? 1 : 0, | 798 protection_level_ < PROTECTION_ENABLED_EXTENSIONS) |
760 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceWantedReset", | 799 ? 1 |
761 BEGIN_ALLOW_SINGLE_BUCKET + 5)); | 800 : 0, |
| 801 GetTrackedPrefHistogramCount( |
| 802 tracked_pref_histogram_names::kTrackedPrefHistogramWantedReset, |
| 803 BEGIN_ALLOW_SINGLE_BUCKET + 5)); |
762 EXPECT_EQ(protection_level_ >= PROTECTION_ENABLED_EXTENSIONS ? 1 : 0, | 804 EXPECT_EQ(protection_level_ >= PROTECTION_ENABLED_EXTENSIONS ? 1 : 0, |
763 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | 805 GetTrackedPrefHistogramCount( |
764 BEGIN_ALLOW_SINGLE_BUCKET + 5)); | 806 tracked_pref_histogram_names::kTrackedPrefHistogramReset, |
| 807 BEGIN_ALLOW_SINGLE_BUCKET + 5)); |
765 | 808 |
766 EXPECT_EQ(protection_level_ < PROTECTION_ENABLED_EXTENSIONS, | 809 EXPECT_EQ(protection_level_ < PROTECTION_ENABLED_EXTENSIONS, |
767 extension_service()->GetExtensionById(kGoodCrxId, true) != NULL); | 810 extension_service()->GetExtensionById(kGoodCrxId, true) != NULL); |
768 | 811 |
769 // Nothing else should have triggered. | 812 // Nothing else should have triggered. |
770 EXPECT_EQ(0, | 813 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
771 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 814 tracked_pref_histogram_names::kTrackedPrefHistogramCleared, |
772 ALLOW_NONE)); | 815 ALLOW_NONE)); |
773 EXPECT_EQ(0, | 816 EXPECT_EQ( |
774 GetTrackedPrefHistogramCount( | 817 0, GetTrackedPrefHistogramCount( |
775 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 818 tracked_pref_histogram_names::kTrackedPrefHistogramInitialized, |
776 EXPECT_EQ(0, | 819 ALLOW_NONE)); |
777 GetTrackedPrefHistogramCount( | 820 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
778 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 821 tracked_pref_histogram_names:: |
779 EXPECT_EQ(0, | 822 kTrackedPrefHistogramTrustedInitialized, |
780 GetTrackedPrefHistogramCount( | 823 ALLOW_NONE)); |
781 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); | |
782 EXPECT_EQ( | 824 EXPECT_EQ( |
783 0, | 825 0, |
784 GetTrackedPrefHistogramCount( | 826 GetTrackedPrefHistogramCount( |
785 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 827 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 828 ALLOW_NONE)); |
| 829 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 830 tracked_pref_histogram_names:: |
| 831 kTrackedPrefHistogramMigratedLegacyDeviceId, |
| 832 ALLOW_NONE)); |
786 } | 833 } |
787 }; | 834 }; |
788 | 835 |
789 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref, ChangedSplitPref); | 836 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref, ChangedSplitPref); |
790 | 837 |
791 // Verifies that adding a value to unprotected preferences for a key which is | 838 // Verifies that adding a value to unprotected preferences for a key which is |
792 // still using the default (i.e. has no value stored in protected preferences) | 839 // still using the default (i.e. has no value stored in protected preferences) |
793 // doesn't allow that value to slip in with no valid MAC (regression test for | 840 // doesn't allow that value to slip in with no valid MAC (regression test for |
794 // http://crbug.com/414554) | 841 // http://crbug.com/414554) |
795 class PrefHashBrowserTestUntrustedAdditionToPrefs | 842 class PrefHashBrowserTestUntrustedAdditionToPrefs |
(...skipping 10 matching lines...) Expand all Loading... |
806 base::DictionaryValue* protected_preferences) override { | 853 base::DictionaryValue* protected_preferences) override { |
807 unprotected_preferences->SetInteger(prefs::kRestoreOnStartup, | 854 unprotected_preferences->SetInteger(prefs::kRestoreOnStartup, |
808 SessionStartupPref::LAST); | 855 SessionStartupPref::LAST); |
809 } | 856 } |
810 | 857 |
811 void VerifyReactionToPrefAttack() override { | 858 void VerifyReactionToPrefAttack() override { |
812 // Expect a single Changed event for tracked pref #3 (kRestoreOnStartup) if | 859 // Expect a single Changed event for tracked pref #3 (kRestoreOnStartup) if |
813 // not protecting; if protection is enabled the change should be a no-op. | 860 // not protecting; if protection is enabled the change should be a no-op. |
814 int changed_expected = | 861 int changed_expected = |
815 protection_level_ == PROTECTION_DISABLED_FOR_GROUP ? 1 : 0; | 862 protection_level_ == PROTECTION_DISABLED_FOR_GROUP ? 1 : 0; |
816 EXPECT_EQ( | 863 EXPECT_EQ((protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && |
817 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && | 864 protection_level_ < PROTECTION_ENABLED_BASIC) |
818 protection_level_ < PROTECTION_ENABLED_BASIC) ? changed_expected : 0, | 865 ? changed_expected |
819 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 866 : 0, |
820 BEGIN_ALLOW_SINGLE_BUCKET + 3)); | 867 GetTrackedPrefHistogramCount( |
| 868 tracked_pref_histogram_names::kTrackedPrefHistogramChanged, |
| 869 BEGIN_ALLOW_SINGLE_BUCKET + 3)); |
821 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM | 870 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM |
822 ? num_tracked_prefs() - changed_expected : 0, | 871 ? num_tracked_prefs() - changed_expected |
| 872 : 0, |
823 GetTrackedPrefHistogramCount( | 873 GetTrackedPrefHistogramCount( |
824 "Settings.TrackedPreferenceUnchanged", ALLOW_ANY)); | 874 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
| 875 ALLOW_ANY)); |
825 | 876 |
826 EXPECT_EQ( | 877 EXPECT_EQ( |
827 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && | 878 (protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && |
828 protection_level_ < PROTECTION_ENABLED_BASIC) ? 1 : 0, | 879 protection_level_ < PROTECTION_ENABLED_BASIC) |
829 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceWantedReset", | 880 ? 1 |
830 BEGIN_ALLOW_SINGLE_BUCKET + 3)); | 881 : 0, |
831 EXPECT_EQ(0, | 882 GetTrackedPrefHistogramCount( |
832 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | 883 tracked_pref_histogram_names::kTrackedPrefHistogramWantedReset, |
833 ALLOW_NONE)); | 884 BEGIN_ALLOW_SINGLE_BUCKET + 3)); |
| 885 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 886 tracked_pref_histogram_names::kTrackedPrefHistogramReset, |
| 887 ALLOW_NONE)); |
834 | 888 |
835 // Nothing else should have triggered. | 889 // Nothing else should have triggered. |
836 EXPECT_EQ(0, | 890 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
837 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 891 tracked_pref_histogram_names::kTrackedPrefHistogramCleared, |
838 ALLOW_NONE)); | 892 ALLOW_NONE)); |
839 EXPECT_EQ(0, | 893 EXPECT_EQ( |
840 GetTrackedPrefHistogramCount( | 894 0, GetTrackedPrefHistogramCount( |
841 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 895 tracked_pref_histogram_names::kTrackedPrefHistogramInitialized, |
842 EXPECT_EQ(0, | 896 ALLOW_NONE)); |
843 GetTrackedPrefHistogramCount( | 897 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
844 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 898 tracked_pref_histogram_names:: |
845 EXPECT_EQ(0, | 899 kTrackedPrefHistogramTrustedInitialized, |
846 GetTrackedPrefHistogramCount( | 900 ALLOW_NONE)); |
847 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); | |
848 EXPECT_EQ( | 901 EXPECT_EQ( |
849 0, | 902 0, |
850 GetTrackedPrefHistogramCount( | 903 GetTrackedPrefHistogramCount( |
851 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 904 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 905 ALLOW_NONE)); |
| 906 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 907 tracked_pref_histogram_names:: |
| 908 kTrackedPrefHistogramMigratedLegacyDeviceId, |
| 909 ALLOW_NONE)); |
852 } | 910 } |
853 }; | 911 }; |
854 | 912 |
855 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefs, | 913 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefs, |
856 UntrustedAdditionToPrefs); | 914 UntrustedAdditionToPrefs); |
857 | 915 |
858 // Verifies that adding a value to unprotected preferences while wiping a | 916 // Verifies that adding a value to unprotected preferences while wiping a |
859 // user-selected value from protected preferences doesn't allow that value to | 917 // user-selected value from protected preferences doesn't allow that value to |
860 // slip in with no valid MAC (regression test for http://crbug.com/414554). | 918 // slip in with no valid MAC (regression test for http://crbug.com/414554). |
861 class PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe | 919 class PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe |
(...skipping 17 matching lines...) Expand all Loading... |
879 // Expect a single Changed event for tracked pref #2 (kHomePage) if | 937 // Expect a single Changed event for tracked pref #2 (kHomePage) if |
880 // not protecting; if protection is enabled the change should be a Cleared. | 938 // not protecting; if protection is enabled the change should be a Cleared. |
881 int changed_expected = | 939 int changed_expected = |
882 protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && | 940 protection_level_ > PROTECTION_DISABLED_ON_PLATFORM && |
883 protection_level_ < PROTECTION_ENABLED_BASIC | 941 protection_level_ < PROTECTION_ENABLED_BASIC |
884 ? 1 : 0; | 942 ? 1 : 0; |
885 int cleared_expected = | 943 int cleared_expected = |
886 protection_level_ >= PROTECTION_ENABLED_BASIC | 944 protection_level_ >= PROTECTION_ENABLED_BASIC |
887 ? 1 : 0; | 945 ? 1 : 0; |
888 EXPECT_EQ(changed_expected, | 946 EXPECT_EQ(changed_expected, |
889 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 947 GetTrackedPrefHistogramCount( |
890 BEGIN_ALLOW_SINGLE_BUCKET + 2)); | 948 tracked_pref_histogram_names::kTrackedPrefHistogramChanged, |
| 949 BEGIN_ALLOW_SINGLE_BUCKET + 2)); |
891 EXPECT_EQ(cleared_expected, | 950 EXPECT_EQ(cleared_expected, |
892 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 951 GetTrackedPrefHistogramCount( |
893 BEGIN_ALLOW_SINGLE_BUCKET + 2)); | 952 tracked_pref_histogram_names::kTrackedPrefHistogramCleared, |
| 953 BEGIN_ALLOW_SINGLE_BUCKET + 2)); |
894 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM | 954 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM |
895 ? num_tracked_prefs() - changed_expected - cleared_expected | 955 ? num_tracked_prefs() - changed_expected - cleared_expected |
896 : 0, | 956 : 0, |
897 GetTrackedPrefHistogramCount( | 957 GetTrackedPrefHistogramCount( |
898 "Settings.TrackedPreferenceUnchanged", ALLOW_ANY)); | 958 tracked_pref_histogram_names::kTrackedPrefHistogramUnchanged, |
| 959 ALLOW_ANY)); |
899 | 960 |
900 EXPECT_EQ( | 961 EXPECT_EQ( |
901 changed_expected, | 962 changed_expected, |
902 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceWantedReset", | 963 GetTrackedPrefHistogramCount( |
903 BEGIN_ALLOW_SINGLE_BUCKET + 2)); | 964 tracked_pref_histogram_names::kTrackedPrefHistogramWantedReset, |
904 EXPECT_EQ(0, | 965 BEGIN_ALLOW_SINGLE_BUCKET + 2)); |
905 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | 966 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
906 ALLOW_NONE)); | 967 tracked_pref_histogram_names::kTrackedPrefHistogramReset, |
| 968 ALLOW_NONE)); |
907 | 969 |
908 // Nothing else should have triggered. | 970 // Nothing else should have triggered. |
909 EXPECT_EQ(0, | 971 EXPECT_EQ( |
910 GetTrackedPrefHistogramCount( | 972 0, GetTrackedPrefHistogramCount( |
911 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 973 tracked_pref_histogram_names::kTrackedPrefHistogramInitialized, |
912 EXPECT_EQ(0, | 974 ALLOW_NONE)); |
913 GetTrackedPrefHistogramCount( | 975 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
914 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 976 tracked_pref_histogram_names:: |
915 EXPECT_EQ(0, | 977 kTrackedPrefHistogramTrustedInitialized, |
916 GetTrackedPrefHistogramCount( | 978 ALLOW_NONE)); |
917 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); | |
918 EXPECT_EQ( | 979 EXPECT_EQ( |
919 0, | 980 0, |
920 GetTrackedPrefHistogramCount( | 981 GetTrackedPrefHistogramCount( |
921 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 982 tracked_pref_histogram_names::kTrackedPrefHistogramNullInitialized, |
| 983 ALLOW_NONE)); |
| 984 EXPECT_EQ(0, GetTrackedPrefHistogramCount( |
| 985 tracked_pref_histogram_names:: |
| 986 kTrackedPrefHistogramMigratedLegacyDeviceId, |
| 987 ALLOW_NONE)); |
922 } | 988 } |
923 }; | 989 }; |
924 | 990 |
925 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe, | 991 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe, |
926 UntrustedAdditionToPrefsAfterWipe); | 992 UntrustedAdditionToPrefsAfterWipe); |
OLD | NEW |