- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 Chromium 通过IDL方式添加扩展API
其实chromium 增加自定义 api 接口,在原生代码中添加有两种方式,一种是使用json定义,另外一种是使用idl定义。chromium默认扩展api接口中有chrome.runtime.*,和chrome.send.*等,现在我们就仿照chrome.runtime方式来定义自己的接口,供给插件或者网页使用。2 // 这个是自动生成的,在目录"gen\chrome\common\extensions\api"下。文件宏定义末尾根据具体宏定义的值添加自己的宏定义,在最大值的基础上加1。
2023-10-21 11:44:11
240
原创 Chromium Mojo通信
一个MessagePipe中有一对handle,分别是handle0和handle1,向其中一个handle写的数据可以从另外一个handle读出来,这是前面已经说过的,如果把其中的一个handle发送到另外一个进程,这一对handle之间依然能够相互收发数据。Mojo提供了多种方法来发送handle到其他的进程,其中最简单的是使用 Invitation。初始化Mojo有两种方式,一种适用于静态链接Mojo的程序,一种适用于动态链接Mojo的程序。以下是静态链接时的初始化方法,动态链接时只需要把。
2023-10-20 14:33:54
366
1
原创 Chromium源码(基于103版本) 实现内置扩展
在src\chrome\browser\resources\myapi文件夹下,其中manifest.json文件的“key”的来源:通过载入一个自定义的crx插件然后在chromium的appdata下找到该插件的key,该key可能被用于计算extension-id,如果扩展无法调用接口,有可能是key不对,在src\base\base64.cc的Base64Decode函数处做检查。使用*.json添加扩展API,可以参考top_site.json的实现。
2023-10-19 14:43:17
200
原创 Windows10 下载并编译指定版本chromium源码
通过以上得知,Chrome 是基于 Chromium 的 tag 103.0.5060.66 开发的,也可以间接说明,这个版本比较稳定,可用。第三方依赖,是指编译 chromium 时用到的软件,在 Windows 和 Linux 上分别使用不同的依赖包,它们并没有包含到 chromium 的仓库里。我的机器是一台笔记本电脑,16GB 内存,CPU 是 AMD Ryzen 7 4800U,硬盘 500GB SSD,操作系统是 Windows 10 专业版。克隆仓库,而是根据后面的链接指引来获取代码。
2023-10-19 11:05:24
237
原创 Macos下用Clion调试chromium源码
6.1:Name:随意,Target:选择第5步创建的Target,Executable:随意,Program arguments:--no-sanbox --no-zygote --single-process。Working directory:depot_tools所在目录。Program:ninja所在的目录。最后点击ok就可以编译了!
2023-10-17 11:42:48
223
原创 Qt OpenGL textures详解
这样就大功告成了,这时候运行程序就会看到旋转的带有6个面的3D图形,如果显示不出来,证明初始化资源失败了,一般是opengl version对应不上,才会导致图形渲染程序失败!版本号根据用户安装的Qt版本来更改。Q_INIT_RESOURCE:textures(资源名称)QSurfaceFormat:定义3d面显示方式。定义一个存放3维坐标的vector。自定义一个用于显示3D的控件。定义1个用户代码片段对象。重写鼠标左键按下函数。定时旋转其中一个实例。
2023-10-17 11:38:54
157
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人