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 <algorithm> | 5 #include <algorithm> |
6 #include <memory> | 6 #include <memory> |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 1477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1488 | 1488 |
1489 noscroll_view->SetBounds(0, 0, 50, 40); | 1489 noscroll_view->SetBounds(0, 0, 50, 40); |
1490 scroll_view->SetBounds(60, 0, 40, 40); | 1490 scroll_view->SetBounds(60, 0, 40, 40); |
1491 | 1491 |
1492 WidgetAutoclosePtr widget(CreateTopLevelPlatformWidget()); | 1492 WidgetAutoclosePtr widget(CreateTopLevelPlatformWidget()); |
1493 widget->GetRootView()->AddChildView(noscroll_view); | 1493 widget->GetRootView()->AddChildView(noscroll_view); |
1494 widget->GetRootView()->AddChildView(scroll_view); | 1494 widget->GetRootView()->AddChildView(scroll_view); |
1495 | 1495 |
1496 { | 1496 { |
1497 ui::GestureEvent begin( | 1497 ui::GestureEvent begin( |
1498 5, | 1498 5, 5, 0, base::TimeTicks(), |
1499 5, | |
1500 0, | |
1501 base::TimeDelta(), | |
1502 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN)); | 1499 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN)); |
1503 widget->OnGestureEvent(&begin); | 1500 widget->OnGestureEvent(&begin); |
1504 ui::GestureEvent update( | 1501 ui::GestureEvent update( |
1505 25, | 1502 25, 15, 0, base::TimeTicks(), |
1506 15, | |
1507 0, | |
1508 base::TimeDelta(), | |
1509 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_UPDATE, 20, 10)); | 1503 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_UPDATE, 20, 10)); |
1510 widget->OnGestureEvent(&update); | 1504 widget->OnGestureEvent(&update); |
1511 ui::GestureEvent end(25, | 1505 ui::GestureEvent end(25, 15, 0, base::TimeTicks(), |
1512 15, | |
1513 0, | |
1514 base::TimeDelta(), | |
1515 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_END)); | 1506 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_END)); |
1516 widget->OnGestureEvent(&end); | 1507 widget->OnGestureEvent(&end); |
1517 | 1508 |
1518 EXPECT_EQ(1, noscroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_BEGIN)); | 1509 EXPECT_EQ(1, noscroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_BEGIN)); |
1519 EXPECT_EQ(0, noscroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_UPDATE)); | 1510 EXPECT_EQ(0, noscroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_UPDATE)); |
1520 EXPECT_EQ(0, noscroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_END)); | 1511 EXPECT_EQ(0, noscroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_END)); |
1521 } | 1512 } |
1522 | 1513 |
1523 { | 1514 { |
1524 ui::GestureEvent begin( | 1515 ui::GestureEvent begin( |
1525 65, | 1516 65, 5, 0, base::TimeTicks(), |
1526 5, | |
1527 0, | |
1528 base::TimeDelta(), | |
1529 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN)); | 1517 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN)); |
1530 widget->OnGestureEvent(&begin); | 1518 widget->OnGestureEvent(&begin); |
1531 ui::GestureEvent update( | 1519 ui::GestureEvent update( |
1532 85, | 1520 85, 15, 0, base::TimeTicks(), |
1533 15, | |
1534 0, | |
1535 base::TimeDelta(), | |
1536 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_UPDATE, 20, 10)); | 1521 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_UPDATE, 20, 10)); |
1537 widget->OnGestureEvent(&update); | 1522 widget->OnGestureEvent(&update); |
1538 ui::GestureEvent end(85, | 1523 ui::GestureEvent end(85, 15, 0, base::TimeTicks(), |
1539 15, | |
1540 0, | |
1541 base::TimeDelta(), | |
1542 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_END)); | 1524 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_END)); |
1543 widget->OnGestureEvent(&end); | 1525 widget->OnGestureEvent(&end); |
1544 | 1526 |
1545 EXPECT_EQ(1, scroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_BEGIN)); | 1527 EXPECT_EQ(1, scroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_BEGIN)); |
1546 EXPECT_EQ(1, scroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_UPDATE)); | 1528 EXPECT_EQ(1, scroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_UPDATE)); |
1547 EXPECT_EQ(1, scroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_END)); | 1529 EXPECT_EQ(1, scroll_view->GetEventCount(ui::ET_GESTURE_SCROLL_END)); |
1548 } | 1530 } |
1549 } | 1531 } |
1550 | 1532 |
1551 // Tests that event-handlers installed on the RootView get triggered correctly. | 1533 // Tests that event-handlers installed on the RootView get triggered correctly. |
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2260 ui::MouseEvent move(ui::ET_MOUSE_MOVED, move_location, move_location, | 2242 ui::MouseEvent move(ui::ET_MOUSE_MOVED, move_location, move_location, |
2261 ui::EventTimeForNow(), 0, 0); | 2243 ui::EventTimeForNow(), 0, 0); |
2262 widget->OnMouseEvent(&move); | 2244 widget->OnMouseEvent(&move); |
2263 EXPECT_EQ(view, GetMouseMoveHandler(root_view)); | 2245 EXPECT_EQ(view, GetMouseMoveHandler(root_view)); |
2264 widget->Hide(); | 2246 widget->Hide(); |
2265 EXPECT_EQ(NULL, GetMouseMoveHandler(root_view)); | 2247 EXPECT_EQ(NULL, GetMouseMoveHandler(root_view)); |
2266 | 2248 |
2267 // Check RootView::gesture_handler_. | 2249 // Check RootView::gesture_handler_. |
2268 widget->Show(); | 2250 widget->Show(); |
2269 EXPECT_EQ(NULL, GetGestureHandler(root_view)); | 2251 EXPECT_EQ(NULL, GetGestureHandler(root_view)); |
2270 ui::GestureEvent tap_down(15, | 2252 ui::GestureEvent tap_down(15, 15, 0, base::TimeTicks(), |
2271 15, | |
2272 0, | |
2273 base::TimeDelta(), | |
2274 ui::GestureEventDetails(ui::ET_GESTURE_TAP_DOWN)); | 2253 ui::GestureEventDetails(ui::ET_GESTURE_TAP_DOWN)); |
2275 widget->OnGestureEvent(&tap_down); | 2254 widget->OnGestureEvent(&tap_down); |
2276 EXPECT_EQ(view, GetGestureHandler(root_view)); | 2255 EXPECT_EQ(view, GetGestureHandler(root_view)); |
2277 widget->Hide(); | 2256 widget->Hide(); |
2278 EXPECT_EQ(NULL, GetGestureHandler(root_view)); | 2257 EXPECT_EQ(NULL, GetGestureHandler(root_view)); |
2279 | 2258 |
2280 widget->Close(); | 2259 widget->Close(); |
2281 } | 2260 } |
2282 | 2261 |
2283 // Convenience to make constructing a GestureEvent simpler. | 2262 // Convenience to make constructing a GestureEvent simpler. |
2284 class GestureEventForTest : public ui::GestureEvent { | 2263 class GestureEventForTest : public ui::GestureEvent { |
2285 public: | 2264 public: |
2286 GestureEventForTest(ui::EventType type, int x, int y) | 2265 GestureEventForTest(ui::EventType type, int x, int y) |
2287 : GestureEvent(x, | 2266 : GestureEvent(x, |
2288 y, | 2267 y, |
2289 0, | 2268 0, |
2290 base::TimeDelta(), | 2269 base::TimeTicks(), |
2291 ui::GestureEventDetails(type)) {} | 2270 ui::GestureEventDetails(type)) {} |
2292 | 2271 |
2293 GestureEventForTest(ui::GestureEventDetails details, int x, int y) | 2272 GestureEventForTest(ui::GestureEventDetails details, int x, int y) |
2294 : GestureEvent(x, y, 0, base::TimeDelta(), details) {} | 2273 : GestureEvent(x, y, 0, base::TimeTicks(), details) {} |
2295 }; | 2274 }; |
2296 | 2275 |
2297 // Tests that the |gesture_handler_| member in RootView is always NULL | 2276 // Tests that the |gesture_handler_| member in RootView is always NULL |
2298 // after the dispatch of a ui::ET_GESTURE_END event corresponding to | 2277 // after the dispatch of a ui::ET_GESTURE_END event corresponding to |
2299 // the release of the final touch point on the screen, but that | 2278 // the release of the final touch point on the screen, but that |
2300 // ui::ET_GESTURE_END events corresponding to the removal of any other touch | 2279 // ui::ET_GESTURE_END events corresponding to the removal of any other touch |
2301 // point do not modify |gesture_handler_|. | 2280 // point do not modify |gesture_handler_|. |
2302 TEST_F(WidgetTest, GestureEndEvents) { | 2281 TEST_F(WidgetTest, GestureEndEvents) { |
2303 Widget* widget = CreateTopLevelNativeWidget(); | 2282 Widget* widget = CreateTopLevelNativeWidget(); |
2304 widget->SetBounds(gfx::Rect(0, 0, 300, 300)); | 2283 widget->SetBounds(gfx::Rect(0, 0, 300, 300)); |
(...skipping 1416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3721 EXPECT_FALSE(!!IsWindow(owned_hwnd)); | 3700 EXPECT_FALSE(!!IsWindow(owned_hwnd)); |
3722 EXPECT_TRUE(!!IsWindowEnabled(top_hwnd)); | 3701 EXPECT_TRUE(!!IsWindowEnabled(top_hwnd)); |
3723 | 3702 |
3724 top_level_widget.CloseNow(); | 3703 top_level_widget.CloseNow(); |
3725 } | 3704 } |
3726 | 3705 |
3727 #endif // defined(OS_WIN) | 3706 #endif // defined(OS_WIN) |
3728 | 3707 |
3729 } // namespace test | 3708 } // namespace test |
3730 } // namespace views | 3709 } // namespace views |
OLD | NEW |