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

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

Issue 714133002: Add more management policy checking after extension installed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix CrOS compile Created 6 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/extensions/chrome_app_sorting.h" 5 #include "chrome/browser/extensions/chrome_app_sorting.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "chrome/browser/extensions/./extension_prefs_unittest.h" 9 #include "chrome/browser/extensions/./extension_prefs_unittest.h"
10 #include "components/crx_file/id_util.h" 10 #include "components/crx_file/id_util.h"
(...skipping 13 matching lines...) Expand all
24 } 24 }
25 }; 25 };
26 26
27 class ChromeAppSortingAppLocation : public ChromeAppSortingTest { 27 class ChromeAppSortingAppLocation : public ChromeAppSortingTest {
28 public: 28 public:
29 void Initialize() override { 29 void Initialize() override {
30 extension_ = prefs_.AddExtension("not_an_app"); 30 extension_ = prefs_.AddExtension("not_an_app");
31 // Non-apps should not have any app launch ordinal or page ordinal. 31 // Non-apps should not have any app launch ordinal or page ordinal.
32 prefs()->OnExtensionInstalled(extension_.get(), 32 prefs()->OnExtensionInstalled(extension_.get(),
33 Extension::ENABLED, 33 Extension::ENABLED,
34 Extension::DISABLE_NONE,
34 syncer::StringOrdinal(), 35 syncer::StringOrdinal(),
35 std::string()); 36 std::string());
36 } 37 }
37 38
38 void Verify() override { 39 void Verify() override {
39 EXPECT_FALSE( 40 EXPECT_FALSE(
40 app_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid()); 41 app_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid());
41 EXPECT_FALSE( 42 EXPECT_FALSE(
42 app_sorting()->GetPageOrdinal(extension_->id()).IsValid()); 43 app_sorting()->GetPageOrdinal(extension_->id()).IsValid());
43 } 44 }
44 45
45 private: 46 private:
46 scoped_refptr<Extension> extension_; 47 scoped_refptr<Extension> extension_;
47 }; 48 };
48 TEST_F(ChromeAppSortingAppLocation, ChromeAppSortingAppLocation) {} 49 TEST_F(ChromeAppSortingAppLocation, ChromeAppSortingAppLocation) {}
49 50
50 class ChromeAppSortingAppLaunchOrdinal : public ChromeAppSortingTest { 51 class ChromeAppSortingAppLaunchOrdinal : public ChromeAppSortingTest {
51 public: 52 public:
52 void Initialize() override { 53 void Initialize() override {
53 // No extensions yet. 54 // No extensions yet.
54 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal(); 55 syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal();
55 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals( 56 EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals(
56 app_sorting()->CreateNextAppLaunchOrdinal(page))); 57 app_sorting()->CreateNextAppLaunchOrdinal(page)));
57 58
58 extension_ = prefs_.AddApp("on_extension_installed"); 59 extension_ = prefs_.AddApp("on_extension_installed");
59 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); 60 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id()));
60 prefs()->OnExtensionInstalled(extension_.get(), 61 prefs()->OnExtensionInstalled(extension_.get(),
61 Extension::ENABLED, 62 Extension::ENABLED,
63 Extension::DISABLE_NONE,
62 syncer::StringOrdinal(), 64 syncer::StringOrdinal(),
63 std::string()); 65 std::string());
64 } 66 }
65 67
66 void Verify() override { 68 void Verify() override {
67 syncer::StringOrdinal launch_ordinal = 69 syncer::StringOrdinal launch_ordinal =
68 app_sorting()->GetAppLaunchOrdinal(extension_->id()); 70 app_sorting()->GetAppLaunchOrdinal(extension_->id());
69 syncer::StringOrdinal page_ordinal = 71 syncer::StringOrdinal page_ordinal =
70 syncer::StringOrdinal::CreateInitialOrdinal(); 72 syncer::StringOrdinal::CreateInitialOrdinal();
71 73
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 TEST_F(ChromeAppSortingAppLaunchOrdinal, ChromeAppSortingAppLaunchOrdinal) {} 106 TEST_F(ChromeAppSortingAppLaunchOrdinal, ChromeAppSortingAppLaunchOrdinal) {}
105 107
106 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest { 108 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest {
107 public: 109 public:
108 void Initialize() override { 110 void Initialize() override {
109 extension_ = prefs_.AddApp("page_ordinal"); 111 extension_ = prefs_.AddApp("page_ordinal");
110 // Install with a page preference. 112 // Install with a page preference.
111 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal(); 113 first_page_ = syncer::StringOrdinal::CreateInitialOrdinal();
112 prefs()->OnExtensionInstalled(extension_.get(), 114 prefs()->OnExtensionInstalled(extension_.get(),
113 Extension::ENABLED, 115 Extension::ENABLED,
116 Extension::DISABLE_NONE,
114 first_page_, 117 first_page_,
115 std::string()); 118 std::string());
116 EXPECT_TRUE(first_page_.Equals( 119 EXPECT_TRUE(first_page_.Equals(
117 app_sorting()->GetPageOrdinal(extension_->id()))); 120 app_sorting()->GetPageOrdinal(extension_->id())));
118 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_)); 121 EXPECT_EQ(0, app_sorting()->PageStringOrdinalAsInteger(first_page_));
119 122
120 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2"); 123 scoped_refptr<Extension> extension2 = prefs_.AddApp("page_ordinal_2");
121 // Install without any page preference. 124 // Install without any page preference.
122 prefs()->OnExtensionInstalled(extension2.get(), 125 prefs()->OnExtensionInstalled(extension2.get(),
123 Extension::ENABLED, 126 Extension::ENABLED,
127 Extension::DISABLE_NONE,
124 syncer::StringOrdinal(), 128 syncer::StringOrdinal(),
125 std::string()); 129 std::string());
126 EXPECT_TRUE(first_page_.Equals( 130 EXPECT_TRUE(first_page_.Equals(
127 app_sorting()->GetPageOrdinal(extension2->id()))); 131 app_sorting()->GetPageOrdinal(extension2->id())));
128 } 132 }
129 void Verify() override { 133 void Verify() override {
130 // Set the page ordinal. 134 // Set the page ordinal.
131 syncer::StringOrdinal new_page = first_page_.CreateAfter(); 135 syncer::StringOrdinal new_page = first_page_.CreateAfter();
132 app_sorting()->SetPageOrdinal(extension_->id(), new_page); 136 app_sorting()->SetPageOrdinal(extension_->id(), new_page);
133 // Verify the page ordinal. 137 // Verify the page ordinal.
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 simple_dict.SetString(keys::kName, "unused"); 633 simple_dict.SetString(keys::kName, "unused");
630 simple_dict.SetString(keys::kApp, "true"); 634 simple_dict.SetString(keys::kApp, "true");
631 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html"); 635 simple_dict.SetString(keys::kLaunchLocalPath, "fake.html");
632 636
633 std::string error; 637 std::string error;
634 app1_scoped_ = Extension::Create( 638 app1_scoped_ = Extension::Create(
635 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF, 639 prefs_.temp_dir().AppendASCII("app1_"), Manifest::EXTERNAL_PREF,
636 simple_dict, Extension::NO_FLAGS, &error); 640 simple_dict, Extension::NO_FLAGS, &error);
637 prefs()->OnExtensionInstalled(app1_scoped_.get(), 641 prefs()->OnExtensionInstalled(app1_scoped_.get(),
638 Extension::ENABLED, 642 Extension::ENABLED,
643 Extension::DISABLE_NONE,
639 syncer::StringOrdinal(), 644 syncer::StringOrdinal(),
640 std::string()); 645 std::string());
641 646
642 app2_scoped_ = Extension::Create( 647 app2_scoped_ = Extension::Create(
643 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF, 648 prefs_.temp_dir().AppendASCII("app2_"), Manifest::EXTERNAL_PREF,
644 simple_dict, Extension::NO_FLAGS, &error); 649 simple_dict, Extension::NO_FLAGS, &error);
645 prefs()->OnExtensionInstalled(app2_scoped_.get(), 650 prefs()->OnExtensionInstalled(app2_scoped_.get(),
646 Extension::ENABLED, 651 Extension::ENABLED,
652 Extension::DISABLE_NONE,
647 syncer::StringOrdinal(), 653 syncer::StringOrdinal(),
648 std::string()); 654 std::string());
649 655
650 app1_ = app1_scoped_.get(); 656 app1_ = app1_scoped_.get();
651 app2_ = app2_scoped_.get(); 657 app2_ = app2_scoped_.get();
652 } 658 }
653 ~ChromeAppSortingPreinstalledAppsBase() override {} 659 ~ChromeAppSortingPreinstalledAppsBase() override {}
654 660
655 protected: 661 protected:
656 // Weak references, for convenience. 662 // Weak references, for convenience.
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter(); 829 syncer::StringOrdinal::CreateInitialOrdinal().CreateAfter();
824 default_app_launch_ordinal_ = 830 default_app_launch_ordinal_ =
825 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore(); 831 syncer::StringOrdinal::CreateInitialOrdinal().CreateBefore();
826 } 832 }
827 833
828 virtual void SetupUserOrdinals() {} 834 virtual void SetupUserOrdinals() {}
829 835
830 virtual void InstallApps() { 836 virtual void InstallApps() {
831 prefs()->OnExtensionInstalled(app_.get(), 837 prefs()->OnExtensionInstalled(app_.get(),
832 Extension::ENABLED, 838 Extension::ENABLED,
839 Extension::DISABLE_NONE,
833 syncer::StringOrdinal(), 840 syncer::StringOrdinal(),
834 std::string()); 841 std::string());
835 } 842 }
836 843
837 scoped_refptr<Extension> app_; 844 scoped_refptr<Extension> app_;
838 syncer::StringOrdinal default_page_ordinal_; 845 syncer::StringOrdinal default_page_ordinal_;
839 syncer::StringOrdinal default_app_launch_ordinal_; 846 syncer::StringOrdinal default_app_launch_ordinal_;
840 }; 847 };
841 848
842 // Tests that the app gets its default ordinals. 849 // Tests that the app gets its default ordinals.
(...skipping 27 matching lines...) Expand all
870 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals( 877 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals(
871 default_page_ordinal_)); 878 default_page_ordinal_));
872 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_)); 879 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(install_page_));
873 } 880 }
874 881
875 protected: 882 protected:
876 void InstallApps() override { 883 void InstallApps() override {
877 install_page_ = default_page_ordinal_.CreateAfter(); 884 install_page_ = default_page_ordinal_.CreateAfter();
878 prefs()->OnExtensionInstalled(app_.get(), 885 prefs()->OnExtensionInstalled(app_.get(),
879 Extension::ENABLED, 886 Extension::ENABLED,
887 Extension::DISABLE_NONE,
880 install_page_, 888 install_page_,
881 std::string()); 889 std::string());
882 } 890 }
883 891
884 private: 892 private:
885 syncer::StringOrdinal install_page_; 893 syncer::StringOrdinal install_page_;
886 }; 894 };
887 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage, 895 TEST_F(ChromeAppSortingDefaultOrdinalOverriddenByInstallPage,
888 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {} 896 ChromeAppSortingDefaultOrdinalOverriddenByInstallPage) {}
889 897
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 1000
993 private: 1001 private:
994 scoped_refptr<Extension> first_app_; 1002 scoped_refptr<Extension> first_app_;
995 scoped_refptr<Extension> second_app_; 1003 scoped_refptr<Extension> second_app_;
996 }; 1004 };
997 TEST_F(ChromeAppSortingSetExtensionVisible, 1005 TEST_F(ChromeAppSortingSetExtensionVisible,
998 ChromeAppSortingSetExtensionVisible) { 1006 ChromeAppSortingSetExtensionVisible) {
999 } 1007 }
1000 1008
1001 } // namespace extensions 1009 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698