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

Unified Diff: ash/wm/maximize_mode/maximize_mode_controller_unittest.cc

Issue 269633005: Only block internal touchpad and allow external mice to continue working in maximize mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge Created 6 years, 7 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/maximize_mode/maximize_mode_controller.h ('k') | ash/wm/maximize_mode/maximize_mode_event_blocker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
diff --git a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
index 5509107429605e2cd18e82ed3755a7cf453f9a8b..4145281969e4e5b210094f6375d5ccd3ab162902 100644
--- a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
+++ b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
@@ -14,6 +14,8 @@
#include "ash/test/test_screenshot_delegate.h"
#include "ash/test/test_system_tray_delegate.h"
#include "ash/test/test_volume_control_delegate.h"
+#include "ash/wm/maximize_mode/internal_input_device_list.h"
+#include "ash/wm/maximize_mode/maximize_mode_event_blocker.h"
#include "ui/aura/test/event_generator.h"
#include "ui/events/event_handler.h"
#include "ui/gfx/vector3d_f.h"
@@ -58,6 +60,21 @@ void EventCounter::OnEvent(ui::Event* event) {
event_count_++;
}
+// A test internal input device list which pretends that all events are from
+// internal devices to allow verifying that the event blocking works.
+class TestInternalInputDeviceList : public InternalInputDeviceList {
+ public:
+ TestInternalInputDeviceList() {}
+ virtual ~TestInternalInputDeviceList() {}
+
+ virtual bool IsEventFromInternalDevice(const ui::Event* event) OVERRIDE {
+ return true;
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(TestInternalInputDeviceList);
+};
+
} // namespace
// Test accelerometer data taken with the lid at less than 180 degrees while
@@ -109,6 +126,13 @@ class MaximizeModeControllerTest : public test::AshTestBase {
return Shell::GetInstance()->IsMaximizeModeWindowManagerEnabled();
}
+ // Overrides the internal input device list for the current event targeters
+ // with one which always returns true.
+ void InstallTestInternalDeviceList() {
+ maximize_mode_controller()->event_blocker_->internal_devices_.reset(
+ new TestInternalInputDeviceList);
+ }
+
gfx::Display::Rotation GetInternalDisplayRotation() const {
return Shell::GetInstance()->display_manager()->GetDisplayInfo(
gfx::Display::InternalDisplayId()).rotation();
@@ -326,6 +350,7 @@ TEST_F(MaximizeModeControllerTest, BlocksKeyboardAndMouse) {
TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, 1.0f),
gfx::Vector3dF(1.0f, 0.0f, 0.0f));
ASSERT_TRUE(IsMaximizeModeStarted());
+ InstallTestInternalDeviceList();
event_generator.PressKey(ui::VKEY_ESCAPE, 0);
event_generator.ReleaseKey(ui::VKEY_ESCAPE, 0);
« no previous file with comments | « ash/wm/maximize_mode/maximize_mode_controller.h ('k') | ash/wm/maximize_mode/maximize_mode_event_blocker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698