OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "core/input/EventHandler.h" | 5 #include "core/input/EventHandler.h" |
6 | 6 |
7 #include "core/dom/Document.h" | 7 #include "core/dom/Document.h" |
8 #include "core/dom/Range.h" | 8 #include "core/dom/Range.h" |
9 #include "core/editing/Editor.h" | 9 #include "core/editing/Editor.h" |
10 #include "core/editing/FrameSelection.h" | 10 #include "core/editing/FrameSelection.h" |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 ASSERT_TRUE(selection().isCaret()); | 156 ASSERT_TRUE(selection().isCaret()); |
157 EXPECT_EQ(Position(line, 0), selection().start()); | 157 EXPECT_EQ(Position(line, 0), selection().start()); |
158 | 158 |
159 // Multi-tap events on editable elements should trigger selection, just | 159 // Multi-tap events on editable elements should trigger selection, just |
160 // like multi-click events. | 160 // like multi-click events. |
161 TapEventBuilder doubleTapEvent(IntPoint(0, 0), 2); | 161 TapEventBuilder doubleTapEvent(IntPoint(0, 0), 2); |
162 document().frame()->eventHandler().handleGestureEvent(doubleTapEvent); | 162 document().frame()->eventHandler().handleGestureEvent(doubleTapEvent); |
163 ASSERT_TRUE(selection().isRange()); | 163 ASSERT_TRUE(selection().isRange()); |
164 EXPECT_EQ(Position(line, 0), selection().start()); | 164 EXPECT_EQ(Position(line, 0), selection().start()); |
165 if (document().frame()->editor().isSelectTrailingWhitespaceEnabled()) { | 165 if (document().frame()->editor().isSelectTrailingWhitespaceEnabled()) { |
166 EXPECT_EQ(Position(line, 4), selection().end()); | 166 EXPECT_EQ(Position(line, 4), |
| 167 selection().computeVisibleSelectionInDOMTreeDeprecated().end()); |
167 EXPECT_EQ("One ", WebString(selection().selectedText()).utf8()); | 168 EXPECT_EQ("One ", WebString(selection().selectedText()).utf8()); |
168 } else { | 169 } else { |
169 EXPECT_EQ(Position(line, 3), selection().end()); | 170 EXPECT_EQ(Position(line, 3), |
| 171 selection().computeVisibleSelectionInDOMTreeDeprecated().end()); |
170 EXPECT_EQ("One", WebString(selection().selectedText()).utf8()); | 172 EXPECT_EQ("One", WebString(selection().selectedText()).utf8()); |
171 } | 173 } |
172 | 174 |
173 TapEventBuilder tripleTapEvent(IntPoint(0, 0), 3); | 175 TapEventBuilder tripleTapEvent(IntPoint(0, 0), 3); |
174 document().frame()->eventHandler().handleGestureEvent(tripleTapEvent); | 176 document().frame()->eventHandler().handleGestureEvent(tripleTapEvent); |
175 ASSERT_TRUE(selection().isRange()); | 177 ASSERT_TRUE(selection().isRange()); |
176 EXPECT_EQ(Position(line, 0), selection().start()); | 178 EXPECT_EQ(Position(line, 0), selection().start()); |
177 EXPECT_EQ(Position(line, 13), selection().end()); | 179 EXPECT_EQ(Position(line, 13), |
| 180 selection().computeVisibleSelectionInDOMTreeDeprecated().end()); |
178 EXPECT_EQ("One Two Three", WebString(selection().selectedText()).utf8()); | 181 EXPECT_EQ("One Two Three", WebString(selection().selectedText()).utf8()); |
179 } | 182 } |
180 | 183 |
181 TEST_F(EventHandlerTest, multiClickSelectionFromTapDisabledIfNotEditable) { | 184 TEST_F(EventHandlerTest, multiClickSelectionFromTapDisabledIfNotEditable) { |
182 setHtmlInnerHTML( | 185 setHtmlInnerHTML( |
183 "<style> body { margin: 0px; } .line { display: block; width: 300px; " | 186 "<style> body { margin: 0px; } .line { display: block; width: 300px; " |
184 "height: 30px; } </style>" | 187 "height: 30px; } </style>" |
185 "<span class='line' id='line'>One Two Three</span>"); | 188 "<span class='line' id='line'>One Two Three</span>"); |
186 | 189 |
187 Node* line = document().getElementById("line")->firstChild(); | 190 Node* line = document().getElementById("line")->firstChild(); |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
429 WebPointerProperties::Button::Left, 1, WebInputEvent::NoModifiers, | 432 WebPointerProperties::Button::Left, 1, WebInputEvent::NoModifiers, |
430 TimeTicks::Now().InSeconds()); | 433 TimeTicks::Now().InSeconds()); |
431 mouseUpEvent.setFrameScale(1); | 434 mouseUpEvent.setFrameScale(1); |
432 document().frame()->eventHandler().dragSourceEndedAt(mouseUpEvent, | 435 document().frame()->eventHandler().dragSourceEndedAt(mouseUpEvent, |
433 DragOperationNone); | 436 DragOperationNone); |
434 | 437 |
435 // This test passes if it doesn't crash. | 438 // This test passes if it doesn't crash. |
436 } | 439 } |
437 | 440 |
438 } // namespace blink | 441 } // namespace blink |
OLD | NEW |