| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 #include "extensions/common/permissions/permission_set.h" | 104 #include "extensions/common/permissions/permission_set.h" |
| 105 #include "extensions/common/url_pattern.h" | 105 #include "extensions/common/url_pattern.h" |
| 106 #include "extensions/common/value_builder.h" | 106 #include "extensions/common/value_builder.h" |
| 107 #include "gpu/config/gpu_info.h" | 107 #include "gpu/config/gpu_info.h" |
| 108 #include "grit/browser_resources.h" | 108 #include "grit/browser_resources.h" |
| 109 #include "net/cookies/canonical_cookie.h" | 109 #include "net/cookies/canonical_cookie.h" |
| 110 #include "net/cookies/cookie_monster.h" | 110 #include "net/cookies/cookie_monster.h" |
| 111 #include "net/cookies/cookie_options.h" | 111 #include "net/cookies/cookie_options.h" |
| 112 #include "net/url_request/url_request_context.h" | 112 #include "net/url_request/url_request_context.h" |
| 113 #include "net/url_request/url_request_context_getter.h" | 113 #include "net/url_request/url_request_context_getter.h" |
| 114 #include "sync/api/fake_sync_change_processor.h" |
| 114 #include "sync/api/string_ordinal.h" | 115 #include "sync/api/string_ordinal.h" |
| 115 #include "sync/api/sync_data.h" | 116 #include "sync/api/sync_data.h" |
| 116 #include "sync/api/sync_error_factory.h" | 117 #include "sync/api/sync_error_factory.h" |
| 117 #include "sync/api/sync_error_factory_mock.h" | 118 #include "sync/api/sync_error_factory_mock.h" |
| 118 #include "sync/api/syncable_service.h" | 119 #include "sync/api/syncable_service.h" |
| 119 #include "sync/protocol/app_specifics.pb.h" | 120 #include "sync/protocol/app_specifics.pb.h" |
| 120 #include "sync/protocol/extension_specifics.pb.h" | 121 #include "sync/protocol/extension_specifics.pb.h" |
| 121 #include "sync/protocol/sync.pb.h" | 122 #include "sync/protocol/sync.pb.h" |
| 122 #include "testing/gtest/include/gtest/gtest.h" | 123 #include "testing/gtest/include/gtest/gtest.h" |
| 123 #include "testing/platform_test.h" | 124 #include "testing/platform_test.h" |
| (...skipping 5298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5422 ValidatePrefKeyCount(1); | 5423 ValidatePrefKeyCount(1); |
| 5423 | 5424 |
| 5424 // Reload all extensions, and make sure it comes back. | 5425 // Reload all extensions, and make sure it comes back. |
| 5425 std::string extension_id = (*registry_->enabled_extensions().begin())->id(); | 5426 std::string extension_id = (*registry_->enabled_extensions().begin())->id(); |
| 5426 loaded_.clear(); | 5427 loaded_.clear(); |
| 5427 service_->ReloadExtensionsForTest(); | 5428 service_->ReloadExtensionsForTest(); |
| 5428 ASSERT_EQ(1u, registry_->enabled_extensions().size()); | 5429 ASSERT_EQ(1u, registry_->enabled_extensions().size()); |
| 5429 EXPECT_EQ(extension_id, (*registry_->enabled_extensions().begin())->id()); | 5430 EXPECT_EQ(extension_id, (*registry_->enabled_extensions().begin())->id()); |
| 5430 } | 5431 } |
| 5431 | 5432 |
| 5432 namespace { | |
| 5433 | |
| 5434 class TestSyncProcessorStub : public syncer::SyncChangeProcessor { | |
| 5435 virtual syncer::SyncError ProcessSyncChanges( | |
| 5436 const tracked_objects::Location& from_here, | |
| 5437 const syncer::SyncChangeList& change_list) OVERRIDE { | |
| 5438 return syncer::SyncError(); | |
| 5439 } | |
| 5440 | |
| 5441 virtual syncer::SyncDataList GetAllSyncData( | |
| 5442 syncer::ModelType type) const OVERRIDE { | |
| 5443 return syncer::SyncDataList(); | |
| 5444 } | |
| 5445 }; | |
| 5446 | |
| 5447 } // namespace | |
| 5448 | |
| 5449 TEST_F(ExtensionServiceTest, DeferredSyncStartupPreInstalledComponent) { | 5433 TEST_F(ExtensionServiceTest, DeferredSyncStartupPreInstalledComponent) { |
| 5450 InitializeEmptyExtensionService(); | 5434 InitializeEmptyExtensionService(); |
| 5451 InitializeExtensionSyncService(); | 5435 InitializeExtensionSyncService(); |
| 5452 | 5436 |
| 5453 bool flare_was_called = false; | 5437 bool flare_was_called = false; |
| 5454 syncer::ModelType triggered_type(syncer::UNSPECIFIED); | 5438 syncer::ModelType triggered_type(syncer::UNSPECIFIED); |
| 5455 base::WeakPtrFactory<ExtensionServiceTest> factory(this); | 5439 base::WeakPtrFactory<ExtensionServiceTest> factory(this); |
| 5456 extension_sync_service_->SetSyncStartFlare( | 5440 extension_sync_service_->SetSyncStartFlare( |
| 5457 base::Bind(&ExtensionServiceTest::MockSyncStartFlare, | 5441 base::Bind(&ExtensionServiceTest::MockSyncStartFlare, |
| 5458 factory.GetWeakPtr(), | 5442 factory.GetWeakPtr(), |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5516 | 5500 |
| 5517 EXPECT_TRUE(flare_was_called); | 5501 EXPECT_TRUE(flare_was_called); |
| 5518 EXPECT_EQ(syncer::EXTENSIONS, triggered_type); | 5502 EXPECT_EQ(syncer::EXTENSIONS, triggered_type); |
| 5519 | 5503 |
| 5520 // Reset. | 5504 // Reset. |
| 5521 flare_was_called = false; | 5505 flare_was_called = false; |
| 5522 triggered_type = syncer::UNSPECIFIED; | 5506 triggered_type = syncer::UNSPECIFIED; |
| 5523 | 5507 |
| 5524 // Once sync starts, flare should no longer be invoked. | 5508 // Once sync starts, flare should no longer be invoked. |
| 5525 extension_sync_service_->MergeDataAndStartSyncing( | 5509 extension_sync_service_->MergeDataAndStartSyncing( |
| 5526 syncer::EXTENSIONS, syncer::SyncDataList(), | 5510 syncer::EXTENSIONS, |
| 5527 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5511 syncer::SyncDataList(), |
| 5512 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5513 new syncer::FakeSyncChangeProcessor), |
| 5528 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5514 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5529 path = data_dir_.AppendASCII("page_action.crx"); | 5515 path = data_dir_.AppendASCII("page_action.crx"); |
| 5530 InstallCRX(path, INSTALL_NEW); | 5516 InstallCRX(path, INSTALL_NEW); |
| 5531 EXPECT_FALSE(flare_was_called); | 5517 EXPECT_FALSE(flare_was_called); |
| 5532 ASSERT_EQ(syncer::UNSPECIFIED, triggered_type); | 5518 ASSERT_EQ(syncer::UNSPECIFIED, triggered_type); |
| 5533 } | 5519 } |
| 5534 | 5520 |
| 5535 TEST_F(ExtensionServiceTest, DisableExtensionFromSync) { | 5521 TEST_F(ExtensionServiceTest, DisableExtensionFromSync) { |
| 5536 // Start the extensions service with one external extension already installed. | 5522 // Start the extensions service with one external extension already installed. |
| 5537 base::FilePath source_install_dir = data_dir_ | 5523 base::FilePath source_install_dir = data_dir_ |
| (...skipping 18 matching lines...) Expand all Loading... |
| 5556 // We start enabled. | 5542 // We start enabled. |
| 5557 const Extension* extension = service_->GetExtensionById(good0, true); | 5543 const Extension* extension = service_->GetExtensionById(good0, true); |
| 5558 ASSERT_TRUE(extension); | 5544 ASSERT_TRUE(extension); |
| 5559 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); | 5545 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); |
| 5560 extensions::ExtensionSyncData disable_good_crx(*extension, false, false); | 5546 extensions::ExtensionSyncData disable_good_crx(*extension, false, false); |
| 5561 | 5547 |
| 5562 // Then sync data arrives telling us to disable |good0|. | 5548 // Then sync data arrives telling us to disable |good0|. |
| 5563 syncer::SyncDataList sync_data; | 5549 syncer::SyncDataList sync_data; |
| 5564 sync_data.push_back(disable_good_crx.GetSyncData()); | 5550 sync_data.push_back(disable_good_crx.GetSyncData()); |
| 5565 extension_sync_service_->MergeDataAndStartSyncing( | 5551 extension_sync_service_->MergeDataAndStartSyncing( |
| 5566 syncer::EXTENSIONS, sync_data, | 5552 syncer::EXTENSIONS, |
| 5567 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5553 sync_data, |
| 5554 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5555 new syncer::FakeSyncChangeProcessor), |
| 5568 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5556 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5569 ASSERT_FALSE(service_->IsExtensionEnabled(good0)); | 5557 ASSERT_FALSE(service_->IsExtensionEnabled(good0)); |
| 5570 } | 5558 } |
| 5571 | 5559 |
| 5572 TEST_F(ExtensionServiceTest, DontDisableExtensionWithPendingEnableFromSync) { | 5560 TEST_F(ExtensionServiceTest, DontDisableExtensionWithPendingEnableFromSync) { |
| 5573 // Start the extensions service with one external extension already installed. | 5561 // Start the extensions service with one external extension already installed. |
| 5574 base::FilePath source_install_dir = data_dir_ | 5562 base::FilePath source_install_dir = data_dir_ |
| 5575 .AppendASCII("good") | 5563 .AppendASCII("good") |
| 5576 .AppendASCII("Extensions"); | 5564 .AppendASCII("Extensions"); |
| 5577 base::FilePath pref_path = | 5565 base::FilePath pref_path = |
| (...skipping 21 matching lines...) Expand all Loading... |
| 5599 // Enable extension - this is now the most recent state. | 5587 // Enable extension - this is now the most recent state. |
| 5600 service_->EnableExtension(good0); | 5588 service_->EnableExtension(good0); |
| 5601 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); | 5589 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); |
| 5602 | 5590 |
| 5603 // Now sync data comes in that says to disable good0. This should be | 5591 // Now sync data comes in that says to disable good0. This should be |
| 5604 // ignored. | 5592 // ignored. |
| 5605 extensions::ExtensionSyncData disable_good_crx(*extension, false, false); | 5593 extensions::ExtensionSyncData disable_good_crx(*extension, false, false); |
| 5606 syncer::SyncDataList sync_data; | 5594 syncer::SyncDataList sync_data; |
| 5607 sync_data.push_back(disable_good_crx.GetSyncData()); | 5595 sync_data.push_back(disable_good_crx.GetSyncData()); |
| 5608 extension_sync_service_->MergeDataAndStartSyncing( | 5596 extension_sync_service_->MergeDataAndStartSyncing( |
| 5609 syncer::EXTENSIONS, sync_data, | 5597 syncer::EXTENSIONS, |
| 5610 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5598 sync_data, |
| 5599 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5600 new syncer::FakeSyncChangeProcessor), |
| 5611 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5601 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5612 | 5602 |
| 5613 // The extension was enabled locally before the sync data arrived, so it | 5603 // The extension was enabled locally before the sync data arrived, so it |
| 5614 // should still be enabled now. | 5604 // should still be enabled now. |
| 5615 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); | 5605 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); |
| 5616 } | 5606 } |
| 5617 | 5607 |
| 5618 TEST_F(ExtensionServiceTest, GetSyncData) { | 5608 TEST_F(ExtensionServiceTest, GetSyncData) { |
| 5619 InitializeEmptyExtensionService(); | 5609 InitializeEmptyExtensionService(); |
| 5620 InitializeExtensionSyncService(); | 5610 InitializeExtensionSyncService(); |
| 5621 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 5611 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 5622 const Extension* extension = service_->GetInstalledExtension(good_crx); | 5612 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 5623 ASSERT_TRUE(extension); | 5613 ASSERT_TRUE(extension); |
| 5624 | 5614 |
| 5625 extension_sync_service_->MergeDataAndStartSyncing( | 5615 extension_sync_service_->MergeDataAndStartSyncing( |
| 5626 syncer::EXTENSIONS, syncer::SyncDataList(), | 5616 syncer::EXTENSIONS, |
| 5627 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5617 syncer::SyncDataList(), |
| 5618 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5619 new syncer::FakeSyncChangeProcessor), |
| 5628 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5620 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5629 | 5621 |
| 5630 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( | 5622 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( |
| 5631 syncer::EXTENSIONS); | 5623 syncer::EXTENSIONS); |
| 5632 ASSERT_EQ(list.size(), 1U); | 5624 ASSERT_EQ(list.size(), 1U); |
| 5633 extensions::ExtensionSyncData data(list[0]); | 5625 extensions::ExtensionSyncData data(list[0]); |
| 5634 EXPECT_EQ(extension->id(), data.id()); | 5626 EXPECT_EQ(extension->id(), data.id()); |
| 5635 EXPECT_FALSE(data.uninstalled()); | 5627 EXPECT_FALSE(data.uninstalled()); |
| 5636 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 5628 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
| 5637 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile_.get()), | 5629 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile_.get()), |
| 5638 data.incognito_enabled()); | 5630 data.incognito_enabled()); |
| 5639 EXPECT_TRUE(data.version().Equals(*extension->version())); | 5631 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 5640 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), | 5632 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), |
| 5641 data.update_url()); | 5633 data.update_url()); |
| 5642 EXPECT_EQ(extension->name(), data.name()); | 5634 EXPECT_EQ(extension->name(), data.name()); |
| 5643 } | 5635 } |
| 5644 | 5636 |
| 5645 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { | 5637 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { |
| 5646 InitializeEmptyExtensionService(); | 5638 InitializeEmptyExtensionService(); |
| 5647 InitializeExtensionSyncService(); | 5639 InitializeExtensionSyncService(); |
| 5648 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 5640 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 5649 TerminateExtension(good_crx); | 5641 TerminateExtension(good_crx); |
| 5650 const Extension* extension = service_->GetInstalledExtension(good_crx); | 5642 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 5651 ASSERT_TRUE(extension); | 5643 ASSERT_TRUE(extension); |
| 5652 | 5644 |
| 5653 TestSyncProcessorStub processor; | 5645 syncer::FakeSyncChangeProcessor processor; |
| 5654 extension_sync_service_->MergeDataAndStartSyncing( | 5646 extension_sync_service_->MergeDataAndStartSyncing( |
| 5655 syncer::EXTENSIONS, syncer::SyncDataList(), | 5647 syncer::EXTENSIONS, |
| 5656 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5648 syncer::SyncDataList(), |
| 5649 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5650 new syncer::FakeSyncChangeProcessor), |
| 5657 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5651 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5658 | 5652 |
| 5659 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( | 5653 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( |
| 5660 syncer::EXTENSIONS); | 5654 syncer::EXTENSIONS); |
| 5661 ASSERT_EQ(list.size(), 1U); | 5655 ASSERT_EQ(list.size(), 1U); |
| 5662 extensions::ExtensionSyncData data(list[0]); | 5656 extensions::ExtensionSyncData data(list[0]); |
| 5663 EXPECT_EQ(extension->id(), data.id()); | 5657 EXPECT_EQ(extension->id(), data.id()); |
| 5664 EXPECT_FALSE(data.uninstalled()); | 5658 EXPECT_FALSE(data.uninstalled()); |
| 5665 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 5659 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
| 5666 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile_.get()), | 5660 EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile_.get()), |
| 5667 data.incognito_enabled()); | 5661 data.incognito_enabled()); |
| 5668 EXPECT_TRUE(data.version().Equals(*extension->version())); | 5662 EXPECT_TRUE(data.version().Equals(*extension->version())); |
| 5669 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), | 5663 EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension), |
| 5670 data.update_url()); | 5664 data.update_url()); |
| 5671 EXPECT_EQ(extension->name(), data.name()); | 5665 EXPECT_EQ(extension->name(), data.name()); |
| 5672 } | 5666 } |
| 5673 | 5667 |
| 5674 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { | 5668 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { |
| 5675 InitializeEmptyExtensionService(); | 5669 InitializeEmptyExtensionService(); |
| 5676 InitializeExtensionSyncService(); | 5670 InitializeExtensionSyncService(); |
| 5677 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 5671 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 5678 const Extension* extension = service_->GetInstalledExtension(good_crx); | 5672 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 5679 ASSERT_TRUE(extension); | 5673 ASSERT_TRUE(extension); |
| 5680 | 5674 |
| 5681 TestSyncProcessorStub processor; | 5675 syncer::FakeSyncChangeProcessor processor; |
| 5682 extension_sync_service_->MergeDataAndStartSyncing(syncer::APPS, | 5676 extension_sync_service_->MergeDataAndStartSyncing( |
| 5677 syncer::APPS, |
| 5683 syncer::SyncDataList(), | 5678 syncer::SyncDataList(), |
| 5684 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5679 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5680 new syncer::FakeSyncChangeProcessor), |
| 5685 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5681 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5686 | 5682 |
| 5687 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( | 5683 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( |
| 5688 syncer::EXTENSIONS); | 5684 syncer::EXTENSIONS); |
| 5689 ASSERT_EQ(list.size(), 0U); | 5685 ASSERT_EQ(list.size(), 0U); |
| 5690 } | 5686 } |
| 5691 | 5687 |
| 5692 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { | 5688 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { |
| 5693 InitializeEmptyExtensionService(); | 5689 InitializeEmptyExtensionService(); |
| 5694 InitializeProcessManager(); | 5690 InitializeProcessManager(); |
| 5695 InitializeExtensionSyncService(); | 5691 InitializeExtensionSyncService(); |
| 5696 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 5692 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 5697 const Extension* extension = service_->GetInstalledExtension(good_crx); | 5693 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 5698 ASSERT_TRUE(extension); | 5694 ASSERT_TRUE(extension); |
| 5699 | 5695 |
| 5700 TestSyncProcessorStub processor; | 5696 syncer::FakeSyncChangeProcessor processor; |
| 5701 extension_sync_service_->MergeDataAndStartSyncing( | 5697 extension_sync_service_->MergeDataAndStartSyncing( |
| 5702 syncer::EXTENSIONS, syncer::SyncDataList(), | 5698 syncer::EXTENSIONS, |
| 5703 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5699 syncer::SyncDataList(), |
| 5700 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5701 new syncer::FakeSyncChangeProcessor), |
| 5704 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5702 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5705 | 5703 |
| 5706 { | 5704 { |
| 5707 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( | 5705 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( |
| 5708 syncer::EXTENSIONS); | 5706 syncer::EXTENSIONS); |
| 5709 ASSERT_EQ(list.size(), 1U); | 5707 ASSERT_EQ(list.size(), 1U); |
| 5710 extensions::ExtensionSyncData data(list[0]); | 5708 extensions::ExtensionSyncData data(list[0]); |
| 5711 EXPECT_TRUE(data.enabled()); | 5709 EXPECT_TRUE(data.enabled()); |
| 5712 EXPECT_FALSE(data.incognito_enabled()); | 5710 EXPECT_FALSE(data.incognito_enabled()); |
| 5713 } | 5711 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 5744 } | 5742 } |
| 5745 | 5743 |
| 5746 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { | 5744 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { |
| 5747 InitializeEmptyExtensionService(); | 5745 InitializeEmptyExtensionService(); |
| 5748 InitializeExtensionSyncService(); | 5746 InitializeExtensionSyncService(); |
| 5749 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"), | 5747 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"), |
| 5750 Manifest::EXTERNAL_PREF, INSTALL_NEW); | 5748 Manifest::EXTERNAL_PREF, INSTALL_NEW); |
| 5751 const Extension* extension = service_->GetInstalledExtension(good_crx); | 5749 const Extension* extension = service_->GetInstalledExtension(good_crx); |
| 5752 ASSERT_TRUE(extension); | 5750 ASSERT_TRUE(extension); |
| 5753 | 5751 |
| 5754 TestSyncProcessorStub processor; | 5752 syncer::FakeSyncChangeProcessor processor; |
| 5755 extension_sync_service_->MergeDataAndStartSyncing( | 5753 extension_sync_service_->MergeDataAndStartSyncing( |
| 5756 syncer::EXTENSIONS, syncer::SyncDataList(), | 5754 syncer::EXTENSIONS, |
| 5757 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5755 syncer::SyncDataList(), |
| 5756 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5757 new syncer::FakeSyncChangeProcessor), |
| 5758 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5758 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5759 | 5759 |
| 5760 UninstallExtension(good_crx, false); | 5760 UninstallExtension(good_crx, false); |
| 5761 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); | 5761 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); |
| 5762 | 5762 |
| 5763 sync_pb::EntitySpecifics specifics; | 5763 sync_pb::EntitySpecifics specifics; |
| 5764 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); | 5764 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); |
| 5765 sync_pb::ExtensionSpecifics* extension_specifics = | 5765 sync_pb::ExtensionSpecifics* extension_specifics = |
| 5766 app_specifics->mutable_extension(); | 5766 app_specifics->mutable_extension(); |
| 5767 extension_specifics->set_id(good_crx); | 5767 extension_specifics->set_id(good_crx); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 5781 } | 5781 } |
| 5782 | 5782 |
| 5783 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) { | 5783 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) { |
| 5784 InitializeEmptyExtensionService(); | 5784 InitializeEmptyExtensionService(); |
| 5785 InitializeExtensionSyncService(); | 5785 InitializeExtensionSyncService(); |
| 5786 const Extension* app = | 5786 const Extension* app = |
| 5787 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW); | 5787 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW); |
| 5788 ASSERT_TRUE(app); | 5788 ASSERT_TRUE(app); |
| 5789 ASSERT_TRUE(app->is_app()); | 5789 ASSERT_TRUE(app->is_app()); |
| 5790 | 5790 |
| 5791 TestSyncProcessorStub processor; | 5791 syncer::FakeSyncChangeProcessor processor; |
| 5792 extension_sync_service_->MergeDataAndStartSyncing(syncer::APPS, | 5792 extension_sync_service_->MergeDataAndStartSyncing( |
| 5793 syncer::APPS, |
| 5793 syncer::SyncDataList(), | 5794 syncer::SyncDataList(), |
| 5794 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5795 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5796 new syncer::FakeSyncChangeProcessor), |
| 5795 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5797 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5796 | 5798 |
| 5797 syncer::StringOrdinal initial_ordinal = | 5799 syncer::StringOrdinal initial_ordinal = |
| 5798 syncer::StringOrdinal::CreateInitialOrdinal(); | 5800 syncer::StringOrdinal::CreateInitialOrdinal(); |
| 5799 { | 5801 { |
| 5800 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( | 5802 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( |
| 5801 syncer::APPS); | 5803 syncer::APPS); |
| 5802 ASSERT_EQ(list.size(), 1U); | 5804 ASSERT_EQ(list.size(), 1U); |
| 5803 | 5805 |
| 5804 extensions::AppSyncData app_sync_data(list[0]); | 5806 extensions::AppSyncData app_sync_data(list[0]); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5836 const size_t kAppCount = 3; | 5838 const size_t kAppCount = 3; |
| 5837 const Extension* apps[kAppCount]; | 5839 const Extension* apps[kAppCount]; |
| 5838 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); | 5840 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); |
| 5839 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW); | 5841 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW); |
| 5840 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); | 5842 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); |
| 5841 for (size_t i = 0; i < kAppCount; ++i) { | 5843 for (size_t i = 0; i < kAppCount; ++i) { |
| 5842 ASSERT_TRUE(apps[i]); | 5844 ASSERT_TRUE(apps[i]); |
| 5843 ASSERT_TRUE(apps[i]->is_app()); | 5845 ASSERT_TRUE(apps[i]->is_app()); |
| 5844 } | 5846 } |
| 5845 | 5847 |
| 5846 TestSyncProcessorStub processor; | 5848 syncer::FakeSyncChangeProcessor processor; |
| 5847 extension_sync_service_->MergeDataAndStartSyncing(syncer::APPS, | 5849 extension_sync_service_->MergeDataAndStartSyncing( |
| 5850 syncer::APPS, |
| 5848 syncer::SyncDataList(), | 5851 syncer::SyncDataList(), |
| 5849 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5852 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5853 new syncer::FakeSyncChangeProcessor), |
| 5850 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5854 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5851 | 5855 |
| 5852 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id()); | 5856 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id()); |
| 5853 { | 5857 { |
| 5854 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( | 5858 syncer::SyncDataList list = extension_sync_service_->GetAllSyncData( |
| 5855 syncer::APPS); | 5859 syncer::APPS); |
| 5856 ASSERT_EQ(list.size(), 3U); | 5860 ASSERT_EQ(list.size(), 3U); |
| 5857 | 5861 |
| 5858 extensions::AppSyncData data[kAppCount]; | 5862 extensions::AppSyncData data[kAppCount]; |
| 5859 for (size_t i = 0; i < kAppCount; ++i) { | 5863 for (size_t i = 0; i < kAppCount; ++i) { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 5877 } | 5881 } |
| 5878 | 5882 |
| 5879 TEST_F(ExtensionServiceTest, GetSyncDataList) { | 5883 TEST_F(ExtensionServiceTest, GetSyncDataList) { |
| 5880 InitializeEmptyExtensionService(); | 5884 InitializeEmptyExtensionService(); |
| 5881 InitializeExtensionSyncService(); | 5885 InitializeExtensionSyncService(); |
| 5882 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 5886 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 5883 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); | 5887 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); |
| 5884 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); | 5888 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); |
| 5885 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); | 5889 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); |
| 5886 | 5890 |
| 5887 TestSyncProcessorStub processor; | 5891 syncer::FakeSyncChangeProcessor processor; |
| 5888 extension_sync_service_->MergeDataAndStartSyncing( | 5892 extension_sync_service_->MergeDataAndStartSyncing( |
| 5889 syncer::APPS, syncer::SyncDataList(), | 5893 syncer::APPS, |
| 5890 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5894 syncer::SyncDataList(), |
| 5895 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5896 new syncer::FakeSyncChangeProcessor), |
| 5891 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5897 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5892 extension_sync_service_->MergeDataAndStartSyncing( | 5898 extension_sync_service_->MergeDataAndStartSyncing( |
| 5893 syncer::EXTENSIONS, syncer::SyncDataList(), | 5899 syncer::EXTENSIONS, |
| 5894 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5900 syncer::SyncDataList(), |
| 5901 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5902 new syncer::FakeSyncChangeProcessor), |
| 5895 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5903 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5896 | 5904 |
| 5897 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION); | 5905 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION); |
| 5898 TerminateExtension(theme2_crx); | 5906 TerminateExtension(theme2_crx); |
| 5899 | 5907 |
| 5900 EXPECT_EQ(0u, extension_sync_service_->GetAllSyncData(syncer::APPS).size()); | 5908 EXPECT_EQ(0u, extension_sync_service_->GetAllSyncData(syncer::APPS).size()); |
| 5901 EXPECT_EQ(2u, extension_sync_service_-> | 5909 EXPECT_EQ(2u, extension_sync_service_-> |
| 5902 GetAllSyncData(syncer::EXTENSIONS).size()); | 5910 GetAllSyncData(syncer::EXTENSIONS).size()); |
| 5903 } | 5911 } |
| 5904 | 5912 |
| 5905 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { | 5913 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { |
| 5906 InitializeEmptyExtensionService(); | 5914 InitializeEmptyExtensionService(); |
| 5907 InitializeExtensionSyncService(); | 5915 InitializeExtensionSyncService(); |
| 5908 TestSyncProcessorStub processor; | 5916 syncer::FakeSyncChangeProcessor processor; |
| 5909 extension_sync_service_->MergeDataAndStartSyncing( | 5917 extension_sync_service_->MergeDataAndStartSyncing( |
| 5910 syncer::EXTENSIONS, syncer::SyncDataList(), | 5918 syncer::EXTENSIONS, |
| 5911 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 5919 syncer::SyncDataList(), |
| 5920 scoped_ptr<syncer::SyncChangeProcessor>( |
| 5921 new syncer::FakeSyncChangeProcessor), |
| 5912 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5922 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 5913 | 5923 |
| 5914 sync_pb::EntitySpecifics specifics; | 5924 sync_pb::EntitySpecifics specifics; |
| 5915 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 5925 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 5916 ext_specifics->set_id(good_crx); | 5926 ext_specifics->set_id(good_crx); |
| 5917 ext_specifics->set_version("1.0"); | 5927 ext_specifics->set_version("1.0"); |
| 5918 syncer::SyncData sync_data = | 5928 syncer::SyncData sync_data = |
| 5919 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); | 5929 syncer::SyncData::CreateLocalData(good_crx, "Name", specifics); |
| 5920 syncer::SyncChange sync_change(FROM_HERE, | 5930 syncer::SyncChange sync_change(FROM_HERE, |
| 5921 syncer::SyncChange::ACTION_DELETE, | 5931 syncer::SyncChange::ACTION_DELETE, |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5986 // Should again do nothing. | 5996 // Should again do nothing. |
| 5987 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); | 5997 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); |
| 5988 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); | 5998 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); |
| 5989 } | 5999 } |
| 5990 } | 6000 } |
| 5991 | 6001 |
| 5992 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { | 6002 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { |
| 5993 InitializeEmptyExtensionService(); | 6003 InitializeEmptyExtensionService(); |
| 5994 InitializeProcessManager(); | 6004 InitializeProcessManager(); |
| 5995 InitializeExtensionSyncService(); | 6005 InitializeExtensionSyncService(); |
| 5996 TestSyncProcessorStub processor; | 6006 syncer::FakeSyncChangeProcessor processor; |
| 5997 extension_sync_service_->MergeDataAndStartSyncing( | 6007 extension_sync_service_->MergeDataAndStartSyncing( |
| 5998 syncer::EXTENSIONS, syncer::SyncDataList(), | 6008 syncer::EXTENSIONS, |
| 5999 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 6009 syncer::SyncDataList(), |
| 6010 scoped_ptr<syncer::SyncChangeProcessor>( |
| 6011 new syncer::FakeSyncChangeProcessor), |
| 6000 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 6012 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 6001 | 6013 |
| 6002 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 6014 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 6003 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 6015 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
| 6004 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); | 6016 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); |
| 6005 | 6017 |
| 6006 sync_pb::EntitySpecifics specifics; | 6018 sync_pb::EntitySpecifics specifics; |
| 6007 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 6019 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 6008 ext_specifics->set_id(good_crx); | 6020 ext_specifics->set_id(good_crx); |
| 6009 ext_specifics->set_version( | 6021 ext_specifics->set_version( |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6053 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 6065 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
| 6054 EXPECT_TRUE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); | 6066 EXPECT_TRUE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); |
| 6055 } | 6067 } |
| 6056 | 6068 |
| 6057 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 6069 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
| 6058 } | 6070 } |
| 6059 | 6071 |
| 6060 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { | 6072 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { |
| 6061 InitializeExtensionServiceWithUpdater(); | 6073 InitializeExtensionServiceWithUpdater(); |
| 6062 InitializeExtensionSyncService(); | 6074 InitializeExtensionSyncService(); |
| 6063 TestSyncProcessorStub processor; | 6075 syncer::FakeSyncChangeProcessor processor; |
| 6064 extension_sync_service_->MergeDataAndStartSyncing( | 6076 extension_sync_service_->MergeDataAndStartSyncing( |
| 6065 syncer::EXTENSIONS, syncer::SyncDataList(), | 6077 syncer::EXTENSIONS, |
| 6066 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 6078 syncer::SyncDataList(), |
| 6079 scoped_ptr<syncer::SyncChangeProcessor>( |
| 6080 new syncer::FakeSyncChangeProcessor), |
| 6067 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 6081 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 6068 | 6082 |
| 6069 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 6083 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 6070 TerminateExtension(good_crx); | 6084 TerminateExtension(good_crx); |
| 6071 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 6085 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
| 6072 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); | 6086 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); |
| 6073 | 6087 |
| 6074 sync_pb::EntitySpecifics specifics; | 6088 sync_pb::EntitySpecifics specifics; |
| 6075 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 6089 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 6076 ext_specifics->set_id(good_crx); | 6090 ext_specifics->set_id(good_crx); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 6089 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); | 6103 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); |
| 6090 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 6104 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
| 6091 EXPECT_TRUE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); | 6105 EXPECT_TRUE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); |
| 6092 | 6106 |
| 6093 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 6107 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
| 6094 } | 6108 } |
| 6095 | 6109 |
| 6096 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { | 6110 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { |
| 6097 InitializeExtensionServiceWithUpdater(); | 6111 InitializeExtensionServiceWithUpdater(); |
| 6098 InitializeExtensionSyncService(); | 6112 InitializeExtensionSyncService(); |
| 6099 TestSyncProcessorStub processor; | 6113 syncer::FakeSyncChangeProcessor processor; |
| 6100 extension_sync_service_->MergeDataAndStartSyncing( | 6114 extension_sync_service_->MergeDataAndStartSyncing( |
| 6101 syncer::EXTENSIONS, syncer::SyncDataList(), | 6115 syncer::EXTENSIONS, |
| 6102 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 6116 syncer::SyncDataList(), |
| 6117 scoped_ptr<syncer::SyncChangeProcessor>( |
| 6118 new syncer::FakeSyncChangeProcessor), |
| 6103 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 6119 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 6104 | 6120 |
| 6105 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 6121 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 6106 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 6122 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
| 6107 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); | 6123 EXPECT_FALSE(extensions::util::IsIncognitoEnabled(good_crx, profile_.get())); |
| 6108 | 6124 |
| 6109 sync_pb::EntitySpecifics specifics; | 6125 sync_pb::EntitySpecifics specifics; |
| 6110 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 6126 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 6111 ext_specifics->set_id(good_crx); | 6127 ext_specifics->set_id(good_crx); |
| 6112 ext_specifics->set_enabled(true); | 6128 ext_specifics->set_enabled(true); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6157 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); | 6173 extension_sync_service_->ProcessSyncChanges(FROM_HERE, list); |
| 6158 EXPECT_TRUE(service_->updater()->WillCheckSoon()); | 6174 EXPECT_TRUE(service_->updater()->WillCheckSoon()); |
| 6159 } | 6175 } |
| 6160 | 6176 |
| 6161 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 6177 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
| 6162 } | 6178 } |
| 6163 | 6179 |
| 6164 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { | 6180 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { |
| 6165 InitializeExtensionServiceWithUpdater(); | 6181 InitializeExtensionServiceWithUpdater(); |
| 6166 InitializeExtensionSyncService(); | 6182 InitializeExtensionSyncService(); |
| 6167 TestSyncProcessorStub processor; | 6183 syncer::FakeSyncChangeProcessor processor; |
| 6168 extension_sync_service_->MergeDataAndStartSyncing( | 6184 extension_sync_service_->MergeDataAndStartSyncing( |
| 6169 syncer::EXTENSIONS, syncer::SyncDataList(), | 6185 syncer::EXTENSIONS, |
| 6170 scoped_ptr<syncer::SyncChangeProcessor>(new TestSyncProcessorStub), | 6186 syncer::SyncDataList(), |
| 6187 scoped_ptr<syncer::SyncChangeProcessor>( |
| 6188 new syncer::FakeSyncChangeProcessor), |
| 6171 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 6189 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
| 6172 | 6190 |
| 6173 sync_pb::EntitySpecifics specifics; | 6191 sync_pb::EntitySpecifics specifics; |
| 6174 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 6192 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
| 6175 ext_specifics->set_id(good_crx); | 6193 ext_specifics->set_id(good_crx); |
| 6176 ext_specifics->set_enabled(false); | 6194 ext_specifics->set_enabled(false); |
| 6177 ext_specifics->set_incognito_enabled(true); | 6195 ext_specifics->set_incognito_enabled(true); |
| 6178 ext_specifics->set_update_url("http://www.google.com/"); | 6196 ext_specifics->set_update_url("http://www.google.com/"); |
| 6179 ext_specifics->set_version("1.2.3.4"); | 6197 ext_specifics->set_version("1.2.3.4"); |
| 6180 syncer::SyncData sync_data = | 6198 syncer::SyncData sync_data = |
| (...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6954 // ReconcileKnownDisabled(). | 6972 // ReconcileKnownDisabled(). |
| 6955 service_->EnableExtension(good2); | 6973 service_->EnableExtension(good2); |
| 6956 service_->ReconcileKnownDisabled(); | 6974 service_->ReconcileKnownDisabled(); |
| 6957 expected_extensions.insert(good2); | 6975 expected_extensions.insert(good2); |
| 6958 expected_disabled_extensions.erase(good2); | 6976 expected_disabled_extensions.erase(good2); |
| 6959 | 6977 |
| 6960 EXPECT_EQ(expected_extensions, registry_->enabled_extensions().GetIDs()); | 6978 EXPECT_EQ(expected_extensions, registry_->enabled_extensions().GetIDs()); |
| 6961 EXPECT_EQ(expected_disabled_extensions, | 6979 EXPECT_EQ(expected_disabled_extensions, |
| 6962 registry_->disabled_extensions().GetIDs()); | 6980 registry_->disabled_extensions().GetIDs()); |
| 6963 } | 6981 } |
| OLD | NEW |