| 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 4211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4222 }; | 4222 }; |
| 4223 } | 4223 } |
| 4224 | 4224 |
| 4225 TEST_F(ExtensionServiceTest, GetSyncData) { | 4225 TEST_F(ExtensionServiceTest, GetSyncData) { |
| 4226 InitializeEmptyExtensionService(); | 4226 InitializeEmptyExtensionService(); |
| 4227 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4227 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4228 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4228 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 4229 ASSERT_TRUE(extension); | 4229 ASSERT_TRUE(extension); |
| 4230 | 4230 |
| 4231 service_->MergeDataAndStartSyncing( | 4231 service_->MergeDataAndStartSyncing( |
| 4232 syncable::EXTENSIONS, syncer::SyncDataList(), | 4232 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4233 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4233 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4234 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4234 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4235 | 4235 |
| 4236 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4236 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4237 ASSERT_EQ(list.size(), 1U); | 4237 ASSERT_EQ(list.size(), 1U); |
| 4238 extensions::ExtensionSyncData data(list[0]); | 4238 extensions::ExtensionSyncData data(list[0]); |
| 4239 EXPECT_EQ(extension->id(), data.id()); | 4239 EXPECT_EQ(extension->id(), data.id()); |
| 4240 EXPECT_FALSE(data.uninstalled()); | 4240 EXPECT_FALSE(data.uninstalled()); |
| 4241 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 4241 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
| 4242 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); | 4242 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); |
| 4243 EXPECT_TRUE(data.version().Equals(*extension->version())); | 4243 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 4244 EXPECT_EQ(extension->update_url(), data.update_url()); | 4244 EXPECT_EQ(extension->update_url(), data.update_url()); |
| 4245 EXPECT_EQ(extension->name(), data.name()); | 4245 EXPECT_EQ(extension->name(), data.name()); |
| 4246 } | 4246 } |
| 4247 | 4247 |
| 4248 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { | 4248 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { |
| 4249 InitializeEmptyExtensionService(); | 4249 InitializeEmptyExtensionService(); |
| 4250 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4250 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4251 TerminateExtension(good_crx); | 4251 TerminateExtension(good_crx); |
| 4252 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4252 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 4253 ASSERT_TRUE(extension); | 4253 ASSERT_TRUE(extension); |
| 4254 | 4254 |
| 4255 TestSyncProcessorStub processor; | 4255 TestSyncProcessorStub processor; |
| 4256 service_->MergeDataAndStartSyncing( | 4256 service_->MergeDataAndStartSyncing( |
| 4257 syncable::EXTENSIONS, syncer::SyncDataList(), | 4257 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4258 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4258 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4259 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4259 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4260 | 4260 |
| 4261 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4261 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4262 ASSERT_EQ(list.size(), 1U); | 4262 ASSERT_EQ(list.size(), 1U); |
| 4263 extensions::ExtensionSyncData data(list[0]); | 4263 extensions::ExtensionSyncData data(list[0]); |
| 4264 EXPECT_EQ(extension->id(), data.id()); | 4264 EXPECT_EQ(extension->id(), data.id()); |
| 4265 EXPECT_FALSE(data.uninstalled()); | 4265 EXPECT_FALSE(data.uninstalled()); |
| 4266 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 4266 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
| 4267 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); | 4267 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); |
| 4268 EXPECT_TRUE(data.version().Equals(*extension->version())); | 4268 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 4269 EXPECT_EQ(extension->update_url(), data.update_url()); | 4269 EXPECT_EQ(extension->update_url(), data.update_url()); |
| 4270 EXPECT_EQ(extension->name(), data.name()); | 4270 EXPECT_EQ(extension->name(), data.name()); |
| 4271 } | 4271 } |
| 4272 | 4272 |
| 4273 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { | 4273 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { |
| 4274 InitializeEmptyExtensionService(); | 4274 InitializeEmptyExtensionService(); |
| 4275 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4275 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4276 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4276 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 4277 ASSERT_TRUE(extension); | 4277 ASSERT_TRUE(extension); |
| 4278 | 4278 |
| 4279 TestSyncProcessorStub processor; | 4279 TestSyncProcessorStub processor; |
| 4280 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(), | 4280 service_->MergeDataAndStartSyncing(syncer::APPS, syncer::SyncDataList(), |
| 4281 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4281 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4282 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4282 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4283 | 4283 |
| 4284 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4284 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4285 ASSERT_EQ(list.size(), 0U); | 4285 ASSERT_EQ(list.size(), 0U); |
| 4286 } | 4286 } |
| 4287 | 4287 |
| 4288 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { | 4288 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { |
| 4289 InitializeEmptyExtensionService(); | 4289 InitializeEmptyExtensionService(); |
| 4290 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4290 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4291 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4291 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 4292 ASSERT_TRUE(extension); | 4292 ASSERT_TRUE(extension); |
| 4293 | 4293 |
| 4294 TestSyncProcessorStub processor; | 4294 TestSyncProcessorStub processor; |
| 4295 service_->MergeDataAndStartSyncing( | 4295 service_->MergeDataAndStartSyncing( |
| 4296 syncable::EXTENSIONS, syncer::SyncDataList(), | 4296 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4297 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4297 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4298 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4298 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4299 | 4299 |
| 4300 { | 4300 { |
| 4301 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4301 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4302 ASSERT_EQ(list.size(), 1U); | 4302 ASSERT_EQ(list.size(), 1U); |
| 4303 extensions::ExtensionSyncData data(list[0]); | 4303 extensions::ExtensionSyncData data(list[0]); |
| 4304 EXPECT_TRUE(data.enabled()); | 4304 EXPECT_TRUE(data.enabled()); |
| 4305 EXPECT_FALSE(data.incognito_enabled()); | 4305 EXPECT_FALSE(data.incognito_enabled()); |
| 4306 } | 4306 } |
| 4307 | 4307 |
| 4308 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); | 4308 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); |
| 4309 { | 4309 { |
| 4310 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4310 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4311 ASSERT_EQ(list.size(), 1U); | 4311 ASSERT_EQ(list.size(), 1U); |
| 4312 extensions::ExtensionSyncData data(list[0]); | 4312 extensions::ExtensionSyncData data(list[0]); |
| 4313 EXPECT_FALSE(data.enabled()); | 4313 EXPECT_FALSE(data.enabled()); |
| 4314 EXPECT_FALSE(data.incognito_enabled()); | 4314 EXPECT_FALSE(data.incognito_enabled()); |
| 4315 } | 4315 } |
| 4316 | 4316 |
| 4317 service_->SetIsIncognitoEnabled(good_crx, true); | 4317 service_->SetIsIncognitoEnabled(good_crx, true); |
| 4318 { | 4318 { |
| 4319 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4319 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4320 ASSERT_EQ(list.size(), 1U); | 4320 ASSERT_EQ(list.size(), 1U); |
| 4321 extensions::ExtensionSyncData data(list[0]); | 4321 extensions::ExtensionSyncData data(list[0]); |
| 4322 EXPECT_FALSE(data.enabled()); | 4322 EXPECT_FALSE(data.enabled()); |
| 4323 EXPECT_TRUE(data.incognito_enabled()); | 4323 EXPECT_TRUE(data.incognito_enabled()); |
| 4324 } | 4324 } |
| 4325 | 4325 |
| 4326 service_->EnableExtension(good_crx); | 4326 service_->EnableExtension(good_crx); |
| 4327 { | 4327 { |
| 4328 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4328 syncer::SyncDataList list = service_->GetAllSyncData(syncer::EXTENSIONS); |
| 4329 ASSERT_EQ(list.size(), 1U); | 4329 ASSERT_EQ(list.size(), 1U); |
| 4330 extensions::ExtensionSyncData data(list[0]); | 4330 extensions::ExtensionSyncData data(list[0]); |
| 4331 EXPECT_TRUE(data.enabled()); | 4331 EXPECT_TRUE(data.enabled()); |
| 4332 EXPECT_TRUE(data.incognito_enabled()); | 4332 EXPECT_TRUE(data.incognito_enabled()); |
| 4333 } | 4333 } |
| 4334 } | 4334 } |
| 4335 | 4335 |
| 4336 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { | 4336 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { |
| 4337 InitializeEmptyExtensionService(); | 4337 InitializeEmptyExtensionService(); |
| 4338 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"), | 4338 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"), |
| 4339 Extension::EXTERNAL_PREF, INSTALL_NEW); | 4339 Extension::EXTERNAL_PREF, INSTALL_NEW); |
| 4340 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4340 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 4341 ASSERT_TRUE(extension); | 4341 ASSERT_TRUE(extension); |
| 4342 | 4342 |
| 4343 TestSyncProcessorStub processor; | 4343 TestSyncProcessorStub processor; |
| 4344 service_->MergeDataAndStartSyncing( | 4344 service_->MergeDataAndStartSyncing( |
| 4345 syncable::EXTENSIONS, syncer::SyncDataList(), | 4345 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4346 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4346 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4347 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4347 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4348 | 4348 |
| 4349 UninstallExtension(good_crx, false); | 4349 UninstallExtension(good_crx, false); |
| 4350 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); | 4350 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); |
| 4351 | 4351 |
| 4352 sync_pb::EntitySpecifics specifics; | 4352 sync_pb::EntitySpecifics specifics; |
| 4353 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); | 4353 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); |
| 4354 sync_pb::ExtensionSpecifics* extension_specifics = | 4354 sync_pb::ExtensionSpecifics* extension_specifics = |
| 4355 app_specifics->mutable_extension(); | 4355 app_specifics->mutable_extension(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 4368 } | 4368 } |
| 4369 | 4369 |
| 4370 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) { | 4370 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) { |
| 4371 InitializeEmptyExtensionService(); | 4371 InitializeEmptyExtensionService(); |
| 4372 const Extension* app = | 4372 const Extension* app = |
| 4373 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW); | 4373 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW); |
| 4374 ASSERT_TRUE(app); | 4374 ASSERT_TRUE(app); |
| 4375 ASSERT_TRUE(app->is_app()); | 4375 ASSERT_TRUE(app->is_app()); |
| 4376 | 4376 |
| 4377 TestSyncProcessorStub processor; | 4377 TestSyncProcessorStub processor; |
| 4378 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(), | 4378 service_->MergeDataAndStartSyncing(syncer::APPS, syncer::SyncDataList(), |
| 4379 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4379 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4380 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4380 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4381 | 4381 |
| 4382 StringOrdinal initial_ordinal = StringOrdinal::CreateInitialOrdinal(); | 4382 StringOrdinal initial_ordinal = StringOrdinal::CreateInitialOrdinal(); |
| 4383 { | 4383 { |
| 4384 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4384 syncer::SyncDataList list = service_->GetAllSyncData(syncer::APPS); |
| 4385 ASSERT_EQ(list.size(), 1U); | 4385 ASSERT_EQ(list.size(), 1U); |
| 4386 | 4386 |
| 4387 extensions::AppSyncData app_sync_data(list[0]); | 4387 extensions::AppSyncData app_sync_data(list[0]); |
| 4388 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.app_launch_ordinal())); | 4388 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.app_launch_ordinal())); |
| 4389 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); | 4389 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); |
| 4390 } | 4390 } |
| 4391 | 4391 |
| 4392 ExtensionSorting* sorting = service_->extension_prefs()->extension_sorting(); | 4392 ExtensionSorting* sorting = service_->extension_prefs()->extension_sorting(); |
| 4393 sorting->SetAppLaunchOrdinal(app->id(), initial_ordinal.CreateAfter()); | 4393 sorting->SetAppLaunchOrdinal(app->id(), initial_ordinal.CreateAfter()); |
| 4394 { | 4394 { |
| 4395 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4395 syncer::SyncDataList list = service_->GetAllSyncData(syncer::APPS); |
| 4396 ASSERT_EQ(list.size(), 1U); | 4396 ASSERT_EQ(list.size(), 1U); |
| 4397 | 4397 |
| 4398 extensions::AppSyncData app_sync_data(list[0]); | 4398 extensions::AppSyncData app_sync_data(list[0]); |
| 4399 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); | 4399 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); |
| 4400 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); | 4400 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); |
| 4401 } | 4401 } |
| 4402 | 4402 |
| 4403 sorting->SetPageOrdinal(app->id(), initial_ordinal.CreateAfter()); | 4403 sorting->SetPageOrdinal(app->id(), initial_ordinal.CreateAfter()); |
| 4404 { | 4404 { |
| 4405 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4405 syncer::SyncDataList list = service_->GetAllSyncData(syncer::APPS); |
| 4406 ASSERT_EQ(list.size(), 1U); | 4406 ASSERT_EQ(list.size(), 1U); |
| 4407 | 4407 |
| 4408 extensions::AppSyncData app_sync_data(list[0]); | 4408 extensions::AppSyncData app_sync_data(list[0]); |
| 4409 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); | 4409 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); |
| 4410 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.page_ordinal())); | 4410 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.page_ordinal())); |
| 4411 } | 4411 } |
| 4412 } | 4412 } |
| 4413 | 4413 |
| 4414 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettingsOnExtensionMoved) { | 4414 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettingsOnExtensionMoved) { |
| 4415 InitializeEmptyExtensionService(); | 4415 InitializeEmptyExtensionService(); |
| 4416 const size_t kAppCount = 3; | 4416 const size_t kAppCount = 3; |
| 4417 const Extension* apps[kAppCount]; | 4417 const Extension* apps[kAppCount]; |
| 4418 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); | 4418 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); |
| 4419 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW); | 4419 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW); |
| 4420 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); | 4420 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); |
| 4421 for (size_t i = 0; i < kAppCount; ++i) { | 4421 for (size_t i = 0; i < kAppCount; ++i) { |
| 4422 ASSERT_TRUE(apps[i]); | 4422 ASSERT_TRUE(apps[i]); |
| 4423 ASSERT_TRUE(apps[i]->is_app()); | 4423 ASSERT_TRUE(apps[i]->is_app()); |
| 4424 } | 4424 } |
| 4425 | 4425 |
| 4426 TestSyncProcessorStub processor; | 4426 TestSyncProcessorStub processor; |
| 4427 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(), | 4427 service_->MergeDataAndStartSyncing(syncer::APPS, syncer::SyncDataList(), |
| 4428 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4428 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4429 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4429 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4430 | 4430 |
| 4431 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id()); | 4431 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id()); |
| 4432 { | 4432 { |
| 4433 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4433 syncer::SyncDataList list = service_->GetAllSyncData(syncer::APPS); |
| 4434 ASSERT_EQ(list.size(), 3U); | 4434 ASSERT_EQ(list.size(), 3U); |
| 4435 | 4435 |
| 4436 extensions::AppSyncData data[kAppCount]; | 4436 extensions::AppSyncData data[kAppCount]; |
| 4437 for (size_t i = 0; i < kAppCount; ++i) | 4437 for (size_t i = 0; i < kAppCount; ++i) |
| 4438 { | 4438 { |
| 4439 data[i] = extensions::AppSyncData(list[i]); | 4439 data[i] = extensions::AppSyncData(list[i]); |
| 4440 } | 4440 } |
| 4441 | 4441 |
| 4442 // The sync data is not always in the same order our apps were installed in, | 4442 // The sync data is not always in the same order our apps were installed in, |
| 4443 // so we do that sorting here so we can make sure the values are changed as | 4443 // so we do that sorting here so we can make sure the values are changed as |
| (...skipping 12 matching lines...) Expand all Loading... |
| 4456 } | 4456 } |
| 4457 | 4457 |
| 4458 TEST_F(ExtensionServiceTest, GetSyncDataList) { | 4458 TEST_F(ExtensionServiceTest, GetSyncDataList) { |
| 4459 InitializeEmptyExtensionService(); | 4459 InitializeEmptyExtensionService(); |
| 4460 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4460 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4461 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); | 4461 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); |
| 4462 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); | 4462 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); |
| 4463 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); | 4463 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); |
| 4464 | 4464 |
| 4465 TestSyncProcessorStub processor; | 4465 TestSyncProcessorStub processor; |
| 4466 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(), | 4466 service_->MergeDataAndStartSyncing(syncer::APPS, syncer::SyncDataList(), |
| 4467 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4467 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4468 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4468 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4469 service_->MergeDataAndStartSyncing( | 4469 service_->MergeDataAndStartSyncing( |
| 4470 syncable::EXTENSIONS, syncer::SyncDataList(), | 4470 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4471 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4471 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4472 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4472 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4473 | 4473 |
| 4474 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION); | 4474 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION); |
| 4475 TerminateExtension(theme2_crx); | 4475 TerminateExtension(theme2_crx); |
| 4476 | 4476 |
| 4477 EXPECT_EQ(0u, service_->GetAllSyncData(syncable::APPS).size()); | 4477 EXPECT_EQ(0u, service_->GetAllSyncData(syncer::APPS).size()); |
| 4478 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size()); | 4478 EXPECT_EQ(2u, service_->GetAllSyncData(syncer::EXTENSIONS).size()); |
| 4479 } | 4479 } |
| 4480 | 4480 |
| 4481 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { | 4481 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { |
| 4482 InitializeEmptyExtensionService(); | 4482 InitializeEmptyExtensionService(); |
| 4483 TestSyncProcessorStub processor; | 4483 TestSyncProcessorStub processor; |
| 4484 service_->MergeDataAndStartSyncing( | 4484 service_->MergeDataAndStartSyncing( |
| 4485 syncable::EXTENSIONS, syncer::SyncDataList(), | 4485 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4486 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4486 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4487 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4487 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4488 | 4488 |
| 4489 sync_pb::EntitySpecifics specifics; | 4489 sync_pb::EntitySpecifics specifics; |
| 4490 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4490 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 4491 ext_specifics->set_id(good_crx); | 4491 ext_specifics->set_id(good_crx); |
| 4492 ext_specifics->set_version("1.0"); | 4492 ext_specifics->set_version("1.0"); |
| 4493 syncer::SyncData sync_data = | 4493 syncer::SyncData sync_data = |
| 4494 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); | 4494 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); |
| 4495 syncer::SyncChange sync_change(syncer::SyncChange::ACTION_DELETE, sync_data); | 4495 syncer::SyncChange sync_change(syncer::SyncChange::ACTION_DELETE, sync_data); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4557 service_->ProcessSyncChanges(FROM_HERE, list); | 4557 service_->ProcessSyncChanges(FROM_HERE, list); |
| 4558 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); | 4558 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); |
| 4559 } | 4559 } |
| 4560 } | 4560 } |
| 4561 | 4561 |
| 4562 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { | 4562 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { |
| 4563 InitializeEmptyExtensionService(); | 4563 InitializeEmptyExtensionService(); |
| 4564 InitializeExtensionProcessManager(); | 4564 InitializeExtensionProcessManager(); |
| 4565 TestSyncProcessorStub processor; | 4565 TestSyncProcessorStub processor; |
| 4566 service_->MergeDataAndStartSyncing( | 4566 service_->MergeDataAndStartSyncing( |
| 4567 syncable::EXTENSIONS, syncer::SyncDataList(), | 4567 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4568 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4568 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4569 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4569 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4570 | 4570 |
| 4571 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4571 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4572 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4572 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
| 4573 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4573 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
| 4574 | 4574 |
| 4575 sync_pb::EntitySpecifics specifics; | 4575 sync_pb::EntitySpecifics specifics; |
| 4576 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4576 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 4577 ext_specifics->set_id(good_crx); | 4577 ext_specifics->set_id(good_crx); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4619 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); | 4619 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); |
| 4620 } | 4620 } |
| 4621 | 4621 |
| 4622 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 4622 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
| 4623 } | 4623 } |
| 4624 | 4624 |
| 4625 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { | 4625 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { |
| 4626 InitializeExtensionServiceWithUpdater(); | 4626 InitializeExtensionServiceWithUpdater(); |
| 4627 TestSyncProcessorStub processor; | 4627 TestSyncProcessorStub processor; |
| 4628 service_->MergeDataAndStartSyncing( | 4628 service_->MergeDataAndStartSyncing( |
| 4629 syncable::EXTENSIONS, syncer::SyncDataList(), | 4629 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4630 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4630 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4631 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4631 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4632 | 4632 |
| 4633 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4633 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4634 TerminateExtension(good_crx); | 4634 TerminateExtension(good_crx); |
| 4635 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4635 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
| 4636 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4636 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
| 4637 | 4637 |
| 4638 sync_pb::EntitySpecifics specifics; | 4638 sync_pb::EntitySpecifics specifics; |
| 4639 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4639 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 4653 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); | 4653 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); |
| 4654 | 4654 |
| 4655 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 4655 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
| 4656 } | 4656 } |
| 4657 | 4657 |
| 4658 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { | 4658 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { |
| 4659 InitializeExtensionServiceWithUpdater(); | 4659 InitializeExtensionServiceWithUpdater(); |
| 4660 InitializeRequestContext(); | 4660 InitializeRequestContext(); |
| 4661 TestSyncProcessorStub processor; | 4661 TestSyncProcessorStub processor; |
| 4662 service_->MergeDataAndStartSyncing( | 4662 service_->MergeDataAndStartSyncing( |
| 4663 syncable::EXTENSIONS, syncer::SyncDataList(), | 4663 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4664 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4664 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4665 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4665 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4666 | 4666 |
| 4667 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4667 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 4668 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4668 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
| 4669 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4669 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
| 4670 | 4670 |
| 4671 sync_pb::EntitySpecifics specifics; | 4671 sync_pb::EntitySpecifics specifics; |
| 4672 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4672 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 4673 ext_specifics->set_id(good_crx); | 4673 ext_specifics->set_id(good_crx); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4718 } | 4718 } |
| 4719 | 4719 |
| 4720 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 4720 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
| 4721 } | 4721 } |
| 4722 | 4722 |
| 4723 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { | 4723 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { |
| 4724 InitializeExtensionServiceWithUpdater(); | 4724 InitializeExtensionServiceWithUpdater(); |
| 4725 InitializeRequestContext(); | 4725 InitializeRequestContext(); |
| 4726 TestSyncProcessorStub processor; | 4726 TestSyncProcessorStub processor; |
| 4727 service_->MergeDataAndStartSyncing( | 4727 service_->MergeDataAndStartSyncing( |
| 4728 syncable::EXTENSIONS, syncer::SyncDataList(), | 4728 syncer::EXTENSIONS, syncer::SyncDataList(), |
| 4729 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 4729 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4730 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 4730 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 4731 | 4731 |
| 4732 sync_pb::EntitySpecifics specifics; | 4732 sync_pb::EntitySpecifics specifics; |
| 4733 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4733 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 4734 ext_specifics->set_id(good_crx); | 4734 ext_specifics->set_id(good_crx); |
| 4735 ext_specifics->set_enabled(false); | 4735 ext_specifics->set_enabled(false); |
| 4736 ext_specifics->set_incognito_enabled(true); | 4736 ext_specifics->set_incognito_enabled(true); |
| 4737 ext_specifics->set_update_url("http://www.google.com/"); | 4737 ext_specifics->set_update_url("http://www.google.com/"); |
| 4738 ext_specifics->set_version("1.2.3.4"); | 4738 ext_specifics->set_version("1.2.3.4"); |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5226 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0", | 5226 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0", |
| 5227 data_dir_.AppendASCII("hosted_app.crx")); | 5227 data_dir_.AppendASCII("hosted_app.crx")); |
| 5228 | 5228 |
| 5229 service_->CheckForExternalUpdates(); | 5229 service_->CheckForExternalUpdates(); |
| 5230 loop_.RunAllPending(); | 5230 loop_.RunAllPending(); |
| 5231 | 5231 |
| 5232 ASSERT_TRUE(service_->PopulateExtensionGlobalError( | 5232 ASSERT_TRUE(service_->PopulateExtensionGlobalError( |
| 5233 extension_global_error.get())); | 5233 extension_global_error.get())); |
| 5234 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size()); | 5234 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size()); |
| 5235 } | 5235 } |
| OLD | NEW |