OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/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 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 base::FilePath pref_path = source_install_dir | 566 base::FilePath pref_path = source_install_dir |
567 .DirName() | 567 .DirName() |
568 .AppendASCII("Preferences"); | 568 .AppendASCII("Preferences"); |
569 InitializeInstalledExtensionService(pref_path, source_install_dir); | 569 InitializeInstalledExtensionService(pref_path, source_install_dir); |
570 } | 570 } |
571 | 571 |
572 void ExtensionServiceTestBase::InitializeEmptyExtensionService() { | 572 void ExtensionServiceTestBase::InitializeEmptyExtensionService() { |
573 InitializeExtensionService(CreateDefaultInitParams()); | 573 InitializeExtensionService(CreateDefaultInitParams()); |
574 } | 574 } |
575 | 575 |
576 void ExtensionServiceTestBase::InitializeExtensionProcessManager() { | 576 void ExtensionServiceTestBase::InitializeProcessManager() { |
577 static_cast<extensions::TestExtensionSystem*>( | 577 static_cast<extensions::TestExtensionSystem*>( |
578 ExtensionSystem::Get(profile_.get()))-> | 578 ExtensionSystem::Get(profile_.get()))-> |
579 CreateExtensionProcessManager(); | 579 CreateProcessManager(); |
580 } | 580 } |
581 | 581 |
582 void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() { | 582 void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() { |
583 ExtensionServiceInitParams params = CreateDefaultInitParams(); | 583 ExtensionServiceInitParams params = CreateDefaultInitParams(); |
584 params.autoupdate_enabled = true; | 584 params.autoupdate_enabled = true; |
585 InitializeExtensionService(params); | 585 InitializeExtensionService(params); |
586 service_->updater()->Start(); | 586 service_->updater()->Start(); |
587 } | 587 } |
588 | 588 |
589 void ExtensionServiceTestBase::InitializeExtensionSyncService() { | 589 void ExtensionServiceTestBase::InitializeExtensionSyncService() { |
(...skipping 2434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3024 } | 3024 } |
3025 | 3025 |
3026 #if !defined(OS_CHROMEOS) | 3026 #if !defined(OS_CHROMEOS) |
3027 // LOAD extensions with plugins require approval. | 3027 // LOAD extensions with plugins require approval. |
3028 TEST_F(ExtensionServiceTest, LoadExtensionsWithPlugins) { | 3028 TEST_F(ExtensionServiceTest, LoadExtensionsWithPlugins) { |
3029 base::FilePath extension_with_plugin_path = good1_path(); | 3029 base::FilePath extension_with_plugin_path = good1_path(); |
3030 base::FilePath extension_no_plugin_path = good2_path(); | 3030 base::FilePath extension_no_plugin_path = good2_path(); |
3031 | 3031 |
3032 InitPluginService(); | 3032 InitPluginService(); |
3033 InitializeEmptyExtensionService(); | 3033 InitializeEmptyExtensionService(); |
3034 InitializeExtensionProcessManager(); | 3034 InitializeProcessManager(); |
3035 service_->set_show_extensions_prompts(true); | 3035 service_->set_show_extensions_prompts(true); |
3036 | 3036 |
3037 // Start by canceling any install prompts. | 3037 // Start by canceling any install prompts. |
3038 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 3038 CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
3039 switches::kAppsGalleryInstallAutoConfirmForTests, | 3039 switches::kAppsGalleryInstallAutoConfirmForTests, |
3040 "cancel"); | 3040 "cancel"); |
3041 | 3041 |
3042 // The extension that has a plugin should not install. | 3042 // The extension that has a plugin should not install. |
3043 extensions::UnpackedInstaller::Create(service_)->Load( | 3043 extensions::UnpackedInstaller::Create(service_)->Load( |
3044 extension_with_plugin_path); | 3044 extension_with_plugin_path); |
(...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3979 service_->ReloadExtensions(); | 3979 service_->ReloadExtensions(); |
3980 | 3980 |
3981 // Extension counts shouldn't change. | 3981 // Extension counts shouldn't change. |
3982 EXPECT_EQ(1u, service_->extensions()->size()); | 3982 EXPECT_EQ(1u, service_->extensions()->size()); |
3983 EXPECT_EQ(0u, service_->disabled_extensions()->size()); | 3983 EXPECT_EQ(0u, service_->disabled_extensions()->size()); |
3984 } | 3984 } |
3985 | 3985 |
3986 // Tests reloading an extension. | 3986 // Tests reloading an extension. |
3987 TEST_F(ExtensionServiceTest, ReloadExtension) { | 3987 TEST_F(ExtensionServiceTest, ReloadExtension) { |
3988 InitializeEmptyExtensionService(); | 3988 InitializeEmptyExtensionService(); |
3989 InitializeExtensionProcessManager(); | 3989 InitializeProcessManager(); |
3990 | 3990 |
3991 // Simple extension that should install without error. | 3991 // Simple extension that should install without error. |
3992 const char* extension_id = "behllobkkfkfnphdnhnkndlbkcpglgmj"; | 3992 const char* extension_id = "behllobkkfkfnphdnhnkndlbkcpglgmj"; |
3993 base::FilePath ext = data_dir_ | 3993 base::FilePath ext = data_dir_ |
3994 .AppendASCII("good") | 3994 .AppendASCII("good") |
3995 .AppendASCII("Extensions") | 3995 .AppendASCII("Extensions") |
3996 .AppendASCII(extension_id) | 3996 .AppendASCII(extension_id) |
3997 .AppendASCII("1.0.0.0"); | 3997 .AppendASCII("1.0.0.0"); |
3998 extensions::UnpackedInstaller::Create(service_)->Load(ext); | 3998 extensions::UnpackedInstaller::Create(service_)->Load(ext); |
3999 base::RunLoop().RunUntilIdle(); | 3999 base::RunLoop().RunUntilIdle(); |
(...skipping 1433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5433 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5433 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
5434 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5434 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
5435 | 5435 |
5436 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( | 5436 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( |
5437 syncer::EXTENSIONS); | 5437 syncer::EXTENSIONS); |
5438 ASSERT_EQ(list.size(), 0U); | 5438 ASSERT_EQ(list.size(), 0U); |
5439 } | 5439 } |
5440 | 5440 |
5441 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { | 5441 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { |
5442 InitializeEmptyExtensionService(); | 5442 InitializeEmptyExtensionService(); |
5443 InitializeExtensionProcessManager(); | 5443 InitializeProcessManager(); |
5444 InitializeExtensionSyncService(); | 5444 InitializeExtensionSyncService(); |
5445 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 5445 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
5446 const Extension* extension = service_->GetInstalledExtension(good_crx); | 5446 const Extension* extension = service_->GetInstalledExtension(good_crx); |
5447 ASSERT_TRUE(extension); | 5447 ASSERT_TRUE(extension); |
5448 | 5448 |
5449 TestSyncProcessorStub processor; | 5449 TestSyncProcessorStub processor; |
5450 extension_sync_service_->MergeDataAndStartSyncing( | 5450 extension_sync_service_->MergeDataAndStartSyncing( |
5451 syncer::EXTENSIONS, syncer::SyncDataList(), | 5451 syncer::EXTENSIONS, syncer::SyncDataList(), |
5452 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5452 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
5453 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5453 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5733 list[0] = sync_change; | 5733 list[0] = sync_change; |
5734 | 5734 |
5735 // Should again do nothing. | 5735 // Should again do nothing. |
5736 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); | 5736 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); |
5737 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); | 5737 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); |
5738 } | 5738 } |
5739 } | 5739 } |
5740 | 5740 |
5741 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { | 5741 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { |
5742 InitializeEmptyExtensionService(); | 5742 InitializeEmptyExtensionService(); |
5743 InitializeExtensionProcessManager(); | 5743 InitializeProcessManager(); |
5744 InitializeExtensionSyncService(); | 5744 InitializeExtensionSyncService(); |
5745 TestSyncProcessorStub processor; | 5745 TestSyncProcessorStub processor; |
5746 extension_sync_service_->MergeDataAndStartSyncing( | 5746 extension_sync_service_->MergeDataAndStartSyncing( |
5747 syncer::EXTENSIONS, syncer::SyncDataList(), | 5747 syncer::EXTENSIONS, syncer::SyncDataList(), |
5748 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5748 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
5749 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5749 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
5750 | 5750 |
5751 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 5751 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
5752 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 5752 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
5753 EXPECT_FALSE(extension_util::IsIncognitoEnabled(good_crx, service_)); | 5753 EXPECT_FALSE(extension_util::IsIncognitoEnabled(good_crx, service_)); |
(...skipping 912 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6666 // ReconcileKnownDisabled(). | 6666 // ReconcileKnownDisabled(). |
6667 service_->EnableExtension(good2); | 6667 service_->EnableExtension(good2); |
6668 service_->ReconcileKnownDisabled(); | 6668 service_->ReconcileKnownDisabled(); |
6669 expected_extensions.insert(good2); | 6669 expected_extensions.insert(good2); |
6670 expected_disabled_extensions.erase(good2); | 6670 expected_disabled_extensions.erase(good2); |
6671 | 6671 |
6672 EXPECT_EQ(expected_extensions, service_->extensions()->GetIDs()); | 6672 EXPECT_EQ(expected_extensions, service_->extensions()->GetIDs()); |
6673 EXPECT_EQ(expected_disabled_extensions, | 6673 EXPECT_EQ(expected_disabled_extensions, |
6674 service_->disabled_extensions()->GetIDs()); | 6674 service_->disabled_extensions()->GetIDs()); |
6675 } | 6675 } |
OLD | NEW |