CEF3:CEF3关闭流程

来源:互联网 发布:淘宝直播广告图片 编辑:程序博客网 时间:2024/06/14 17:35

CEF3关闭流程如下:

  1. 用户点击关闭按钮,发送 WM_CLOSE 消息。
  2. 在 WM_CLOSE 中调用 TryCloseBrowser() 并返回 false,表示取消关闭窗口。
  3. 调用 JS 的 onbeforeunload 方法,如果允许关闭,则4,否则处理结束。
  4. 则调用 JS 的 onunload 方法。
  5. 调用 CefLifeSpanHandler::DoClose() 方法,可以重写该方法以处理需要在关闭时进行的操作,如果该方法返回false,则6,否则需要发送自定义关闭消息。
  6. 由 CEF 再次发送 WM_CLOSE 消息。
  7. 再次调用 TryCloseBrowser() 并返回 true,表示允许关闭。
  8. 销毁窗口。
  9. 调用 CefLifeSpanHandler::OnBeforeClose() ,可以重写该方法以进行最后的清理操作。
  10. 调用 CefQuitMessageLoop() 结束主消息循环。
  11. 退出进程。