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

Unified Diff: ash/wm/toplevel_window_event_handler_unittest.cc

Issue 12220026: ash: Do not allow minimizing windows in login screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add-test Created 7 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
« no previous file with comments | « ash/wm/toplevel_window_event_handler.cc ('k') | ash/wm/window_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/toplevel_window_event_handler_unittest.cc
diff --git a/ash/wm/toplevel_window_event_handler_unittest.cc b/ash/wm/toplevel_window_event_handler_unittest.cc
index 890c9409a024c8cefbca615990e8746946bd2b58..83db50cb266b2d3da73858f9471434c2e9ffbe2f 100644
--- a/ash/wm/toplevel_window_event_handler_unittest.cc
+++ b/ash/wm/toplevel_window_event_handler_unittest.cc
@@ -4,10 +4,12 @@
#include "ash/wm/toplevel_window_event_handler.h"
+#include "ash/root_window_controller.h"
#include "ash/shell.h"
#include "ash/shell_window_ids.h"
#include "ash/test/ash_test_base.h"
#include "ash/wm/property_util.h"
+#include "ash/wm/session_state_controller_impl.h"
#include "ash/wm/window_util.h"
#include "ash/wm/workspace/snap_sizer.h"
#include "ash/wm/workspace_controller.h"
@@ -76,6 +78,7 @@ class ToplevelWindowEventHandlerTest : public AshTestBase {
aura::Window* CreateWindow(int hittest_code) {
TestWindowDelegate* d1 = new TestWindowDelegate(hittest_code);
aura::Window* w1 = new aura::Window(d1);
+ w1->SetType(aura::client::WINDOW_TYPE_NORMAL);
w1->set_id(1);
w1->Init(ui::LAYER_TEXTURED);
aura::Window* parent =
@@ -381,7 +384,11 @@ TEST_F(ToplevelWindowEventHandlerTest, DontGotWiderThanScreen) {
// Verifies that touch-gestures drag the window correctly.
TEST_F(ToplevelWindowEventHandlerTest, GestureDrag) {
- scoped_ptr<aura::Window> target(CreateWindow(HTCAPTION));
+ scoped_ptr<aura::Window> target(
+ CreateTestWindowInShellWithDelegate(
+ new TestWindowDelegate(HTCAPTION),
+ 0,
+ gfx::Rect(0, 0, 100, 100)));
aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow(),
target.get());
gfx::Rect old_bounds = target->bounds();
@@ -463,6 +470,34 @@ TEST_F(ToplevelWindowEventHandlerTest, GestureDrag) {
GetRestoreBoundsInScreen(target.get())->ToString());
}
+// Tests that a gesture cannot minimize a window in login/lock screen.
+TEST_F(ToplevelWindowEventHandlerTest, GestureDragMinimizeLoginScreen) {
+ SessionStateControllerImpl* state_controller =
+ static_cast<SessionStateControllerImpl*>
+ (Shell::GetInstance()->session_state_controller());
+ state_controller->OnLoginStateChanged(user::LOGGED_IN_NONE);
+ state_controller->OnLockStateChanged(false);
+ SetUserLoggedIn(false);
+
+ scoped_ptr<aura::Window> target(CreateWindow(HTCAPTION));
+ aura::Window* lock = internal::RootWindowController::ForWindow(target.get())->
+ GetContainer(internal::kShellWindowId_LockSystemModalContainer);
+ lock->AddChild(target.get());
+ aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow(),
+ target.get());
+ gfx::Rect old_bounds = target->bounds();
+ gfx::Point location(5, 5);
+ target->SetProperty(aura::client::kCanMaximizeKey, true);
+
+ gfx::Point end = location;
+ end.Offset(0, 100);
+ generator.GestureScrollSequence(location, end,
+ base::TimeDelta::FromMilliseconds(5),
+ 10);
+ RunAllPendingInMessageLoop();
+ EXPECT_FALSE(wm::IsWindowMinimized(target.get()));
+}
+
TEST_F(ToplevelWindowEventHandlerTest, GestureDragToRestore) {
scoped_ptr<aura::Window> window(
CreateTestWindowInShellWithDelegate(
« no previous file with comments | « ash/wm/toplevel_window_event_handler.cc ('k') | ash/wm/window_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698