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

Side by Side Diff: ui/views/view_targeter_unittest.cc

Issue 577833003: Revert of Clean up GestureEventDetails constructors and fix unit tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 "ui/views/view_targeter.h" 5 #include "ui/views/view_targeter.h"
6 6
7 #include "ui/events/event_targeter.h" 7 #include "ui/events/event_targeter.h"
8 #include "ui/events/event_utils.h" 8 #include "ui/events/event_utils.h"
9 #include "ui/gfx/path.h" 9 #include "ui/gfx/path.h"
10 #include "ui/views/masked_targeter_delegate.h" 10 #include "ui/views/masked_targeter_delegate.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 } 224 }
225 225
226 // Convenience to make constructing a GestureEvent simpler. 226 // Convenience to make constructing a GestureEvent simpler.
227 class GestureEventForTest : public ui::GestureEvent { 227 class GestureEventForTest : public ui::GestureEvent {
228 public: 228 public:
229 GestureEventForTest(ui::EventType type, int x, int y) 229 GestureEventForTest(ui::EventType type, int x, int y)
230 : GestureEvent(x, 230 : GestureEvent(x,
231 y, 231 y,
232 0, 232 0,
233 base::TimeDelta(), 233 base::TimeDelta(),
234 ui::GestureEventDetails(type)) {} 234 ui::GestureEventDetails(type, 0.0f, 0.0f)) {}
235 235
236 GestureEventForTest(ui::GestureEventDetails details, int x, int y) 236 GestureEventForTest(ui::GestureEventDetails details, int x, int y)
237 : GestureEvent(x, y, 0, base::TimeDelta(), details) {} 237 : GestureEvent(x, y, 0, base::TimeDelta(), details) {}
238 }; 238 };
239 239
240 // Verifies that the the functions ViewTargeter::FindTargetForEvent() 240 // Verifies that the the functions ViewTargeter::FindTargetForEvent()
241 // and ViewTargeter::FindNextBestTarget() are implemented correctly 241 // and ViewTargeter::FindNextBestTarget() are implemented correctly
242 // for gesture events. 242 // for gesture events.
243 TEST_F(ViewTargeterTest, ViewTargeterForGestureEvents) { 243 TEST_F(ViewTargeterTest, ViewTargeterForGestureEvents) {
244 Widget widget; 244 Widget widget;
(...skipping 14 matching lines...) Expand all
259 content->AddChildView(child); 259 content->AddChildView(child);
260 child->AddChildView(grandchild); 260 child->AddChildView(grandchild);
261 261
262 internal::RootView* root_view = 262 internal::RootView* root_view =
263 static_cast<internal::RootView*>(widget.GetRootView()); 263 static_cast<internal::RootView*>(widget.GetRootView());
264 ui::EventTargeter* targeter = root_view->targeter(); 264 ui::EventTargeter* targeter = root_view->targeter();
265 265
266 // Define some gesture events for testing. 266 // Define some gesture events for testing.
267 gfx::Rect bounding_box(gfx::Point(46, 46), gfx::Size(8, 8)); 267 gfx::Rect bounding_box(gfx::Point(46, 46), gfx::Size(8, 8));
268 gfx::Point center_point(bounding_box.CenterPoint()); 268 gfx::Point center_point(bounding_box.CenterPoint());
269 ui::GestureEventDetails details(ui::ET_GESTURE_TAP); 269 ui::GestureEventDetails details(ui::ET_GESTURE_TAP, 0.0f, 0.0f);
270 details.set_bounding_box(bounding_box); 270 details.set_bounding_box(bounding_box);
271 GestureEventForTest tap(details, center_point.x(), center_point.y()); 271 GestureEventForTest tap(details, center_point.x(), center_point.y());
272 details = ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN); 272 details = ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN, 0.0f, 0.0f);
273 details.set_bounding_box(bounding_box); 273 details.set_bounding_box(bounding_box);
274 GestureEventForTest scroll_begin(details, center_point.x(), center_point.y()); 274 GestureEventForTest scroll_begin(details, center_point.x(), center_point.y());
275 details = ui::GestureEventDetails(ui::ET_GESTURE_END); 275 details = ui::GestureEventDetails(ui::ET_GESTURE_END, 0.0f, 0.0f);
276 details.set_bounding_box(bounding_box); 276 details.set_bounding_box(bounding_box);
277 GestureEventForTest end(details, center_point.x(), center_point.y()); 277 GestureEventForTest end(details, center_point.x(), center_point.y());
278 278
279 // Assume that the view currently handling gestures has been set as 279 // Assume that the view currently handling gestures has been set as
280 // |grandchild| by a previous gesture event. Thus subsequent TAP and 280 // |grandchild| by a previous gesture event. Thus subsequent TAP and
281 // SCROLL_BEGIN events should be initially targeted to |grandchild|, and 281 // SCROLL_BEGIN events should be initially targeted to |grandchild|, and
282 // re-targeting should be prohibited for TAP but permitted for 282 // re-targeting should be prohibited for TAP but permitted for
283 // GESTURE_SCROLL_BEGIN (which should be re-targeted to the parent of 283 // GESTURE_SCROLL_BEGIN (which should be re-targeted to the parent of
284 // |grandchild|). 284 // |grandchild|).
285 SetGestureHandlerSetBeforeProcessing(root_view, true); 285 SetGestureHandlerSetBeforeProcessing(root_view, true);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 EXPECT_EQ(NULL, targeter->FindNextBestTarget(child, &tap)); 317 EXPECT_EQ(NULL, targeter->FindNextBestTarget(child, &tap));
318 EXPECT_EQ(NULL, targeter->FindNextBestTarget(NULL, &tap)); 318 EXPECT_EQ(NULL, targeter->FindNextBestTarget(NULL, &tap));
319 EXPECT_EQ(NULL, targeter->FindNextBestTarget(content, &scroll_begin)); 319 EXPECT_EQ(NULL, targeter->FindNextBestTarget(content, &scroll_begin));
320 EXPECT_EQ(NULL, targeter->FindNextBestTarget(content, &end)); 320 EXPECT_EQ(NULL, targeter->FindNextBestTarget(content, &end));
321 321
322 // Reset the locations of the gesture events to be in the root view 322 // Reset the locations of the gesture events to be in the root view
323 // coordinate space since we are about to call FindTargetForEvent() 323 // coordinate space since we are about to call FindTargetForEvent()
324 // again (calls to FindTargetForEvent() and FindNextBestTarget() 324 // again (calls to FindTargetForEvent() and FindNextBestTarget()
325 // mutate the location of the gesture events to be in the coordinate 325 // mutate the location of the gesture events to be in the coordinate
326 // space of the returned view). 326 // space of the returned view).
327 details = ui::GestureEventDetails(ui::ET_GESTURE_TAP); 327 details = ui::GestureEventDetails(ui::ET_GESTURE_TAP, 0.0f, 0.0f);
328 details.set_bounding_box(bounding_box); 328 details.set_bounding_box(bounding_box);
329 tap = GestureEventForTest(details, center_point.x(), center_point.y()); 329 tap = GestureEventForTest(details, center_point.x(), center_point.y());
330 details = ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN); 330 details = ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN, 0.0f, 0.0f);
331 details.set_bounding_box(bounding_box); 331 details.set_bounding_box(bounding_box);
332 scroll_begin = 332 scroll_begin =
333 GestureEventForTest(details, center_point.x(), center_point.y()); 333 GestureEventForTest(details, center_point.x(), center_point.y());
334 details = ui::GestureEventDetails(ui::ET_GESTURE_END); 334 details = ui::GestureEventDetails(ui::ET_GESTURE_END, 0.0f, 0.0f);
335 details.set_bounding_box(bounding_box); 335 details.set_bounding_box(bounding_box);
336 end = GestureEventForTest(details, center_point.x(), center_point.y()); 336 end = GestureEventForTest(details, center_point.x(), center_point.y());
337 337
338 // If no default gesture handler is currently set, targeting should be 338 // If no default gesture handler is currently set, targeting should be
339 // performed using the location of the gesture event for a TAP and a 339 // performed using the location of the gesture event for a TAP and a
340 // SCROLL_BEGIN. 340 // SCROLL_BEGIN.
341 SetGestureHandlerSetBeforeProcessing(root_view, false); 341 SetGestureHandlerSetBeforeProcessing(root_view, false);
342 EXPECT_EQ(grandchild, targeter->FindTargetForEvent(root_view, &tap)); 342 EXPECT_EQ(grandchild, targeter->FindTargetForEvent(root_view, &tap));
343 EXPECT_EQ(grandchild, targeter->FindTargetForEvent(root_view, &scroll_begin)); 343 EXPECT_EQ(grandchild, targeter->FindTargetForEvent(root_view, &scroll_begin));
344 344
(...skipping 29 matching lines...) Expand all
374 grandchild->AddChildView(great_grandchild); 374 grandchild->AddChildView(great_grandchild);
375 375
376 internal::RootView* root_view = 376 internal::RootView* root_view =
377 static_cast<internal::RootView*>(widget.GetRootView()); 377 static_cast<internal::RootView*>(widget.GetRootView());
378 ui::EventTargeter* targeter = root_view->targeter(); 378 ui::EventTargeter* targeter = root_view->targeter();
379 379
380 // Define a GESTURE_TAP event with a bounding box centered at (60, 60) 380 // Define a GESTURE_TAP event with a bounding box centered at (60, 60)
381 // in root view coordinates with width and height of 4. 381 // in root view coordinates with width and height of 4.
382 gfx::Rect bounding_box(gfx::Point(58, 58), gfx::Size(4, 4)); 382 gfx::Rect bounding_box(gfx::Point(58, 58), gfx::Size(4, 4));
383 gfx::Point center_point(bounding_box.CenterPoint()); 383 gfx::Point center_point(bounding_box.CenterPoint());
384 ui::GestureEventDetails details(ui::ET_GESTURE_TAP); 384 ui::GestureEventDetails details(ui::ET_GESTURE_TAP, 0.0f, 0.0f);
385 details.set_bounding_box(bounding_box); 385 details.set_bounding_box(bounding_box);
386 GestureEventForTest tap(details, center_point.x(), center_point.y()); 386 GestureEventForTest tap(details, center_point.x(), center_point.y());
387 387
388 // Calculate the location of the gesture in each of the different 388 // Calculate the location of the gesture in each of the different
389 // coordinate spaces. 389 // coordinate spaces.
390 gfx::Point location_in_root(center_point); 390 gfx::Point location_in_root(center_point);
391 EXPECT_EQ(gfx::Point(60, 60), location_in_root); 391 EXPECT_EQ(gfx::Point(60, 60), location_in_root);
392 gfx::Point location_in_great_grandchild( 392 gfx::Point location_in_great_grandchild(
393 ConvertPointFromWidgetToView(great_grandchild, location_in_root)); 393 ConvertPointFromWidgetToView(great_grandchild, location_in_root));
394 EXPECT_EQ(gfx::Point(2, 2), location_in_great_grandchild); 394 EXPECT_EQ(gfx::Point(2, 2), location_in_great_grandchild);
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 EXPECT_EQ(v1, root_view->GetTooltipHandlerForPoint(v1_origin)); 571 EXPECT_EQ(v1, root_view->GetTooltipHandlerForPoint(v1_origin));
572 EXPECT_EQ(root_view, root_view->GetTooltipHandlerForPoint(v2_origin)); 572 EXPECT_EQ(root_view, root_view->GetTooltipHandlerForPoint(v2_origin));
573 573
574 EXPECT_FALSE(v1->GetTooltipHandlerForPoint(v2_origin)); 574 EXPECT_FALSE(v1->GetTooltipHandlerForPoint(v2_origin));
575 575
576 widget->CloseNow(); 576 widget->CloseNow();
577 } 577 }
578 578
579 } // namespace test 579 } // namespace test
580 } // namespace views 580 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/touchui/touch_selection_controller_impl_unittest.cc ('k') | ui/views/widget/root_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698