| 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 "chrome/browser/extensions/extension_service.h" | 6 #include "chrome/browser/extensions/extension_service.h" |
| 7 #include "chrome/browser/extensions/extension_sorting.h" | 7 #include "chrome/browser/extensions/extension_sorting.h" |
| 8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
| 9 #include "chrome/browser/sync/profile_sync_service_harness.h" | 9 #include "chrome/browser/sync/profile_sync_service_harness.h" |
| 10 #include "chrome/browser/sync/test/integration/apps_helper.h" | 10 #include "chrome/browser/sync/test/integration/apps_helper.h" |
| 11 #include "chrome/browser/sync/test/integration/sync_app_helper.h" | 11 #include "chrome/browser/sync/test/integration/sync_app_helper.h" |
| 12 #include "chrome/browser/sync/test/integration/sync_test.h" | 12 #include "chrome/browser/sync/test/integration/sync_test.h" |
| 13 #include "chrome/common/extensions/extension_constants.h" | 13 #include "chrome/common/extensions/extension_constants.h" |
| 14 #include "sync/api/string_ordinal.h" |
| 14 | 15 |
| 15 using apps_helper::AllProfilesHaveSameAppsAsVerifier; | 16 using apps_helper::AllProfilesHaveSameAppsAsVerifier; |
| 16 using apps_helper::CopyNTPOrdinals; | 17 using apps_helper::CopyNTPOrdinals; |
| 17 using apps_helper::DisableApp; | 18 using apps_helper::DisableApp; |
| 18 using apps_helper::EnableApp; | 19 using apps_helper::EnableApp; |
| 19 using apps_helper::FixNTPOrdinalCollisions; | 20 using apps_helper::FixNTPOrdinalCollisions; |
| 20 using apps_helper::HasSameAppsAsVerifier; | 21 using apps_helper::HasSameAppsAsVerifier; |
| 21 using apps_helper::IncognitoDisableApp; | 22 using apps_helper::IncognitoDisableApp; |
| 22 using apps_helper::IncognitoEnableApp; | 23 using apps_helper::IncognitoEnableApp; |
| 23 using apps_helper::InstallApp; | 24 using apps_helper::InstallApp; |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 331 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 331 } | 332 } |
| 332 | 333 |
| 333 // Install the same app on both clients, then sync. Change the page ordinal on | 334 // Install the same app on both clients, then sync. Change the page ordinal on |
| 334 // one client and sync. Both clients should have the updated page ordinal for | 335 // one client and sync. Both clients should have the updated page ordinal for |
| 335 // the app. | 336 // the app. |
| 336 IN_PROC_BROWSER_TEST_F(TwoClientAppsSyncTest, UpdatePageOrdinal) { | 337 IN_PROC_BROWSER_TEST_F(TwoClientAppsSyncTest, UpdatePageOrdinal) { |
| 337 ASSERT_TRUE(SetupSync()); | 338 ASSERT_TRUE(SetupSync()); |
| 338 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 339 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 339 | 340 |
| 340 StringOrdinal initial_page = StringOrdinal::CreateInitialOrdinal(); | 341 syncer::StringOrdinal initial_page = |
| 342 syncer::StringOrdinal::CreateInitialOrdinal(); |
| 341 InstallApp(GetProfile(0), 0); | 343 InstallApp(GetProfile(0), 0); |
| 342 InstallApp(GetProfile(1), 0); | 344 InstallApp(GetProfile(1), 0); |
| 343 InstallApp(verifier(), 0); | 345 InstallApp(verifier(), 0); |
| 344 ASSERT_TRUE(AwaitQuiescence()); | 346 ASSERT_TRUE(AwaitQuiescence()); |
| 345 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 347 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 346 | 348 |
| 347 StringOrdinal second_page = initial_page.CreateAfter(); | 349 syncer::StringOrdinal second_page = initial_page.CreateAfter(); |
| 348 SetPageOrdinalForApp(GetProfile(0), 0, second_page); | 350 SetPageOrdinalForApp(GetProfile(0), 0, second_page); |
| 349 SetPageOrdinalForApp(verifier(), 0, second_page); | 351 SetPageOrdinalForApp(verifier(), 0, second_page); |
| 350 ASSERT_TRUE(AwaitQuiescence()); | 352 ASSERT_TRUE(AwaitQuiescence()); |
| 351 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 353 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 352 } | 354 } |
| 353 | 355 |
| 354 // Install the same app on both clients, then sync. Change the app launch | 356 // Install the same app on both clients, then sync. Change the app launch |
| 355 // ordinal on one client and sync. Both clients should have the updated app | 357 // ordinal on one client and sync. Both clients should have the updated app |
| 356 // launch ordinal for the app. | 358 // launch ordinal for the app. |
| 357 IN_PROC_BROWSER_TEST_F(TwoClientAppsSyncTest, UpdateAppLaunchOrdinal) { | 359 IN_PROC_BROWSER_TEST_F(TwoClientAppsSyncTest, UpdateAppLaunchOrdinal) { |
| 358 ASSERT_TRUE(SetupSync()); | 360 ASSERT_TRUE(SetupSync()); |
| 359 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 361 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 360 | 362 |
| 361 StringOrdinal initial_position = StringOrdinal::CreateInitialOrdinal(); | 363 syncer::StringOrdinal initial_position = |
| 364 syncer::StringOrdinal::CreateInitialOrdinal(); |
| 362 InstallApp(GetProfile(0), 0); | 365 InstallApp(GetProfile(0), 0); |
| 363 InstallApp(GetProfile(1), 0); | 366 InstallApp(GetProfile(1), 0); |
| 364 InstallApp(verifier(), 0); | 367 InstallApp(verifier(), 0); |
| 365 ASSERT_TRUE(AwaitQuiescence()); | 368 ASSERT_TRUE(AwaitQuiescence()); |
| 366 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 369 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 367 | 370 |
| 368 StringOrdinal second_position = initial_position.CreateAfter(); | 371 syncer::StringOrdinal second_position = initial_position.CreateAfter(); |
| 369 SetAppLaunchOrdinalForApp(GetProfile(0), 0, second_position); | 372 SetAppLaunchOrdinalForApp(GetProfile(0), 0, second_position); |
| 370 SetAppLaunchOrdinalForApp(verifier(), 0, second_position); | 373 SetAppLaunchOrdinalForApp(verifier(), 0, second_position); |
| 371 ASSERT_TRUE(AwaitQuiescence()); | 374 ASSERT_TRUE(AwaitQuiescence()); |
| 372 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 375 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 373 } | 376 } |
| 374 | 377 |
| 375 // Adjust the CWS location within a page on the first client and sync. Adjust | 378 // Adjust the CWS location within a page on the first client and sync. Adjust |
| 376 // which page the CWS appears on and sync. Both clients should have the same | 379 // which page the CWS appears on and sync. Both clients should have the same |
| 377 // page and app launch ordinal values for the CWS. | 380 // page and app launch ordinal values for the CWS. |
| 378 IN_PROC_BROWSER_TEST_F(TwoClientAppsSyncTest, UpdateCWSOrdinals) { | 381 IN_PROC_BROWSER_TEST_F(TwoClientAppsSyncTest, UpdateCWSOrdinals) { |
| 379 ASSERT_TRUE(SetupSync()); | 382 ASSERT_TRUE(SetupSync()); |
| 380 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 383 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 381 | 384 |
| 382 // Change the app launch ordinal. | 385 // Change the app launch ordinal. |
| 383 StringOrdinal cws_app_launch_ordinal = GetProfile(0)->GetExtensionService()-> | 386 syncer::StringOrdinal cws_app_launch_ordinal = |
| 387 GetProfile(0)->GetExtensionService()-> |
| 384 extension_prefs()->extension_sorting()->GetAppLaunchOrdinal( | 388 extension_prefs()->extension_sorting()->GetAppLaunchOrdinal( |
| 385 extension_misc::kWebStoreAppId); | 389 extension_misc::kWebStoreAppId); |
| 386 GetProfile(0)->GetExtensionService()->extension_prefs()->extension_sorting()-> | 390 GetProfile(0)->GetExtensionService()->extension_prefs()->extension_sorting()-> |
| 387 SetAppLaunchOrdinal( | 391 SetAppLaunchOrdinal( |
| 388 extension_misc::kWebStoreAppId, cws_app_launch_ordinal.CreateAfter()); | 392 extension_misc::kWebStoreAppId, cws_app_launch_ordinal.CreateAfter()); |
| 389 verifier()->GetExtensionService()->extension_prefs()->extension_sorting()-> | 393 verifier()->GetExtensionService()->extension_prefs()->extension_sorting()-> |
| 390 SetAppLaunchOrdinal( | 394 SetAppLaunchOrdinal( |
| 391 extension_misc::kWebStoreAppId, cws_app_launch_ordinal.CreateAfter()); | 395 extension_misc::kWebStoreAppId, cws_app_launch_ordinal.CreateAfter()); |
| 392 ASSERT_TRUE(AwaitQuiescence()); | 396 ASSERT_TRUE(AwaitQuiescence()); |
| 393 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 397 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 394 | 398 |
| 395 // Change the page ordinal. | 399 // Change the page ordinal. |
| 396 StringOrdinal cws_page_ordinal = GetProfile(1)->GetExtensionService()-> | 400 syncer::StringOrdinal cws_page_ordinal = |
| 401 GetProfile(1)->GetExtensionService()-> |
| 397 extension_prefs()->extension_sorting()->GetPageOrdinal( | 402 extension_prefs()->extension_sorting()->GetPageOrdinal( |
| 398 extension_misc::kWebStoreAppId); | 403 extension_misc::kWebStoreAppId); |
| 399 GetProfile(1)->GetExtensionService()->extension_prefs()-> | 404 GetProfile(1)->GetExtensionService()->extension_prefs()-> |
| 400 extension_sorting()->SetPageOrdinal(extension_misc::kWebStoreAppId, | 405 extension_sorting()->SetPageOrdinal(extension_misc::kWebStoreAppId, |
| 401 cws_page_ordinal.CreateAfter()); | 406 cws_page_ordinal.CreateAfter()); |
| 402 verifier()->GetExtensionService()->extension_prefs()-> | 407 verifier()->GetExtensionService()->extension_prefs()-> |
| 403 extension_sorting()->SetPageOrdinal(extension_misc::kWebStoreAppId, | 408 extension_sorting()->SetPageOrdinal(extension_misc::kWebStoreAppId, |
| 404 cws_page_ordinal.CreateAfter()); | 409 cws_page_ordinal.CreateAfter()); |
| 405 ASSERT_TRUE(AwaitQuiescence()); | 410 ASSERT_TRUE(AwaitQuiescence()); |
| 406 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); | 411 ASSERT_TRUE(AllProfilesHaveSameAppsAsVerifier()); |
| 407 } | 412 } |
| 408 | 413 |
| 409 // TODO(akalin): Add tests exercising: | 414 // TODO(akalin): Add tests exercising: |
| 410 // - Offline installation/uninstallation behavior | 415 // - Offline installation/uninstallation behavior |
| 411 // - App-specific properties | 416 // - App-specific properties |
| OLD | NEW |