| Index: ui/aura/window_unittest.cc
|
| diff --git a/ui/aura/window_unittest.cc b/ui/aura/window_unittest.cc
|
| index cb7ad0ec7e7458e3d53053a91fefb2af2dd9201c..42a3a7238b93b7e40d8f52ce44a33df8b4cc9267 100644
|
| --- a/ui/aura/window_unittest.cc
|
| +++ b/ui/aura/window_unittest.cc
|
| @@ -487,14 +487,22 @@ TEST_F(WindowTest, GetEventHandlerForPoint) {
|
|
|
| Window* root = root_window();
|
| w1->parent()->SetBounds(gfx::Rect(500, 500));
|
| - EXPECT_EQ(NULL, root->GetEventHandlerForPoint(gfx::Point(5, 5)));
|
| - EXPECT_EQ(w1.get(), root->GetEventHandlerForPoint(gfx::Point(11, 11)));
|
| - EXPECT_EQ(w11.get(), root->GetEventHandlerForPoint(gfx::Point(16, 16)));
|
| - EXPECT_EQ(w111.get(), root->GetEventHandlerForPoint(gfx::Point(21, 21)));
|
| - EXPECT_EQ(w1111.get(), root->GetEventHandlerForPoint(gfx::Point(26, 26)));
|
| - EXPECT_EQ(w12.get(), root->GetEventHandlerForPoint(gfx::Point(21, 431)));
|
| - EXPECT_EQ(w121.get(), root->GetEventHandlerForPoint(gfx::Point(26, 436)));
|
| - EXPECT_EQ(w13.get(), root->GetEventHandlerForPoint(gfx::Point(26, 481)));
|
| + EXPECT_EQ(NULL, root->GetEventHandlerForPoint(
|
| + gfx::Point(5, 5), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(w1.get(), root->GetEventHandlerForPoint(
|
| + gfx::Point(11, 11), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(w11.get(), root->GetEventHandlerForPoint(
|
| + gfx::Point(16, 16), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(w111.get(), root->GetEventHandlerForPoint(
|
| + gfx::Point(21, 21), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(w1111.get(), root->GetEventHandlerForPoint(
|
| + gfx::Point(26, 26), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(w12.get(), root->GetEventHandlerForPoint(
|
| + gfx::Point(21, 431), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(w121.get(), root->GetEventHandlerForPoint(
|
| + gfx::Point(26, 436), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(w13.get(), root->GetEventHandlerForPoint(
|
| + gfx::Point(26, 481), ui::ET_MOUSE_ENTERED));
|
| }
|
|
|
| TEST_F(WindowTest, GetEventHandlerForPointWithOverride) {
|
| @@ -504,14 +512,57 @@ TEST_F(WindowTest, GetEventHandlerForPointWithOverride) {
|
| CreateTestWindow(SK_ColorWHITE, 1, gfx::Rect(10, 20, 400, 500), NULL));
|
| scoped_ptr<Window> child(
|
| CreateTestWindow(SK_ColorRED, 2, gfx::Rect(0, 0, 60, 70), parent.get()));
|
| - EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(gfx::Point(0, 0)));
|
| - EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(gfx::Point(1, 1)));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(0, 0), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(1, 1), ui::ET_MOUSE_ENTERED));
|
|
|
| // We can override the hit test bounds of the parent to make the parent grab
|
| // events along that edge.
|
| parent->set_hit_test_bounds_override_inner(gfx::Insets(1, 1, 1, 1));
|
| - EXPECT_EQ(parent.get(), parent->GetEventHandlerForPoint(gfx::Point(0, 0)));
|
| - EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(gfx::Point(1, 1)));
|
| + EXPECT_EQ(parent.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(0, 0), ui::ET_MOUSE_ENTERED));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(1, 1), ui::ET_MOUSE_ENTERED));
|
| +}
|
| +
|
| +TEST_F(WindowTest, GetEventHandlerForPointWithinDraggableRegion) {
|
| + scoped_ptr<Window> parent(
|
| + CreateTestWindow(SK_ColorWHITE, 1, gfx::Rect(10, 20, 400, 500), NULL));
|
| + scoped_ptr<Window> child(
|
| + CreateTestWindow(SK_ColorRED, 2, gfx::Rect(0, 0, 390, 480),
|
| + parent.get()));
|
| +
|
| + // Child should grab all mouse events if draggable region is not set.
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_PRESSED));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_DRAGGED));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_RELEASED));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_MOVED));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_ENTERED));
|
| +
|
| + // Create a draggable region.
|
| + SkRegion* draggable_region = new SkRegion;
|
| + draggable_region->setRect(10, 10, 200, 100);
|
| + parent->SetDraggableRegion(draggable_region);
|
| +
|
| + // Parent should grab all mouse click/drag related events.
|
| + EXPECT_EQ(parent.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_PRESSED));
|
| + EXPECT_EQ(parent.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_DRAGGED));
|
| + EXPECT_EQ(parent.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_RELEASED));
|
| +
|
| + // Child should grab all other mouse events.
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_MOVED));
|
| + EXPECT_EQ(child.get(), parent->GetEventHandlerForPoint(
|
| + gfx::Point(50, 50), ui::ET_MOUSE_ENTERED));
|
| }
|
|
|
| TEST_F(WindowTest, GetTopWindowContainingPoint) {
|
| @@ -1168,7 +1219,8 @@ TEST_F(WindowTest, GetEventHandlerForPoint_NoDelegate) {
|
| gfx::Rect(0, 0, 500, 500), w1.get()));
|
|
|
| gfx::Point target_point = w111->bounds().CenterPoint();
|
| - EXPECT_EQ(w111.get(), w1->GetEventHandlerForPoint(target_point));
|
| + EXPECT_EQ(w111.get(), w1->GetEventHandlerForPoint(
|
| + target_point, ui::ET_MOUSE_ENTERED));
|
| }
|
|
|
| class VisibilityWindowDelegate : public TestWindowDelegate {
|
| @@ -1274,18 +1326,24 @@ TEST_F(WindowTest, IgnoreEventsTest) {
|
| scoped_ptr<Window> w121(CreateTestWindowWithDelegate(&d121, 121,
|
| gfx::Rect(150, 150, 50, 50), w12.get()));
|
|
|
| - EXPECT_EQ(w12.get(), w1->GetEventHandlerForPoint(gfx::Point(10, 10)));
|
| + EXPECT_EQ(w12.get(), w1->GetEventHandlerForPoint(
|
| + gfx::Point(10, 10), ui::ET_MOUSE_ENTERED));
|
| w12->set_ignore_events(true);
|
| - EXPECT_EQ(w11.get(), w1->GetEventHandlerForPoint(gfx::Point(10, 10)));
|
| + EXPECT_EQ(w11.get(), w1->GetEventHandlerForPoint(
|
| + gfx::Point(10, 10), ui::ET_MOUSE_ENTERED));
|
| w12->set_ignore_events(false);
|
|
|
| - EXPECT_EQ(w121.get(), w1->GetEventHandlerForPoint(gfx::Point(160, 160)));
|
| + EXPECT_EQ(w121.get(), w1->GetEventHandlerForPoint(
|
| + gfx::Point(160, 160), ui::ET_MOUSE_ENTERED));
|
| w121->set_ignore_events(true);
|
| - EXPECT_EQ(w12.get(), w1->GetEventHandlerForPoint(gfx::Point(160, 160)));
|
| + EXPECT_EQ(w12.get(), w1->GetEventHandlerForPoint(
|
| + gfx::Point(160, 160), ui::ET_MOUSE_ENTERED));
|
| w12->set_ignore_events(true);
|
| - EXPECT_EQ(w111.get(), w1->GetEventHandlerForPoint(gfx::Point(160, 160)));
|
| + EXPECT_EQ(w111.get(), w1->GetEventHandlerForPoint(
|
| + gfx::Point(160, 160), ui::ET_MOUSE_ENTERED));
|
| w111->set_ignore_events(true);
|
| - EXPECT_EQ(w11.get(), w1->GetEventHandlerForPoint(gfx::Point(160, 160)));
|
| + EXPECT_EQ(w11.get(), w1->GetEventHandlerForPoint(
|
| + gfx::Point(160, 160), ui::ET_MOUSE_ENTERED));
|
| }
|
|
|
| // Tests transformation on the root window.
|
|
|