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

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

Issue 907533004: [Extensions] Sync the 'allowed scripting on all urls' preference (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
OLDNEW
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
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
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::BOOLEAN_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
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::BOOLEAN_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
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::BOOLEAN_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
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::BOOLEAN_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
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::BOOLEAN_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::BOOLEAN_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::BOOLEAN_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::BOOLEAN_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
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 const bool kDefaultAllowedScripting =
6355 extensions::util::DefaultAllowedScriptingOnAllUrls();
6356 EXPECT_EQ(kDefaultAllowedScripting,
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(kDefaultAllowedScripting,
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
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(!kDefaultAllowedScripting);
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(!kDefaultAllowedScripting,
6428 extensions::util::AllowedScriptingOnAllUrls(good_crx, profile()));
6429 }
6430
6431 {
6432 ext_specifics->set_all_urls_enabled(kDefaultAllowedScripting);
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(kDefaultAllowedScripting,
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/app_sync_data_unittest.cc ('k') | chrome/browser/extensions/extension_sync_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698