| 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/saved_files_service.h" | 9 #include "apps/saved_files_service.h" |
| 10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
| (...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 VerifySyncChange(sync_change.get(), true); | 547 VerifySyncChange(sync_change.get(), true); |
| 548 } | 548 } |
| 549 | 549 |
| 550 // Verifies that promoting an ephemeral app will enable it. | 550 // Verifies that promoting an ephemeral app will enable it. |
| 551 IN_PROC_BROWSER_TEST_F(EphemeralAppBrowserTest, PromoteEphemeralAppAndEnable) { | 551 IN_PROC_BROWSER_TEST_F(EphemeralAppBrowserTest, PromoteEphemeralAppAndEnable) { |
| 552 InitSyncService(); | 552 InitSyncService(); |
| 553 | 553 |
| 554 const Extension* app = InstallEphemeralApp(kNotificationsTestApp); | 554 const Extension* app = InstallEphemeralApp(kNotificationsTestApp); |
| 555 ASSERT_TRUE(app); | 555 ASSERT_TRUE(app); |
| 556 | 556 |
| 557 // Disable the ephemeral app. | 557 // Disable the ephemeral app due to a permissions increase. This also involves |
| 558 // setting the DidExtensionEscalatePermissions flag. |
| 559 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile()); |
| 560 prefs->SetDidExtensionEscalatePermissions(app, true); |
| 558 ExtensionService* service = | 561 ExtensionService* service = |
| 559 ExtensionSystem::Get(profile())->extension_service(); | 562 ExtensionSystem::Get(profile())->extension_service(); |
| 560 service->DisableExtension(app->id(), Extension::DISABLE_PERMISSIONS_INCREASE); | 563 service->DisableExtension(app->id(), Extension::DISABLE_PERMISSIONS_INCREASE); |
| 561 ASSERT_TRUE(ExtensionRegistry::Get(profile())-> | 564 ASSERT_TRUE(ExtensionRegistry::Get(profile())-> |
| 562 GetExtensionById(app->id(), ExtensionRegistry::DISABLED)); | 565 GetExtensionById(app->id(), ExtensionRegistry::DISABLED)); |
| 563 | 566 |
| 564 // Promote to a regular installed app. It should be enabled. | 567 // Promote to a regular installed app. It should be enabled. |
| 565 PromoteEphemeralApp(app); | 568 PromoteEphemeralApp(app); |
| 566 VerifyPromotedApp(app->id(), ExtensionRegistry::ENABLED); | 569 VerifyPromotedApp(app->id(), ExtensionRegistry::ENABLED); |
| 570 EXPECT_FALSE(prefs->DidExtensionEscalatePermissions(app->id())); |
| 567 | 571 |
| 568 scoped_ptr<AppSyncData> sync_change = GetFirstSyncChangeForApp(app->id()); | 572 scoped_ptr<AppSyncData> sync_change = GetFirstSyncChangeForApp(app->id()); |
| 569 VerifySyncChange(sync_change.get(), true); | 573 VerifySyncChange(sync_change.get(), true); |
| 570 } | 574 } |
| 571 | 575 |
| 572 // Verifies that promoting an ephemeral app that has unsupported requirements | 576 // Verifies that promoting an ephemeral app that has unsupported requirements |
| 573 // will not enable it. | 577 // will not enable it. |
| 574 IN_PROC_BROWSER_TEST_F(EphemeralAppBrowserTest, | 578 IN_PROC_BROWSER_TEST_F(EphemeralAppBrowserTest, |
| 575 PromoteUnsupportedEphemeralApp) { | 579 PromoteUnsupportedEphemeralApp) { |
| 576 InitSyncService(); | 580 InitSyncService(); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 CloseApp(app_id); | 674 CloseApp(app_id); |
| 671 installed_signal.Wait(); | 675 installed_signal.Wait(); |
| 672 VerifyPromotedApp(app_id, ExtensionRegistry::ENABLED); | 676 VerifyPromotedApp(app_id, ExtensionRegistry::ENABLED); |
| 673 | 677 |
| 674 // Check the notification parameters. | 678 // Check the notification parameters. |
| 675 const InstallObserver::InstallParameters& params = installed_observer.Last(); | 679 const InstallObserver::InstallParameters& params = installed_observer.Last(); |
| 676 EXPECT_EQ(app_id, params.id); | 680 EXPECT_EQ(app_id, params.id); |
| 677 EXPECT_TRUE(params.is_update); | 681 EXPECT_TRUE(params.is_update); |
| 678 EXPECT_TRUE(params.from_ephemeral); | 682 EXPECT_TRUE(params.from_ephemeral); |
| 679 } | 683 } |
| OLD | NEW |