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

Side by Side Diff: chrome/browser/chromeos/events/event_rewriter_unittest.cc

Issue 2287403002: Create MouseWheelEvent directly instead of through MouseEvent. (Closed)
Patch Set: test Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/chromeos/events/event_rewriter.h" 5 #include "chrome/browser/chromeos/events/event_rewriter.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/common/wm/window_state.h" 9 #include "ash/common/wm/window_state.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 2403 matching lines...) Expand 10 before | Expand all | Expand 10 after
2414 2414
2415 TEST_F(EventRewriterAshTest, MouseWheelEventDispatchImpl) { 2415 TEST_F(EventRewriterAshTest, MouseWheelEventDispatchImpl) {
2416 ScopedVector<ui::Event> events; 2416 ScopedVector<ui::Event> events;
2417 2417
2418 // Test positive mouse wheel event is correctly modified and modifier release 2418 // Test positive mouse wheel event is correctly modified and modifier release
2419 // event is sent. 2419 // event is sent.
2420 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 2420 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
2421 ui::DomKey::CONTROL); 2421 ui::DomKey::CONTROL);
2422 PopEvents(&events); 2422 PopEvents(&events);
2423 gfx::Point location(0, 0); 2423 gfx::Point location(0, 0);
2424 ui::MouseEvent mev(ui::ET_MOUSEWHEEL, location, location, 2424 ui::MouseWheelEvent positive(
2425 ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON, 2425 gfx::Vector2d(0, ui::MouseWheelEvent::kWheelDelta), location, location,
2426 ui::EF_LEFT_MOUSE_BUTTON); 2426 ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON,
2427 ui::MouseWheelEvent positive(mev, 0, ui::MouseWheelEvent::kWheelDelta); 2427 ui::EF_LEFT_MOUSE_BUTTON);
2428 ui::EventDispatchDetails details = Send(&positive); 2428 ui::EventDispatchDetails details = Send(&positive);
2429 ASSERT_FALSE(details.dispatcher_destroyed); 2429 ASSERT_FALSE(details.dispatcher_destroyed);
2430 PopEvents(&events); 2430 PopEvents(&events);
2431 EXPECT_EQ(2u, events.size()); 2431 EXPECT_EQ(2u, events.size());
2432 EXPECT_TRUE(events[0]->IsMouseWheelEvent()); 2432 EXPECT_TRUE(events[0]->IsMouseWheelEvent());
2433 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN); 2433 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN);
2434 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type()); 2434 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type());
2435 EXPECT_EQ(ui::VKEY_CONTROL, 2435 EXPECT_EQ(ui::VKEY_CONTROL,
2436 static_cast<ui::KeyEvent*>(events[1])->key_code()); 2436 static_cast<ui::KeyEvent*>(events[1])->key_code());
2437 2437
2438 // Test negative mouse wheel event is correctly modified and modifier release 2438 // Test negative mouse wheel event is correctly modified and modifier release
2439 // event is sent. 2439 // event is sent.
2440 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 2440 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
2441 ui::DomKey::CONTROL); 2441 ui::DomKey::CONTROL);
2442 PopEvents(&events); 2442 PopEvents(&events);
2443 ui::MouseWheelEvent negative(mev, 0, -ui::MouseWheelEvent::kWheelDelta); 2443 ui::MouseWheelEvent negative(
2444 gfx::Vector2d(0, -ui::MouseWheelEvent::kWheelDelta), location, location,
2445 ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON,
2446 ui::EF_LEFT_MOUSE_BUTTON);
2444 details = Send(&negative); 2447 details = Send(&negative);
2445 ASSERT_FALSE(details.dispatcher_destroyed); 2448 ASSERT_FALSE(details.dispatcher_destroyed);
2446 PopEvents(&events); 2449 PopEvents(&events);
2447 EXPECT_EQ(2u, events.size()); 2450 EXPECT_EQ(2u, events.size());
2448 EXPECT_TRUE(events[0]->IsMouseWheelEvent()); 2451 EXPECT_TRUE(events[0]->IsMouseWheelEvent());
2449 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN); 2452 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN);
2450 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type()); 2453 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type());
2451 EXPECT_EQ(ui::VKEY_CONTROL, 2454 EXPECT_EQ(ui::VKEY_CONTROL,
2452 static_cast<ui::KeyEvent*>(events[1])->key_code()); 2455 static_cast<ui::KeyEvent*>(events[1])->key_code());
2453 } 2456 }
2454 2457
2455 // Tests that if modifier keys are remapped, the flags of a mouse wheel event 2458 // Tests that if modifier keys are remapped, the flags of a mouse wheel event
2456 // will be rewritten properly. 2459 // will be rewritten properly.
2457 TEST_F(EventRewriterAshTest, MouseWheelEventModifiersRewritten) { 2460 TEST_F(EventRewriterAshTest, MouseWheelEventModifiersRewritten) {
2458 // Remap Control to Alt. 2461 // Remap Control to Alt.
2459 IntegerPrefMember control; 2462 IntegerPrefMember control;
2460 control.Init(prefs::kLanguageRemapControlKeyTo, prefs()); 2463 control.Init(prefs::kLanguageRemapControlKeyTo, prefs());
2461 control.SetValue(chromeos::input_method::kAltKey); 2464 control.SetValue(chromeos::input_method::kAltKey);
2462 2465
2463 // Generate a mouse wheel event that has a CONTROL_DOWN modifier flag and 2466 // Generate a mouse wheel event that has a CONTROL_DOWN modifier flag and
2464 // expect that it will be rewritten to ALT_DOWN. 2467 // expect that it will be rewritten to ALT_DOWN.
2465 ScopedVector<ui::Event> events; 2468 ScopedVector<ui::Event> events;
2466 gfx::Point location(0, 0); 2469 gfx::Point location(0, 0);
2467 ui::MouseEvent mev( 2470 ui::MouseWheelEvent positive(
2468 ui::ET_MOUSEWHEEL, location, location, ui::EventTimeForNow(), 2471 gfx::Vector2d(0, ui::MouseWheelEvent::kWheelDelta), location, location,
2469 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN, ui::EF_LEFT_MOUSE_BUTTON); 2472 ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN,
2470 ui::MouseWheelEvent positive(mev, 0, ui::MouseWheelEvent::kWheelDelta); 2473 ui::EF_LEFT_MOUSE_BUTTON);
2471 ui::EventDispatchDetails details = Send(&positive); 2474 ui::EventDispatchDetails details = Send(&positive);
2472 ASSERT_FALSE(details.dispatcher_destroyed); 2475 ASSERT_FALSE(details.dispatcher_destroyed);
2473 PopEvents(&events); 2476 PopEvents(&events);
2474 EXPECT_EQ(1u, events.size()); 2477 EXPECT_EQ(1u, events.size());
2475 EXPECT_TRUE(events[0]->IsMouseWheelEvent()); 2478 EXPECT_TRUE(events[0]->IsMouseWheelEvent());
2476 EXPECT_FALSE(events[0]->flags() & ui::EF_CONTROL_DOWN); 2479 EXPECT_FALSE(events[0]->flags() & ui::EF_CONTROL_DOWN);
2477 EXPECT_TRUE(events[0]->flags() & ui::EF_ALT_DOWN); 2480 EXPECT_TRUE(events[0]->flags() & ui::EF_ALT_DOWN);
2478 } 2481 }
2479 2482
2480 class StickyKeysOverlayTest : public EventRewriterAshTest { 2483 class StickyKeysOverlayTest : public EventRewriterAshTest {
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
2685 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 2688 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
2686 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 2689 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
2687 2690
2688 // Turn off AltGr and Mod3. 2691 // Turn off AltGr and Mod3.
2689 sticky_keys_controller_->SetModifiersEnabled(false, false); 2692 sticky_keys_controller_->SetModifiersEnabled(false, false);
2690 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 2693 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
2691 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 2694 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
2692 } 2695 }
2693 2696
2694 } // namespace chromeos 2697 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698