Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2397)

Unified Diff: ash/wm/panels/panel_window_resizer_unittest.cc

Issue 149493008: Use active window if on current workspace for fullscreen mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Only consider the currently active window on current root. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/wm/panels/panel_window_resizer_unittest.cc
diff --git a/ash/wm/panels/panel_window_resizer_unittest.cc b/ash/wm/panels/panel_window_resizer_unittest.cc
index 5939e6ce6286b6c65a0c2f51056d147b891e53eb..500f158b853f78a344411a666406368a55c5fc34 100644
--- a/ash/wm/panels/panel_window_resizer_unittest.cc
+++ b/ash/wm/panels/panel_window_resizer_unittest.cc
@@ -59,6 +59,13 @@ class PanelWindowResizerTest : public test::AshTestBase {
return location;
}
+ aura::Window* CreateWindow(const gfx::Point& origin) {
+ gfx::Rect bounds(origin, gfx::Size(101, 101));
+ aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
+ NULL, ui::wm::WINDOW_TYPE_NORMAL, 0, bounds);
+ return window;
+ }
oshima 2014/02/21 19:49:46 Looks a bit overkill. Can you just do CreateTestW
flackr 2014/02/24 16:21:10 Done.
+
aura::Window* CreatePanelWindow(const gfx::Point& origin) {
gfx::Rect bounds(origin, gfx::Size(101, 101));
aura::Window* window = CreateTestWindowInShellWithDelegateAndType(
@@ -400,6 +407,41 @@ TEST_F(PanelWindowResizerTest, AttachToSecondDisplay) {
EXPECT_EQ(internal::kShellWindowId_PanelContainer, window->parent()->id());
}
+TEST_F(PanelWindowResizerTest, AttachToSecondFullscreenDisplay) {
+ if (!SupportsMultipleDisplays())
+ return;
+
+ UpdateDisplay("600x400,600x600");
+ aura::Window::Windows root_windows = Shell::GetAllRootWindows();
+ scoped_ptr<aura::Window> window(
+ CreatePanelWindow(gfx::Point(0, 0)));
+ scoped_ptr<aura::Window> fullscreen(
+ CreateWindow(gfx::Point(600, 0)));
+ wm::GetWindowState(fullscreen.get())->Activate();
+ wm::GetWindowState(fullscreen.get())->ToggleFullscreen();
+ EXPECT_TRUE(wm::GetWindowState(fullscreen.get())->IsFullscreen());
+
+ gfx::Rect initial_bounds = window->GetBoundsInScreen();
+ EXPECT_EQ(root_windows[0], window->GetRootWindow());
+
+ // Activate and drag the window to the other display's launcher.
+ wm::GetWindowState(window.get())->Activate();
+ DragStart(window.get());
+ DragMove(500, 250);
+ EXPECT_EQ(initial_bounds.x() + 500, window->GetBoundsInScreen().x());
+ EXPECT_GT(window->GetBoundsInScreen().y(),
+ initial_bounds.y() + 200);
+ DragEnd();
+
+ // When dropped should move to second display's panel container.
+ EXPECT_EQ(root_windows[1], window->GetRootWindow());
+ EXPECT_TRUE(wm::GetWindowState(window.get())->panel_attached());
+ EXPECT_EQ(internal::kShellWindowId_PanelContainer, window->parent()->id());
+ EXPECT_TRUE(window->IsVisible());
+ EXPECT_TRUE(wm::GetWindowState(window.get())->IsActive());
+ EXPECT_EQ(initial_bounds.y() + 200, window->GetBoundsInScreen().y());
+}
+
TEST_F(PanelWindowResizerTest, RevertDragRestoresAttachment) {
scoped_ptr<aura::Window> window(
CreatePanelWindow(gfx::Point(0, 0)));

Powered by Google App Engine
This is Rietveld 408576698