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 |