Commit 6fbdf7bc authored by David Bokan's avatar David Bokan Committed by Commit Bot

Fix crash in event sender

Event sender is used only in web_tests. Tests shouldn't ever set this
case up but we shouldn't ever crash.

Bug: 996071
Change-Id: I4fa1ef12d934b1698ca2f70070bcb509355dd491
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1763375Reviewed-by: default avatarAlex Moshchuk <alexmos@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#689094}
parent 928d4ea5
...@@ -1379,6 +1379,9 @@ int EventSender::ModifiersForPointer(int pointer_id) { ...@@ -1379,6 +1379,9 @@ int EventSender::ModifiersForPointer(int pointer_id) {
void EventSender::DoDragDrop(const WebDragData& drag_data, void EventSender::DoDragDrop(const WebDragData& drag_data,
WebDragOperationsMask mask) { WebDragOperationsMask mask) {
if (!mainFrameWidget())
return;
WebMouseEvent raw_event(WebInputEvent::kMouseDown, WebMouseEvent raw_event(WebInputEvent::kMouseDown,
ModifiersForPointer(kRawMousePointerId), ModifiersForPointer(kRawMousePointerId),
GetCurrentEventTime()); GetCurrentEventTime());
...@@ -2926,6 +2929,8 @@ blink::WebFrameWidget* EventSender::mainFrameWidget() { ...@@ -2926,6 +2929,8 @@ blink::WebFrameWidget* EventSender::mainFrameWidget() {
DCHECK(view()->MainFrame()->IsWebLocalFrame()) DCHECK(view()->MainFrame()->IsWebLocalFrame())
<< "Event Sender doesn't support being run in a remote frame for this " << "Event Sender doesn't support being run in a remote frame for this "
"operation."; "operation.";
if (!view() || !view()->MainFrame())
return nullptr;
return view()->MainFrame()->ToWebLocalFrame()->FrameWidget(); return view()->MainFrame()->ToWebLocalFrame()->FrameWidget();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment