进入BrowsermainRunner::Run处理消息
2016-05-07 14:30
786 查看
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
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
相关文章推荐
- windows安装Apache,注册服务出现“(OS 5)拒绝访问。 : AH00369: Failed to open the WinNT service manager..."错误
- 【模拟】HDU1302The Snail
- Too many classes in --main-dex-list
- saiku安装方法总结
- 无障碍开发系列之WAI-ARIA
- Mongodb无法创建用户:MongoDB AuthenticationFailed with mechanism MONGODB-CR
- Aidl
- 为iPhone6设计自适应布局(二)
- 为iPhone 6设计自适应布局(一)
- Geoserver的ImageMosaic数据源添加以及服务发布
- Geoserver的ImageMosaic数据源添加以及服务发布
- 关于int main( int argc, char *argv[] )
- AIDL完全学习手册
- int main()还是void main()
- TurboMail邮件服务器资深技术支持杨工专访(一)
- 人工智能的新纪元——深度学习
- 011 Container With Most Water
- 使用 MailOtto 做完美预加载
- Maven Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean Failed to delete access_log
- jetbrains系列IDE-Vmoptions 优化指南