| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "base/basictypes.h" | 5 #include "base/basictypes.h" | 
|  | 6 #include "base/strings/utf_string_conversions.h" | 
|  | 7 #include "chrome/browser/chrome_notification_types.h" | 
|  | 8 #include "chrome/browser/extensions/bookmark_app_helper.h" | 
| 6 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" | 
| 7 #include "chrome/browser/extensions/launch_util.h" | 10 #include "chrome/browser/extensions/launch_util.h" | 
| 8 #include "chrome/browser/profiles/profile.h" | 11 #include "chrome/browser/profiles/profile.h" | 
| 9 #include "chrome/browser/sync/test/integration/apps_helper.h" | 12 #include "chrome/browser/sync/test/integration/apps_helper.h" | 
| 10 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h" | 13 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h" | 
| 11 #include "chrome/browser/sync/test/integration/sync_app_helper.h" | 14 #include "chrome/browser/sync/test/integration/sync_app_helper.h" | 
| 12 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h" | 15 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h" | 
| 13 #include "chrome/browser/sync/test/integration/sync_test.h" | 16 #include "chrome/browser/sync/test/integration/sync_test.h" | 
| 14 #include "chrome/common/extensions/extension_constants.h" | 17 #include "chrome/common/extensions/extension_constants.h" | 
|  | 18 #include "content/public/browser/notification_service.h" | 
|  | 19 #include "content/public/test/test_utils.h" | 
| 15 #include "extensions/browser/app_sorting.h" | 20 #include "extensions/browser/app_sorting.h" | 
| 16 #include "extensions/browser/extension_prefs.h" | 21 #include "extensions/browser/extension_prefs.h" | 
|  | 22 #include "extensions/browser/extension_registry.h" | 
| 17 #include "sync/api/string_ordinal.h" | 23 #include "sync/api/string_ordinal.h" | 
| 18 | 24 | 
| 19 using apps_helper::AllProfilesHaveSameAppsAsVerifier; | 25 using apps_helper::AllProfilesHaveSameAppsAsVerifier; | 
| 20 using apps_helper::CopyNTPOrdinals; | 26 using apps_helper::CopyNTPOrdinals; | 
| 21 using apps_helper::DisableApp; | 27 using apps_helper::DisableApp; | 
| 22 using apps_helper::EnableApp; | 28 using apps_helper::EnableApp; | 
| 23 using apps_helper::FixNTPOrdinalCollisions; | 29 using apps_helper::FixNTPOrdinalCollisions; | 
| 24 using apps_helper::GetAppLaunchOrdinalForApp; | 30 using apps_helper::GetAppLaunchOrdinalForApp; | 
| 25 using apps_helper::HasSameAppsAsVerifier; | 31 using apps_helper::HasSameAppsAsVerifier; | 
| 26 using apps_helper::IncognitoDisableApp; | 32 using apps_helper::IncognitoDisableApp; | 
| (...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 498       original_data.app_launch_ordinal(), | 504       original_data.app_launch_ordinal(), | 
| 499       original_data.page_ordinal(), | 505       original_data.page_ordinal(), | 
| 500       extensions::NUM_LAUNCH_TYPES); | 506       extensions::NUM_LAUNCH_TYPES); | 
| 501   extension_sync_service->ProcessAppSyncData(invalid_launch_type_data); | 507   extension_sync_service->ProcessAppSyncData(invalid_launch_type_data); | 
| 502 | 508 | 
| 503   // The launch type should remain the same. | 509   // The launch type should remain the same. | 
| 504   ASSERT_TRUE(AwaitQuiescence()); | 510   ASSERT_TRUE(AwaitQuiescence()); | 
| 505   ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 511   ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 
| 506 } | 512 } | 
| 507 | 513 | 
|  | 514 IN_PROC_BROWSER_TEST_F(TwoClientAppsSyncTest, BookmarkApp) { | 
|  | 515   ASSERT_TRUE(SetupSync()); | 
|  | 516   ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 
|  | 517 | 
|  | 518   size_t num_extensions = | 
|  | 519       GetProfile(0)->GetExtensionService()->extensions()->size(); | 
|  | 520 | 
|  | 521   WebApplicationInfo web_app_info; | 
|  | 522   web_app_info.app_url = GURL("http://www.chromium.org"); | 
|  | 523   web_app_info.title = base::UTF8ToUTF16("Test name"); | 
|  | 524   web_app_info.description = base::UTF8ToUTF16("Test description"); | 
|  | 525   ++num_extensions; | 
|  | 526   { | 
|  | 527     content::WindowedNotificationObserver windowed_observer( | 
|  | 528         chrome::NOTIFICATION_CRX_INSTALLER_DONE, | 
|  | 529         content::NotificationService::AllSources()); | 
|  | 530     extensions::CreateOrUpdateBookmarkApp(GetProfile(0)->GetExtensionService(), | 
|  | 531                                           web_app_info); | 
|  | 532     windowed_observer.Wait(); | 
|  | 533     EXPECT_EQ(num_extensions, | 
|  | 534               extensions::ExtensionRegistry::Get(GetProfile(0)) | 
|  | 535                   ->enabled_extensions() | 
|  | 536                   .size()); | 
|  | 537   } | 
|  | 538   { | 
|  | 539     content::WindowedNotificationObserver windowed_observer( | 
|  | 540         chrome::NOTIFICATION_CRX_INSTALLER_DONE, | 
|  | 541         content::NotificationService::AllSources()); | 
|  | 542     extensions::CreateOrUpdateBookmarkApp(verifier()->GetExtensionService(), | 
|  | 543                                           web_app_info); | 
|  | 544     windowed_observer.Wait(); | 
|  | 545     EXPECT_EQ(num_extensions, | 
|  | 546               extensions::ExtensionRegistry::Get(verifier()) | 
|  | 547                   ->enabled_extensions() | 
|  | 548                   .size()); | 
|  | 549   } | 
|  | 550   { | 
|  | 551     // Wait for the synced app to install. | 
|  | 552     content::WindowedNotificationObserver windowed_observer( | 
|  | 553         chrome::NOTIFICATION_CRX_INSTALLER_DONE, | 
|  | 554         content::NotificationService::AllSources()); | 
|  | 555     ASSERT_TRUE(AwaitQuiescence()); | 
|  | 556     windowed_observer.Wait(); | 
|  | 557     ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 
|  | 558   } | 
|  | 559 } | 
| 508 // TODO(akalin): Add tests exercising: | 560 // TODO(akalin): Add tests exercising: | 
| 509 //   - Offline installation/uninstallation behavior | 561 //   - Offline installation/uninstallation behavior | 
| 510 //   - App-specific properties | 562 //   - App-specific properties | 
| OLD | NEW | 
|---|