| 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 <stddef.h> | |
| 6 #include <stdint.h> | |
| 7 #include <X11/XKBlib.h> | 5 #include <X11/XKBlib.h> |
| 8 #include <X11/Xlib.h> | 6 #include <X11/Xlib.h> |
| 9 #include <X11/Xutil.h> | 7 #include <X11/Xutil.h> |
| 10 #include <X11/extensions/XInput2.h> | 8 #include <X11/extensions/XInput2.h> |
| 9 #include <stddef.h> |
| 10 #include <stdint.h> |
| 11 | 11 |
| 12 #include <cstring> | 12 #include <cstring> |
| 13 #include <memory> |
| 13 #include <set> | 14 #include <set> |
| 14 #include <utility> | 15 #include <utility> |
| 15 | 16 |
| 16 // Generically-named #defines from Xlib that conflict with symbols in GTest. | 17 // Generically-named #defines from Xlib that conflict with symbols in GTest. |
| 17 #undef Bool | 18 #undef Bool |
| 18 #undef None | 19 #undef None |
| 19 | 20 |
| 20 #include "base/macros.h" | 21 #include "base/macros.h" |
| 21 #include "base/memory/scoped_ptr.h" | |
| 22 #include "build/build_config.h" | 22 #include "build/build_config.h" |
| 23 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
| 24 #include "ui/events/devices/x11/device_data_manager_x11.h" | 24 #include "ui/events/devices/x11/device_data_manager_x11.h" |
| 25 #include "ui/events/devices/x11/touch_factory_x11.h" | 25 #include "ui/events/devices/x11/touch_factory_x11.h" |
| 26 #include "ui/events/event.h" | 26 #include "ui/events/event.h" |
| 27 #include "ui/events/event_constants.h" | 27 #include "ui/events/event_constants.h" |
| 28 #include "ui/events/event_utils.h" | 28 #include "ui/events/event_utils.h" |
| 29 #include "ui/events/test/events_test_utils.h" | 29 #include "ui/events/test/events_test_utils.h" |
| 30 #include "ui/events/test/events_test_utils_x11.h" | 30 #include "ui/events/test/events_test_utils_x11.h" |
| 31 #include "ui/events/x/events_x_utils.h" | 31 #include "ui/events/x/events_x_utils.h" |
| (...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 devices.push_back(0); | 320 devices.push_back(0); |
| 321 ui::SetUpTouchDevicesForTest(devices); | 321 ui::SetUpTouchDevicesForTest(devices); |
| 322 std::vector<Valuator> valuators; | 322 std::vector<Valuator> valuators; |
| 323 | 323 |
| 324 const int kTrackingId = 5; | 324 const int kTrackingId = 5; |
| 325 | 325 |
| 326 // Two touch presses with the same tracking id. | 326 // Two touch presses with the same tracking id. |
| 327 ui::ScopedXI2Event xpress0; | 327 ui::ScopedXI2Event xpress0; |
| 328 xpress0.InitTouchEvent( | 328 xpress0.InitTouchEvent( |
| 329 0, XI_TouchBegin, kTrackingId, gfx::Point(10, 10), valuators); | 329 0, XI_TouchBegin, kTrackingId, gfx::Point(10, 10), valuators); |
| 330 scoped_ptr<ui::TouchEvent> upress0(new ui::TouchEvent(xpress0)); | 330 std::unique_ptr<ui::TouchEvent> upress0(new ui::TouchEvent(xpress0)); |
| 331 EXPECT_EQ(0, GetTouchIdForTrackingId(kTrackingId)); | 331 EXPECT_EQ(0, GetTouchIdForTrackingId(kTrackingId)); |
| 332 | 332 |
| 333 ui::ScopedXI2Event xpress1; | 333 ui::ScopedXI2Event xpress1; |
| 334 xpress1.InitTouchEvent( | 334 xpress1.InitTouchEvent( |
| 335 0, XI_TouchBegin, kTrackingId, gfx::Point(20, 20), valuators); | 335 0, XI_TouchBegin, kTrackingId, gfx::Point(20, 20), valuators); |
| 336 ui::TouchEvent upress1(xpress1); | 336 ui::TouchEvent upress1(xpress1); |
| 337 EXPECT_EQ(0, GetTouchIdForTrackingId(kTrackingId)); | 337 EXPECT_EQ(0, GetTouchIdForTrackingId(kTrackingId)); |
| 338 | 338 |
| 339 // The first touch release shouldn't clear the mapping from the | 339 // The first touch release shouldn't clear the mapping from the |
| 340 // tracking id. | 340 // tracking id. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 // that an exception list of keys can still be processed. | 382 // that an exception list of keys can still be processed. |
| 383 TEST_F(EventsXTest, DisableKeyboard) { | 383 TEST_F(EventsXTest, DisableKeyboard) { |
| 384 DeviceDataManagerX11* device_data_manager = | 384 DeviceDataManagerX11* device_data_manager = |
| 385 static_cast<DeviceDataManagerX11*>( | 385 static_cast<DeviceDataManagerX11*>( |
| 386 DeviceDataManager::GetInstance()); | 386 DeviceDataManager::GetInstance()); |
| 387 int blocked_device_id = 1; | 387 int blocked_device_id = 1; |
| 388 int other_device_id = 2; | 388 int other_device_id = 2; |
| 389 int master_device_id = 3; | 389 int master_device_id = 3; |
| 390 device_data_manager->DisableDevice(blocked_device_id); | 390 device_data_manager->DisableDevice(blocked_device_id); |
| 391 | 391 |
| 392 scoped_ptr<std::set<KeyboardCode> > excepted_keys(new std::set<KeyboardCode>); | 392 std::unique_ptr<std::set<KeyboardCode>> excepted_keys( |
| 393 new std::set<KeyboardCode>); |
| 393 excepted_keys->insert(VKEY_B); | 394 excepted_keys->insert(VKEY_B); |
| 394 device_data_manager->SetDisabledKeyboardAllowedKeys(std::move(excepted_keys)); | 395 device_data_manager->SetDisabledKeyboardAllowedKeys(std::move(excepted_keys)); |
| 395 | 396 |
| 396 ScopedXI2Event xev; | 397 ScopedXI2Event xev; |
| 397 // A is not allowed on the blocked keyboard, and should return ET_UNKNOWN. | 398 // A is not allowed on the blocked keyboard, and should return ET_UNKNOWN. |
| 398 xev.InitGenericKeyEvent(master_device_id, | 399 xev.InitGenericKeyEvent(master_device_id, |
| 399 blocked_device_id, | 400 blocked_device_id, |
| 400 ui::ET_KEY_PRESSED, | 401 ui::ET_KEY_PRESSED, |
| 401 ui::VKEY_A, | 402 ui::VKEY_A, |
| 402 0); | 403 0); |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 ui::EventTimeFromNative(&event).ToInternalValue()); | 543 ui::EventTimeFromNative(&event).ToInternalValue()); |
| 543 event.xbutton.time = 2; | 544 event.xbutton.time = 2; |
| 544 EXPECT_EQ(base::TimeDelta::FromMilliseconds(2).ToInternalValue(), | 545 EXPECT_EQ(base::TimeDelta::FromMilliseconds(2).ToInternalValue(), |
| 545 ui::EventTimeFromNative(&event).ToInternalValue()); | 546 ui::EventTimeFromNative(&event).ToInternalValue()); |
| 546 event.xbutton.time = 0xFFFFFFFF; | 547 event.xbutton.time = 0xFFFFFFFF; |
| 547 EXPECT_EQ(base::TimeDelta::FromMilliseconds(0xFFFFFFFF).ToInternalValue(), | 548 EXPECT_EQ(base::TimeDelta::FromMilliseconds(0xFFFFFFFF).ToInternalValue(), |
| 548 ui::EventTimeFromNative(&event).ToInternalValue()); | 549 ui::EventTimeFromNative(&event).ToInternalValue()); |
| 549 } | 550 } |
| 550 | 551 |
| 551 } // namespace ui | 552 } // namespace ui |
| OLD | NEW |