| Index: chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc b/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
|
| index 4c2fce31cf0956f3aa05759d4be3204dcf4a8cfb..bfa19f55937b7058cc1ba8b3ed9ad2dfc777a5ef 100644
|
| --- a/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
|
| +++ b/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/macros.h"
|
| #include "base/run_loop.h"
|
| #include "chrome/browser/extensions/extension_browsertest.h"
|
| +#include "chrome/browser/ui/app_list/app_list_service.h"
|
| #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h"
|
| #include "chrome/browser/ui/app_list/arc/arc_app_utils.h"
|
| #include "chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h"
|
| @@ -113,13 +114,16 @@ class ArcAppLauncherBrowserTest : public ExtensionBrowserTest {
|
| ASSERT_TRUE(app_info2);
|
| EXPECT_TRUE(app_info2->ready);
|
| }
|
| + }
|
|
|
| + void SendPackageAdded(bool package_synced) {
|
| arc::mojom::ArcPackageInfo package_info;
|
| package_info.package_name = kTestAppPackage;
|
| package_info.package_version = 1;
|
| package_info.last_backup_android_id = 1;
|
| package_info.last_backup_time = 1;
|
| - package_info.sync = false;
|
| + package_info.sync = package_synced;
|
| + package_info.system = false;
|
| app_host()->OnPackageAdded(arc::mojom::ArcPackageInfo::From(package_info));
|
|
|
| base::RunLoop().RunUntilIdle();
|
| @@ -133,7 +137,8 @@ class ArcAppLauncherBrowserTest : public ExtensionBrowserTest {
|
| void SendPackageRemoved() { app_host()->OnPackageRemoved(kTestAppPackage); }
|
|
|
| void StartInstance() {
|
| - auth_service()->OnPrimaryUserProfilePrepared(profile());
|
| + if (auth_service()->profile() != profile())
|
| + auth_service()->OnPrimaryUserProfilePrepared(profile());
|
| app_instance_observer()->OnInstanceReady();
|
| }
|
|
|
| @@ -163,7 +168,9 @@ class ArcAppLauncherBrowserTest : public ExtensionBrowserTest {
|
|
|
| // This tests validates pin state on package update and remove.
|
| IN_PROC_BROWSER_TEST_F(ArcAppLauncherBrowserTest, PinOnPackageUpdateAndRemove) {
|
| + StartInstance();
|
| InstallTestApps(true);
|
| + SendPackageAdded(false);
|
|
|
| const std::string app_id1 = GetTestApp1Id();
|
| const std::string app_id2 = GetTestApp2Id();
|
| @@ -174,13 +181,13 @@ IN_PROC_BROWSER_TEST_F(ArcAppLauncherBrowserTest, PinOnPackageUpdateAndRemove) {
|
| EXPECT_TRUE(shelf_id1_before);
|
| EXPECT_TRUE(shelf_delegate()->GetShelfIDForAppID(app_id2));
|
|
|
| - // Package contains only one app.
|
| + // Package contains only one app. App list is not shown for updated package.
|
| SendPackageUpdated(false);
|
| // Second pin should gone.
|
| EXPECT_EQ(shelf_id1_before, shelf_delegate()->GetShelfIDForAppID(app_id1));
|
| EXPECT_FALSE(shelf_delegate()->GetShelfIDForAppID(app_id2));
|
|
|
| - // Package contains two apps.
|
| + // Package contains two apps. App list is not shown for updated package.
|
| SendPackageUpdated(true);
|
| // Second pin should not appear.
|
| EXPECT_EQ(shelf_id1_before, shelf_delegate()->GetShelfIDForAppID(app_id1));
|
| @@ -192,3 +199,25 @@ IN_PROC_BROWSER_TEST_F(ArcAppLauncherBrowserTest, PinOnPackageUpdateAndRemove) {
|
| EXPECT_FALSE(shelf_delegate()->GetShelfIDForAppID(app_id1));
|
| EXPECT_FALSE(shelf_delegate()->GetShelfIDForAppID(app_id2));
|
| }
|
| +
|
| +// This test validates that app list is shown on new package and not shown
|
| +// on package update.
|
| +IN_PROC_BROWSER_TEST_F(ArcAppLauncherBrowserTest, AppListShown) {
|
| + StartInstance();
|
| + AppListService* app_list_service = AppListService::Get();
|
| + ASSERT_TRUE(app_list_service);
|
| +
|
| + EXPECT_FALSE(app_list_service->IsAppListVisible());
|
| +
|
| + // New package is available. Show app list.
|
| + InstallTestApps(false);
|
| + SendPackageAdded(true);
|
| + EXPECT_TRUE(app_list_service->IsAppListVisible());
|
| +
|
| + app_list_service->DismissAppList();
|
| + EXPECT_FALSE(app_list_service->IsAppListVisible());
|
| +
|
| + // Send package update event. App list is not shown.
|
| + SendPackageAdded(true);
|
| + EXPECT_FALSE(app_list_service->IsAppListVisible());
|
| +}
|
|
|