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

Side by Side Diff: ui/views/touchui/touch_selection_controller_impl_unittest.cc

Issue 1417023002: Remove some implicit Point to PointF conversions, add helpers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pointfconvert-views: extrachange Created 5 years, 2 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 (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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "ui/aura/client/screen_position_client.h" 7 #include "ui/aura/client/screen_position_client.h"
8 #include "ui/aura/test/test_cursor_client.h" 8 #include "ui/aura/test/test_cursor_client.h"
9 #include "ui/aura/window.h" 9 #include "ui/aura/window.h"
10 #include "ui/base/resource/resource_bundle.h" 10 #include "ui/base/resource/resource_bundle.h"
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 public: 601 public:
602 explicit TestTouchEditable(aura::Window* window) 602 explicit TestTouchEditable(aura::Window* window)
603 : window_(window) { 603 : window_(window) {
604 DCHECK(window); 604 DCHECK(window);
605 } 605 }
606 606
607 void set_bounds(const gfx::Rect& bounds) { 607 void set_bounds(const gfx::Rect& bounds) {
608 bounds_ = bounds; 608 bounds_ = bounds;
609 } 609 }
610 610
611 void set_cursor_rect(const gfx::Rect& cursor_rect) { 611 void set_cursor_rect(const gfx::RectF& cursor_rect) {
612 cursor_bound_.SetEdge(cursor_rect.origin(), cursor_rect.bottom_left()); 612 cursor_bound_.SetEdge(cursor_rect.origin(), cursor_rect.bottom_left());
613 cursor_bound_.set_type(ui::SelectionBound::Type::CENTER); 613 cursor_bound_.set_type(ui::SelectionBound::Type::CENTER);
614 } 614 }
615 615
616 ~TestTouchEditable() override {} 616 ~TestTouchEditable() override {}
617 617
618 private: 618 private:
619 // Overridden from ui::TouchEditable. 619 // Overridden from ui::TouchEditable.
620 void SelectRect(const gfx::Point& start, const gfx::Point& end) override { 620 void SelectRect(const gfx::Point& start, const gfx::Point& end) override {
621 NOTREACHED(); 621 NOTREACHED();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 CreateWidget(); 680 CreateWidget();
681 681
682 TestTouchEditable touch_editable(widget_->GetNativeView()); 682 TestTouchEditable touch_editable(widget_->GetNativeView());
683 scoped_ptr<ui::TouchEditingControllerDeprecated> touch_selection_controller( 683 scoped_ptr<ui::TouchEditingControllerDeprecated> touch_selection_controller(
684 ui::TouchEditingControllerDeprecated::Create(&touch_editable)); 684 ui::TouchEditingControllerDeprecated::Create(&touch_editable));
685 685
686 touch_editable.set_bounds(gfx::Rect(0, 0, 100, 20)); 686 touch_editable.set_bounds(gfx::Rect(0, 0, 100, 20));
687 687
688 // Put the cursor completely inside the client bounds. Handle should be 688 // Put the cursor completely inside the client bounds. Handle should be
689 // visible. 689 // visible.
690 touch_editable.set_cursor_rect(gfx::Rect(2, 0, 1, 20)); 690 touch_editable.set_cursor_rect(gfx::RectF(2.f, 0.f, 1.f, 20.f));
691 touch_selection_controller->SelectionChanged(); 691 touch_selection_controller->SelectionChanged();
692 EXPECT_TRUE(IsCursorHandleVisibleFor(touch_selection_controller.get())); 692 EXPECT_TRUE(IsCursorHandleVisibleFor(touch_selection_controller.get()));
693 693
694 // Move the cursor up such that |kBarMinHeight| pixels are still in the client 694 // Move the cursor up such that |kBarMinHeight| pixels are still in the client
695 // bounds. Handle should still be visible. 695 // bounds. Handle should still be visible.
696 touch_editable.set_cursor_rect(gfx::Rect(2, kBarMinHeight - 20, 1, 20)); 696 touch_editable.set_cursor_rect(
697 gfx::RectF(2.f, kBarMinHeight - 20.f, 1.f, 20.f));
697 touch_selection_controller->SelectionChanged(); 698 touch_selection_controller->SelectionChanged();
698 EXPECT_TRUE(IsCursorHandleVisibleFor(touch_selection_controller.get())); 699 EXPECT_TRUE(IsCursorHandleVisibleFor(touch_selection_controller.get()));
699 700
700 // Move the cursor up such that less than |kBarMinHeight| pixels are in the 701 // Move the cursor up such that less than |kBarMinHeight| pixels are in the
701 // client bounds. Handle should be hidden. 702 // client bounds. Handle should be hidden.
702 touch_editable.set_cursor_rect(gfx::Rect(2, kBarMinHeight - 20 - 1, 1, 20)); 703 touch_editable.set_cursor_rect(
704 gfx::RectF(2.f, kBarMinHeight - 20.f - 1.f, 1.f, 20.f));
703 touch_selection_controller->SelectionChanged(); 705 touch_selection_controller->SelectionChanged();
704 EXPECT_FALSE(IsCursorHandleVisibleFor(touch_selection_controller.get())); 706 EXPECT_FALSE(IsCursorHandleVisibleFor(touch_selection_controller.get()));
705 707
706 // Move the Cursor down such that |kBarBottomAllowance| pixels are out of the 708 // Move the Cursor down such that |kBarBottomAllowance| pixels are out of the
707 // client bounds. Handle should be visible. 709 // client bounds. Handle should be visible.
708 touch_editable.set_cursor_rect(gfx::Rect(2, kBarBottomAllowance, 1, 20)); 710 touch_editable.set_cursor_rect(
711 gfx::RectF(2.f, kBarBottomAllowance, 1.f, 20.f));
709 touch_selection_controller->SelectionChanged(); 712 touch_selection_controller->SelectionChanged();
710 EXPECT_TRUE(IsCursorHandleVisibleFor(touch_selection_controller.get())); 713 EXPECT_TRUE(IsCursorHandleVisibleFor(touch_selection_controller.get()));
711 714
712 // Move the cursor down such that more than |kBarBottomAllowance| pixels are 715 // Move the cursor down such that more than |kBarBottomAllowance| pixels are
713 // out of the client bounds. Handle should be hidden. 716 // out of the client bounds. Handle should be hidden.
714 touch_editable.set_cursor_rect(gfx::Rect(2, kBarBottomAllowance + 1, 1, 20)); 717 touch_editable.set_cursor_rect(
718 gfx::RectF(2.f, kBarBottomAllowance + 1.f, 1.f, 20.f));
715 touch_selection_controller->SelectionChanged(); 719 touch_selection_controller->SelectionChanged();
716 EXPECT_FALSE(IsCursorHandleVisibleFor(touch_selection_controller.get())); 720 EXPECT_FALSE(IsCursorHandleVisibleFor(touch_selection_controller.get()));
717 721
718 touch_selection_controller.reset(); 722 touch_selection_controller.reset();
719 } 723 }
720 724
721 TEST_F(TouchSelectionControllerImplTest, HandlesStackAboveParent) { 725 TEST_F(TouchSelectionControllerImplTest, HandlesStackAboveParent) {
722 ui::EventTarget* root = GetContext(); 726 ui::EventTarget* root = GetContext();
723 ui::EventTargeter* targeter = root->GetEventTargeter(); 727 ui::EventTargeter* targeter = root->GetEventTargeter();
724 728
725 // Create the first window containing a Views::Textfield. 729 // Create the first window containing a Views::Textfield.
726 CreateTextfield(); 730 CreateTextfield();
727 aura::Window* window1 = textfield_widget_->GetNativeView(); 731 aura::Window* window1 = textfield_widget_->GetNativeView();
728 732
729 // Start touch editing, check that the handle is above the first window, and 733 // Start touch editing, check that the handle is above the first window, and
730 // end touch editing. 734 // end touch editing.
731 StartTouchEditing(); 735 StartTouchEditing();
732 gfx::Point test_point = GetCursorHandleDragPoint(); 736 auto test_point = gfx::PointF(GetCursorHandleDragPoint());
733 ui::MouseEvent test_event1(ui::ET_MOUSE_MOVED, test_point, test_point, 737 ui::MouseEvent test_event1(ui::ET_MOUSE_MOVED, test_point, test_point,
734 ui::EventTimeForNow(), ui::EF_NONE, ui::EF_NONE); 738 ui::EventTimeForNow(), ui::EF_NONE, ui::EF_NONE);
735 EXPECT_EQ(GetCursorHandleNativeView(), 739 EXPECT_EQ(GetCursorHandleNativeView(),
736 targeter->FindTargetForEvent(root, &test_event1)); 740 targeter->FindTargetForEvent(root, &test_event1));
737 EndTouchEditing(); 741 EndTouchEditing();
738 742
739 // Create the second (empty) window over the first one. 743 // Create the second (empty) window over the first one.
740 CreateWidget(); 744 CreateWidget();
741 aura::Window* window2 = widget_->GetNativeView(); 745 aura::Window* window2 = widget_->GetNativeView();
742 746
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 // Start touch editing; then press a key and ensure it deactivates touch 832 // Start touch editing; then press a key and ensure it deactivates touch
829 // selection. 833 // selection.
830 StartTouchEditing(); 834 StartTouchEditing();
831 EXPECT_TRUE(GetSelectionController()); 835 EXPECT_TRUE(GetSelectionController());
832 generator.PressKey(ui::VKEY_A, 0); 836 generator.PressKey(ui::VKEY_A, 0);
833 RunPendingMessages(); 837 RunPendingMessages();
834 EXPECT_FALSE(GetSelectionController()); 838 EXPECT_FALSE(GetSelectionController());
835 } 839 }
836 840
837 } // namespace views 841 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698