进入BrowsermainRunner::Run处理消息

1:在该函数中,进入BrowserMainLoop::RunMainMessageLoopParts()

2:在RunMainMessageLoopParts()进入MainMessageLoopRun()

3:MainMessageLoopRun在该实现投递了一个UI task,然后运行RunLoop对象

4:在RunLoop对象下运行Run函数,在Run下运行MessageLoop::RunHandler();

5:根据消息类型,会创建MessagePumpForIO 或者MessagePumpForUI

6:然后在MessagePumpForXX::DoRunLoop()中最终运行一个循环,等待处理消息事件

bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) 

最终进入到该函数,这个函数会投递消息到窗口过程函数WindowImpl::WndProc

并且最终由HWNDMessageHandler处理

HWNDMessageHandler继承WindowImpl,而WindowImpl是实体窗口基类

HWNDMessageHandler是怎样创建的,看目录下的文章




MessagePumpForXX在\base\message_loop\message_pump_win.cc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值