OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "content/browser/renderer_host/input/web_input_event_builders_mac.h" | 5 #include "content/browser/renderer_host/input/web_input_event_builders_mac.h" |
6 | 6 |
7 #include <Carbon/Carbon.h> | 7 #include <Carbon/Carbon.h> |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 #include <stddef.h> | 9 #include <stddef.h> |
10 | 10 |
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
569 | 569 |
570 const NSEventType kEventTypeToTest[] = {NSKeyDown, NSKeyUp}; | 570 const NSEventType kEventTypeToTest[] = {NSKeyDown, NSKeyUp}; |
571 for (auto flags : kEventTypeToTest) { | 571 for (auto flags : kEventTypeToTest) { |
572 NSEvent* mac_event = BuildFakeKeyEvent(kVK_ContextMenu, 0, 0, flags); | 572 NSEvent* mac_event = BuildFakeKeyEvent(kVK_ContextMenu, 0, 0, flags); |
573 WebKeyboardEvent web_event = WebKeyboardEventBuilder::Build(mac_event); | 573 WebKeyboardEvent web_event = WebKeyboardEventBuilder::Build(mac_event); |
574 EXPECT_EQ(ui::DomKey::CONTEXT_MENU, web_event.domKey); | 574 EXPECT_EQ(ui::DomKey::CONTEXT_MENU, web_event.domKey); |
575 EXPECT_EQ(ui::VKEY_APPS, web_event.windowsKeyCode); | 575 EXPECT_EQ(ui::VKEY_APPS, web_event.windowsKeyCode); |
576 } | 576 } |
577 } | 577 } |
578 | 578 |
579 // Flaky - https://crbug.com/640457 | |
580 // Test that a ui::Event and blink::WebInputEvent made from the same NSEvent | 579 // Test that a ui::Event and blink::WebInputEvent made from the same NSEvent |
581 // have the same values for comparable fields. | 580 // have the same values for comparable fields. |
582 TEST(WebInputEventBuilderMacTest, DISABLED_ScrollWheelMatchesUIEvent) { | 581 TEST(WebInputEventBuilderMacTest, ScrollWheelMatchesUIEvent) { |
582 bool precise = false; | |
583 CGFloat delta_x = 123; | 583 CGFloat delta_x = 123; |
584 CGFloat delta_y = 321; | 584 CGFloat delta_y = 321; |
585 NSPoint location = NSMakePoint(11, 22); | 585 NSPoint location = NSMakePoint(11, 22); |
586 | 586 |
587 // WebMouseWheelEventBuilder requires a non-nil view to map coordinates. So | 587 // WebMouseWheelEventBuilder requires a non-nil view to map coordinates. So |
588 // create a dummy window, but don't show it. It will be released when closed. | 588 // create a dummy window, but don't show it. It will be released when closed. |
589 NSWindow* window = | 589 NSWindow* window = |
590 [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 100, 100) | 590 [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 100, 100) |
591 styleMask:NSBorderlessWindowMask | 591 styleMask:NSBorderlessWindowMask |
592 backing:NSBackingStoreBuffered | 592 backing:NSBackingStoreBuffered |
593 defer:NO]; | 593 defer:NO]; |
594 | 594 |
595 NSEvent* mac_event = cocoa_test_event_utils::TestScrollEvent( | 595 NSEvent* mac_event = cocoa_test_event_utils::TestScrollEvent( |
596 location, window, delta_x, delta_y); | 596 location, window, delta_x, delta_y, precise, NSEventPhaseNone, |
597 NSEventPhaseNone); | |
598 EXPECT_EQ(123, [mac_event deltaX]); | |
sky
2016/09/23 17:47:08
123->delta_x and next line 321->delta_y?
tapted
2016/09/26 11:12:20
Done.
| |
599 EXPECT_EQ(321, [mac_event deltaY]); | |
597 | 600 |
598 blink::WebMouseWheelEvent web_event = | 601 blink::WebMouseWheelEvent web_event = |
599 content::WebMouseWheelEventBuilder::Build(mac_event, | 602 content::WebMouseWheelEventBuilder::Build(mac_event, |
600 [window contentView]); | 603 [window contentView]); |
601 ui::MouseWheelEvent ui_event(mac_event); | 604 ui::MouseWheelEvent ui_event(mac_event); |
602 | 605 |
603 EXPECT_EQ(delta_x * ui::kScrollbarPixelsPerCocoaTick, web_event.deltaX); | 606 EXPECT_EQ(delta_x * ui::kScrollbarPixelsPerCocoaTick, web_event.deltaX); |
604 EXPECT_EQ(web_event.deltaX, ui_event.x_offset()); | 607 EXPECT_EQ(web_event.deltaX, ui_event.x_offset()); |
605 | 608 |
606 EXPECT_EQ(delta_y * ui::kScrollbarPixelsPerCocoaTick, web_event.deltaY); | 609 EXPECT_EQ(delta_y * ui::kScrollbarPixelsPerCocoaTick, web_event.deltaY); |
607 EXPECT_EQ(web_event.deltaY, ui_event.y_offset()); | 610 EXPECT_EQ(web_event.deltaY, ui_event.y_offset()); |
608 | 611 |
609 EXPECT_EQ(11, web_event.x); | 612 EXPECT_EQ(11, web_event.x); |
610 EXPECT_EQ(web_event.x, ui_event.x()); | 613 EXPECT_EQ(web_event.x, ui_event.x()); |
611 | 614 |
612 // Both ui:: and blink:: events use an origin at the top-left. | 615 // Both ui:: and blink:: events use an origin at the top-left. |
613 EXPECT_EQ(100 - 22, web_event.y); | 616 EXPECT_EQ(100 - 22, web_event.y); |
614 EXPECT_EQ(web_event.y, ui_event.y()); | 617 EXPECT_EQ(web_event.y, ui_event.y()); |
615 [window close]; | 618 [window close]; |
616 } | 619 } |
OLD | NEW |