chromium android 的事件响应机制

最近研究了一下Chromium在android平台下的事件响应,总结一下。

事件分为:MouseEvent, MouseWheelEvent,KeyboardEvent,GestureEvent,TouchEvent。chromium android 的事件响应机制_第1张图片

从app层传到WebCore,经历以下几个阶段:

(1) app层将用户输入事件封装为WebInputEvent,传递给WebKit。例如点击事件的调用过程:WebViewCore.nativeSingleTap->WebViewCoreImpl::SingleTap。在WebViewCoreImpl::SingleTap中将app事件封装为WebGestureEvent。

 WebGestureEvent为WebKit概念,继承自WebInputEvent。

(2) WebKit将WebInputEvent封装为PlatformEvent。

(3) EventHandler将PlatformEvent分发给处于焦点中的Node。

(4) Node将PlatformEvent封装成Event,交给EventDispatcher处理。

(5) 由EventDispatcher决定最终将Event交给谁处理。


你可能感兴趣的:(chromium android 的事件响应机制)