| Index: ui/views/corewm/compound_event_filter_unittest.cc
|
| diff --git a/ui/views/corewm/compound_event_filter_unittest.cc b/ui/views/corewm/compound_event_filter_unittest.cc
|
| index e179bde98c92bfb0933ef1e592b5c67315a5c035..9d8bd5ac1dd6a3162acd4f0d60832958f2afd30d 100644
|
| --- a/ui/views/corewm/compound_event_filter_unittest.cc
|
| +++ b/ui/views/corewm/compound_event_filter_unittest.cc
|
| @@ -48,6 +48,45 @@ class ConsumeGestureEventFilter : public ui::EventHandler {
|
|
|
| typedef aura::test::AuraTestBase CompoundEventFilterTest;
|
|
|
| +TEST_F(CompoundEventFilterTest, CursorVisibilityChange) {
|
| + scoped_ptr<CompoundEventFilter> compound_filter(new CompoundEventFilter);
|
| + aura::Env::GetInstance()->AddPreTargetHandler(compound_filter.get());
|
| + aura::test::TestWindowDelegate delegate;
|
| + scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(&delegate, 1234,
|
| + gfx::Rect(5, 5, 100, 100), root_window()));
|
| + window->Show();
|
| + window->SetCapture();
|
| +
|
| + aura::test::TestCursorClient cursor_client(root_window());
|
| +
|
| + // Send key event to hide the cursor.
|
| + ui::KeyEvent key(ui::ET_KEY_PRESSED, ui::VKEY_A, 0, true);
|
| + root_window()->AsRootWindowHostDelegate()->OnHostKeyEvent(&key);
|
| + EXPECT_FALSE(cursor_client.IsCursorVisible());
|
| +
|
| + // Mouse enter event should not show the cursor.
|
| + ui::MouseEvent enter(ui::ET_MOUSE_ENTERED, gfx::Point(10, 10),
|
| + gfx::Point(10, 10), 0);
|
| + root_window()->AsRootWindowHostDelegate()->OnHostMouseEvent(&enter);
|
| + EXPECT_FALSE(cursor_client.IsCursorVisible());
|
| +
|
| + // Mouse move event will show the cursor.
|
| + ui::MouseEvent move(ui::ET_MOUSE_MOVED, gfx::Point(10, 10),
|
| + gfx::Point(10, 10), 0);
|
| + root_window()->AsRootWindowHostDelegate()->OnHostMouseEvent(&move);
|
| + EXPECT_TRUE(cursor_client.IsCursorVisible());
|
| +
|
| + // Send key event to hide the cursor again.
|
| + root_window()->AsRootWindowHostDelegate()->OnHostKeyEvent(&key);
|
| + EXPECT_FALSE(cursor_client.IsCursorVisible());
|
| +
|
| + // Mouse exit event should not show the cursor.
|
| + ui::MouseEvent exit(ui::ET_MOUSE_EXITED, gfx::Point(10, 10),
|
| + gfx::Point(10, 10), 0);
|
| + root_window()->AsRootWindowHostDelegate()->OnHostMouseEvent(&exit);
|
| + EXPECT_FALSE(cursor_client.IsCursorVisible());
|
| +}
|
| +
|
| TEST_F(CompoundEventFilterTest, TouchHidesCursor) {
|
| scoped_ptr<CompoundEventFilter> compound_filter(new CompoundEventFilter);
|
| aura::Env::GetInstance()->AddPreTargetHandler(compound_filter.get());
|
|
|