| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/wm/user_activity_detector.h" | 5 #include "ash/wm/user_activity_detector.h" |
| 6 | 6 |
| 7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
| 8 #include "ash/test/ash_test_base.h" | 8 #include "ash/test/ash_test_base.h" |
| 9 #include "ash/wm/user_activity_observer.h" | 9 #include "ash/wm/user_activity_observer.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 TEST_F(UserActivityDetectorTest, Basic) { | 90 TEST_F(UserActivityDetectorTest, Basic) { |
| 91 scoped_ptr<aura::Window> window(CreateTestWindowInShellWithId(12345)); | 91 scoped_ptr<aura::Window> window(CreateTestWindowInShellWithId(12345)); |
| 92 | 92 |
| 93 ui::KeyEvent key_event(ui::ET_KEY_PRESSED, ui::VKEY_A, ui::EF_NONE, false); | 93 ui::KeyEvent key_event(ui::ET_KEY_PRESSED, ui::VKEY_A, ui::EF_NONE, false); |
| 94 SetEventTarget(window.get(), &key_event); | 94 SetEventTarget(window.get(), &key_event); |
| 95 detector_->OnKeyEvent(&key_event); | 95 detector_->OnKeyEvent(&key_event); |
| 96 EXPECT_FALSE(key_event.handled()); | 96 EXPECT_FALSE(key_event.handled()); |
| 97 EXPECT_EQ(1, observer_->num_invocations()); | 97 EXPECT_EQ(1, observer_->num_invocations()); |
| 98 observer_->reset_stats(); | 98 observer_->reset_stats(); |
| 99 | 99 |
| 100 base::TimeDelta advance_delta = | 100 base::TimeDelta advance_delta = base::TimeDelta::FromMilliseconds( |
| 101 base::TimeDelta::FromSeconds(UserActivityDetector::kNotifyIntervalMs); | 101 UserActivityDetector::kNotifyIntervalMs); |
| 102 AdvanceTime(advance_delta); | 102 AdvanceTime(advance_delta); |
| 103 ui::MouseEvent mouse_event( | 103 ui::MouseEvent mouse_event( |
| 104 ui::ET_MOUSE_MOVED, gfx::Point(), gfx::Point(), ui::EF_NONE); | 104 ui::ET_MOUSE_MOVED, gfx::Point(), gfx::Point(), ui::EF_NONE); |
| 105 SetEventTarget(window.get(), &mouse_event); | 105 SetEventTarget(window.get(), &mouse_event); |
| 106 detector_->OnMouseEvent(&mouse_event); | 106 detector_->OnMouseEvent(&mouse_event); |
| 107 EXPECT_FALSE(mouse_event.handled()); | 107 EXPECT_FALSE(mouse_event.handled()); |
| 108 EXPECT_EQ(1, observer_->num_invocations()); | 108 EXPECT_EQ(1, observer_->num_invocations()); |
| 109 observer_->reset_stats(); | 109 observer_->reset_stats(); |
| 110 | 110 |
| 111 // Ignore one mouse event when all displays are turned off. | 111 // Temporarily ignore mouse events when displays are turned on or off. |
| 112 detector_->OnAllOutputsTurnedOff(); | 112 detector_->OnDisplayPowerChanging(); |
| 113 AdvanceTime(advance_delta); | |
| 114 detector_->OnMouseEvent(&mouse_event); | 113 detector_->OnMouseEvent(&mouse_event); |
| 115 EXPECT_FALSE(mouse_event.handled()); | 114 EXPECT_FALSE(mouse_event.handled()); |
| 116 EXPECT_EQ(0, observer_->num_invocations()); | 115 EXPECT_EQ(0, observer_->num_invocations()); |
| 117 observer_->reset_stats(); | 116 observer_->reset_stats(); |
| 118 | 117 |
| 118 const base::TimeDelta kIgnoreMouseTime = |
| 119 base::TimeDelta::FromMilliseconds( |
| 120 UserActivityDetector::kDisplayPowerChangeIgnoreMouseMs); |
| 121 AdvanceTime(kIgnoreMouseTime / 2); |
| 122 detector_->OnMouseEvent(&mouse_event); |
| 123 EXPECT_FALSE(mouse_event.handled()); |
| 124 EXPECT_EQ(0, observer_->num_invocations()); |
| 125 observer_->reset_stats(); |
| 126 |
| 127 // After enough time has passed, mouse events should be reported again. |
| 128 AdvanceTime(std::max(kIgnoreMouseTime, advance_delta)); |
| 129 detector_->OnMouseEvent(&mouse_event); |
| 130 EXPECT_FALSE(mouse_event.handled()); |
| 131 EXPECT_EQ(1, observer_->num_invocations()); |
| 132 observer_->reset_stats(); |
| 133 |
| 119 AdvanceTime(advance_delta); | 134 AdvanceTime(advance_delta); |
| 120 ui::TouchEvent touch_event( | 135 ui::TouchEvent touch_event( |
| 121 ui::ET_TOUCH_PRESSED, gfx::Point(), 0, base::TimeDelta()); | 136 ui::ET_TOUCH_PRESSED, gfx::Point(), 0, base::TimeDelta()); |
| 122 SetEventTarget(window.get(), &touch_event); | 137 SetEventTarget(window.get(), &touch_event); |
| 123 detector_->OnTouchEvent(&touch_event); | 138 detector_->OnTouchEvent(&touch_event); |
| 124 EXPECT_FALSE(touch_event.handled()); | 139 EXPECT_FALSE(touch_event.handled()); |
| 125 EXPECT_EQ(1, observer_->num_invocations()); | 140 EXPECT_EQ(1, observer_->num_invocations()); |
| 126 observer_->reset_stats(); | 141 observer_->reset_stats(); |
| 127 | 142 |
| 128 AdvanceTime(advance_delta); | 143 AdvanceTime(advance_delta); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 ui::MouseEvent mouse_event( | 196 ui::MouseEvent mouse_event( |
| 182 ui::ET_MOUSE_MOVED, gfx::Point(), gfx::Point(), ui::EF_IS_SYNTHESIZED); | 197 ui::ET_MOUSE_MOVED, gfx::Point(), gfx::Point(), ui::EF_IS_SYNTHESIZED); |
| 183 SetEventTarget(window.get(), &mouse_event); | 198 SetEventTarget(window.get(), &mouse_event); |
| 184 detector_->OnMouseEvent(&mouse_event); | 199 detector_->OnMouseEvent(&mouse_event); |
| 185 EXPECT_FALSE(mouse_event.handled()); | 200 EXPECT_FALSE(mouse_event.handled()); |
| 186 EXPECT_EQ(0, observer_->num_invocations()); | 201 EXPECT_EQ(0, observer_->num_invocations()); |
| 187 } | 202 } |
| 188 | 203 |
| 189 } // namespace test | 204 } // namespace test |
| 190 } // namespace ash | 205 } // namespace ash |
| OLD | NEW |