REVIEW: Use RenderWidgetHost api for event routing

https://chromium-review.googlesource.com/c/chromium/src/+/836267
This commit is contained in:
deepak1556 2018-04-12 18:24:04 +05:30 committed by Samuel Attard
parent d386ec0a2b
commit 66058c8cfe

View file

@ -96,7 +96,6 @@
#include "third_party/WebKit/public/web/WebFindOptions.h" #include "third_party/WebKit/public/web/WebFindOptions.h"
#include "ui/display/screen.h" #include "ui/display/screen.h"
#include "ui/events/base_event_utils.h" #include "ui/events/base_event_utils.h"
#include "ui/latency/latency_info.h"
#if !defined(OS_MACOSX) #if !defined(OS_MACOSX)
#include "ui/aura/window.h" #include "ui/aura/window.h"
@ -1602,17 +1601,18 @@ bool WebContents::SendIPCMessage(bool all_frames,
void WebContents::SendInputEvent(v8::Isolate* isolate, void WebContents::SendInputEvent(v8::Isolate* isolate,
v8::Local<v8::Value> input_event) { v8::Local<v8::Value> input_event) {
auto* const view = static_cast<content::RenderWidgetHostViewBase*>( content::RenderWidgetHostView* view =
web_contents()->GetRenderWidgetHostView()); web_contents()->GetRenderWidgetHostView();
if (!view) if (!view)
return; return;
content::RenderWidgetHost* rwh = view->GetRenderWidgetHost();
blink::WebInputEvent::Type type = blink::WebInputEvent::Type type =
mate::GetWebInputEventType(isolate, input_event); mate::GetWebInputEventType(isolate, input_event);
if (blink::WebInputEvent::IsMouseEventType(type)) { if (blink::WebInputEvent::IsMouseEventType(type)) {
blink::WebMouseEvent mouse_event; blink::WebMouseEvent mouse_event;
if (mate::ConvertFromV8(isolate, input_event, &mouse_event)) { if (mate::ConvertFromV8(isolate, input_event, &mouse_event)) {
view->ProcessMouseEvent(mouse_event, ui::LatencyInfo()); rwh->ForwardMouseEvent(mouse_event);
return; return;
} }
} else if (blink::WebInputEvent::IsKeyboardEventType(type)) { } else if (blink::WebInputEvent::IsKeyboardEventType(type)) {
@ -1620,13 +1620,13 @@ void WebContents::SendInputEvent(v8::Isolate* isolate,
blink::WebKeyboardEvent::kRawKeyDown, blink::WebKeyboardEvent::kRawKeyDown,
blink::WebInputEvent::kNoModifiers, ui::EventTimeForNow()); blink::WebInputEvent::kNoModifiers, ui::EventTimeForNow());
if (mate::ConvertFromV8(isolate, input_event, &keyboard_event)) { if (mate::ConvertFromV8(isolate, input_event, &keyboard_event)) {
view->ProcessKeyboardEvent(keyboard_event, ui::LatencyInfo()); rwh->ForwardKeyboardEvent(keyboard_event);
return; return;
} }
} else if (type == blink::WebInputEvent::kMouseWheel) { } else if (type == blink::WebInputEvent::kMouseWheel) {
blink::WebMouseWheelEvent mouse_wheel_event; blink::WebMouseWheelEvent mouse_wheel_event;
if (mate::ConvertFromV8(isolate, input_event, &mouse_wheel_event)) { if (mate::ConvertFromV8(isolate, input_event, &mouse_wheel_event)) {
view->ProcessMouseWheelEvent(mouse_wheel_event, ui::LatencyInfo()); rwh->ForwardWheelEvent(mouse_wheel_event);
return; return;
} }
} }