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

Side by Side Diff: content/browser/web_contents/touch_editable_impl_aura_browsertest.cc

Issue 581963004: 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 (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 "content/browser/web_contents/touch_editable_impl_aura.h" 5 #include "content/browser/web_contents/touch_editable_impl_aura.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/test/test_timeouts.h" 10 #include "base/test/test_timeouts.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>( 222 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>(
223 web_contents->GetRenderWidgetHostView()); 223 web_contents->GetRenderWidgetHostView());
224 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva); 224 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva);
225 225
226 // Long press to select word. 226 // Long press to select word.
227 ui::GestureEvent long_press( 227 ui::GestureEvent long_press(
228 10, 228 10,
229 10, 229 10,
230 0, 230 0,
231 ui::EventTimeForNow(), 231 ui::EventTimeForNow(),
232 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS, 0, 0)); 232 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS));
233 touch_editable->Reset(); 233 touch_editable->Reset();
234 rwhva->OnGestureEvent(&long_press); 234 rwhva->OnGestureEvent(&long_press);
235 touch_editable->WaitForSelectionChangeCallback(); 235 touch_editable->WaitForSelectionChangeCallback();
236 236
237 // Check if selection handles are showing. 237 // Check if selection handles are showing.
238 EXPECT_TRUE(GetTouchSelectionController(touch_editable)); 238 EXPECT_TRUE(GetTouchSelectionController(touch_editable));
239 239
240 scoped_ptr<base::Value> value = 240 scoped_ptr<base::Value> value =
241 content::ExecuteScriptAndGetValue(main_frame, "get_selection()"); 241 content::ExecuteScriptAndGetValue(main_frame, "get_selection()");
242 std::string selection; 242 std::string selection;
243 value->GetAsString(&selection); 243 value->GetAsString(&selection);
244 EXPECT_STREQ("Some", selection.c_str()); 244 EXPECT_STREQ("Some", selection.c_str());
245 245
246 // Start scrolling. Handles should get hidden. 246 // Start scrolling. Handles should get hidden.
247 ui::GestureEvent scroll_begin( 247 ui::GestureEvent scroll_begin(
248 10, 248 10,
249 10, 249 10,
250 0, 250 0,
251 ui::EventTimeForNow(), 251 ui::EventTimeForNow(),
252 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN, 0, 0)); 252 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_BEGIN));
253 rwhva->OnGestureEvent(&scroll_begin); 253 rwhva->OnGestureEvent(&scroll_begin);
254 EXPECT_FALSE(GetTouchSelectionController(touch_editable)); 254 EXPECT_FALSE(GetTouchSelectionController(touch_editable));
255 255
256 // Handles should come back after scroll ends. 256 // Handles should come back after scroll ends.
257 ui::GestureEvent scroll_end( 257 ui::GestureEvent scroll_end(
258 10, 258 10,
259 10, 259 10,
260 0, 260 0,
261 ui::EventTimeForNow(), 261 ui::EventTimeForNow(),
262 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_END, 0, 0)); 262 ui::GestureEventDetails(ui::ET_GESTURE_SCROLL_END));
263 rwhva->OnGestureEvent(&scroll_end); 263 rwhva->OnGestureEvent(&scroll_end);
264 EXPECT_TRUE(GetTouchSelectionController(touch_editable)); 264 EXPECT_TRUE(GetTouchSelectionController(touch_editable));
265 } 265 }
266 266
267 IN_PROC_BROWSER_TEST_F(TouchEditableImplAuraTest, 267 IN_PROC_BROWSER_TEST_F(TouchEditableImplAuraTest,
268 TestTouchSelectionReshownAfterFling) { 268 TestTouchSelectionReshownAfterFling) {
269 ASSERT_NO_FATAL_FAILURE(StartTestWithPage("files/touch_selection.html")); 269 ASSERT_NO_FATAL_FAILURE(StartTestWithPage("files/touch_selection.html"));
270 WebContentsImpl* web_contents = 270 WebContentsImpl* web_contents =
271 static_cast<WebContentsImpl*>(shell()->web_contents()); 271 static_cast<WebContentsImpl*>(shell()->web_contents());
272 RenderFrameHost* main_frame = web_contents->GetMainFrame(); 272 RenderFrameHost* main_frame = web_contents->GetMainFrame();
273 WebContentsViewAura* view_aura = static_cast<WebContentsViewAura*>( 273 WebContentsViewAura* view_aura = static_cast<WebContentsViewAura*>(
274 web_contents->GetView()); 274 web_contents->GetView());
275 TestTouchEditableImplAura* touch_editable = new TestTouchEditableImplAura; 275 TestTouchEditableImplAura* touch_editable = new TestTouchEditableImplAura;
276 view_aura->SetTouchEditableForTest(touch_editable); 276 view_aura->SetTouchEditableForTest(touch_editable);
277 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>( 277 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>(
278 web_contents->GetRenderWidgetHostView()); 278 web_contents->GetRenderWidgetHostView());
279 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva); 279 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva);
280 280
281 // Long press to select word. 281 // Long press to select word.
282 ui::GestureEvent long_press( 282 ui::GestureEvent long_press(
283 10, 283 10,
284 10, 284 10,
285 0, 285 0,
286 ui::EventTimeForNow(), 286 ui::EventTimeForNow(),
287 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS, 0, 0)); 287 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS));
288 touch_editable->Reset(); 288 touch_editable->Reset();
289 rwhva->OnGestureEvent(&long_press); 289 rwhva->OnGestureEvent(&long_press);
290 touch_editable->WaitForSelectionChangeCallback(); 290 touch_editable->WaitForSelectionChangeCallback();
291 291
292 // Check if selection handles are showing. 292 // Check if selection handles are showing.
293 EXPECT_TRUE(GetTouchSelectionController(touch_editable)); 293 EXPECT_TRUE(GetTouchSelectionController(touch_editable));
294 294
295 scoped_ptr<base::Value> value = 295 scoped_ptr<base::Value> value =
296 content::ExecuteScriptAndGetValue(main_frame, "get_selection()"); 296 content::ExecuteScriptAndGetValue(main_frame, "get_selection()");
297 std::string selection; 297 std::string selection;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>( 333 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>(
334 web_contents->GetRenderWidgetHostView()); 334 web_contents->GetRenderWidgetHostView());
335 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva); 335 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva);
336 336
337 // Long press to select word. 337 // Long press to select word.
338 ui::GestureEvent long_press( 338 ui::GestureEvent long_press(
339 10, 339 10,
340 10, 340 10,
341 0, 341 0,
342 ui::EventTimeForNow(), 342 ui::EventTimeForNow(),
343 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS, 0, 0)); 343 ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS));
344 touch_editable->Reset(); 344 touch_editable->Reset();
345 rwhva->OnGestureEvent(&long_press); 345 rwhva->OnGestureEvent(&long_press);
346 touch_editable->WaitForSelectionChangeCallback(); 346 touch_editable->WaitForSelectionChangeCallback();
347 347
348 // Check if selection handles are showing. 348 // Check if selection handles are showing.
349 EXPECT_TRUE(GetTouchSelectionController(touch_editable)); 349 EXPECT_TRUE(GetTouchSelectionController(touch_editable));
350 350
351 scoped_ptr<base::Value> value = 351 scoped_ptr<base::Value> value =
352 content::ExecuteScriptAndGetValue(main_frame, "get_selection()"); 352 content::ExecuteScriptAndGetValue(main_frame, "get_selection()");
353 std::string selection; 353 std::string selection;
354 value->GetAsString(&selection); 354 value->GetAsString(&selection);
355 EXPECT_STREQ("Some", selection.c_str()); 355 EXPECT_STREQ("Some", selection.c_str());
356 } 356 }
357 357
358 IN_PROC_BROWSER_TEST_F(TouchEditableImplAuraTest, 358 IN_PROC_BROWSER_TEST_F(TouchEditableImplAuraTest,
359 NoTouchSelectionOnDoubleTapTest) { 359 NoTouchSelectionOnDoubleTapTest) {
360 ASSERT_NO_FATAL_FAILURE(StartTestWithPage("files/touch_selection.html")); 360 ASSERT_NO_FATAL_FAILURE(StartTestWithPage("files/touch_selection.html"));
361 WebContentsImpl* web_contents = 361 WebContentsImpl* web_contents =
362 static_cast<WebContentsImpl*>(shell()->web_contents()); 362 static_cast<WebContentsImpl*>(shell()->web_contents());
363 RenderFrameHost* main_frame = web_contents->GetMainFrame(); 363 RenderFrameHost* main_frame = web_contents->GetMainFrame();
364 WebContentsViewAura* view_aura = 364 WebContentsViewAura* view_aura =
365 static_cast<WebContentsViewAura*>(web_contents->GetView()); 365 static_cast<WebContentsViewAura*>(web_contents->GetView());
366 TestTouchEditableImplAura* touch_editable = new TestTouchEditableImplAura; 366 TestTouchEditableImplAura* touch_editable = new TestTouchEditableImplAura;
367 view_aura->SetTouchEditableForTest(touch_editable); 367 view_aura->SetTouchEditableForTest(touch_editable);
368 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>( 368 RenderWidgetHostViewAura* rwhva = static_cast<RenderWidgetHostViewAura*>(
369 web_contents->GetRenderWidgetHostView()); 369 web_contents->GetRenderWidgetHostView());
370 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva); 370 EXPECT_EQ(GetRenderWidgetHostViewAura(touch_editable), rwhva);
371 371
372 // Double-tap to select word. 372 // Double-tap to select word.
373 ui::GestureEvent double_tap( 373 ui::GestureEventDetails details(ui::ET_GESTURE_TAP);
374 10, 374 details.set_tap_count(2);
375 10, 375 ui::GestureEvent double_tap(10, 10, 0, ui::EventTimeForNow(), details);
376 0,
377 ui::EventTimeForNow(),
378 ui::GestureEventDetails(ui::ET_GESTURE_TAP, 2, 0));
379 touch_editable->Reset(); 376 touch_editable->Reset();
380 rwhva->OnGestureEvent(&double_tap); 377 rwhva->OnGestureEvent(&double_tap);
381 touch_editable->WaitForSelectionChangeCallback(); 378 touch_editable->WaitForSelectionChangeCallback();
382 379
383 // Make sure touch selection handles are not showing. 380 // Make sure touch selection handles are not showing.
384 EXPECT_FALSE(GetTouchSelectionController(touch_editable)); 381 EXPECT_FALSE(GetTouchSelectionController(touch_editable));
385 382
386 scoped_ptr<base::Value> value = 383 scoped_ptr<base::Value> value =
387 content::ExecuteScriptAndGetValue(main_frame, "get_selection()"); 384 content::ExecuteScriptAndGetValue(main_frame, "get_selection()");
388 std::string selection; 385 std::string selection;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 value = content::ExecuteScriptAndGetValue(main_frame, 442 value = content::ExecuteScriptAndGetValue(main_frame,
446 "get_cursor_position()"); 443 "get_cursor_position()");
447 int new_cursor_pos = -1; 444 int new_cursor_pos = -1;
448 value->GetAsInteger(&new_cursor_pos); 445 value->GetAsInteger(&new_cursor_pos);
449 EXPECT_NE(-1, new_cursor_pos); 446 EXPECT_NE(-1, new_cursor_pos);
450 // Cursor should have moved. 447 // Cursor should have moved.
451 EXPECT_NE(new_cursor_pos, cursor_pos); 448 EXPECT_NE(new_cursor_pos, cursor_pos);
452 } 449 }
453 450
454 } // namespace content 451 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/input/gesture_text_selector_unittest.cc ('k') | ui/aura/remote_window_tree_host_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698