| OLD | NEW |
| 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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 #include "chrome/browser/extensions/unpacked_installer.h" | 55 #include "chrome/browser/extensions/unpacked_installer.h" |
| 56 #include "chrome/browser/extensions/updater/extension_updater.h" | 56 #include "chrome/browser/extensions/updater/extension_updater.h" |
| 57 #include "chrome/browser/plugins/plugin_prefs_factory.h" | 57 #include "chrome/browser/plugins/plugin_prefs_factory.h" |
| 58 #include "chrome/browser/prefs/browser_prefs.h" | 58 #include "chrome/browser/prefs/browser_prefs.h" |
| 59 #include "chrome/browser/prefs/pref_service_mock_builder.h" | 59 #include "chrome/browser/prefs/pref_service_mock_builder.h" |
| 60 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 60 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| 61 #include "chrome/common/chrome_constants.h" | 61 #include "chrome/common/chrome_constants.h" |
| 62 #include "chrome/common/chrome_notification_types.h" | 62 #include "chrome/common/chrome_notification_types.h" |
| 63 #include "chrome/common/chrome_paths.h" | 63 #include "chrome/common/chrome_paths.h" |
| 64 #include "chrome/common/chrome_switches.h" | 64 #include "chrome/common/chrome_switches.h" |
| 65 #include "chrome/common/extensions/api/extension_urls/extension_urls_handler.h" |
| 65 #include "chrome/common/extensions/extension.h" | 66 #include "chrome/common/extensions/extension.h" |
| 66 #include "chrome/common/extensions/extension_l10n_util.h" | 67 #include "chrome/common/extensions/extension_l10n_util.h" |
| 67 #include "chrome/common/extensions/extension_manifest_constants.h" | 68 #include "chrome/common/extensions/extension_manifest_constants.h" |
| 68 #include "chrome/common/extensions/extension_resource.h" | 69 #include "chrome/common/extensions/extension_resource.h" |
| 69 #include "chrome/common/extensions/permissions/permission_set.h" | 70 #include "chrome/common/extensions/permissions/permission_set.h" |
| 70 #include "chrome/common/pref_names.h" | 71 #include "chrome/common/pref_names.h" |
| 71 #include "chrome/common/url_constants.h" | 72 #include "chrome/common/url_constants.h" |
| 72 #include "chrome/test/base/testing_profile.h" | 73 #include "chrome/test/base/testing_profile.h" |
| 73 #include "content/public/browser/dom_storage_context.h" | 74 #include "content/public/browser/dom_storage_context.h" |
| 74 #include "content/public/browser/gpu_data_manager.h" | 75 #include "content/public/browser/gpu_data_manager.h" |
| (...skipping 2856 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2931 InitializeEmptyExtensionService(); | 2932 InitializeEmptyExtensionService(); |
| 2932 | 2933 |
| 2933 FilePath path = data_dir_.AppendASCII("good.crx"); | 2934 FilePath path = data_dir_.AppendASCII("good.crx"); |
| 2934 const Extension* good = InstallCRX(path, INSTALL_NEW); | 2935 const Extension* good = InstallCRX(path, INSTALL_NEW); |
| 2935 ASSERT_EQ(1u, service_->extensions()->size()); | 2936 ASSERT_EQ(1u, service_->extensions()->size()); |
| 2936 | 2937 |
| 2937 EXPECT_FALSE(good->is_theme()); | 2938 EXPECT_FALSE(good->is_theme()); |
| 2938 | 2939 |
| 2939 // Use AddExtensionImpl() as AddFrom*() would balk. | 2940 // Use AddExtensionImpl() as AddFrom*() would balk. |
| 2940 service_->pending_extension_manager()->AddExtensionImpl( | 2941 service_->pending_extension_manager()->AddExtensionImpl( |
| 2941 good->id(), good->update_url(), Version(), &IsExtension, | 2942 good->id(), |
| 2942 kGoodIsFromSync, kGoodInstallSilently, Extension::INTERNAL); | 2943 extensions::ExtensionURL::GetUpdateURL(good), |
| 2944 Version(), |
| 2945 &IsExtension, |
| 2946 kGoodIsFromSync, |
| 2947 kGoodInstallSilently, |
| 2948 Extension::INTERNAL); |
| 2943 UpdateExtension(good->id(), path, ENABLED); | 2949 UpdateExtension(good->id(), path, ENABLED); |
| 2944 | 2950 |
| 2945 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); | 2951 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); |
| 2946 } | 2952 } |
| 2947 | 2953 |
| 2948 // Test pref settings for blacklist and unblacklist extensions. | 2954 // Test pref settings for blacklist and unblacklist extensions. |
| 2949 TEST_F(ExtensionServiceTest, SetUnsetBlacklistInPrefs) { | 2955 TEST_F(ExtensionServiceTest, SetUnsetBlacklistInPrefs) { |
| 2950 InitializeEmptyExtensionService(); | 2956 InitializeEmptyExtensionService(); |
| 2951 std::vector<std::string> blacklist; | 2957 std::vector<std::string> blacklist; |
| 2952 blacklist.push_back(good0); | 2958 blacklist.push_back(good0); |
| (...skipping 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4715 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4721 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4716 | 4722 |
| 4717 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); | 4723 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4718 ASSERT_EQ(list.size(), 1U); | 4724 ASSERT_EQ(list.size(), 1U); |
| 4719 extensions::ExtensionSyncData data(list[0]); | 4725 extensions::ExtensionSyncData data(list[0]); |
| 4720 EXPECT_EQ(extension->id(), data.id()); | 4726 EXPECT_EQ(extension->id(), data.id()); |
| 4721 EXPECT_FALSE(data.uninstalled()); | 4727 EXPECT_FALSE(data.uninstalled()); |
| 4722 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 4728 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
| 4723 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); | 4729 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); |
| 4724 EXPECT_TRUE(data.version().Equals(*extension->version())); | 4730 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 4725 EXPECT_EQ(extension->update_url(), data.update_url()); | 4731 EXPECT_EQ(extensions::ExtensionURL::GetUpdateURL(extension), |
| 4732 data.update_url()); |
| 4726 EXPECT_EQ(extension->name(), data.name()); | 4733 EXPECT_EQ(extension->name(), data.name()); |
| 4727 } | 4734 } |
| 4728 | 4735 |
| 4729 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { | 4736 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { |
| 4730 InitializeEmptyExtensionService(); | 4737 InitializeEmptyExtensionService(); |
| 4731 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4738 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4732 TerminateExtension(good_crx); | 4739 TerminateExtension(good_crx); |
| 4733 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4740 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 4734 ASSERT_TRUE(extension); | 4741 ASSERT_TRUE(extension); |
| 4735 | 4742 |
| 4736 TestSyncProcessorStub processor; | 4743 TestSyncProcessorStub processor; |
| 4737 service_->MergeDataAndStartSyncing( | 4744 service_->MergeDataAndStartSyncing( |
| 4738 syncer::EXTENSIONS, syncer::SyncDataList(), | 4745 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4739 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4746 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4740 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4747 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4741 | 4748 |
| 4742 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); | 4749 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4743 ASSERT_EQ(list.size(), 1U); | 4750 ASSERT_EQ(list.size(), 1U); |
| 4744 extensions::ExtensionSyncData data(list[0]); | 4751 extensions::ExtensionSyncData data(list[0]); |
| 4745 EXPECT_EQ(extension->id(), data.id()); | 4752 EXPECT_EQ(extension->id(), data.id()); |
| 4746 EXPECT_FALSE(data.uninstalled()); | 4753 EXPECT_FALSE(data.uninstalled()); |
| 4747 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 4754 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
| 4748 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); | 4755 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); |
| 4749 EXPECT_TRUE(data.version().Equals(*extension->version())); | 4756 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 4750 EXPECT_EQ(extension->update_url(), data.update_url()); | 4757 EXPECT_EQ(extensions::ExtensionURL::GetUpdateURL(extension), |
| 4758 data.update_url()); |
| 4751 EXPECT_EQ(extension->name(), data.name()); | 4759 EXPECT_EQ(extension->name(), data.name()); |
| 4752 } | 4760 } |
| 4753 | 4761 |
| 4754 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { | 4762 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { |
| 4755 InitializeEmptyExtensionService(); | 4763 InitializeEmptyExtensionService(); |
| 4756 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4764 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4757 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4765 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 4758 ASSERT_TRUE(extension); | 4766 ASSERT_TRUE(extension); |
| 4759 | 4767 |
| 4760 TestSyncProcessorStub processor; | 4768 TestSyncProcessorStub processor; |
| (...skipping 1060 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5821 EXPECT_FALSE(extensions::HasExternalInstallError(service_)); | 5829 EXPECT_FALSE(extensions::HasExternalInstallError(service_)); |
| 5822 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 5830 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
| 5823 EXPECT_TRUE(service_->IsExtensionEnabled(page_action)); | 5831 EXPECT_TRUE(service_->IsExtensionEnabled(page_action)); |
| 5824 | 5832 |
| 5825 ExtensionPrefs* prefs = service_->extension_prefs(); | 5833 ExtensionPrefs* prefs = service_->extension_prefs(); |
| 5826 EXPECT_NE(0, prefs->GetDisableReasons(good_crx) & | 5834 EXPECT_NE(0, prefs->GetDisableReasons(good_crx) & |
| 5827 Extension::DISABLE_SIDELOAD_WIPEOUT); | 5835 Extension::DISABLE_SIDELOAD_WIPEOUT); |
| 5828 EXPECT_EQ(0, prefs->GetDisableReasons(page_action) & | 5836 EXPECT_EQ(0, prefs->GetDisableReasons(page_action) & |
| 5829 Extension::DISABLE_SIDELOAD_WIPEOUT); | 5837 Extension::DISABLE_SIDELOAD_WIPEOUT); |
| 5830 } | 5838 } |
| OLD | NEW |