EXPECT_EQ(item_count, shelf_model()->item_count());
}
+#if defined(OS_CHROMEOS)
+// Test that we get correct shelf presence with hidden app windows.
+IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, HiddenAppWindows) {
+ int item_count = shelf_model()->item_count();
+ const Extension* extension = LoadAndLaunchPlatformApp("launch");
+ AppWindow::CreateParams params;
+
+ // Create a hidden window.
+ params.hidden = true;
+ AppWindow* window_1 = CreateAppWindowFromParams(extension, params);
+ EXPECT_EQ(item_count, shelf_model()->item_count());
+
+ // Create a visible window.
+ params.hidden = false;
+ AppWindow* window_2 = CreateAppWindowFromParams(extension, params);
+ ++item_count;
+ EXPECT_EQ(item_count, shelf_model()->item_count());
+
+ // Minimize the visible window.
+ window_2->Minimize();
+ EXPECT_EQ(item_count, shelf_model()->item_count());
+
+ // Hide the visible window.
+ window_2->Hide();
+ --item_count;
+ EXPECT_EQ(item_count, shelf_model()->item_count());
+
+ // Show the originally hidden window.
+ window_1->Show(AppWindow::SHOW_ACTIVE);
+ ++item_count;
+ EXPECT_EQ(item_count, shelf_model()->item_count());
+
+ // Close the originally hidden window.
+ CloseAppWindow(window_1);
+ --item_count;
+ EXPECT_EQ(item_count, shelf_model()->item_count());
+}
+#endif
+
// Test attention states of windows.
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, WindowAttentionStatus) {
const Extension* extension = LoadAndLaunchPlatformApp("launch");