2020.6.17日报:修复cef的离屏模式的bug一枚

也不知道是我使用问题还是cef的问题。我一用离屏模式,鼠标滚轮就不对劲了。

具体情况是这样:CefBrowserPlatformDelegateNativeWin::TranslateMouseEvent里面会产生event的时间戳,result.SetTimeStamp(time_stamp);

但这个时间戳,居然是base::TimeTicks() +
         base::TimeDelta::FromMilliseconds(GetMessageTime());

这样的方式产生的。这个GetMessageTime感觉不是很靠谱。

然后到了InputHandlerProxy::HandleGestureScrollUpdate里面,会

    base::TimeTicks event_time = gesture_event.TimeStamp();

    base::TimeDelta delay = base::TimeTicks::Now() - event_time;

也就是说,用当前时间减去上述那个时间戳,得出一个delay。

而这个delay有可能是负数。

这样后面做滚动动画的时间,就乱套了。

我看最新代码也是差不多的逻辑,还没调试。

不知道具体是我使用问题还是怎么样,反正我最近改了下cef的内核代码,正常了。

你可能感兴趣的:(2020.6.17日报:修复cef的离屏模式的bug一枚)