Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/message_loop.h" | 5 #include "base/message_loop.h" |
| 6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
| 7 #include "base/scoped_temp_dir.h" | 7 #include "base/scoped_temp_dir.h" |
| 8 #include "base/stl_util-inl.h" | 8 #include "base/stl_util-inl.h" |
| 9 #include "base/string_number_conversions.h" | 9 #include "base/string_number_conversions.h" |
| 10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
| (...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 584 void RegisterPreferences() { | 584 void RegisterPreferences() { |
| 585 prefs()->pref_service()->RegisterStringPref(kPref1, kDefaultPref1); | 585 prefs()->pref_service()->RegisterStringPref(kPref1, kDefaultPref1); |
| 586 prefs()->pref_service()->RegisterStringPref(kPref2, kDefaultPref2); | 586 prefs()->pref_service()->RegisterStringPref(kPref2, kDefaultPref2); |
| 587 prefs()->pref_service()->RegisterStringPref(kPref3, kDefaultPref3); | 587 prefs()->pref_service()->RegisterStringPref(kPref3, kDefaultPref3); |
| 588 prefs()->pref_service()->RegisterStringPref(kPref4, kDefaultPref4); | 588 prefs()->pref_service()->RegisterStringPref(kPref4, kDefaultPref4); |
| 589 } | 589 } |
| 590 | 590 |
| 591 void InstallExtControlledPref(Extension *ext, | 591 void InstallExtControlledPref(Extension *ext, |
| 592 const std::string& key, | 592 const std::string& key, |
| 593 Value* val) { | 593 Value* val) { |
| 594 // Install extension the first time a preference is set for it. | 594 EnsureExtensionInstalled(ext); |
| 595 const bool incognito = false; | |
| 596 prefs()->SetExtensionControlledPref(ext->id(), key, incognito, val); | |
| 597 } | |
| 598 | |
| 599 void InstallExtControlledPrefIncognito(Extension *ext, | |
| 600 const std::string& key, | |
| 601 Value* val) { | |
| 602 EnsureExtensionInstalled(ext); | |
| 603 const bool incognito = true; | |
| 604 prefs()->SetExtensionControlledPref(ext->id(), key, incognito, val); | |
| 605 } | |
| 606 | |
| 607 void UninstallExtension(const std::string& extension_id) { | |
| 595 Extension* extensions[] = {ext1_, ext2_, ext3_}; | 608 Extension* extensions[] = {ext1_, ext2_, ext3_}; |
| 596 for (int i = 0; i < 3; ++i) { | 609 for (int i = 0; i < 3; ++i) { |
| 597 if (ext == extensions[i] && !installed[i]) { | 610 if (extensions[i]->id() == extension_id) { |
| 598 prefs()->OnExtensionInstalled(ext, Extension::ENABLED, true); | 611 installed[i] = false; |
| 599 installed[i] = true; | |
| 600 break; | 612 break; |
| 601 } | 613 } |
| 602 } | 614 } |
| 603 | |
| 604 prefs()->SetExtensionControlledPref(ext->id(), key, val); | |
| 605 } | |
| 606 | |
| 607 void UninstallExtension(const std::string& extension_id) { | |
| 608 prefs()->OnExtensionUninstalled(extension_id, Extension::INTERNAL, false); | 615 prefs()->OnExtensionUninstalled(extension_id, Extension::INTERNAL, false); |
| 609 } | 616 } |
| 610 | 617 |
| 611 // Weak references, for convenience. | 618 // Weak references, for convenience. |
| 612 Extension* ext1_; | 619 Extension* ext1_; |
| 613 Extension* ext2_; | 620 Extension* ext2_; |
| 614 Extension* ext3_; | 621 Extension* ext3_; |
| 615 | 622 |
| 616 // Flags indicating whether each of the extensions has been installed, yet. | 623 // Flags indicating whether each of the extensions has been installed, yet. |
| 617 bool installed[3]; | 624 bool installed[3]; |
| 618 | 625 |
| 619 private: | 626 private: |
| 627 void EnsureExtensionInstalled(Extension *ext) { | |
| 628 // Install extension the first time a preference is set for it. | |
| 629 Extension* extensions[] = {ext1_, ext2_, ext3_}; | |
| 630 for (int i = 0; i < 3; ++i) { | |
| 631 if (ext == extensions[i] && !installed[i]) { | |
| 632 prefs()->OnExtensionInstalled(ext, Extension::ENABLED, true); | |
| 633 installed[i] = true; | |
| 634 break; | |
| 635 } | |
| 636 } | |
| 637 } | |
| 638 | |
| 620 scoped_refptr<Extension> ext1_scoped_; | 639 scoped_refptr<Extension> ext1_scoped_; |
| 621 scoped_refptr<Extension> ext2_scoped_; | 640 scoped_refptr<Extension> ext2_scoped_; |
| 622 scoped_refptr<Extension> ext3_scoped_; | 641 scoped_refptr<Extension> ext3_scoped_; |
| 623 }; | 642 }; |
| 624 | 643 |
| 625 class ExtensionPrefsInstallOneExtension | 644 class ExtensionPrefsInstallOneExtension |
| 626 : public ExtensionPrefsPreferencesBase { | 645 : public ExtensionPrefsPreferencesBase { |
| 627 virtual void Initialize() { | 646 virtual void Initialize() { |
| 628 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 647 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 629 } | 648 } |
| 630 virtual void Verify() { | 649 virtual void Verify() { |
| 631 std::string actual = prefs()->pref_service()->GetString(kPref1); | 650 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 632 EXPECT_EQ("val1", actual); | 651 EXPECT_EQ("val1", actual); |
| 633 } | 652 } |
| 634 }; | 653 }; |
| 635 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} | 654 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} |
| 636 | 655 |
| 656 // Check that we forget incognito values after a reload. | |
| 657 class ExtensionPrefsInstallIncognito | |
| 658 : public ExtensionPrefsPreferencesBase { | |
| 659 public: | |
| 660 ExtensionPrefsInstallIncognito() : iteration(0) {} | |
| 661 | |
| 662 virtual void Initialize() { | |
| 663 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | |
| 664 InstallExtControlledPrefIncognito(ext1_, kPref1, | |
| 665 Value::CreateStringValue("val2")); | |
| 666 std::string actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
| 667 EXPECT_EQ("val2", actual); | |
| 668 } | |
| 669 virtual void Verify() { | |
| 670 // main pref service shall see only non-incognito settings | |
| 671 std::string actual = prefs()->pref_service()->GetString(kPref1); | |
| 672 EXPECT_EQ("val1", actual); | |
| 673 // incognito pref service shall see incognito values only during first run | |
| 674 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
| 675 if (iteration == 0) { | |
| 676 EXPECT_EQ("val2", actual); | |
| 677 } else { | |
| 678 EXPECT_EQ("val1", actual); | |
| 679 } | |
| 680 ++iteration; | |
| 681 } | |
| 682 int iteration; | |
|
danno
2010/12/22 10:48:21
should be iteration_
battre
2010/12/22 18:34:53
Done.
| |
| 683 }; | |
| 684 TEST_F(ExtensionPrefsInstallIncognito, ExtensionPrefsInstallOneExtension) {} | |
| 685 | |
| 637 // Make sure the last-installed extension wins for each preference. | 686 // Make sure the last-installed extension wins for each preference. |
| 638 class ExtensionPrefsInstallOverwrittenExtensions | 687 class ExtensionPrefsInstallOverwrittenExtensions |
| 639 : public ExtensionPrefsPreferencesBase { | 688 : public ExtensionPrefsPreferencesBase { |
| 640 virtual void Initialize() { | 689 virtual void Initialize() { |
| 641 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 690 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 642 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); | 691 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); |
| 643 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); | 692 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); |
| 644 | 693 |
| 645 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); | 694 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); |
| 646 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val5")); | 695 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val5")); |
| 647 | 696 |
| 648 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val6")); | 697 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val6")); |
| 649 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val7")); | 698 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val7")); |
| 650 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val8")); | 699 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val8")); |
| 651 } | 700 } |
| 652 virtual void Verify() { | 701 virtual void Verify() { |
| 653 std::string actual; | 702 std::string actual; |
| 654 actual = prefs()->pref_service()->GetString(kPref1); | 703 actual = prefs()->pref_service()->GetString(kPref1); |
| 655 EXPECT_EQ("val3", actual); | 704 EXPECT_EQ("val3", actual); |
| 656 actual = prefs()->pref_service()->GetString(kPref2); | 705 actual = prefs()->pref_service()->GetString(kPref2); |
| 657 EXPECT_EQ("val5", actual); | 706 EXPECT_EQ("val5", actual); |
| 658 actual = prefs()->pref_service()->GetString(kPref3); | 707 actual = prefs()->pref_service()->GetString(kPref3); |
| 659 EXPECT_EQ("val8", actual); | 708 EXPECT_EQ("val8", actual); |
| 660 } | 709 } |
| 661 }; | 710 }; |
| 662 TEST_F(ExtensionPrefsInstallOverwrittenExtensions, | 711 TEST_F(ExtensionPrefsInstallOverwrittenExtensions, |
| 663 ExtensionPrefsInstallOverwrittenExtensions) {} | 712 ExtensionPrefsInstallOverwrittenExtensions) {} |
| 664 | 713 |
| 714 // Make sure the last-installed extension wins for each preference. | |
| 715 class ExtensionPrefsInstallOverwrittenExtensionsIncognito | |
| 716 : public ExtensionPrefsPreferencesBase { | |
| 717 virtual void Initialize() { | |
| 718 const char* strings[] = { | |
| 719 kDefaultPref1, | |
| 720 "val1", | |
| 721 "val2", | |
| 722 "val3", | |
| 723 "val4" | |
| 724 }; | |
| 725 int values[][6] = { | |
| 726 // columns: | |
| 727 // 0: pref value of extension 1 | |
| 728 // 1: pref value of extension 1 incognito | |
| 729 // 2: pref value of extension 2 | |
| 730 // 3: pref value of extension 2 incognito | |
| 731 // 4: desired winner regular | |
| 732 // 5: desired winner incognito | |
| 733 // e.g. { 1, 0, 0, 4, 1, 4}, means: | |
| 734 // ext1 regular is set to "val1", ext2 incognito is set to "val4" | |
| 735 // --> the winning regular value is "val1", the winning incognito | |
| 736 // value is "val4". | |
| 737 { 1, 0, 0, 0, 1, 1}, | |
| 738 { 1, 2, 0, 0, 1, 2}, | |
| 739 { 1, 0, 3, 0, 3, 3}, | |
| 740 { 1, 0, 0, 4, 1, 4}, | |
| 741 { 1, 2, 3, 0, 3, 3}, // The last 3 here is intentional! | |
| 742 { 1, 2, 0, 4, 1, 4}, | |
| 743 { 1, 2, 3, 4, 3, 4} | |
|
Mattias Nissler (ping if slow)
2010/12/22 12:09:03
How about using a struct with descriptive variable
battre
2010/12/22 18:34:53
Done.
| |
| 744 }; | |
| 745 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | |
| 746 for (size_t row = 0; row < arraysize(values); ++row) { | |
| 747 LOG(INFO) << "Testing row " << row; | |
| 748 UninstallExtension(ext1_->id()); | |
| 749 UninstallExtension(ext2_->id()); | |
| 750 if (values[row][0]) { | |
| 751 InstallExtControlledPref( | |
| 752 ext1_, kPref1, Value::CreateStringValue(strings[values[row][0]])); | |
| 753 } | |
| 754 if (values[row][1]) { | |
| 755 InstallExtControlledPrefIncognito( | |
| 756 ext1_, kPref1, Value::CreateStringValue(strings[values[row][1]])); | |
| 757 } | |
| 758 if (values[row][2]) { | |
| 759 InstallExtControlledPref( | |
| 760 ext2_, kPref1, Value::CreateStringValue(strings[values[row][2]])); | |
| 761 } | |
| 762 if (values[row][3]) { | |
| 763 InstallExtControlledPrefIncognito( | |
| 764 ext2_, kPref1, Value::CreateStringValue(strings[values[row][3]])); | |
| 765 } | |
| 766 std::string actual; | |
| 767 actual = prefs()->pref_service()->GetString(kPref1); | |
| 768 EXPECT_EQ(strings[values[row][4]], actual); | |
| 769 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
| 770 EXPECT_EQ(strings[values[row][5]], actual); | |
| 771 } | |
| 772 } | |
| 773 virtual void Verify() {} | |
| 774 }; | |
| 775 TEST_F(ExtensionPrefsInstallOverwrittenExtensionsIncognito, | |
| 776 ExtensionPrefsInstallOverwrittenExtensionsIncognito) {} | |
| 777 | |
| 665 // Make sure the last-installed extension wins even if other extensions set | 778 // Make sure the last-installed extension wins even if other extensions set |
| 666 // the same or different preferences later. | 779 // the same or different preferences later. |
| 667 class ExtensionPrefsInstallInterleavedExtensions | 780 class ExtensionPrefsInstallInterleavedExtensions |
| 668 : public ExtensionPrefsPreferencesBase { | 781 : public ExtensionPrefsPreferencesBase { |
| 669 virtual void Initialize() { | 782 virtual void Initialize() { |
| 670 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 783 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 671 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val2")); | 784 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val2")); |
| 672 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val3")); | 785 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val3")); |
| 673 | 786 |
| 674 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val4")); | 787 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val4")); |
| 675 InstallExtControlledPref(ext2_, kPref3, Value::CreateStringValue("val5")); | 788 InstallExtControlledPref(ext2_, kPref3, Value::CreateStringValue("val5")); |
| 676 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val6")); | 789 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val6")); |
| 677 | 790 |
| 678 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val7")); | 791 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val7")); |
| 679 } | 792 } |
| 680 virtual void Verify() { | 793 virtual void Verify() { |
| 681 std::string actual; | 794 std::string actual; |
| 682 actual = prefs()->pref_service()->GetString(kPref1); | 795 actual = prefs()->pref_service()->GetString(kPref1); |
| 683 EXPECT_EQ("val7", actual); | 796 EXPECT_EQ("val7", actual); |
| 797 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
| 798 EXPECT_EQ("val7", actual); | |
| 684 actual = prefs()->pref_service()->GetString(kPref2); | 799 actual = prefs()->pref_service()->GetString(kPref2); |
| 685 EXPECT_EQ("val2", actual); | 800 EXPECT_EQ("val2", actual); |
| 801 actual = prefs_.incognito_pref_service()->GetString(kPref2); | |
| 802 EXPECT_EQ("val2", actual); | |
| 686 actual = prefs()->pref_service()->GetString(kPref3); | 803 actual = prefs()->pref_service()->GetString(kPref3); |
| 687 EXPECT_EQ("val4", actual); | 804 EXPECT_EQ("val4", actual); |
| 805 actual = prefs_.incognito_pref_service()->GetString(kPref3); | |
| 806 EXPECT_EQ("val4", actual); | |
| 688 } | 807 } |
| 689 }; | 808 }; |
| 690 TEST_F(ExtensionPrefsInstallInterleavedExtensions, | 809 TEST_F(ExtensionPrefsInstallInterleavedExtensions, |
| 691 ExtensionPrefsInstallInterleavedExtensions) {} | 810 ExtensionPrefsInstallInterleavedExtensions) {} |
| 692 | 811 |
| 693 class ExtensionPrefsUninstallOnlyExtension | 812 class ExtensionPrefsUninstallOnlyExtension |
| 694 : public ExtensionPrefsPreferencesBase { | 813 : public ExtensionPrefsPreferencesBase { |
| 695 virtual void Initialize() { | 814 virtual void Initialize() { |
| 696 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 815 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 697 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2")); | 816 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2")); |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 728 actual = prefs()->pref_service()->GetString(kPref2); | 847 actual = prefs()->pref_service()->GetString(kPref2); |
| 729 EXPECT_EQ("val4", actual); | 848 EXPECT_EQ("val4", actual); |
| 730 } | 849 } |
| 731 }; | 850 }; |
| 732 TEST_F(ExtensionPrefsUninstallIrrelevantExtension, | 851 TEST_F(ExtensionPrefsUninstallIrrelevantExtension, |
| 733 ExtensionPrefsUninstallIrrelevantExtension) {} | 852 ExtensionPrefsUninstallIrrelevantExtension) {} |
| 734 | 853 |
| 735 // Tests uninstalling an extension that was winning for all preferences. | 854 // Tests uninstalling an extension that was winning for all preferences. |
| 736 class ExtensionPrefsUninstallExtensionFromTop | 855 class ExtensionPrefsUninstallExtensionFromTop |
| 737 : public ExtensionPrefsPreferencesBase { | 856 : public ExtensionPrefsPreferencesBase { |
| 857 public: | |
| 858 ExtensionPrefsUninstallExtensionFromTop() : iteration(0) {} | |
| 859 | |
| 738 virtual void Initialize() { | 860 virtual void Initialize() { |
| 739 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 861 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 862 InstallExtControlledPrefIncognito(ext1_, kPref1, | |
| 863 Value::CreateStringValue("val1i")); | |
| 740 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); | 864 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); |
| 865 InstallExtControlledPrefIncognito(ext2_, kPref1, | |
| 866 Value::CreateStringValue("val2i")); | |
| 741 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); | 867 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); |
| 868 InstallExtControlledPrefIncognito(ext3_, kPref1, | |
| 869 Value::CreateStringValue("val3i")); | |
| 742 | 870 |
| 743 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); | 871 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); |
| 872 InstallExtControlledPrefIncognito(ext1_, kPref2, | |
| 873 Value::CreateStringValue("val4i")); | |
| 744 InstallExtControlledPref(ext3_, kPref2, Value::CreateStringValue("val5")); | 874 InstallExtControlledPref(ext3_, kPref2, Value::CreateStringValue("val5")); |
| 875 InstallExtControlledPrefIncognito(ext3_, kPref2, | |
| 876 Value::CreateStringValue("val5i")); | |
| 745 | 877 |
| 746 UninstallExtension(ext3_->id()); | 878 UninstallExtension(ext3_->id()); |
| 747 } | 879 } |
| 748 virtual void Verify() { | 880 virtual void Verify() { |
| 749 std::string actual; | 881 std::string actual; |
| 750 actual = prefs()->pref_service()->GetString(kPref1); | 882 actual = prefs()->pref_service()->GetString(kPref1); |
| 751 EXPECT_EQ("val2", actual); | 883 EXPECT_EQ("val2", actual); |
| 752 actual = prefs()->pref_service()->GetString(kPref2); | 884 actual = prefs()->pref_service()->GetString(kPref2); |
| 753 EXPECT_EQ("val4", actual); | 885 EXPECT_EQ("val4", actual); |
| 886 // After the reload (iteration == 1) all incognito settings are forgotten. | |
| 887 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
| 888 EXPECT_EQ((iteration == 0 ? "val2i" : "val2"), actual); | |
| 889 actual = prefs_.incognito_pref_service()->GetString(kPref2); | |
| 890 EXPECT_EQ((iteration == 0 ? "val4i" : "val4"), actual); | |
| 891 ++iteration; | |
| 754 } | 892 } |
| 893 int iteration; | |
|
danno
2010/12/22 10:48:21
should be iteration_
battre
2010/12/22 18:34:53
Done.
| |
| 755 }; | 894 }; |
| 756 TEST_F(ExtensionPrefsUninstallExtensionFromTop, | 895 TEST_F(ExtensionPrefsUninstallExtensionFromTop, |
| 757 ExtensionPrefsUninstallExtensionFromTop) {} | 896 ExtensionPrefsUninstallExtensionFromTop) {} |
| 758 | 897 |
| 759 // Tests uninstalling an extension that was winning for only some preferences. | 898 // Tests uninstalling an extension that was winning for only some preferences. |
| 760 class ExtensionPrefsUninstallExtensionFromMiddle | 899 class ExtensionPrefsUninstallExtensionFromMiddle |
| 761 : public ExtensionPrefsPreferencesBase { | 900 : public ExtensionPrefsPreferencesBase { |
| 762 virtual void Initialize() { | 901 virtual void Initialize() { |
| 763 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 902 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 764 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); | 903 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 869 } | 1008 } |
| 870 MOCK_METHOD0(Die, void()); | 1009 MOCK_METHOD0(Die, void()); |
| 871 }; | 1010 }; |
| 872 | 1011 |
| 873 class ExtensionPrefsSetExtensionControlledPref | 1012 class ExtensionPrefsSetExtensionControlledPref |
| 874 : public ExtensionPrefsPreferencesBase { | 1013 : public ExtensionPrefsPreferencesBase { |
| 875 public: | 1014 public: |
| 876 virtual void Initialize() { | 1015 virtual void Initialize() { |
| 877 MockStringValue* v1 = new MockStringValue("https://www.chromium.org"); | 1016 MockStringValue* v1 = new MockStringValue("https://www.chromium.org"); |
| 878 MockStringValue* v2 = new MockStringValue("https://www.chromium.org"); | 1017 MockStringValue* v2 = new MockStringValue("https://www.chromium.org"); |
| 1018 MockStringValue* v1i = new MockStringValue("https://www.chromium.org"); | |
| 1019 MockStringValue* v2i = new MockStringValue("https://www.chromium.org"); | |
| 879 // Ownership is taken, value shall not be deleted. | 1020 // Ownership is taken, value shall not be deleted. |
| 880 EXPECT_CALL(*v1, Die()).Times(0); | 1021 EXPECT_CALL(*v1, Die()).Times(0); |
| 1022 EXPECT_CALL(*v1i, Die()).Times(0); | |
| 881 InstallExtControlledPref(ext1_, kPref1, v1); | 1023 InstallExtControlledPref(ext1_, kPref1, v1); |
| 1024 InstallExtControlledPrefIncognito(ext1_, kPref1, v1i); | |
| 882 testing::Mock::VerifyAndClearExpectations(v1); | 1025 testing::Mock::VerifyAndClearExpectations(v1); |
| 1026 testing::Mock::VerifyAndClearExpectations(v1i); | |
| 883 // Make sure there is no memory leak and both values are deleted. | 1027 // Make sure there is no memory leak and both values are deleted. |
| 1028 EXPECT_CALL(*v1, Die()).Times(1); | |
| 1029 EXPECT_CALL(*v1i, Die()).Times(1); | |
| 884 EXPECT_CALL(*v2, Die()).Times(1); | 1030 EXPECT_CALL(*v2, Die()).Times(1); |
| 885 EXPECT_CALL(*v1, Die()).Times(1); | 1031 EXPECT_CALL(*v2i, Die()).Times(1); |
| 886 InstallExtControlledPref(ext1_, kPref1, v2); | 1032 InstallExtControlledPref(ext1_, kPref1, v2); |
| 1033 InstallExtControlledPrefIncognito(ext1_, kPref1, v2i); | |
| 887 prefs_.RecreateExtensionPrefs(); | 1034 prefs_.RecreateExtensionPrefs(); |
| 1035 testing::Mock::VerifyAndClearExpectations(v1); | |
| 1036 testing::Mock::VerifyAndClearExpectations(v1i); | |
| 1037 testing::Mock::VerifyAndClearExpectations(v2); | |
| 1038 testing::Mock::VerifyAndClearExpectations(v2i); | |
| 888 } | 1039 } |
| 889 | 1040 |
| 890 virtual void Verify() { | 1041 virtual void Verify() { |
| 891 } | 1042 } |
| 892 }; | 1043 }; |
| 893 TEST_F(ExtensionPrefsSetExtensionControlledPref, | 1044 TEST_F(ExtensionPrefsSetExtensionControlledPref, |
| 894 ExtensionPrefsSetExtensionControlledPref) {} | 1045 ExtensionPrefsSetExtensionControlledPref) {} |
| OLD | NEW |