| OLD | NEW |
| 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/controls/textfield/textfield.h" | 5 #include "ui/views/controls/textfield/textfield.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 1903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1914 // Long_Press gesture in Textfield can initiate a drag and drop now. | 1914 // Long_Press gesture in Textfield can initiate a drag and drop now. |
| 1915 TEST_F(TextfieldTest, TestLongPressInitiatesDragDrop) { | 1915 TEST_F(TextfieldTest, TestLongPressInitiatesDragDrop) { |
| 1916 InitTextfield(); | 1916 InitTextfield(); |
| 1917 textfield_->SetText(ASCIIToUTF16("Hello string world")); | 1917 textfield_->SetText(ASCIIToUTF16("Hello string world")); |
| 1918 | 1918 |
| 1919 // Ensure the textfield will provide selected text for drag data. | 1919 // Ensure the textfield will provide selected text for drag data. |
| 1920 textfield_->SelectRange(gfx::Range(6, 12)); | 1920 textfield_->SelectRange(gfx::Range(6, 12)); |
| 1921 const gfx::Point kStringPoint(GetCursorPositionX(9), 0); | 1921 const gfx::Point kStringPoint(GetCursorPositionX(9), 0); |
| 1922 | 1922 |
| 1923 // Enable touch-drag-drop to make long press effective. | 1923 // Enable touch-drag-drop to make long press effective. |
| 1924 CommandLine::ForCurrentProcess()->AppendSwitch( | 1924 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| 1925 switches::kEnableTouchDragDrop); | 1925 switches::kEnableTouchDragDrop); |
| 1926 | 1926 |
| 1927 // Create a long press event in the selected region should start a drag. | 1927 // Create a long press event in the selected region should start a drag. |
| 1928 GestureEventForTest long_press( | 1928 GestureEventForTest long_press( |
| 1929 kStringPoint.x(), | 1929 kStringPoint.x(), |
| 1930 kStringPoint.y(), | 1930 kStringPoint.y(), |
| 1931 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS)); | 1931 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS)); |
| 1932 textfield_->OnGestureEvent(&long_press); | 1932 textfield_->OnGestureEvent(&long_press); |
| 1933 EXPECT_TRUE(textfield_->CanStartDragForView(NULL, kStringPoint, | 1933 EXPECT_TRUE(textfield_->CanStartDragForView(NULL, kStringPoint, |
| 1934 kStringPoint)); | 1934 kStringPoint)); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1961 SendKeyEvent('X'); | 1961 SendKeyEvent('X'); |
| 1962 | 1962 |
| 1963 EXPECT_FALSE(controller.target()); | 1963 EXPECT_FALSE(controller.target()); |
| 1964 } | 1964 } |
| 1965 | 1965 |
| 1966 class TextfieldTouchSelectionTest : public TextfieldTest { | 1966 class TextfieldTouchSelectionTest : public TextfieldTest { |
| 1967 public: | 1967 public: |
| 1968 // TextfieldTest: | 1968 // TextfieldTest: |
| 1969 void SetUp() override { | 1969 void SetUp() override { |
| 1970 TextfieldTest::SetUp(); | 1970 TextfieldTest::SetUp(); |
| 1971 CommandLine::ForCurrentProcess()->AppendSwitch( | 1971 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| 1972 switches::kEnableTouchEditing); | 1972 switches::kEnableTouchEditing); |
| 1973 } | 1973 } |
| 1974 | 1974 |
| 1975 protected: | 1975 protected: |
| 1976 // Simulates a complete tap. | 1976 // Simulates a complete tap. |
| 1977 void Tap(const gfx::Point& point) { | 1977 void Tap(const gfx::Point& point) { |
| 1978 GestureEventForTest begin( | 1978 GestureEventForTest begin( |
| 1979 point.x(), point.y(), ui::GestureEventDetails(ui::ET_GESTURE_BEGIN)); | 1979 point.x(), point.y(), ui::GestureEventDetails(ui::ET_GESTURE_BEGIN)); |
| 1980 textfield_->OnGestureEvent(&begin); | 1980 textfield_->OnGestureEvent(&begin); |
| 1981 | 1981 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2035 ASSERT_TRUE(switches::IsTouchDragDropEnabled()); | 2035 ASSERT_TRUE(switches::IsTouchDragDropEnabled()); |
| 2036 GestureEventForTest long_press_2( | 2036 GestureEventForTest long_press_2( |
| 2037 x, 0, ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS)); | 2037 x, 0, ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS)); |
| 2038 textfield_->OnGestureEvent(&long_press_2); | 2038 textfield_->OnGestureEvent(&long_press_2); |
| 2039 EXPECT_STR_EQ("hello", textfield_->GetSelectedText()); | 2039 EXPECT_STR_EQ("hello", textfield_->GetSelectedText()); |
| 2040 EXPECT_FALSE(test_api_->touch_selection_controller()); | 2040 EXPECT_FALSE(test_api_->touch_selection_controller()); |
| 2041 EXPECT_FALSE(long_press_2.handled()); | 2041 EXPECT_FALSE(long_press_2.handled()); |
| 2042 | 2042 |
| 2043 // After disabling touch drag drop, long pressing again in the selection | 2043 // After disabling touch drag drop, long pressing again in the selection |
| 2044 // region should not do anything. | 2044 // region should not do anything. |
| 2045 CommandLine::ForCurrentProcess()->AppendSwitch( | 2045 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| 2046 switches::kDisableTouchDragDrop); | 2046 switches::kDisableTouchDragDrop); |
| 2047 ASSERT_FALSE(switches::IsTouchDragDropEnabled()); | 2047 ASSERT_FALSE(switches::IsTouchDragDropEnabled()); |
| 2048 GestureEventForTest long_press_3( | 2048 GestureEventForTest long_press_3( |
| 2049 x, 0, ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS)); | 2049 x, 0, ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS)); |
| 2050 textfield_->OnGestureEvent(&long_press_3); | 2050 textfield_->OnGestureEvent(&long_press_3); |
| 2051 EXPECT_STR_EQ("hello", textfield_->GetSelectedText()); | 2051 EXPECT_STR_EQ("hello", textfield_->GetSelectedText()); |
| 2052 EXPECT_FALSE(test_api_->touch_selection_controller()); | 2052 EXPECT_FALSE(test_api_->touch_selection_controller()); |
| 2053 EXPECT_FALSE(long_press_3.handled()); | 2053 EXPECT_FALSE(long_press_3.handled()); |
| 2054 } | 2054 } |
| 2055 #endif | 2055 #endif |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2101 | 2101 |
| 2102 // Tap again on selection and check if touch selection handles are still | 2102 // Tap again on selection and check if touch selection handles are still |
| 2103 // present and selection is changed to a cursor at tap location. | 2103 // present and selection is changed to a cursor at tap location. |
| 2104 Tap(tap_point); | 2104 Tap(tap_point); |
| 2105 textfield_->GetSelectionRange(&range); | 2105 textfield_->GetSelectionRange(&range); |
| 2106 EXPECT_TRUE(test_api_->touch_selection_controller()); | 2106 EXPECT_TRUE(test_api_->touch_selection_controller()); |
| 2107 EXPECT_EQ(tap_range, range); | 2107 EXPECT_EQ(tap_range, range); |
| 2108 } | 2108 } |
| 2109 | 2109 |
| 2110 } // namespace views | 2110 } // namespace views |
| OLD | NEW |