OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/apps/ephemeral_app_browsertest.h" | 5 #include "chrome/browser/apps/ephemeral_app_browsertest.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "apps/app_restore_service.h" | 9 #include "apps/app_restore_service.h" |
10 #include "apps/saved_files_service.h" | 10 #include "apps/saved_files_service.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 #include "extensions/common/extension.h" | 38 #include "extensions/common/extension.h" |
39 #include "extensions/test/extension_test_message_listener.h" | 39 #include "extensions/test/extension_test_message_listener.h" |
40 #include "extensions/test/result_catcher.h" | 40 #include "extensions/test/result_catcher.h" |
41 #include "sync/api/fake_sync_change_processor.h" | 41 #include "sync/api/fake_sync_change_processor.h" |
42 #include "sync/api/sync_change_processor_wrapper_for_test.h" | 42 #include "sync/api/sync_change_processor_wrapper_for_test.h" |
43 #include "sync/api/sync_error_factory_mock.h" | 43 #include "sync/api/sync_error_factory_mock.h" |
44 #include "ui/app_list/app_list_switches.h" | 44 #include "ui/app_list/app_list_switches.h" |
45 #include "ui/message_center/message_center.h" | 45 #include "ui/message_center/message_center.h" |
46 #include "ui/message_center/notifier_settings.h" | 46 #include "ui/message_center/notifier_settings.h" |
47 | 47 |
| 48 using extensions::AppSorting; |
48 using extensions::Event; | 49 using extensions::Event; |
49 using extensions::EventRouter; | 50 using extensions::EventRouter; |
50 using extensions::Extension; | 51 using extensions::Extension; |
51 using extensions::ExtensionPrefs; | 52 using extensions::ExtensionPrefs; |
52 using extensions::ExtensionRegistry; | 53 using extensions::ExtensionRegistry; |
53 using extensions::ExtensionRegistryObserver; | 54 using extensions::ExtensionRegistryObserver; |
54 using extensions::ExtensionSyncData; | 55 using extensions::ExtensionSyncData; |
55 using extensions::ExtensionSystem; | 56 using extensions::ExtensionSystem; |
56 using extensions::Manifest; | 57 using extensions::Manifest; |
57 using extensions::ResultCatcher; | 58 using extensions::ResultCatcher; |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 | 370 |
370 // Verify properties of ephemeral apps. | 371 // Verify properties of ephemeral apps. |
371 void VerifyEphemeralApp(const std::string& app_id) { | 372 void VerifyEphemeralApp(const std::string& app_id) { |
372 EXPECT_TRUE(extensions::util::IsEphemeralApp(app_id, profile())); | 373 EXPECT_TRUE(extensions::util::IsEphemeralApp(app_id, profile())); |
373 | 374 |
374 // Ephemeral apps should not be synced. | 375 // Ephemeral apps should not be synced. |
375 scoped_ptr<ExtensionSyncData> sync_change = GetLastSyncChangeForApp(app_id); | 376 scoped_ptr<ExtensionSyncData> sync_change = GetLastSyncChangeForApp(app_id); |
376 EXPECT_FALSE(sync_change.get()); | 377 EXPECT_FALSE(sync_change.get()); |
377 | 378 |
378 // Ephemeral apps should not be assigned ordinals. | 379 // Ephemeral apps should not be assigned ordinals. |
379 extensions::AppSorting* app_sorting = | 380 AppSorting* app_sorting = ExtensionSystem::Get(profile())->app_sorting(); |
380 ExtensionPrefs::Get(profile())->app_sorting(); | |
381 EXPECT_FALSE(app_sorting->GetAppLaunchOrdinal(app_id).IsValid()); | 381 EXPECT_FALSE(app_sorting->GetAppLaunchOrdinal(app_id).IsValid()); |
382 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_id).IsValid()); | 382 EXPECT_FALSE(app_sorting->GetPageOrdinal(app_id).IsValid()); |
383 } | 383 } |
384 | 384 |
385 // Verify that after ephemeral apps stop running, they reside in extension | 385 // Verify that after ephemeral apps stop running, they reside in extension |
386 // system in a disabled and unloaded state. | 386 // system in a disabled and unloaded state. |
387 void VerifyInactiveEphemeralApp(const std::string& app_id) { | 387 void VerifyInactiveEphemeralApp(const std::string& app_id) { |
388 EXPECT_TRUE( | 388 EXPECT_TRUE( |
389 ExtensionRegistry::Get(profile())->disabled_extensions().Contains( | 389 ExtensionRegistry::Get(profile())->disabled_extensions().Contains( |
390 app_id)); | 390 app_id)); |
(...skipping 15 matching lines...) Expand all Loading... |
406 | 406 |
407 // The app should not be ephemeral. | 407 // The app should not be ephemeral. |
408 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile()); | 408 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile()); |
409 ASSERT_TRUE(prefs); | 409 ASSERT_TRUE(prefs); |
410 EXPECT_FALSE(prefs->IsEphemeralApp(app_id)); | 410 EXPECT_FALSE(prefs->IsEphemeralApp(app_id)); |
411 EXPECT_EQ(0, | 411 EXPECT_EQ(0, |
412 prefs->GetDisableReasons(app_id) & | 412 prefs->GetDisableReasons(app_id) & |
413 Extension::DISABLE_INACTIVE_EPHEMERAL_APP); | 413 Extension::DISABLE_INACTIVE_EPHEMERAL_APP); |
414 | 414 |
415 // Check sort ordinals. | 415 // Check sort ordinals. |
416 extensions::AppSorting* app_sorting = prefs->app_sorting(); | 416 AppSorting* app_sorting = ExtensionSystem::Get(profile())->app_sorting(); |
417 EXPECT_TRUE(app_sorting->GetAppLaunchOrdinal(app_id).IsValid()); | 417 EXPECT_TRUE(app_sorting->GetAppLaunchOrdinal(app_id).IsValid()); |
418 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_id).IsValid()); | 418 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_id).IsValid()); |
419 } | 419 } |
420 | 420 |
421 // Dispatch a fake alarm event to the app. | 421 // Dispatch a fake alarm event to the app. |
422 void DispatchAlarmEvent(EventRouter* event_router, | 422 void DispatchAlarmEvent(EventRouter* event_router, |
423 const std::string& app_id) { | 423 const std::string& app_id) { |
424 alarms::Alarm dummy_alarm; | 424 alarms::Alarm dummy_alarm; |
425 dummy_alarm.name = "test_alarm"; | 425 dummy_alarm.name = "test_alarm"; |
426 | 426 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 | 497 |
498 ExtensionSyncService::Get(profile())->ProcessSyncChanges( | 498 ExtensionSyncService::Get(profile())->ProcessSyncChanges( |
499 FROM_HERE, | 499 FROM_HERE, |
500 syncer::SyncChangeList( | 500 syncer::SyncChangeList( |
501 1, app_sync_data.GetSyncChange(syncer::SyncChange::ACTION_ADD))); | 501 1, app_sync_data.GetSyncChange(syncer::SyncChange::ACTION_ADD))); |
502 | 502 |
503 // Verify the installation. | 503 // Verify the installation. |
504 VerifyPromotedApp(app_id, expected_set); | 504 VerifyPromotedApp(app_id, expected_set); |
505 | 505 |
506 // The sort ordinals from sync should not be overridden. | 506 // The sort ordinals from sync should not be overridden. |
507 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile()); | 507 AppSorting* app_sorting = ExtensionSystem::Get(profile())->app_sorting(); |
508 extensions::AppSorting* app_sorting = prefs->app_sorting(); | |
509 EXPECT_TRUE( | 508 EXPECT_TRUE( |
510 app_sorting->GetAppLaunchOrdinal(app_id).Equals(kAppLaunchOrdinal)); | 509 app_sorting->GetAppLaunchOrdinal(app_id).Equals(kAppLaunchOrdinal)); |
511 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_id).Equals(kPageOrdinal)); | 510 EXPECT_TRUE(app_sorting->GetPageOrdinal(app_id).Equals(kPageOrdinal)); |
512 } | 511 } |
513 | 512 |
514 void InitSyncService() { | 513 void InitSyncService() { |
515 if (!kEnableSync) | 514 if (!kEnableSync) |
516 return; | 515 return; |
517 | 516 |
518 ExtensionSyncService* sync_service = ExtensionSyncService::Get(profile()); | 517 ExtensionSyncService* sync_service = ExtensionSyncService::Get(profile()); |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 base::Bind(&PowerSaveBlockerStub::Create, &power_settings)); | 1031 base::Bind(&PowerSaveBlockerStub::Create, &power_settings)); |
1033 | 1032 |
1034 const Extension* app = InstallAndLaunchEphemeralApp(kPowerTestApp); | 1033 const Extension* app = InstallAndLaunchEphemeralApp(kPowerTestApp); |
1035 ASSERT_TRUE(app); | 1034 ASSERT_TRUE(app); |
1036 EXPECT_EQ(1, power_settings.keep_awake_count()); | 1035 EXPECT_EQ(1, power_settings.keep_awake_count()); |
1037 | 1036 |
1038 CloseAppWaitForUnload(app->id()); | 1037 CloseAppWaitForUnload(app->id()); |
1039 | 1038 |
1040 EXPECT_EQ(0, power_settings.keep_awake_count()); | 1039 EXPECT_EQ(0, power_settings.keep_awake_count()); |
1041 } | 1040 } |
OLD | NEW |