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

Unified Diff: content/shell/renderer/test_runner/event_sender.cc

Issue 584203003: EventSender: Added checks for missing arguments (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: s/DCHECKs/ThrowErrors. Added similar checks in other places. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/renderer/test_runner/event_sender.cc
diff --git a/content/shell/renderer/test_runner/event_sender.cc b/content/shell/renderer/test_runner/event_sender.cc
index 392ef75ea5a6f8cd9efe833e410109f504a27653..fcb9bb65b31de7a038cb959bebb20ae0171ab311 100644
--- a/content/shell/renderer/test_runner/event_sender.cc
+++ b/content/shell/renderer/test_runner/event_sender.cc
@@ -1640,8 +1640,14 @@ void EventSender::BeginDragWithFiles(const std::vector<std::string>& files) {
void EventSender::AddTouchPoint(gin::Arguments* args) {
double x;
double y;
- args->GetNext(&x);
- args->GetNext(&y);
+ if (!args->GetNext(&x)) {
+ args->ThrowError();
+ return;
+ }
+ if (!args->GetNext(&y)) {
+ args->ThrowError();
earthdok 2014/09/23 15:44:46 Why not merge the two if statements? (Unless of co
mustaq 2014/09/23 15:56:16 Good point. The merging doesn't obscure the error
+ return;
+ }
WebTouchPoint touch_point;
touch_point.state = WebTouchPoint::StatePressed;
@@ -1761,8 +1767,14 @@ void EventSender::MouseMoveTo(gin::Arguments* args) {
double x;
double y;
- args->GetNext(&x);
- args->GetNext(&y);
+ if (!args->GetNext(&x)) {
+ args->ThrowError();
+ return;
+ }
+ if (!args->GetNext(&y)) {
+ args->ThrowError();
+ return;
+ }
WebPoint mouse_pos(static_cast<int>(x), static_cast<int>(y));
int modifiers = 0;
@@ -1924,9 +1936,14 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
gin::Arguments* args) {
double x;
double y;
- args->GetNext(&x);
- args->GetNext(&y);
- WebPoint point(x, y);
+ if (!args->GetNext(&x)) {
+ args->ThrowError();
+ return;
+ }
+ if (!args->GetNext(&y)) {
+ args->ThrowError();
+ return;
+ }
WebGestureEvent event;
event.type = type;
@@ -1944,7 +1961,7 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
current_gesture_location_.y + event.data.scrollUpdate.deltaY;
break;
case WebInputEvent::GestureScrollBegin:
- current_gesture_location_ = WebPoint(point.x, point.y);
+ current_gesture_location_ = WebPoint(x, y);
event.x = current_gesture_location_.x;
event.y = current_gesture_location_.y;
break;
@@ -1979,8 +1996,8 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
event.data.tap.tapCount = tap_count;
event.data.tap.width = width;
event.data.tap.height = height;
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
break;
}
case WebInputEvent::GestureTapUnconfirmed:
@@ -1994,8 +2011,8 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
} else {
event.data.tap.tapCount = 1;
}
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
break;
case WebInputEvent::GestureTapDown:
{
@@ -2013,8 +2030,8 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
return;
}
}
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
event.data.tapDown.width = width;
event.data.tapDown.height = height;
break;
@@ -2035,19 +2052,19 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
}
}
}
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
event.data.showPress.width = width;
event.data.showPress.height = height;
break;
}
case WebInputEvent::GestureTapCancel:
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
break;
case WebInputEvent::GestureLongPress:
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
if (!args->PeekNext().IsEmpty()) {
float width;
if (!args->GetNext(&width)) {
@@ -2066,8 +2083,8 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
}
break;
case WebInputEvent::GestureLongTap:
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
if (!args->PeekNext().IsEmpty()) {
float width;
if (!args->GetNext(&width)) {
@@ -2086,8 +2103,8 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
}
break;
case WebInputEvent::GestureTwoFingerTap:
- event.x = point.x;
- event.y = point.y;
+ event.x = x;
+ event.y = y;
if (!args->PeekNext().IsEmpty()) {
float first_finger_width;
if (!args->GetNext(&first_finger_width)) {
@@ -2123,7 +2140,7 @@ void EventSender::GestureEvent(WebInputEvent::Type type,
WebMouseEvent mouse_event;
InitMouseEvent(WebInputEvent::MouseDown,
pressed_button_,
- point,
+ WebPoint(x, y),
GetCurrentEventTimeSec(),
click_count_,
0,
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698