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

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

Issue 9460047: sync: remove use of protobuf extensions in protocol to reduce static init overhead. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fred's review Created 8 years, 9 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #include "chrome/browser/extensions/pack_extension_job.cc" 44 #include "chrome/browser/extensions/pack_extension_job.cc"
45 #include "chrome/browser/extensions/pending_extension_info.h" 45 #include "chrome/browser/extensions/pending_extension_info.h"
46 #include "chrome/browser/extensions/pending_extension_manager.h" 46 #include "chrome/browser/extensions/pending_extension_manager.h"
47 #include "chrome/browser/extensions/unpacked_installer.h" 47 #include "chrome/browser/extensions/unpacked_installer.h"
48 #include "chrome/browser/plugin_prefs_factory.h" 48 #include "chrome/browser/plugin_prefs_factory.h"
49 #include "chrome/browser/prefs/browser_prefs.h" 49 #include "chrome/browser/prefs/browser_prefs.h"
50 #include "chrome/browser/prefs/pref_service_mock_builder.h" 50 #include "chrome/browser/prefs/pref_service_mock_builder.h"
51 #include "chrome/browser/prefs/scoped_user_pref_update.h" 51 #include "chrome/browser/prefs/scoped_user_pref_update.h"
52 #include "chrome/browser/sync/protocol/app_specifics.pb.h" 52 #include "chrome/browser/sync/protocol/app_specifics.pb.h"
53 #include "chrome/browser/sync/protocol/extension_specifics.pb.h" 53 #include "chrome/browser/sync/protocol/extension_specifics.pb.h"
54 #include "chrome/browser/sync/protocol/sync.pb.h"
54 #include "chrome/common/chrome_notification_types.h" 55 #include "chrome/common/chrome_notification_types.h"
55 #include "chrome/common/chrome_paths.h" 56 #include "chrome/common/chrome_paths.h"
56 #include "chrome/common/chrome_switches.h" 57 #include "chrome/common/chrome_switches.h"
57 #include "chrome/common/extensions/extension.h" 58 #include "chrome/common/extensions/extension.h"
58 #include "chrome/common/extensions/extension_constants.h" 59 #include "chrome/common/extensions/extension_constants.h"
59 #include "chrome/common/extensions/extension_resource.h" 60 #include "chrome/common/extensions/extension_resource.h"
60 #include "chrome/common/extensions/url_pattern.h" 61 #include "chrome/common/extensions/url_pattern.h"
61 #include "chrome/common/pref_names.h" 62 #include "chrome/common/pref_names.h"
62 #include "chrome/common/string_ordinal.h" 63 #include "chrome/common/string_ordinal.h"
63 #include "chrome/common/url_constants.h" 64 #include "chrome/common/url_constants.h"
(...skipping 4131 matching lines...) Expand 10 before | Expand all | Expand 10 after
4195 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size()); 4196 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size());
4196 } 4197 }
4197 4198
4198 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { 4199 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) {
4199 InitializeEmptyExtensionService(); 4200 InitializeEmptyExtensionService();
4200 TestSyncProcessorStub processor; 4201 TestSyncProcessorStub processor;
4201 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), 4202 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(),
4202 &processor); 4203 &processor);
4203 4204
4204 sync_pb::EntitySpecifics specifics; 4205 sync_pb::EntitySpecifics specifics;
4205 sync_pb::ExtensionSpecifics* ext_specifics = 4206 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4206 specifics.MutableExtension(sync_pb::extension);
4207 ext_specifics->set_id(good_crx); 4207 ext_specifics->set_id(good_crx);
4208 ext_specifics->set_version("1.0"); 4208 ext_specifics->set_version("1.0");
4209 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); 4209 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
4210 SyncChange sync_change(SyncChange::ACTION_DELETE, sync_data); 4210 SyncChange sync_change(SyncChange::ACTION_DELETE, sync_data);
4211 SyncChangeList list(1); 4211 SyncChangeList list(1);
4212 list[0] = sync_change; 4212 list[0] = sync_change;
4213 4213
4214 // Should do nothing. 4214 // Should do nothing.
4215 service_->ProcessSyncChanges(FROM_HERE, list); 4215 service_->ProcessSyncChanges(FROM_HERE, list);
4216 EXPECT_FALSE(service_->GetExtensionById(good_crx, true)); 4216 EXPECT_FALSE(service_->GetExtensionById(good_crx, true));
(...skipping 14 matching lines...) Expand all
4231 4231
4232 TEST_F(ExtensionServiceTest, ProcessSyncDataWrongType) { 4232 TEST_F(ExtensionServiceTest, ProcessSyncDataWrongType) {
4233 InitializeEmptyExtensionService(); 4233 InitializeEmptyExtensionService();
4234 4234
4235 // Install the extension. 4235 // Install the extension.
4236 FilePath extension_path = data_dir_.AppendASCII("good.crx"); 4236 FilePath extension_path = data_dir_.AppendASCII("good.crx");
4237 InstallCRX(extension_path, INSTALL_NEW); 4237 InstallCRX(extension_path, INSTALL_NEW);
4238 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 4238 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
4239 4239
4240 sync_pb::EntitySpecifics specifics; 4240 sync_pb::EntitySpecifics specifics;
4241 sync_pb::AppSpecifics* app_specifics = 4241 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app();
4242 specifics.MutableExtension(sync_pb::app);
4243 sync_pb::ExtensionSpecifics* extension_specifics = 4242 sync_pb::ExtensionSpecifics* extension_specifics =
4244 app_specifics->mutable_extension(); 4243 app_specifics->mutable_extension();
4245 extension_specifics->set_id(good_crx); 4244 extension_specifics->set_id(good_crx);
4246 extension_specifics->set_version( 4245 extension_specifics->set_version(
4247 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4246 service_->GetInstalledExtension(good_crx)->version()->GetString());
4248 4247
4249 { 4248 {
4250 extension_specifics->set_enabled(true); 4249 extension_specifics->set_enabled(true);
4251 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); 4250 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
4252 SyncChange sync_change(SyncChange::ACTION_DELETE, sync_data); 4251 SyncChange sync_change(SyncChange::ACTION_DELETE, sync_data);
(...skipping 23 matching lines...) Expand all
4276 InitializeExtensionProcessManager(); 4275 InitializeExtensionProcessManager();
4277 TestSyncProcessorStub processor; 4276 TestSyncProcessorStub processor;
4278 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), 4277 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(),
4279 &processor); 4278 &processor);
4280 4279
4281 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4280 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4282 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4281 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4283 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4282 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4284 4283
4285 sync_pb::EntitySpecifics specifics; 4284 sync_pb::EntitySpecifics specifics;
4286 sync_pb::ExtensionSpecifics* ext_specifics = 4285 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4287 specifics.MutableExtension(sync_pb::extension);
4288 ext_specifics->set_id(good_crx); 4286 ext_specifics->set_id(good_crx);
4289 ext_specifics->set_version( 4287 ext_specifics->set_version(
4290 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4288 service_->GetInstalledExtension(good_crx)->version()->GetString());
4291 ext_specifics->set_enabled(false); 4289 ext_specifics->set_enabled(false);
4292 4290
4293 { 4291 {
4294 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); 4292 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
4295 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); 4293 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data);
4296 SyncChangeList list(1); 4294 SyncChangeList list(1);
4297 list[0] = sync_change; 4295 list[0] = sync_change;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
4332 TestSyncProcessorStub processor; 4330 TestSyncProcessorStub processor;
4333 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), 4331 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(),
4334 &processor); 4332 &processor);
4335 4333
4336 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4334 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4337 TerminateExtension(good_crx); 4335 TerminateExtension(good_crx);
4338 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4336 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4339 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4337 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4340 4338
4341 sync_pb::EntitySpecifics specifics; 4339 sync_pb::EntitySpecifics specifics;
4342 sync_pb::ExtensionSpecifics* ext_specifics = 4340 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4343 specifics.MutableExtension(sync_pb::extension);
4344 ext_specifics->set_id(good_crx); 4341 ext_specifics->set_id(good_crx);
4345 ext_specifics->set_version( 4342 ext_specifics->set_version(
4346 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4343 service_->GetInstalledExtension(good_crx)->version()->GetString());
4347 ext_specifics->set_enabled(false); 4344 ext_specifics->set_enabled(false);
4348 ext_specifics->set_incognito_enabled(true); 4345 ext_specifics->set_incognito_enabled(true);
4349 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); 4346 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
4350 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); 4347 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data);
4351 SyncChangeList list(1); 4348 SyncChangeList list(1);
4352 list[0] = sync_change; 4349 list[0] = sync_change;
4353 4350
4354 service_->ProcessSyncChanges(FROM_HERE, list); 4351 service_->ProcessSyncChanges(FROM_HERE, list);
4355 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); 4352 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx));
4356 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); 4353 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx));
4357 4354
4358 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); 4355 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx));
4359 } 4356 }
4360 4357
4361 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { 4358 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) {
4362 InitializeExtensionServiceWithUpdater(); 4359 InitializeExtensionServiceWithUpdater();
4363 InitializeRequestContext(); 4360 InitializeRequestContext();
4364 TestSyncProcessorStub processor; 4361 TestSyncProcessorStub processor;
4365 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), 4362 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(),
4366 &processor); 4363 &processor);
4367 4364
4368 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 4365 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
4369 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); 4366 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx));
4370 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); 4367 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx));
4371 4368
4372 sync_pb::EntitySpecifics specifics; 4369 sync_pb::EntitySpecifics specifics;
4373 sync_pb::ExtensionSpecifics* ext_specifics = 4370 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4374 specifics.MutableExtension(sync_pb::extension);
4375 ext_specifics->set_id(good_crx); 4371 ext_specifics->set_id(good_crx);
4376 ext_specifics->set_enabled(true); 4372 ext_specifics->set_enabled(true);
4377 4373
4378 { 4374 {
4379 ext_specifics->set_version( 4375 ext_specifics->set_version(
4380 service_->GetInstalledExtension(good_crx)->version()->GetString()); 4376 service_->GetInstalledExtension(good_crx)->version()->GetString());
4381 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); 4377 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
4382 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); 4378 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data);
4383 SyncChangeList list(1); 4379 SyncChangeList list(1);
4384 list[0] = sync_change; 4380 list[0] = sync_change;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
4417 } 4413 }
4418 4414
4419 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { 4415 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) {
4420 InitializeExtensionServiceWithUpdater(); 4416 InitializeExtensionServiceWithUpdater();
4421 InitializeRequestContext(); 4417 InitializeRequestContext();
4422 TestSyncProcessorStub processor; 4418 TestSyncProcessorStub processor;
4423 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), 4419 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(),
4424 &processor); 4420 &processor);
4425 4421
4426 sync_pb::EntitySpecifics specifics; 4422 sync_pb::EntitySpecifics specifics;
4427 sync_pb::ExtensionSpecifics* ext_specifics = 4423 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension();
4428 specifics.MutableExtension(sync_pb::extension);
4429 ext_specifics->set_id(good_crx); 4424 ext_specifics->set_id(good_crx);
4430 ext_specifics->set_enabled(false); 4425 ext_specifics->set_enabled(false);
4431 ext_specifics->set_incognito_enabled(true); 4426 ext_specifics->set_incognito_enabled(true);
4432 ext_specifics->set_update_url("http://www.google.com/"); 4427 ext_specifics->set_update_url("http://www.google.com/");
4433 ext_specifics->set_version("1.2.3.4"); 4428 ext_specifics->set_version("1.2.3.4");
4434 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); 4429 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
4435 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); 4430 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data);
4436 SyncChangeList list(1); 4431 SyncChangeList list(1);
4437 list[0] = sync_change; 4432 list[0] = sync_change;
4438 4433
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
4860 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0", 4855 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0",
4861 data_dir_.AppendASCII("hosted_app.crx")); 4856 data_dir_.AppendASCII("hosted_app.crx"));
4862 4857
4863 service_->CheckForExternalUpdates(); 4858 service_->CheckForExternalUpdates();
4864 loop_.RunAllPending(); 4859 loop_.RunAllPending();
4865 4860
4866 ASSERT_TRUE(service_->PopulateExtensionGlobalError( 4861 ASSERT_TRUE(service_->PopulateExtensionGlobalError(
4867 extension_global_error.get())); 4862 extension_global_error.get()));
4868 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size()); 4863 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size());
4869 } 4864 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/app_notification_manager_sync_unittest.cc ('k') | chrome/browser/extensions/extension_sync_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698