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" |
11 #include "base/files/scoped_temp_dir.h" | 11 #include "base/files/scoped_temp_dir.h" |
12 #include "base/scoped_observer.h" | 12 #include "base/scoped_observer.h" |
13 #include "base/stl_util.h" | 13 #include "base/stl_util.h" |
14 #include "chrome/browser/apps/app_browsertest_util.h" | 14 #include "chrome/browser/apps/app_browsertest_util.h" |
15 #include "chrome/browser/apps/ephemeral_app_service.h" | 15 #include "chrome/browser/apps/ephemeral_app_service.h" |
16 #include "chrome/browser/extensions/api/file_system/file_system_api.h" | 16 #include "chrome/browser/extensions/api/file_system/file_system_api.h" |
17 #include "chrome/browser/extensions/app_sync_data.h" | 17 #include "chrome/browser/extensions/app_sync_data.h" |
18 #include "chrome/browser/extensions/extension_service.h" | 18 #include "chrome/browser/extensions/extension_service.h" |
19 #include "chrome/browser/extensions/extension_sync_service.h" | 19 #include "chrome/browser/extensions/extension_sync_service.h" |
20 #include "chrome/browser/extensions/extension_util.h" | 20 #include "chrome/browser/extensions/extension_util.h" |
21 #include "chrome/browser/notifications/desktop_notification_service.h" | 21 #include "chrome/browser/notifications/desktop_notification_service.h" |
22 #include "chrome/browser/notifications/desktop_notification_service_factory.h" | 22 #include "chrome/browser/notifications/desktop_notification_service_factory.h" |
23 #include "content/public/browser/power_save_blocker.h" | 23 #include "content/public/browser/power_save_blocker.h" |
24 #include "content/public/test/browser_test.h" | 24 #include "content/public/test/browser_test.h" |
25 #include "content/public/test/test_utils.h" | 25 #include "content/public/test/test_utils.h" |
26 #include "extensions/browser/api/power/power_api_manager.h" | 26 #include "extensions/browser/api/power/power_api.h" |
27 #include "extensions/browser/app_sorting.h" | 27 #include "extensions/browser/app_sorting.h" |
28 #include "extensions/browser/event_router.h" | 28 #include "extensions/browser/event_router.h" |
29 #include "extensions/browser/extension_prefs.h" | 29 #include "extensions/browser/extension_prefs.h" |
30 #include "extensions/browser/extension_registry.h" | 30 #include "extensions/browser/extension_registry.h" |
31 #include "extensions/browser/extension_registry_observer.h" | 31 #include "extensions/browser/extension_registry_observer.h" |
32 #include "extensions/browser/extension_system.h" | 32 #include "extensions/browser/extension_system.h" |
33 #include "extensions/browser/extension_util.h" | 33 #include "extensions/browser/extension_util.h" |
34 #include "extensions/browser/notification_types.h" | 34 #include "extensions/browser/notification_types.h" |
35 #include "extensions/browser/process_manager.h" | 35 #include "extensions/browser/process_manager.h" |
36 #include "extensions/browser/uninstall_reason.h" | 36 #include "extensions/browser/uninstall_reason.h" |
(...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1021 int creation_flags = | 1021 int creation_flags = |
1022 ExtensionPrefs::Get(profile())->GetCreationFlags(app->id()); | 1022 ExtensionPrefs::Get(profile())->GetCreationFlags(app->id()); |
1023 EXPECT_EQ(0, creation_flags & Extension::IS_EPHEMERAL); | 1023 EXPECT_EQ(0, creation_flags & Extension::IS_EPHEMERAL); |
1024 } | 1024 } |
1025 | 1025 |
1026 // Verifies that the power keep awake will be automatically released for | 1026 // Verifies that the power keep awake will be automatically released for |
1027 // ephemeral apps that stop running. Well behaved apps should actually call | 1027 // ephemeral apps that stop running. Well behaved apps should actually call |
1028 // chrome.power.releaseKeepAwake() themselves. | 1028 // chrome.power.releaseKeepAwake() themselves. |
1029 IN_PROC_BROWSER_TEST_F(EphemeralAppBrowserTest, ReleasePowerKeepAwake) { | 1029 IN_PROC_BROWSER_TEST_F(EphemeralAppBrowserTest, ReleasePowerKeepAwake) { |
1030 PowerSettingsMock power_settings; | 1030 PowerSettingsMock power_settings; |
1031 extensions::PowerApiManager* power_manager = | 1031 extensions::PowerAPI::Get(profile())->SetCreateBlockerFunctionForTesting( |
1032 extensions::PowerApiManager::Get(profile()); | |
1033 power_manager->SetCreateBlockerFunctionForTesting( | |
1034 base::Bind(&PowerSaveBlockerStub::Create, &power_settings)); | 1032 base::Bind(&PowerSaveBlockerStub::Create, &power_settings)); |
1035 | 1033 |
1036 const Extension* app = InstallAndLaunchEphemeralApp(kPowerTestApp); | 1034 const Extension* app = InstallAndLaunchEphemeralApp(kPowerTestApp); |
1037 ASSERT_TRUE(app); | 1035 ASSERT_TRUE(app); |
1038 EXPECT_EQ(1, power_settings.keep_awake_count()); | 1036 EXPECT_EQ(1, power_settings.keep_awake_count()); |
1039 | 1037 |
1040 CloseAppWaitForUnload(app->id()); | 1038 CloseAppWaitForUnload(app->id()); |
1041 | 1039 |
1042 EXPECT_EQ(0, power_settings.keep_awake_count()); | 1040 EXPECT_EQ(0, power_settings.keep_awake_count()); |
1043 } | 1041 } |
OLD | NEW |