摘要: Chromium的Timer机制实现是依据其Base库的Thread实现的 sequence_manager 持有 task queue task queue创建task runner TimerBase 纯虚类,抽象类型。 存放了task runner,应该是真正的用于跑定时任务的循环就存在这个类 阅读全文
posted @ 2024-12-25 11:03 leno米雷 阅读(2) 评论(0) 推荐(0) 编辑
摘要: OnceCallback OnceClosure RepeatingCallback RepeatingClosure Closure是给消息循环使用的内部任务,特点是返回值和参数都是void,不需要额外的运行环境,是一个完整的可以直接运行的闭包任务。 Callback是绑定闭包,用于绑定函数,自由 阅读全文
posted @ 2024-12-02 17:54 leno米雷 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Thread 线程通用接口,跨平台封装,会创建并持有RunLoop对象 // base/threading/thread.h raw_ptr<RunLoop> run_loop_ = nullptr; // 这种写法可以抽离真正的消息循环逻辑到RunLoop中,并且保证这部分逻辑会随着线程主函数结束 阅读全文
posted @ 2024-11-26 15:45 leno米雷 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 2024/11/20 update mojo本质是Uinx Domain Socket(posix),在本机的进程间进行通信时不会经过网卡,可以少一次拷贝。在Windows上则是管道来实现的IPC。 mojom的用途 主要用于进程间通信,减少模块间依赖。 用接口描述语言书写mojom接口文件,经过编 阅读全文
posted @ 2022-10-08 19:03 leno米雷 阅读(1577) 评论(0) 推荐(0) 编辑
摘要: 问题的来源,绑定和unique_ptr std::bind绑定unique_ptr的时候生成的类型并非std::function,而是一个不可拷贝的类型,这跟unique_ptr的特性有关,这意味着如果需要暂时保存绑定的函数,没有能够接受对象的类型声明 如果不需要保存可以使用auto来接受绑定的对象 阅读全文
posted @ 2022-09-08 18:23 leno米雷 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 本文翻译自 "https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage" 介绍 cef是个基于chromium的开源项目。跟chromium项目不同,cef主要聚焦于 google chrome应用开发,cef集中于促进嵌入式浏览器在第 阅读全文
posted @ 2020-01-17 11:12 leno米雷 阅读(1653) 评论(0) 推荐(0) 编辑
摘要: 在cefsimple中,提到了一个cefapp的类型,这个类型是一个接口类,主要目的是提供获取三种handler的接口 GetBrowserProcessHandler 分别可以得到对应回调handler,如果继承了这三种handler就能在这些时机处理自己的回调业务,举个例子,例如 ,可以实现br 阅读全文
posted @ 2020-01-15 17:33 leno米雷 阅读(3870) 评论(0) 推荐(0) 编辑
摘要: 下面是cefsimple的入口代码,主要分成两个部分 进程判断 首先是初始化进程的代码,cef的进程结构和chromium类似,都是多进程共用代码。所以cef提供了一些函数来检测主进程(即browser进程)的流程和子进程的流程,以分别执行适合当前执行进程的逻辑。这段代码如下所示。 其中main_a 阅读全文
posted @ 2020-01-15 11:47 leno米雷 阅读(2913) 评论(1) 推荐(0) 编辑
摘要: 搜了搜cef相关的文章,内容大多是 如何下载源码,如何编译,还有一些源码剖析,但是很少有人说明对cef进行开发时如何保存修改,使用git进行修改后的版本控制。 cef是怎么做的? cef源码分为两个部分,一个部分是cef的代码,另一个部分是chromium源码,如果按照cef官网给的指引下载代码,一 阅读全文
posted @ 2019-12-20 20:09 leno米雷 阅读(1215) 评论(0) 推荐(0) 编辑
摘要: 代码模块与职责 所有的代码都在src目录下,这会导致一上手的时候无法快速划分模块,不便于理解,如果分类然后放文件夹就会好一些。 最关键的部分在于uCEFApplication,是和dll链接的部分 ,可以在这个文件内找到所有关于接口类型的声明,抽象了基本类型使用的接口,结构清晰。几乎是个功能都能找到 阅读全文
posted @ 2019-11-27 20:56 leno米雷 阅读(6224) 评论(4) 推荐(2) 编辑