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

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

Issue 10698014: [Sync] Rename csync namespace to syncer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 8 years, 5 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 | Annotate | Revision Log
OLDNEW
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 4190 matching lines...) Expand 10 before | Expand all | Expand 10 after
4201 4201
4202 // Reload all extensions, and make sure it comes back. 4202 // Reload all extensions, and make sure it comes back.
4203 std::string extension_id = (*service_->extensions()->begin())->id(); 4203 std::string extension_id = (*service_->extensions()->begin())->id();
4204 loaded_.clear(); 4204 loaded_.clear();
4205 service_->ReloadExtensions(); 4205 service_->ReloadExtensions();
4206 ASSERT_EQ(1u, service_->extensions()->size()); 4206 ASSERT_EQ(1u, service_->extensions()->size());
4207 EXPECT_EQ(extension_id, (*service_->extensions()->begin())->id()); 4207 EXPECT_EQ(extension_id, (*service_->extensions()->begin())->id());
4208 } 4208 }
4209 4209
4210 namespace { 4210 namespace {
4211 class TestSyncProcessorStub : public csync::SyncChangeProcessor { 4211 class TestSyncProcessorStub : public syncer::SyncChangeProcessor {
4212 virtual csync::SyncError ProcessSyncChanges( 4212 virtual syncer::SyncError ProcessSyncChanges(
4213 const tracked_objects::Location& from_here, 4213 const tracked_objects::Location& from_here,
4214 const csync::SyncChangeList& change_list) OVERRIDE { 4214 const syncer::SyncChangeList& change_list) OVERRIDE {
4215 return csync::SyncError(); 4215 return syncer::SyncError();
4216 } 4216 }
4217 }; 4217 };
4218 } 4218 }
4219 4219
4220 TEST_F(ExtensionServiceTest, GetSyncData) { 4220 TEST_F(ExtensionServiceTest, GetSyncData) {
4221 InitializeEmptyExtensionService(); 4221 InitializeEmptyExtensionService();
4222 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4222 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4223 const Extension* extension = service_->GetInstalledExtension(good_crx); 4223 const Extension* extension = service_->GetInstalledExtension(good_crx);
4224 ASSERT_TRUE(extension); 4224 ASSERT_TRUE(extension);
4225 4225
4226 service_->MergeDataAndStartSyncing( 4226 service_->MergeDataAndStartSyncing(
4227 syncable::EXTENSIONS, csync::SyncDataList(), 4227 syncable::EXTENSIONS, syncer::SyncDataList(),
4228 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4228 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4229 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4229 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4230 4230
4231 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4231 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4232 ASSERT_EQ(list.size(), 1U); 4232 ASSERT_EQ(list.size(), 1U);
4233 extensions::ExtensionSyncData data(list[0]); 4233 extensions::ExtensionSyncData data(list[0]);
4234 EXPECT_EQ(extension->id(), data.id()); 4234 EXPECT_EQ(extension->id(), data.id());
4235 EXPECT_FALSE(data.uninstalled()); 4235 EXPECT_FALSE(data.uninstalled());
4236 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); 4236 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled());
4237 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); 4237 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled());
4238 EXPECT_TRUE(data.version().Equals(*extension->version())); 4238 EXPECT_TRUE(data.version().Equals(*extension->version()));
4239 EXPECT_EQ(extension->update_url(), data.update_url()); 4239 EXPECT_EQ(extension->update_url(), data.update_url());
4240 EXPECT_EQ(extension->name(), data.name()); 4240 EXPECT_EQ(extension->name(), data.name());
4241 } 4241 }
4242 4242
4243 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { 4243 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) {
4244 InitializeEmptyExtensionService(); 4244 InitializeEmptyExtensionService();
4245 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4245 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4246 TerminateExtension(good_crx); 4246 TerminateExtension(good_crx);
4247 const Extension* extension = service_->GetInstalledExtension(good_crx); 4247 const Extension* extension = service_->GetInstalledExtension(good_crx);
4248 ASSERT_TRUE(extension); 4248 ASSERT_TRUE(extension);
4249 4249
4250 TestSyncProcessorStub processor; 4250 TestSyncProcessorStub processor;
4251 service_->MergeDataAndStartSyncing( 4251 service_->MergeDataAndStartSyncing(
4252 syncable::EXTENSIONS, csync::SyncDataList(), 4252 syncable::EXTENSIONS, syncer::SyncDataList(),
4253 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4253 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4254 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4254 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4255 4255
4256 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4256 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4257 ASSERT_EQ(list.size(), 1U); 4257 ASSERT_EQ(list.size(), 1U);
4258 extensions::ExtensionSyncData data(list[0]); 4258 extensions::ExtensionSyncData data(list[0]);
4259 EXPECT_EQ(extension->id(), data.id()); 4259 EXPECT_EQ(extension->id(), data.id());
4260 EXPECT_FALSE(data.uninstalled()); 4260 EXPECT_FALSE(data.uninstalled());
4261 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); 4261 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled());
4262 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); 4262 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled());
4263 EXPECT_TRUE(data.version().Equals(*extension->version())); 4263 EXPECT_TRUE(data.version().Equals(*extension->version()));
4264 EXPECT_EQ(extension->update_url(), data.update_url()); 4264 EXPECT_EQ(extension->update_url(), data.update_url());
4265 EXPECT_EQ(extension->name(), data.name()); 4265 EXPECT_EQ(extension->name(), data.name());
4266 } 4266 }
4267 4267
4268 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { 4268 TEST_F(ExtensionServiceTest, GetSyncDataFilter) {
4269 InitializeEmptyExtensionService(); 4269 InitializeEmptyExtensionService();
4270 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4270 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4271 const Extension* extension = service_->GetInstalledExtension(good_crx); 4271 const Extension* extension = service_->GetInstalledExtension(good_crx);
4272 ASSERT_TRUE(extension); 4272 ASSERT_TRUE(extension);
4273 4273
4274 TestSyncProcessorStub processor; 4274 TestSyncProcessorStub processor;
4275 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), 4275 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(),
4276 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4276 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4277 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4277 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4278 4278
4279 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4279 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4280 ASSERT_EQ(list.size(), 0U); 4280 ASSERT_EQ(list.size(), 0U);
4281 } 4281 }
4282 4282
4283 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { 4283 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) {
4284 InitializeEmptyExtensionService(); 4284 InitializeEmptyExtensionService();
4285 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4285 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4286 const Extension* extension = service_->GetInstalledExtension(good_crx); 4286 const Extension* extension = service_->GetInstalledExtension(good_crx);
4287 ASSERT_TRUE(extension); 4287 ASSERT_TRUE(extension);
4288 4288
4289 TestSyncProcessorStub processor; 4289 TestSyncProcessorStub processor;
4290 service_->MergeDataAndStartSyncing( 4290 service_->MergeDataAndStartSyncing(
4291 syncable::EXTENSIONS, csync::SyncDataList(), 4291 syncable::EXTENSIONS, syncer::SyncDataList(),
4292 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4292 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4293 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4293 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4294 4294
4295 { 4295 {
4296 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4296 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4297 ASSERT_EQ(list.size(), 1U); 4297 ASSERT_EQ(list.size(), 1U);
4298 extensions::ExtensionSyncData data(list[0]); 4298 extensions::ExtensionSyncData data(list[0]);
4299 EXPECT_TRUE(data.enabled()); 4299 EXPECT_TRUE(data.enabled());
4300 EXPECT_FALSE(data.incognito_enabled()); 4300 EXPECT_FALSE(data.incognito_enabled());
4301 } 4301 }
4302 4302
4303 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); 4303 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION);
4304 { 4304 {
4305 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4305 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4306 ASSERT_EQ(list.size(), 1U); 4306 ASSERT_EQ(list.size(), 1U);
4307 extensions::ExtensionSyncData data(list[0]); 4307 extensions::ExtensionSyncData data(list[0]);
4308 EXPECT_FALSE(data.enabled()); 4308 EXPECT_FALSE(data.enabled());
4309 EXPECT_FALSE(data.incognito_enabled()); 4309 EXPECT_FALSE(data.incognito_enabled());
4310 } 4310 }
4311 4311
4312 service_->SetIsIncognitoEnabled(good_crx, true); 4312 service_->SetIsIncognitoEnabled(good_crx, true);
4313 { 4313 {
4314 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4314 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4315 ASSERT_EQ(list.size(), 1U); 4315 ASSERT_EQ(list.size(), 1U);
4316 extensions::ExtensionSyncData data(list[0]); 4316 extensions::ExtensionSyncData data(list[0]);
4317 EXPECT_FALSE(data.enabled()); 4317 EXPECT_FALSE(data.enabled());
4318 EXPECT_TRUE(data.incognito_enabled()); 4318 EXPECT_TRUE(data.incognito_enabled());
4319 } 4319 }
4320 4320
4321 service_->EnableExtension(good_crx); 4321 service_->EnableExtension(good_crx);
4322 { 4322 {
4323 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); 4323 syncer::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS);
4324 ASSERT_EQ(list.size(), 1U); 4324 ASSERT_EQ(list.size(), 1U);
4325 extensions::ExtensionSyncData data(list[0]); 4325 extensions::ExtensionSyncData data(list[0]);
4326 EXPECT_TRUE(data.enabled()); 4326 EXPECT_TRUE(data.enabled());
4327 EXPECT_TRUE(data.incognito_enabled()); 4327 EXPECT_TRUE(data.incognito_enabled());
4328 } 4328 }
4329 } 4329 }
4330 4330
4331 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { 4331 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) {
4332 InitializeEmptyExtensionService(); 4332 InitializeEmptyExtensionService();
4333 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"), 4333 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"),
4334 Extension::EXTERNAL_PREF, INSTALL_NEW); 4334 Extension::EXTERNAL_PREF, INSTALL_NEW);
4335 const Extension* extension = service_->GetInstalledExtension(good_crx); 4335 const Extension* extension = service_->GetInstalledExtension(good_crx);
4336 ASSERT_TRUE(extension); 4336 ASSERT_TRUE(extension);
4337 4337
4338 TestSyncProcessorStub processor; 4338 TestSyncProcessorStub processor;
4339 service_->MergeDataAndStartSyncing( 4339 service_->MergeDataAndStartSyncing(
4340 syncable::EXTENSIONS, csync::SyncDataList(), 4340 syncable::EXTENSIONS, syncer::SyncDataList(),
4341 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4341 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4342 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4342 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4343 4343
4344 UninstallExtension(good_crx, false); 4344 UninstallExtension(good_crx, false);
4345 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); 4345 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx));
4346 4346
4347 sync_pb::EntitySpecifics specifics; 4347 sync_pb::EntitySpecifics specifics;
4348 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); 4348 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app();
4349 sync_pb::ExtensionSpecifics* extension_specifics = 4349 sync_pb::ExtensionSpecifics* extension_specifics =
4350 app_specifics->mutable_extension(); 4350 app_specifics->mutable_extension();
4351 extension_specifics->set_id(good_crx); 4351 extension_specifics->set_id(good_crx);
4352 extension_specifics->set_version("1.0"); 4352 extension_specifics->set_version("1.0");
4353 extension_specifics->set_enabled(true); 4353 extension_specifics->set_enabled(true);
4354 4354
4355 csync::SyncData sync_data = 4355 syncer::SyncData sync_data =
4356 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4356 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4357 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4357 syncer::SyncChange sync_change(syncer::SyncChange::ACTION_UPDATE, sync_data);
4358 csync::SyncChangeList list(1); 4358 syncer::SyncChangeList list(1);
4359 list[0] = sync_change; 4359 list[0] = sync_change;
4360 4360
4361 service_->ProcessSyncChanges(FROM_HERE, list); 4361 service_->ProcessSyncChanges(FROM_HERE, list);
4362 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); 4362 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx));
4363 } 4363 }
4364 4364
4365 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) { 4365 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) {
4366 InitializeEmptyExtensionService(); 4366 InitializeEmptyExtensionService();
4367 const Extension* app = 4367 const Extension* app =
4368 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW); 4368 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW);
4369 ASSERT_TRUE(app); 4369 ASSERT_TRUE(app);
4370 ASSERT_TRUE(app->is_app()); 4370 ASSERT_TRUE(app->is_app());
4371 4371
4372 TestSyncProcessorStub processor; 4372 TestSyncProcessorStub processor;
4373 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), 4373 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(),
4374 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4374 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4375 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4375 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4376 4376
4377 StringOrdinal initial_ordinal = StringOrdinal::CreateInitialOrdinal(); 4377 StringOrdinal initial_ordinal = StringOrdinal::CreateInitialOrdinal();
4378 { 4378 {
4379 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); 4379 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS);
4380 ASSERT_EQ(list.size(), 1U); 4380 ASSERT_EQ(list.size(), 1U);
4381 4381
4382 extensions::AppSyncData app_sync_data(list[0]); 4382 extensions::AppSyncData app_sync_data(list[0]);
4383 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.app_launch_ordinal())); 4383 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.app_launch_ordinal()));
4384 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); 4384 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal()));
4385 } 4385 }
4386 4386
4387 ExtensionSorting* sorting = service_->extension_prefs()->extension_sorting(); 4387 ExtensionSorting* sorting = service_->extension_prefs()->extension_sorting();
4388 sorting->SetAppLaunchOrdinal(app->id(), initial_ordinal.CreateAfter()); 4388 sorting->SetAppLaunchOrdinal(app->id(), initial_ordinal.CreateAfter());
4389 { 4389 {
4390 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); 4390 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS);
4391 ASSERT_EQ(list.size(), 1U); 4391 ASSERT_EQ(list.size(), 1U);
4392 4392
4393 extensions::AppSyncData app_sync_data(list[0]); 4393 extensions::AppSyncData app_sync_data(list[0]);
4394 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); 4394 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal()));
4395 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); 4395 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal()));
4396 } 4396 }
4397 4397
4398 sorting->SetPageOrdinal(app->id(), initial_ordinal.CreateAfter()); 4398 sorting->SetPageOrdinal(app->id(), initial_ordinal.CreateAfter());
4399 { 4399 {
4400 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); 4400 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS);
4401 ASSERT_EQ(list.size(), 1U); 4401 ASSERT_EQ(list.size(), 1U);
4402 4402
4403 extensions::AppSyncData app_sync_data(list[0]); 4403 extensions::AppSyncData app_sync_data(list[0]);
4404 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); 4404 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal()));
4405 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.page_ordinal())); 4405 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.page_ordinal()));
4406 } 4406 }
4407 } 4407 }
4408 4408
4409 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettingsOnExtensionMoved) { 4409 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettingsOnExtensionMoved) {
4410 InitializeEmptyExtensionService(); 4410 InitializeEmptyExtensionService();
4411 const size_t kAppCount = 3; 4411 const size_t kAppCount = 3;
4412 const Extension* apps[kAppCount]; 4412 const Extension* apps[kAppCount];
4413 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); 4413 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW);
4414 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW); 4414 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW);
4415 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); 4415 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW);
4416 for (size_t i = 0; i < kAppCount; ++i) { 4416 for (size_t i = 0; i < kAppCount; ++i) {
4417 ASSERT_TRUE(apps[i]); 4417 ASSERT_TRUE(apps[i]);
4418 ASSERT_TRUE(apps[i]->is_app()); 4418 ASSERT_TRUE(apps[i]->is_app());
4419 } 4419 }
4420 4420
4421 TestSyncProcessorStub processor; 4421 TestSyncProcessorStub processor;
4422 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), 4422 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(),
4423 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4423 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4424 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4424 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4425 4425
4426 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id()); 4426 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id());
4427 { 4427 {
4428 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); 4428 syncer::SyncDataList list = service_->GetAllSyncData(syncable::APPS);
4429 ASSERT_EQ(list.size(), 3U); 4429 ASSERT_EQ(list.size(), 3U);
4430 4430
4431 extensions::AppSyncData data[kAppCount]; 4431 extensions::AppSyncData data[kAppCount];
4432 for (size_t i = 0; i < kAppCount; ++i) 4432 for (size_t i = 0; i < kAppCount; ++i)
4433 { 4433 {
4434 data[i] = extensions::AppSyncData(list[i]); 4434 data[i] = extensions::AppSyncData(list[i]);
4435 } 4435 }
4436 4436
4437 // The sync data is not always in the same order our apps were installed in, 4437 // The sync data is not always in the same order our apps were installed in,
4438 // so we do that sorting here so we can make sure the values are changed as 4438 // so we do that sorting here so we can make sure the values are changed as
(...skipping 12 matching lines...) Expand all
4451 } 4451 }
4452 4452
4453 TEST_F(ExtensionServiceTest, GetSyncDataList) { 4453 TEST_F(ExtensionServiceTest, GetSyncDataList) {
4454 InitializeEmptyExtensionService(); 4454 InitializeEmptyExtensionService();
4455 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4455 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4456 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); 4456 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW);
4457 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); 4457 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW);
4458 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); 4458 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW);
4459 4459
4460 TestSyncProcessorStub processor; 4460 TestSyncProcessorStub processor;
4461 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), 4461 service_->MergeDataAndStartSyncing(syncable::APPS, syncer::SyncDataList(),
4462 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4462 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4463 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4463 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4464 service_->MergeDataAndStartSyncing( 4464 service_->MergeDataAndStartSyncing(
4465 syncable::EXTENSIONS, csync::SyncDataList(), 4465 syncable::EXTENSIONS, syncer::SyncDataList(),
4466 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4466 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4467 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4467 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4468 4468
4469 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION); 4469 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION);
4470 TerminateExtension(theme2_crx); 4470 TerminateExtension(theme2_crx);
4471 4471
4472 EXPECT_EQ(0u, service_->GetAllSyncData(syncable::APPS).size()); 4472 EXPECT_EQ(0u, service_->GetAllSyncData(syncable::APPS).size());
4473 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size()); 4473 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size());
4474 } 4474 }
4475 4475
4476 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { 4476 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) {
4477 InitializeEmptyExtensionService(); 4477 InitializeEmptyExtensionService();
4478 TestSyncProcessorStub processor; 4478 TestSyncProcessorStub processor;
4479 service_->MergeDataAndStartSyncing( 4479 service_->MergeDataAndStartSyncing(
4480 syncable::EXTENSIONS, csync::SyncDataList(), 4480 syncable::EXTENSIONS, syncer::SyncDataList(),
4481 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4481 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4482 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4482 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4483 4483
4484 sync_pb::EntitySpecifics specifics; 4484 sync_pb::EntitySpecifics specifics;
4485 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); 4485 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4486 ext_specifics->set_id(good_crx); 4486 ext_specifics->set_id(good_crx);
4487 ext_specifics->set_version("1.0"); 4487 ext_specifics->set_version("1.0");
4488 csync::SyncData sync_data = 4488 syncer::SyncData sync_data =
4489 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4489 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4490 csync::SyncChange sync_change(csync::SyncChange::ACTION_DELETE, sync_data); 4490 syncer::SyncChange sync_change(syncer::SyncChange::ACTION_DELETE, sync_data);
4491 csync::SyncChangeList list(1); 4491 syncer::SyncChangeList list(1);
4492 list[0] = sync_change; 4492 list[0] = sync_change;
4493 4493
4494 // Should do nothing. 4494 // Should do nothing.
4495 service_->ProcessSyncChanges(FROM_HERE, list); 4495 service_->ProcessSyncChanges(FROM_HERE, list);
4496 EXPECT_FALSE(service_->GetExtensionById(good_crx, true)); 4496 EXPECT_FALSE(service_->GetExtensionById(good_crx, true));
4497 4497
4498 // Install the extension. 4498 // Install the extension.
4499 FilePath extension_path = data_dir_.AppendASCII("good.crx"); 4499 FilePath extension_path = data_dir_.AppendASCII("good.crx");
4500 InstallCRX(extension_path, INSTALL_NEW); 4500 InstallCRX(extension_path, INSTALL_NEW);
4501 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 4501 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
(...skipping 18 matching lines...) Expand all
4520 sync_pb::EntitySpecifics specifics; 4520 sync_pb::EntitySpecifics specifics;
4521 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); 4521 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app();
4522 sync_pb::ExtensionSpecifics* extension_specifics = 4522 sync_pb::ExtensionSpecifics* extension_specifics =
4523 app_specifics->mutable_extension(); 4523 app_specifics->mutable_extension();
4524 extension_specifics->set_id(good_crx); 4524 extension_specifics->set_id(good_crx);
4525 extension_specifics->set_version( 4525 extension_specifics->set_version(
4526 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4526 service_->GetInstalledExtension(good_crx)->version()->GetString());
4527 4527
4528 { 4528 {
4529 extension_specifics->set_enabled(true); 4529 extension_specifics->set_enabled(true);
4530 csync::SyncData sync_data = 4530 syncer::SyncData sync_data =
4531 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4531 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4532 csync::SyncChange sync_change(csync::SyncChange::ACTION_DELETE, sync_data); 4532 syncer::SyncChange sync_change(
4533 csync::SyncChangeList list(1); 4533 syncer::SyncChange::ACTION_DELETE, sync_data);
4534 syncer::SyncChangeList list(1);
4534 list[0] = sync_change; 4535 list[0] = sync_change;
4535 4536
4536 // Should do nothing 4537 // Should do nothing
4537 service_->ProcessSyncChanges(FROM_HERE, list); 4538 service_->ProcessSyncChanges(FROM_HERE, list);
4538 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 4539 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
4539 } 4540 }
4540 4541
4541 { 4542 {
4542 extension_specifics->set_enabled(false); 4543 extension_specifics->set_enabled(false);
4543 csync::SyncData sync_data = 4544 syncer::SyncData sync_data =
4544 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4545 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4545 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4546 syncer::SyncChange sync_change(
4546 csync::SyncChangeList list(1); 4547 syncer::SyncChange::ACTION_UPDATE, sync_data);
4548 syncer::SyncChangeList list(1);
4547 list[0] = sync_change; 4549 list[0] = sync_change;
4548 4550
4549 // Should again do nothing. 4551 // Should again do nothing.
4550 service_->ProcessSyncChanges(FROM_HERE, list); 4552 service_->ProcessSyncChanges(FROM_HERE, list);
4551 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); 4553 EXPECT_TRUE(service_->GetExtensionById(good_crx, false));
4552 } 4554 }
4553 } 4555 }
4554 4556
4555 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { 4557 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) {
4556 InitializeEmptyExtensionService(); 4558 InitializeEmptyExtensionService();
4557 InitializeExtensionProcessManager(); 4559 InitializeExtensionProcessManager();
4558 TestSyncProcessorStub processor; 4560 TestSyncProcessorStub processor;
4559 service_->MergeDataAndStartSyncing( 4561 service_->MergeDataAndStartSyncing(
4560 syncable::EXTENSIONS, csync::SyncDataList(), 4562 syncable::EXTENSIONS, syncer::SyncDataList(),
4561 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4563 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4562 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4564 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4563 4565
4564 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4566 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4565 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4567 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4566 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4568 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4567 4569
4568 sync_pb::EntitySpecifics specifics; 4570 sync_pb::EntitySpecifics specifics;
4569 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); 4571 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4570 ext_specifics->set_id(good_crx); 4572 ext_specifics->set_id(good_crx);
4571 ext_specifics->set_version( 4573 ext_specifics->set_version(
4572 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4574 service_->GetInstalledExtension(good_crx)->version()->GetString());
4573 ext_specifics->set_enabled(false); 4575 ext_specifics->set_enabled(false);
4574 4576
4575 { 4577 {
4576 csync::SyncData sync_data = 4578 syncer::SyncData sync_data =
4577 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4579 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4578 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4580 syncer::SyncChange sync_change(
4579 csync::SyncChangeList list(1); 4581 syncer::SyncChange::ACTION_UPDATE, sync_data);
4582 syncer::SyncChangeList list(1);
4580 list[0] = sync_change; 4583 list[0] = sync_change;
4581 service_->ProcessSyncChanges(FROM_HERE, list); 4584 service_->ProcessSyncChanges(FROM_HERE, list);
4582 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); 4585 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx));
4583 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4586 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4584 } 4587 }
4585 4588
4586 { 4589 {
4587 ext_specifics->set_enabled(true); 4590 ext_specifics->set_enabled(true);
4588 ext_specifics->set_incognito_enabled(true); 4591 ext_specifics->set_incognito_enabled(true);
4589 csync::SyncData sync_data = 4592 syncer::SyncData sync_data =
4590 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4593 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4591 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4594 syncer::SyncChange sync_change(
4592 csync::SyncChangeList list(1); 4595 syncer::SyncChange::ACTION_UPDATE, sync_data);
4596 syncer::SyncChangeList list(1);
4593 list[0] = sync_change; 4597 list[0] = sync_change;
4594 service_->ProcessSyncChanges(FROM_HERE, list); 4598 service_->ProcessSyncChanges(FROM_HERE, list);
4595 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4599 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4596 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); 4600 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx));
4597 } 4601 }
4598 4602
4599 { 4603 {
4600 ext_specifics->set_enabled(false); 4604 ext_specifics->set_enabled(false);
4601 ext_specifics->set_incognito_enabled(true); 4605 ext_specifics->set_incognito_enabled(true);
4602 csync::SyncData sync_data = 4606 syncer::SyncData sync_data =
4603 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4607 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4604 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4608 syncer::SyncChange sync_change(
4605 csync::SyncChangeList list(1); 4609 syncer::SyncChange::ACTION_UPDATE, sync_data);
4610 syncer::SyncChangeList list(1);
4606 list[0] = sync_change; 4611 list[0] = sync_change;
4607 service_->ProcessSyncChanges(FROM_HERE, list); 4612 service_->ProcessSyncChanges(FROM_HERE, list);
4608 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); 4613 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx));
4609 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); 4614 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx));
4610 } 4615 }
4611 4616
4612 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); 4617 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx));
4613 } 4618 }
4614 4619
4615 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { 4620 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) {
4616 InitializeExtensionServiceWithUpdater(); 4621 InitializeExtensionServiceWithUpdater();
4617 TestSyncProcessorStub processor; 4622 TestSyncProcessorStub processor;
4618 service_->MergeDataAndStartSyncing( 4623 service_->MergeDataAndStartSyncing(
4619 syncable::EXTENSIONS, csync::SyncDataList(), 4624 syncable::EXTENSIONS, syncer::SyncDataList(),
4620 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4625 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4621 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4626 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4622 4627
4623 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4628 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4624 TerminateExtension(good_crx); 4629 TerminateExtension(good_crx);
4625 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4630 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4626 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4631 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4627 4632
4628 sync_pb::EntitySpecifics specifics; 4633 sync_pb::EntitySpecifics specifics;
4629 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); 4634 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4630 ext_specifics->set_id(good_crx); 4635 ext_specifics->set_id(good_crx);
4631 ext_specifics->set_version( 4636 ext_specifics->set_version(
4632 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4637 service_->GetInstalledExtension(good_crx)->version()->GetString());
4633 ext_specifics->set_enabled(false); 4638 ext_specifics->set_enabled(false);
4634 ext_specifics->set_incognito_enabled(true); 4639 ext_specifics->set_incognito_enabled(true);
4635 csync::SyncData sync_data = 4640 syncer::SyncData sync_data =
4636 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4641 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4637 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4642 syncer::SyncChange sync_change(syncer::SyncChange::ACTION_UPDATE, sync_data);
4638 csync::SyncChangeList list(1); 4643 syncer::SyncChangeList list(1);
4639 list[0] = sync_change; 4644 list[0] = sync_change;
4640 4645
4641 service_->ProcessSyncChanges(FROM_HERE, list); 4646 service_->ProcessSyncChanges(FROM_HERE, list);
4642 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); 4647 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx));
4643 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); 4648 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx));
4644 4649
4645 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); 4650 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx));
4646 } 4651 }
4647 4652
4648 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { 4653 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) {
4649 InitializeExtensionServiceWithUpdater(); 4654 InitializeExtensionServiceWithUpdater();
4650 InitializeRequestContext(); 4655 InitializeRequestContext();
4651 TestSyncProcessorStub processor; 4656 TestSyncProcessorStub processor;
4652 service_->MergeDataAndStartSyncing( 4657 service_->MergeDataAndStartSyncing(
4653 syncable::EXTENSIONS, csync::SyncDataList(), 4658 syncable::EXTENSIONS, syncer::SyncDataList(),
4654 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4659 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4655 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4660 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4656 4661
4657 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4662 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4658 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4663 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4659 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4664 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4660 4665
4661 sync_pb::EntitySpecifics specifics; 4666 sync_pb::EntitySpecifics specifics;
4662 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); 4667 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4663 ext_specifics->set_id(good_crx); 4668 ext_specifics->set_id(good_crx);
4664 ext_specifics->set_enabled(true); 4669 ext_specifics->set_enabled(true);
4665 4670
4666 { 4671 {
4667 ext_specifics->set_version( 4672 ext_specifics->set_version(
4668 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4673 service_->GetInstalledExtension(good_crx)->version()->GetString());
4669 csync::SyncData sync_data = 4674 syncer::SyncData sync_data =
4670 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4675 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4671 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4676 syncer::SyncChange sync_change(
4672 csync::SyncChangeList list(1); 4677 syncer::SyncChange::ACTION_UPDATE, sync_data);
4678 syncer::SyncChangeList list(1);
4673 list[0] = sync_change; 4679 list[0] = sync_change;
4674 4680
4675 // Should do nothing if extension version == sync version. 4681 // Should do nothing if extension version == sync version.
4676 service_->ProcessSyncChanges(FROM_HERE, list); 4682 service_->ProcessSyncChanges(FROM_HERE, list);
4677 EXPECT_FALSE(service_->updater()->WillCheckSoon()); 4683 EXPECT_FALSE(service_->updater()->WillCheckSoon());
4678 } 4684 }
4679 4685
4680 // Should do nothing if extension version > sync version (but see 4686 // Should do nothing if extension version > sync version (but see
4681 // the TODO in ProcessExtensionSyncData). 4687 // the TODO in ProcessExtensionSyncData).
4682 { 4688 {
4683 ext_specifics->set_version("0.0.0.0"); 4689 ext_specifics->set_version("0.0.0.0");
4684 csync::SyncData sync_data = 4690 syncer::SyncData sync_data =
4685 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4691 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4686 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4692 syncer::SyncChange sync_change(
4687 csync::SyncChangeList list(1); 4693 syncer::SyncChange::ACTION_UPDATE, sync_data);
4694 syncer::SyncChangeList list(1);
4688 list[0] = sync_change; 4695 list[0] = sync_change;
4689 4696
4690 service_->ProcessSyncChanges(FROM_HERE, list); 4697 service_->ProcessSyncChanges(FROM_HERE, list);
4691 EXPECT_FALSE(service_->updater()->WillCheckSoon()); 4698 EXPECT_FALSE(service_->updater()->WillCheckSoon());
4692 } 4699 }
4693 4700
4694 // Should kick off an update if extension version < sync version. 4701 // Should kick off an update if extension version < sync version.
4695 { 4702 {
4696 ext_specifics->set_version("9.9.9.9"); 4703 ext_specifics->set_version("9.9.9.9");
4697 csync::SyncData sync_data = 4704 syncer::SyncData sync_data =
4698 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4705 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4699 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4706 syncer::SyncChange sync_change(
4700 csync::SyncChangeList list(1); 4707 syncer::SyncChange::ACTION_UPDATE, sync_data);
4708 syncer::SyncChangeList list(1);
4701 list[0] = sync_change; 4709 list[0] = sync_change;
4702 4710
4703 service_->ProcessSyncChanges(FROM_HERE, list); 4711 service_->ProcessSyncChanges(FROM_HERE, list);
4704 EXPECT_TRUE(service_->updater()->WillCheckSoon()); 4712 EXPECT_TRUE(service_->updater()->WillCheckSoon());
4705 } 4713 }
4706 4714
4707 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); 4715 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx));
4708 } 4716 }
4709 4717
4710 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { 4718 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) {
4711 InitializeExtensionServiceWithUpdater(); 4719 InitializeExtensionServiceWithUpdater();
4712 InitializeRequestContext(); 4720 InitializeRequestContext();
4713 TestSyncProcessorStub processor; 4721 TestSyncProcessorStub processor;
4714 service_->MergeDataAndStartSyncing( 4722 service_->MergeDataAndStartSyncing(
4715 syncable::EXTENSIONS, csync::SyncDataList(), 4723 syncable::EXTENSIONS, syncer::SyncDataList(),
4716 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), 4724 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub),
4717 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); 4725 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock()));
4718 4726
4719 sync_pb::EntitySpecifics specifics; 4727 sync_pb::EntitySpecifics specifics;
4720 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); 4728 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4721 ext_specifics->set_id(good_crx); 4729 ext_specifics->set_id(good_crx);
4722 ext_specifics->set_enabled(false); 4730 ext_specifics->set_enabled(false);
4723 ext_specifics->set_incognito_enabled(true); 4731 ext_specifics->set_incognito_enabled(true);
4724 ext_specifics->set_update_url("http://www.google.com/"); 4732 ext_specifics->set_update_url("http://www.google.com/");
4725 ext_specifics->set_version("1.2.3.4"); 4733 ext_specifics->set_version("1.2.3.4");
4726 csync::SyncData sync_data = 4734 syncer::SyncData sync_data =
4727 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); 4735 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics);
4728 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); 4736 syncer::SyncChange sync_change(syncer::SyncChange::ACTION_UPDATE, sync_data);
4729 csync::SyncChangeList list(1); 4737 syncer::SyncChangeList list(1);
4730 list[0] = sync_change; 4738 list[0] = sync_change;
4731 4739
4732 4740
4733 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4741 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4734 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4742 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4735 service_->ProcessSyncChanges(FROM_HERE, list); 4743 service_->ProcessSyncChanges(FROM_HERE, list);
4736 EXPECT_TRUE(service_->updater()->WillCheckSoon()); 4744 EXPECT_TRUE(service_->updater()->WillCheckSoon());
4737 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); 4745 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx));
4738 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); 4746 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx));
4739 4747
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
5213 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0", 5221 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0",
5214 data_dir_.AppendASCII("hosted_app.crx")); 5222 data_dir_.AppendASCII("hosted_app.crx"));
5215 5223
5216 service_->CheckForExternalUpdates(); 5224 service_->CheckForExternalUpdates();
5217 loop_.RunAllPending(); 5225 loop_.RunAllPending();
5218 5226
5219 ASSERT_TRUE(service_->PopulateExtensionGlobalError( 5227 ASSERT_TRUE(service_->PopulateExtensionGlobalError(
5220 extension_global_error.get())); 5228 extension_global_error.get()));
5221 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size()); 5229 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size());
5222 } 5230 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.cc ('k') | chrome/browser/extensions/extension_sync_bundle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698