Chromium Code Reviews| 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <set> | 6 #include <set> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/at_exit.h" | 9 #include "base/at_exit.h" |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 160 using extensions::APIPermission; | 160 using extensions::APIPermission; |
| 161 using extensions::APIPermissionSet; | 161 using extensions::APIPermissionSet; |
| 162 using extensions::AppSorting; | 162 using extensions::AppSorting; |
| 163 using extensions::Blacklist; | 163 using extensions::Blacklist; |
| 164 using extensions::CrxInstaller; | 164 using extensions::CrxInstaller; |
| 165 using extensions::Extension; | 165 using extensions::Extension; |
| 166 using extensions::ExtensionCreator; | 166 using extensions::ExtensionCreator; |
| 167 using extensions::ExtensionPrefs; | 167 using extensions::ExtensionPrefs; |
| 168 using extensions::ExtensionRegistry; | 168 using extensions::ExtensionRegistry; |
| 169 using extensions::ExtensionResource; | 169 using extensions::ExtensionResource; |
| 170 using extensions::ExtensionSyncData; | |
| 170 using extensions::ExtensionSystem; | 171 using extensions::ExtensionSystem; |
| 171 using extensions::FakeSafeBrowsingDatabaseManager; | 172 using extensions::FakeSafeBrowsingDatabaseManager; |
| 172 using extensions::FeatureSwitch; | 173 using extensions::FeatureSwitch; |
| 173 using extensions::Manifest; | 174 using extensions::Manifest; |
| 174 using extensions::PermissionSet; | 175 using extensions::PermissionSet; |
| 175 using extensions::TestExtensionSystem; | 176 using extensions::TestExtensionSystem; |
| 176 using extensions::UnloadedExtensionInfo; | 177 using extensions::UnloadedExtensionInfo; |
| 177 using extensions::URLPatternSet; | 178 using extensions::URLPatternSet; |
| 178 | 179 |
| 179 namespace keys = extensions::manifest_keys; | 180 namespace keys = extensions::manifest_keys; |
| (...skipping 5674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5854 service()->Init(); | 5855 service()->Init(); |
| 5855 ASSERT_TRUE(service()->is_ready()); | 5856 ASSERT_TRUE(service()->is_ready()); |
| 5856 | 5857 |
| 5857 ASSERT_EQ(3u, loaded_.size()); | 5858 ASSERT_EQ(3u, loaded_.size()); |
| 5858 | 5859 |
| 5859 // We start enabled. | 5860 // We start enabled. |
| 5860 const Extension* extension = service()->GetExtensionById(good0, true); | 5861 const Extension* extension = service()->GetExtensionById(good0, true); |
| 5861 ASSERT_TRUE(extension); | 5862 ASSERT_TRUE(extension); |
| 5862 ASSERT_TRUE(service()->IsExtensionEnabled(good0)); | 5863 ASSERT_TRUE(service()->IsExtensionEnabled(good0)); |
| 5863 extensions::ExtensionSyncData disable_good_crx( | 5864 extensions::ExtensionSyncData disable_good_crx( |
| 5864 *extension, false, false, false); | 5865 *extension, false, false, false, ExtensionSyncData::PREF_UNSET); |
| 5865 | 5866 |
| 5866 // Then sync data arrives telling us to disable |good0|. | 5867 // Then sync data arrives telling us to disable |good0|. |
| 5867 syncer::SyncDataList sync_data; | 5868 syncer::SyncDataList sync_data; |
| 5868 sync_data.push_back(disable_good_crx.GetSyncData()); | 5869 sync_data.push_back(disable_good_crx.GetSyncData()); |
| 5869 extension_sync_service()->MergeDataAndStartSyncing( | 5870 extension_sync_service()->MergeDataAndStartSyncing( |
| 5870 syncer::EXTENSIONS, | 5871 syncer::EXTENSIONS, |
| 5871 sync_data, | 5872 sync_data, |
| 5872 scoped_ptr<syncer::SyncChangeProcessor>( | 5873 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5873 new syncer::FakeSyncChangeProcessor), | 5874 new syncer::FakeSyncChangeProcessor), |
| 5874 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5875 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 5901 service()->DisableExtension(good0, Extension::DISABLE_USER_ACTION); | 5902 service()->DisableExtension(good0, Extension::DISABLE_USER_ACTION); |
| 5902 ASSERT_FALSE(service()->IsExtensionEnabled(good0)); | 5903 ASSERT_FALSE(service()->IsExtensionEnabled(good0)); |
| 5903 | 5904 |
| 5904 // Enable extension - this is now the most recent state. | 5905 // Enable extension - this is now the most recent state. |
| 5905 service()->EnableExtension(good0); | 5906 service()->EnableExtension(good0); |
| 5906 ASSERT_TRUE(service()->IsExtensionEnabled(good0)); | 5907 ASSERT_TRUE(service()->IsExtensionEnabled(good0)); |
| 5907 | 5908 |
| 5908 // Now sync data comes in that says to disable good0. This should be | 5909 // Now sync data comes in that says to disable good0. This should be |
| 5909 // ignored. | 5910 // ignored. |
| 5910 extensions::ExtensionSyncData disable_good_crx( | 5911 extensions::ExtensionSyncData disable_good_crx( |
| 5911 *extension, false, false, false); | 5912 *extension, false, false, false, ExtensionSyncData::PREF_FALSE); |
| 5912 syncer::SyncDataList sync_data; | 5913 syncer::SyncDataList sync_data; |
| 5913 sync_data.push_back(disable_good_crx.GetSyncData()); | 5914 sync_data.push_back(disable_good_crx.GetSyncData()); |
| 5914 extension_sync_service()->MergeDataAndStartSyncing( | 5915 extension_sync_service()->MergeDataAndStartSyncing( |
| 5915 syncer::EXTENSIONS, | 5916 syncer::EXTENSIONS, |
| 5916 sync_data, | 5917 sync_data, |
| 5917 scoped_ptr<syncer::SyncChangeProcessor>( | 5918 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5918 new syncer::FakeSyncChangeProcessor), | 5919 new syncer::FakeSyncChangeProcessor), |
| 5919 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5920 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5920 | 5921 |
| 5921 // The extension was enabled locally before the sync data arrived, so it | 5922 // The extension was enabled locally before the sync data arrived, so it |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 5939 | 5940 |
| 5940 syncer::SyncDataList list = | 5941 syncer::SyncDataList list = |
| 5941 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); | 5942 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); |
| 5942 ASSERT_EQ(list.size(), 1U); | 5943 ASSERT_EQ(list.size(), 1U); |
| 5943 extensions::ExtensionSyncData data(list[0]); | 5944 extensions::ExtensionSyncData data(list[0]); |
| 5944 EXPECT_EQ(extension->id(), data.id()); | 5945 EXPECT_EQ(extension->id(), data.id()); |
| 5945 EXPECT_FALSE(data.uninstalled()); | 5946 EXPECT_FALSE(data.uninstalled()); |
| 5946 EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data.enabled()); | 5947 EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data.enabled()); |
| 5947 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()), | 5948 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()), |
| 5948 data.incognito_enabled()); | 5949 data.incognito_enabled()); |
| 5950 EXPECT_EQ(ExtensionSyncData::PREF_UNSET, data.all_urls_enabled()); | |
| 5949 EXPECT_TRUE(data.version().Equals(*extension->version())); | 5951 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 5950 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), | 5952 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), |
| 5951 data.update_url()); | 5953 data.update_url()); |
| 5952 EXPECT_EQ(extension->name(), data.name()); | 5954 EXPECT_EQ(extension->name(), data.name()); |
| 5953 } | 5955 } |
| 5954 | 5956 |
| 5955 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { | 5957 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { |
| 5956 InitializeEmptyExtensionService(); | 5958 InitializeEmptyExtensionService(); |
| 5957 InitializeExtensionSyncService(); | 5959 InitializeExtensionSyncService(); |
| 5958 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); | 5960 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 5970 | 5972 |
| 5971 syncer::SyncDataList list = | 5973 syncer::SyncDataList list = |
| 5972 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); | 5974 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); |
| 5973 ASSERT_EQ(list.size(), 1U); | 5975 ASSERT_EQ(list.size(), 1U); |
| 5974 extensions::ExtensionSyncData data(list[0]); | 5976 extensions::ExtensionSyncData data(list[0]); |
| 5975 EXPECT_EQ(extension->id(), data.id()); | 5977 EXPECT_EQ(extension->id(), data.id()); |
| 5976 EXPECT_FALSE(data.uninstalled()); | 5978 EXPECT_FALSE(data.uninstalled()); |
| 5977 EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data.enabled()); | 5979 EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data.enabled()); |
| 5978 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()), | 5980 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()), |
| 5979 data.incognito_enabled()); | 5981 data.incognito_enabled()); |
| 5982 EXPECT_EQ(ExtensionSyncData::PREF_UNSET, data.all_urls_enabled()); | |
| 5980 EXPECT_TRUE(data.version().Equals(*extension->version())); | 5983 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 5981 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), | 5984 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), |
| 5982 data.update_url()); | 5985 data.update_url()); |
| 5983 EXPECT_EQ(extension->name(), data.name()); | 5986 EXPECT_EQ(extension->name(), data.name()); |
| 5984 } | 5987 } |
| 5985 | 5988 |
| 5986 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { | 5989 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { |
| 5987 InitializeEmptyExtensionService(); | 5990 InitializeEmptyExtensionService(); |
| 5988 InitializeExtensionSyncService(); | 5991 InitializeExtensionSyncService(); |
| 5989 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); | 5992 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 6018 new syncer::FakeSyncChangeProcessor), | 6021 new syncer::FakeSyncChangeProcessor), |
| 6019 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 6022 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 6020 | 6023 |
| 6021 { | 6024 { |
| 6022 syncer::SyncDataList list = | 6025 syncer::SyncDataList list = |
| 6023 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); | 6026 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); |
| 6024 ASSERT_EQ(list.size(), 1U); | 6027 ASSERT_EQ(list.size(), 1U); |
| 6025 extensions::ExtensionSyncData data(list[0]); | 6028 extensions::ExtensionSyncData data(list[0]); |
| 6026 EXPECT_TRUE(data.enabled()); | 6029 EXPECT_TRUE(data.enabled()); |
| 6027 EXPECT_FALSE(data.incognito_enabled()); | 6030 EXPECT_FALSE(data.incognito_enabled()); |
| 6031 EXPECT_EQ(ExtensionSyncData::PREF_UNSET, data.all_urls_enabled()); | |
| 6028 } | 6032 } |
| 6029 | 6033 |
| 6030 service()->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); | 6034 service()->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); |
| 6031 { | 6035 { |
| 6032 syncer::SyncDataList list = | 6036 syncer::SyncDataList list = |
| 6033 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); | 6037 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); |
| 6034 ASSERT_EQ(list.size(), 1U); | 6038 ASSERT_EQ(list.size(), 1U); |
| 6035 extensions::ExtensionSyncData data(list[0]); | 6039 extensions::ExtensionSyncData data(list[0]); |
| 6036 EXPECT_FALSE(data.enabled()); | 6040 EXPECT_FALSE(data.enabled()); |
| 6037 EXPECT_FALSE(data.incognito_enabled()); | 6041 EXPECT_FALSE(data.incognito_enabled()); |
| 6042 EXPECT_EQ(ExtensionSyncData::PREF_UNSET, data.all_urls_enabled()); | |
| 6038 } | 6043 } |
| 6039 | 6044 |
| 6040 extensions::util::SetIsIncognitoEnabled(good_crx, profile(), true); | 6045 extensions::util::SetIsIncognitoEnabled(good_crx, profile(), true); |
| 6046 extensions::util::SetAllowedScriptingOnAllUrls( | |
| 6047 good_crx, profile(), false); | |
| 6041 { | 6048 { |
| 6042 syncer::SyncDataList list = | 6049 syncer::SyncDataList list = |
| 6043 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); | 6050 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); |
| 6044 ASSERT_EQ(list.size(), 1U); | 6051 ASSERT_EQ(list.size(), 1U); |
| 6045 extensions::ExtensionSyncData data(list[0]); | 6052 extensions::ExtensionSyncData data(list[0]); |
| 6046 EXPECT_FALSE(data.enabled()); | 6053 EXPECT_FALSE(data.enabled()); |
| 6047 EXPECT_TRUE(data.incognito_enabled()); | 6054 EXPECT_TRUE(data.incognito_enabled()); |
| 6055 EXPECT_EQ(ExtensionSyncData::PREF_FALSE, data.all_urls_enabled()); | |
| 6048 } | 6056 } |
| 6049 | 6057 |
| 6050 service()->EnableExtension(good_crx); | 6058 service()->EnableExtension(good_crx); |
| 6059 extensions::util::SetAllowedScriptingOnAllUrls( | |
| 6060 good_crx, profile(), true); | |
| 6051 { | 6061 { |
| 6052 syncer::SyncDataList list = | 6062 syncer::SyncDataList list = |
| 6053 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); | 6063 extension_sync_service()->GetAllSyncData(syncer::EXTENSIONS); |
| 6054 ASSERT_EQ(list.size(), 1U); | 6064 ASSERT_EQ(list.size(), 1U); |
| 6055 extensions::ExtensionSyncData data(list[0]); | 6065 extensions::ExtensionSyncData data(list[0]); |
| 6056 EXPECT_TRUE(data.enabled()); | 6066 EXPECT_TRUE(data.enabled()); |
| 6057 EXPECT_TRUE(data.incognito_enabled()); | 6067 EXPECT_TRUE(data.incognito_enabled()); |
| 6068 EXPECT_EQ(ExtensionSyncData::PREF_TRUE, data.all_urls_enabled()); | |
| 6058 } | 6069 } |
| 6059 } | 6070 } |
| 6060 | 6071 |
| 6061 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { | 6072 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { |
| 6062 InitializeEmptyExtensionService(); | 6073 InitializeEmptyExtensionService(); |
| 6063 InitializeExtensionSyncService(); | 6074 InitializeExtensionSyncService(); |
| 6064 InstallCRXWithLocation( | 6075 InstallCRXWithLocation( |
| 6065 data_dir().AppendASCII("good.crx"), Manifest::EXTERNAL_PREF, INSTALL_NEW); | 6076 data_dir().AppendASCII("good.crx"), Manifest::EXTERNAL_PREF, INSTALL_NEW); |
| 6066 const Extension* extension = service()->GetInstalledExtension(good_crx); | 6077 const Extension* extension = service()->GetInstalledExtension(good_crx); |
| 6067 ASSERT_TRUE(extension); | 6078 ASSERT_TRUE(extension); |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6331 extension_sync_service()->MergeDataAndStartSyncing( | 6342 extension_sync_service()->MergeDataAndStartSyncing( |
| 6332 syncer::EXTENSIONS, | 6343 syncer::EXTENSIONS, |
| 6333 syncer::SyncDataList(), | 6344 syncer::SyncDataList(), |
| 6334 scoped_ptr<syncer::SyncChangeProcessor>( | 6345 scoped_ptr<syncer::SyncChangeProcessor>( |
| 6335 new syncer::FakeSyncChangeProcessor), | 6346 new syncer::FakeSyncChangeProcessor), |
| 6336 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 6347 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 6337 | 6348 |
| 6338 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); | 6349 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); |
| 6339 EXPECT_TRUE(service()->IsExtensionEnabled(good_crx)); | 6350 EXPECT_TRUE(service()->IsExtensionEnabled(good_crx)); |
| 6340 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile())); | 6351 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile())); |
| 6352 EXPECT_FALSE(extensions::util::HasSetAllowedScriptingOnAllUrls( | |
| 6353 good_crx, profile())); | |
| 6354 bool default_allowed_scripting = | |
|
not at google - send to devlin
2015/02/11 01:34:51
Would make me more comfortable if this were const.
Devlin
2015/02/11 17:52:21
Done.
| |
| 6355 extensions::util::DefaultAllowedScriptingOnAllUrls(); | |
| 6356 EXPECT_EQ(default_allowed_scripting, | |
| 6357 extensions::util::AllowedScriptingOnAllUrls(good_crx, profile())); | |
| 6341 | 6358 |
| 6342 sync_pb::EntitySpecifics specifics; | 6359 sync_pb::EntitySpecifics specifics; |
| 6343 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 6360 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 6344 ext_specifics->set_id(good_crx); | 6361 ext_specifics->set_id(good_crx); |
| 6345 ext_specifics->set_version( | 6362 ext_specifics->set_version( |
| 6346 service()->GetInstalledExtension(good_crx)->version()->GetString()); | 6363 service()->GetInstalledExtension(good_crx)->version()->GetString()); |
| 6347 ext_specifics->set_enabled(false); | 6364 ext_specifics->set_enabled(false); |
| 6348 | 6365 |
| 6349 { | 6366 { |
| 6350 syncer::SyncData sync_data = | 6367 syncer::SyncData sync_data = |
| 6351 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); | 6368 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); |
| 6352 syncer::SyncChange sync_change(FROM_HERE, | 6369 syncer::SyncChange sync_change(FROM_HERE, |
| 6353 syncer::SyncChange::ACTION_UPDATE, | 6370 syncer::SyncChange::ACTION_UPDATE, |
| 6354 sync_data); | 6371 sync_data); |
| 6355 syncer::SyncChangeList list(1); | 6372 syncer::SyncChangeList list(1); |
| 6356 list[0] = sync_change; | 6373 list[0] = sync_change; |
| 6357 extension_sync_service()->ProcessSyncChanges(FROM_HERE, list); | 6374 extension_sync_service()->ProcessSyncChanges(FROM_HERE, list); |
| 6358 EXPECT_FALSE(service()->IsExtensionEnabled(good_crx)); | 6375 EXPECT_FALSE(service()->IsExtensionEnabled(good_crx)); |
| 6359 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile())); | 6376 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile())); |
| 6377 EXPECT_FALSE(extensions::util::HasSetAllowedScriptingOnAllUrls( | |
| 6378 good_crx, profile())); | |
| 6379 EXPECT_EQ(default_allowed_scripting, | |
| 6380 extensions::util::AllowedScriptingOnAllUrls(good_crx, profile())); | |
| 6360 } | 6381 } |
| 6361 | 6382 |
| 6362 { | 6383 { |
| 6363 ext_specifics->set_enabled(true); | 6384 ext_specifics->set_enabled(true); |
| 6364 ext_specifics->set_incognito_enabled(true); | 6385 ext_specifics->set_incognito_enabled(true); |
| 6365 syncer::SyncData sync_data = | 6386 syncer::SyncData sync_data = |
| 6366 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); | 6387 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); |
| 6367 syncer::SyncChange sync_change(FROM_HERE, | 6388 syncer::SyncChange sync_change(FROM_HERE, |
| 6368 syncer::SyncChange::ACTION_UPDATE, | 6389 syncer::SyncChange::ACTION_UPDATE, |
| 6369 sync_data); | 6390 sync_data); |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 6382 syncer::SyncChange sync_change(FROM_HERE, | 6403 syncer::SyncChange sync_change(FROM_HERE, |
| 6383 syncer::SyncChange::ACTION_UPDATE, | 6404 syncer::SyncChange::ACTION_UPDATE, |
| 6384 sync_data); | 6405 sync_data); |
| 6385 syncer::SyncChangeList list(1); | 6406 syncer::SyncChangeList list(1); |
| 6386 list[0] = sync_change; | 6407 list[0] = sync_change; |
| 6387 extension_sync_service()->ProcessSyncChanges(FROM_HERE, list); | 6408 extension_sync_service()->ProcessSyncChanges(FROM_HERE, list); |
| 6388 EXPECT_FALSE(service()->IsExtensionEnabled(good_crx)); | 6409 EXPECT_FALSE(service()->IsExtensionEnabled(good_crx)); |
| 6389 EXPECT_TRUE(extensions::util::IsIncognitoEnabled(good_crx, profile())); | 6410 EXPECT_TRUE(extensions::util::IsIncognitoEnabled(good_crx, profile())); |
| 6390 } | 6411 } |
| 6391 | 6412 |
| 6413 { | |
| 6414 ext_specifics->set_enabled(true); | |
| 6415 ext_specifics->set_all_urls_enabled(!default_allowed_scripting); | |
| 6416 syncer::SyncData sync_data = | |
| 6417 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); | |
| 6418 syncer::SyncChange sync_change(FROM_HERE, | |
| 6419 syncer::SyncChange::ACTION_UPDATE, | |
| 6420 sync_data); | |
| 6421 syncer::SyncChangeList list(1); | |
| 6422 list[0] = sync_change; | |
| 6423 extension_sync_service()->ProcessSyncChanges(FROM_HERE, list); | |
| 6424 EXPECT_TRUE(service()->IsExtensionEnabled(good_crx)); | |
| 6425 EXPECT_TRUE(extensions::util::HasSetAllowedScriptingOnAllUrls( | |
| 6426 good_crx, profile())); | |
| 6427 EXPECT_EQ(!default_allowed_scripting, | |
| 6428 extensions::util::AllowedScriptingOnAllUrls(good_crx, profile())); | |
| 6429 } | |
| 6430 | |
| 6431 { | |
| 6432 ext_specifics->set_all_urls_enabled(default_allowed_scripting); | |
| 6433 syncer::SyncData sync_data = | |
| 6434 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); | |
| 6435 syncer::SyncChange sync_change(FROM_HERE, | |
| 6436 syncer::SyncChange::ACTION_UPDATE, | |
| 6437 sync_data); | |
| 6438 syncer::SyncChangeList list(1); | |
| 6439 list[0] = sync_change; | |
| 6440 extension_sync_service()->ProcessSyncChanges(FROM_HERE, list); | |
| 6441 EXPECT_TRUE(service()->IsExtensionEnabled(good_crx)); | |
| 6442 EXPECT_TRUE(extensions::util::HasSetAllowedScriptingOnAllUrls( | |
| 6443 good_crx, profile())); | |
| 6444 EXPECT_EQ(default_allowed_scripting, | |
| 6445 extensions::util::AllowedScriptingOnAllUrls(good_crx, profile())); | |
| 6446 } | |
| 6447 | |
| 6392 EXPECT_FALSE(service()->pending_extension_manager()->IsIdPending(good_crx)); | 6448 EXPECT_FALSE(service()->pending_extension_manager()->IsIdPending(good_crx)); |
| 6393 } | 6449 } |
| 6394 | 6450 |
| 6395 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { | 6451 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { |
| 6396 InitializeExtensionServiceWithUpdater(); | 6452 InitializeExtensionServiceWithUpdater(); |
| 6397 InitializeExtensionSyncService(); | 6453 InitializeExtensionSyncService(); |
| 6398 syncer::FakeSyncChangeProcessor processor; | 6454 syncer::FakeSyncChangeProcessor processor; |
| 6399 extension_sync_service()->MergeDataAndStartSyncing( | 6455 extension_sync_service()->MergeDataAndStartSyncing( |
| 6400 syncer::EXTENSIONS, | 6456 syncer::EXTENSIONS, |
| 6401 syncer::SyncDataList(), | 6457 syncer::SyncDataList(), |
| (...skipping 1174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7576 | 7632 |
| 7577 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, | 7633 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, |
| 7578 content::Source<Profile>(profile()), | 7634 content::Source<Profile>(profile()), |
| 7579 content::NotificationService::NoDetails()); | 7635 content::NotificationService::NoDetails()); |
| 7580 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); | 7636 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); |
| 7581 EXPECT_EQ(0u, registry()->enabled_extensions().size()); | 7637 EXPECT_EQ(0u, registry()->enabled_extensions().size()); |
| 7582 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 7638 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| 7583 EXPECT_EQ(0u, registry()->terminated_extensions().size()); | 7639 EXPECT_EQ(0u, registry()->terminated_extensions().size()); |
| 7584 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); | 7640 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); |
| 7585 } | 7641 } |
| OLD | NEW |