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

Side by Side Diff: content/shell/renderer/test_runner/event_sender.cc

Issue 583113002: Abstract class WebTestDelegate to chromium c++ style. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update test_runner 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 "content/shell/renderer/test_runner/event_sender.h" 5 #include "content/shell/renderer/test_runner/event_sender.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "content/public/common/page_zoom.h" 10 #include "content/public/common/page_zoom.h"
11 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
12 #include "content/shell/renderer/test_runner/mock_spell_check.h" 11 #include "content/shell/renderer/test_runner/mock_spell_check.h"
13 #include "content/shell/renderer/test_runner/test_interfaces.h" 12 #include "content/shell/renderer/test_runner/test_interfaces.h"
13 #include "content/shell/renderer/test_runner/web_test_delegate.h"
14 #include "content/shell/renderer/test_runner/web_test_proxy.h" 14 #include "content/shell/renderer/test_runner/web_test_proxy.h"
15 #include "gin/handle.h" 15 #include "gin/handle.h"
16 #include "gin/object_template_builder.h" 16 #include "gin/object_template_builder.h"
17 #include "gin/wrappable.h" 17 #include "gin/wrappable.h"
18 #include "third_party/WebKit/public/platform/WebString.h" 18 #include "third_party/WebKit/public/platform/WebString.h"
19 #include "third_party/WebKit/public/platform/WebVector.h" 19 #include "third_party/WebKit/public/platform/WebVector.h"
20 #include "third_party/WebKit/public/web/WebContextMenuData.h" 20 #include "third_party/WebKit/public/web/WebContextMenuData.h"
21 #include "third_party/WebKit/public/web/WebFrame.h" 21 #include "third_party/WebKit/public/web/WebFrame.h"
22 #include "third_party/WebKit/public/web/WebKit.h" 22 #include "third_party/WebKit/public/web/WebKit.h"
23 #include "third_party/WebKit/public/web/WebView.h" 23 #include "third_party/WebKit/public/web/WebView.h"
(...skipping 1313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1337 if (force_layout_on_events_) 1337 if (force_layout_on_events_)
1338 view_->layout(); 1338 view_->layout();
1339 1339
1340 // In the browser, if a keyboard event corresponds to an editor command, 1340 // In the browser, if a keyboard event corresponds to an editor command,
1341 // the command will be dispatched to the renderer just before dispatching 1341 // the command will be dispatched to the renderer just before dispatching
1342 // the keyboard event, and then it will be executed in the 1342 // the keyboard event, and then it will be executed in the
1343 // RenderView::handleCurrentKeyboardEvent() method. 1343 // RenderView::handleCurrentKeyboardEvent() method.
1344 // We just simulate the same behavior here. 1344 // We just simulate the same behavior here.
1345 std::string edit_command; 1345 std::string edit_command;
1346 if (GetEditCommand(event_down, &edit_command)) 1346 if (GetEditCommand(event_down, &edit_command))
1347 delegate_->setEditCommand(edit_command, ""); 1347 delegate_->SetEditCommand(edit_command, "");
1348 1348
1349 view_->handleInputEvent(event_down); 1349 view_->handleInputEvent(event_down);
1350 1350
1351 if (code == ui::VKEY_ESCAPE && !current_drag_data_.isNull()) { 1351 if (code == ui::VKEY_ESCAPE && !current_drag_data_.isNull()) {
1352 WebMouseEvent event; 1352 WebMouseEvent event;
1353 InitMouseEvent(WebInputEvent::MouseDown, 1353 InitMouseEvent(WebInputEvent::MouseDown,
1354 pressed_button_, 1354 pressed_button_,
1355 last_mouse_pos_, 1355 last_mouse_pos_,
1356 GetCurrentEventTimeSec(), 1356 GetCurrentEventTimeSec(),
1357 click_count_, 1357 click_count_,
1358 0, 1358 0,
1359 &event); 1359 &event);
1360 FinishDragAndDrop(event, blink::WebDragOperationNone); 1360 FinishDragAndDrop(event, blink::WebDragOperationNone);
1361 } 1361 }
1362 1362
1363 delegate_->clearEditCommand(); 1363 delegate_->ClearEditCommand();
1364 1364
1365 if (generate_char) { 1365 if (generate_char) {
1366 WebKeyboardEvent event_char = event_up; 1366 WebKeyboardEvent event_char = event_up;
1367 event_char.type = WebInputEvent::Char; 1367 event_char.type = WebInputEvent::Char;
1368 event_char.keyIdentifier[0] = '\0'; 1368 event_char.keyIdentifier[0] = '\0';
1369 view_->handleInputEvent(event_char); 1369 view_->handleInputEvent(event_char);
1370 } 1370 }
1371 1371
1372 view_->handleInputEvent(event_up); 1372 view_->handleInputEvent(event_up);
1373 } 1373 }
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
1533 1533
1534 void EventSender::DumpFilenameBeingDragged() { 1534 void EventSender::DumpFilenameBeingDragged() {
1535 WebString filename; 1535 WebString filename;
1536 WebVector<WebDragData::Item> items = current_drag_data_.items(); 1536 WebVector<WebDragData::Item> items = current_drag_data_.items();
1537 for (size_t i = 0; i < items.size(); ++i) { 1537 for (size_t i = 0; i < items.size(); ++i) {
1538 if (items[i].storageType == WebDragData::Item::StorageTypeBinaryData) { 1538 if (items[i].storageType == WebDragData::Item::StorageTypeBinaryData) {
1539 filename = items[i].title; 1539 filename = items[i].title;
1540 break; 1540 break;
1541 } 1541 }
1542 } 1542 }
1543 delegate_->printMessage(std::string("Filename being dragged: ") + 1543 delegate_->PrintMessage(std::string("Filename being dragged: ") +
1544 filename.utf8().data() + "\n"); 1544 filename.utf8().data() + "\n");
1545 } 1545 }
1546 1546
1547 void EventSender::GestureFlingCancel() { 1547 void EventSender::GestureFlingCancel() {
1548 WebGestureEvent event; 1548 WebGestureEvent event;
1549 event.type = WebInputEvent::GestureFlingCancel; 1549 event.type = WebInputEvent::GestureFlingCancel;
1550 event.timeStampSeconds = GetCurrentEventTimeSec(); 1550 event.timeStampSeconds = GetCurrentEventTimeSec();
1551 1551
1552 if (force_layout_on_events_) 1552 if (force_layout_on_events_)
1553 view_->layout(); 1553 view_->layout();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1608 DoLeapForward(milliseconds); 1608 DoLeapForward(milliseconds);
1609 } 1609 }
1610 } 1610 }
1611 1611
1612 void EventSender::BeginDragWithFiles(const std::vector<std::string>& files) { 1612 void EventSender::BeginDragWithFiles(const std::vector<std::string>& files) {
1613 current_drag_data_.initialize(); 1613 current_drag_data_.initialize();
1614 WebVector<WebString> absolute_filenames(files.size()); 1614 WebVector<WebString> absolute_filenames(files.size());
1615 for (size_t i = 0; i < files.size(); ++i) { 1615 for (size_t i = 0; i < files.size(); ++i) {
1616 WebDragData::Item item; 1616 WebDragData::Item item;
1617 item.storageType = WebDragData::Item::StorageTypeFilename; 1617 item.storageType = WebDragData::Item::StorageTypeFilename;
1618 item.filenameData = delegate_->getAbsoluteWebStringFromUTF8Path(files[i]); 1618 item.filenameData = delegate_->GetAbsoluteWebStringFromUTF8Path(files[i]);
1619 current_drag_data_.addItem(item); 1619 current_drag_data_.addItem(item);
1620 absolute_filenames[i] = item.filenameData; 1620 absolute_filenames[i] = item.filenameData;
1621 } 1621 }
1622 current_drag_data_.setFilesystemId( 1622 current_drag_data_.setFilesystemId(
1623 delegate_->registerIsolatedFileSystem(absolute_filenames)); 1623 delegate_->RegisterIsolatedFileSystem(absolute_filenames));
1624 current_drag_effects_allowed_ = blink::WebDragOperationCopy; 1624 current_drag_effects_allowed_ = blink::WebDragOperationCopy;
1625 1625
1626 // Provide a drag source. 1626 // Provide a drag source.
1627 view_->dragTargetDragEnter(current_drag_data_, 1627 view_->dragTargetDragEnter(current_drag_data_,
1628 last_mouse_pos_, 1628 last_mouse_pos_,
1629 last_mouse_pos_, 1629 last_mouse_pos_,
1630 current_drag_effects_allowed_, 1630 current_drag_effects_allowed_,
1631 0); 1631 0);
1632 // |is_drag_mode_| saves events and then replays them later. We don't 1632 // |is_drag_mode_| saves events and then replays them later. We don't
1633 // need/want that. 1633 // need/want that.
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
1869 GetCurrentEventTimeSec(), 1869 GetCurrentEventTimeSec(),
1870 click_count_, 1870 click_count_,
1871 0, 1871 0,
1872 &event); 1872 &event);
1873 event.momentumPhase = WebMouseWheelEvent::PhaseEnded; 1873 event.momentumPhase = WebMouseWheelEvent::PhaseEnded;
1874 event.hasPreciseScrollingDeltas = true; 1874 event.hasPreciseScrollingDeltas = true;
1875 view_->handleInputEvent(event); 1875 view_->handleInputEvent(event);
1876 } 1876 }
1877 1877
1878 void EventSender::ScheduleAsynchronousClick(int button_number, int modifiers) { 1878 void EventSender::ScheduleAsynchronousClick(int button_number, int modifiers) {
1879 delegate_->postTask(new MouseDownTask(this, button_number, modifiers)); 1879 delegate_->PostTask(new MouseDownTask(this, button_number, modifiers));
1880 delegate_->postTask(new MouseUpTask(this, button_number, modifiers)); 1880 delegate_->PostTask(new MouseUpTask(this, button_number, modifiers));
1881 } 1881 }
1882 1882
1883 void EventSender::ScheduleAsynchronousKeyDown(const std::string& code_str, 1883 void EventSender::ScheduleAsynchronousKeyDown(const std::string& code_str,
1884 int modifiers, 1884 int modifiers,
1885 KeyLocationCode location) { 1885 KeyLocationCode location) {
1886 delegate_->postTask(new KeyDownTask(this, code_str, modifiers, location)); 1886 delegate_->PostTask(new KeyDownTask(this, code_str, modifiers, location));
1887 } 1887 }
1888 1888
1889 double EventSender::GetCurrentEventTimeSec() { 1889 double EventSender::GetCurrentEventTimeSec() {
1890 return (delegate_->getCurrentTimeInMillisecond() + time_offset_ms_) / 1000.0; 1890 return (delegate_->GetCurrentTimeInMillisecond() + time_offset_ms_) / 1000.0;
1891 } 1891 }
1892 1892
1893 void EventSender::DoLeapForward(int milliseconds) { 1893 void EventSender::DoLeapForward(int milliseconds) {
1894 time_offset_ms_ += milliseconds; 1894 time_offset_ms_ += milliseconds;
1895 } 1895 }
1896 1896
1897 void EventSender::SendCurrentTouchEvent(WebInputEvent::Type type) { 1897 void EventSender::SendCurrentTouchEvent(WebInputEvent::Type type) {
1898 DCHECK_GT(static_cast<unsigned>(WebTouchEvent::touchesLengthCap), 1898 DCHECK_GT(static_cast<unsigned>(WebTouchEvent::touchesLengthCap),
1899 touch_points_.size()); 1899 touch_points_.size());
1900 if (force_layout_on_events_) 1900 if (force_layout_on_events_)
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
2291 } 2291 }
2292 default: 2292 default:
2293 NOTREACHED(); 2293 NOTREACHED();
2294 } 2294 }
2295 } 2295 }
2296 2296
2297 replaying_saved_events_ = false; 2297 replaying_saved_events_ = false;
2298 } 2298 }
2299 2299
2300 } // namespace content 2300 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/renderer/test_runner/WebTestDelegate.h ('k') | content/shell/renderer/test_runner/gamepad_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698