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

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

Issue 9960087: Revert 13676 - Revert 131665 - Add a preference for why an extension is disabled. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "chrome/browser/extensions/extension_service_unittest.h" 5 #include "chrome/browser/extensions/extension_service_unittest.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 2235 matching lines...) Expand 10 before | Expand all | Expand 10 after
2246 InitializeEmptyExtensionService(); 2246 InitializeEmptyExtensionService();
2247 2247
2248 FilePath path = data_dir_.AppendASCII("good.crx"); 2248 FilePath path = data_dir_.AppendASCII("good.crx");
2249 2249
2250 const Extension* good = InstallCRX(path, INSTALL_NEW); 2250 const Extension* good = InstallCRX(path, INSTALL_NEW);
2251 ASSERT_EQ("1.0.0.0", good->VersionString()); 2251 ASSERT_EQ("1.0.0.0", good->VersionString());
2252 ASSERT_EQ(good_crx, good->id()); 2252 ASSERT_EQ(good_crx, good->id());
2253 2253
2254 // Disable it and allow it to run in incognito. These settings should carry 2254 // Disable it and allow it to run in incognito. These settings should carry
2255 // over to the updated version. 2255 // over to the updated version.
2256 service_->DisableExtension(good->id()); 2256 service_->DisableExtension(good->id(), Extension::DISABLE_USER_ACTION);
2257 service_->SetIsIncognitoEnabled(good->id(), true); 2257 service_->SetIsIncognitoEnabled(good->id(), true);
2258 service_->extension_prefs()->SetDidExtensionEscalatePermissions(good, true); 2258 service_->extension_prefs()->SetDidExtensionEscalatePermissions(good, true);
2259 2259
2260 path = data_dir_.AppendASCII("good2.crx"); 2260 path = data_dir_.AppendASCII("good2.crx");
2261 UpdateExtension(good_crx, path, INSTALLED); 2261 UpdateExtension(good_crx, path, INSTALLED);
2262 ASSERT_EQ(1u, service_->disabled_extensions()->size()); 2262 ASSERT_EQ(1u, service_->disabled_extensions()->size());
2263 const Extension* good2 = service_->GetExtensionById(good_crx, true); 2263 const Extension* good2 = service_->GetExtensionById(good_crx, true);
2264 ASSERT_EQ("1.0.0.1", good2->version()->GetString()); 2264 ASSERT_EQ("1.0.0.1", good2->version()->GetString());
2265 EXPECT_TRUE(service_->IsIncognitoEnabled(good2->id())); 2265 EXPECT_TRUE(service_->IsIncognitoEnabled(good2->id()));
2266 EXPECT_TRUE(service_->extension_prefs()->DidExtensionEscalatePermissions( 2266 EXPECT_TRUE(service_->extension_prefs()->DidExtensionEscalatePermissions(
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
2925 TEST_F(ExtensionServiceTest, DisableExtension) { 2925 TEST_F(ExtensionServiceTest, DisableExtension) {
2926 InitializeEmptyExtensionService(); 2926 InitializeEmptyExtensionService();
2927 2927
2928 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 2928 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
2929 EXPECT_FALSE(service_->extensions()->is_empty()); 2929 EXPECT_FALSE(service_->extensions()->is_empty());
2930 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 2930 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
2931 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); 2931 EXPECT_TRUE(service_->GetExtensionById(good_crx, false));
2932 EXPECT_TRUE(service_->disabled_extensions()->is_empty()); 2932 EXPECT_TRUE(service_->disabled_extensions()->is_empty());
2933 2933
2934 // Disable it. 2934 // Disable it.
2935 service_->DisableExtension(good_crx); 2935 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION);
2936 2936
2937 EXPECT_TRUE(service_->extensions()->is_empty()); 2937 EXPECT_TRUE(service_->extensions()->is_empty());
2938 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 2938 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
2939 EXPECT_FALSE(service_->GetExtensionById(good_crx, false)); 2939 EXPECT_FALSE(service_->GetExtensionById(good_crx, false));
2940 EXPECT_FALSE(service_->disabled_extensions()->is_empty()); 2940 EXPECT_FALSE(service_->disabled_extensions()->is_empty());
2941 } 2941 }
2942 2942
2943 TEST_F(ExtensionServiceTest, DisableTerminatedExtension) { 2943 TEST_F(ExtensionServiceTest, DisableTerminatedExtension) {
2944 InitializeEmptyExtensionService(); 2944 InitializeEmptyExtensionService();
2945 2945
2946 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 2946 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
2947 TerminateExtension(good_crx); 2947 TerminateExtension(good_crx);
2948 EXPECT_TRUE(service_->GetTerminatedExtension(good_crx)); 2948 EXPECT_TRUE(service_->GetTerminatedExtension(good_crx));
2949 2949
2950 // Disable it. 2950 // Disable it.
2951 service_->DisableExtension(good_crx); 2951 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION);
2952 2952
2953 EXPECT_FALSE(service_->GetTerminatedExtension(good_crx)); 2953 EXPECT_FALSE(service_->GetTerminatedExtension(good_crx));
2954 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 2954 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
2955 EXPECT_FALSE(service_->disabled_extensions()->is_empty()); 2955 EXPECT_FALSE(service_->disabled_extensions()->is_empty());
2956 } 2956 }
2957 2957
2958 // Tests disabling all extensions (simulating --disable-extensions flag). 2958 // Tests disabling all extensions (simulating --disable-extensions flag).
2959 TEST_F(ExtensionServiceTest, DisableAllExtensions) { 2959 TEST_F(ExtensionServiceTest, DisableAllExtensions) {
2960 InitializeEmptyExtensionService(); 2960 InitializeEmptyExtensionService();
2961 2961
(...skipping 28 matching lines...) Expand all
2990 } 2990 }
2991 2991
2992 // Tests reloading extensions. 2992 // Tests reloading extensions.
2993 TEST_F(ExtensionServiceTest, ReloadExtensions) { 2993 TEST_F(ExtensionServiceTest, ReloadExtensions) {
2994 InitializeEmptyExtensionService(); 2994 InitializeEmptyExtensionService();
2995 2995
2996 // Simple extension that should install without error. 2996 // Simple extension that should install without error.
2997 FilePath path = data_dir_.AppendASCII("good.crx"); 2997 FilePath path = data_dir_.AppendASCII("good.crx");
2998 InstallCRX(path, INSTALL_NEW); 2998 InstallCRX(path, INSTALL_NEW);
2999 const char* extension_id = good_crx; 2999 const char* extension_id = good_crx;
3000 service_->DisableExtension(extension_id); 3000 service_->DisableExtension(extension_id, Extension::DISABLE_USER_ACTION);
3001 3001
3002 EXPECT_EQ(0u, service_->extensions()->size()); 3002 EXPECT_EQ(0u, service_->extensions()->size());
3003 EXPECT_EQ(1u, service_->disabled_extensions()->size()); 3003 EXPECT_EQ(1u, service_->disabled_extensions()->size());
3004 3004
3005 service_->ReloadExtensions(); 3005 service_->ReloadExtensions();
3006 3006
3007 // Extension counts shouldn't change. 3007 // Extension counts shouldn't change.
3008 EXPECT_EQ(0u, service_->extensions()->size()); 3008 EXPECT_EQ(0u, service_->extensions()->size());
3009 EXPECT_EQ(1u, service_->disabled_extensions()->size()); 3009 EXPECT_EQ(1u, service_->disabled_extensions()->size());
3010 3010
(...skipping 1055 matching lines...) Expand 10 before | Expand all | Expand 10 after
4066 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub)); 4066 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub));
4067 4067
4068 { 4068 {
4069 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4069 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4070 ASSERT_EQ(list.size(), 1U); 4070 ASSERT_EQ(list.size(), 1U);
4071 ExtensionSyncData data(list[0]); 4071 ExtensionSyncData data(list[0]);
4072 EXPECT_TRUE(data.enabled()); 4072 EXPECT_TRUE(data.enabled());
4073 EXPECT_FALSE(data.incognito_enabled()); 4073 EXPECT_FALSE(data.incognito_enabled());
4074 } 4074 }
4075 4075
4076 service_->DisableExtension(good_crx); 4076 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION);
4077 { 4077 {
4078 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4078 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4079 ASSERT_EQ(list.size(), 1U); 4079 ASSERT_EQ(list.size(), 1U);
4080 ExtensionSyncData data(list[0]); 4080 ExtensionSyncData data(list[0]);
4081 EXPECT_FALSE(data.enabled()); 4081 EXPECT_FALSE(data.enabled());
4082 EXPECT_FALSE(data.incognito_enabled()); 4082 EXPECT_FALSE(data.incognito_enabled());
4083 } 4083 }
4084 4084
4085 service_->SetIsIncognitoEnabled(good_crx, true); 4085 service_->SetIsIncognitoEnabled(good_crx, true);
4086 { 4086 {
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
4187 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); 4187 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW);
4188 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); 4188 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW);
4189 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); 4189 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW);
4190 4190
4191 TestSyncProcessorStub processor; 4191 TestSyncProcessorStub processor;
4192 service_->MergeDataAndStartSyncing(syncable::APPS, SyncDataList(), 4192 service_->MergeDataAndStartSyncing(syncable::APPS, SyncDataList(),
4193 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub)); 4193 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub));
4194 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), 4194 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(),
4195 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub)); 4195 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub));
4196 4196
4197 service_->DisableExtension(page_action); 4197 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION);
4198 TerminateExtension(theme2_crx); 4198 TerminateExtension(theme2_crx);
4199 4199
4200 EXPECT_EQ(0u, service_->GetAllSyncData(syncable::APPS).size()); 4200 EXPECT_EQ(0u, service_->GetAllSyncData(syncable::APPS).size());
4201 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size()); 4201 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size());
4202 } 4202 }
4203 4203
4204 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { 4204 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) {
4205 InitializeEmptyExtensionService(); 4205 InitializeEmptyExtensionService();
4206 TestSyncProcessorStub processor; 4206 TestSyncProcessorStub processor;
4207 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), 4207 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(),
(...skipping 652 matching lines...) Expand 10 before | Expand all | Expand 10 after
4860 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0", 4860 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0",
4861 data_dir_.AppendASCII("hosted_app.crx")); 4861 data_dir_.AppendASCII("hosted_app.crx"));
4862 4862
4863 service_->CheckForExternalUpdates(); 4863 service_->CheckForExternalUpdates();
4864 loop_.RunAllPending(); 4864 loop_.RunAllPending();
4865 4865
4866 ASSERT_TRUE(service_->PopulateExtensionGlobalError( 4866 ASSERT_TRUE(service_->PopulateExtensionGlobalError(
4867 extension_global_error.get())); 4867 extension_global_error.get()));
4868 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size()); 4868 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size());
4869 } 4869 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.cc ('k') | chrome/browser/notifications/notification_options_menu_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698