- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 chromium双核浏览器实现
注: 本文简要介绍IE内核在chromium中集成的主要原理和思路,并不涉及具体代码逻辑。进程模型兼容模式下,renderer进程不再创建默认的RenderView、RenderFrame以及RenderWidget,改为由trident相关类来接收来自browser进程的网址导航指令,并将加载结果反馈回browser进程。此过程中,mojo通道的browser端保持不变, renderer端由 blink 切换为 trident。窗口结构兼容...
2022-03-13 19:30:23
1629
转载 C++对象静态绑定与动态绑定
先看一个简单的例子,该段测试代码的输出结果是:hello段错误为什么呢?上面这段代码,输出为2,暴露了宏函数的一个弊端。所以引入inline.1. 编译器在初始化及指定操作之间做出了仲裁。编译器必须确保如果某个object含有一个或一个以上的vptrs,那些vptrs的内容不会被base class object初始化或改变...
2019-06-20 17:02:55
939
原创 VsChromium插件不工作问题
问题背景:新换了一台电脑,Win10系统,重新安装完VS2017后,立即安装了VsChromium-0.9.30.vsix。 安装成功后,该插件无法识别chromium项目文件。 已经确认该插件为启用状态,且已经在VS里打开了chromium项目中的某一源文件,按 Ctrl+Alt+; 调出查找窗口,提示在源码目录创建 vs-chromium-project.txt文件。解决步骤:...
2019-05-29 18:04:11
627
原创 网页翻译
本文所述的网页翻译功能,截取自Chrome浏览器,适合以下几种应用场景:一、 网站开发,本站页面翻译二、 浏览器开发(Google翻译不可用的情况)三、 网络爬虫、数据分析四、 后台翻译服务基本原理JavaScript代码取自chrome浏览器自带的网页翻译功能,替换其翻译时的网络请求接口为 bing翻译服务器。bing翻译APIhttps://www.bi...
2019-05-17 17:33:38
2255
原创 chromium中的URL加载过程解析
chromium内核代码一直在更新,最近又有了大动作。尤其是IPC通信部分,因为性能问题,传统的IPC已经被弃用,虽然不是完全舍弃,但除了严重依赖于时序关系的Navigate相关消息外,其他的所有IPC::Channel都被替换成了mojom。这就导致以前的FrameMsg_Navigate、ResourceHostMsg_RequestSource等IPC消息在chromium代码中不再可见了。...
2018-12-25 16:45:42
5516
13
原创 Javascrit中使用MediaSource播放加密视频
1、基本概念MediaSource MediaSource是一个表示媒体资源HTMLMediaElement对象的接口。 MediaSource对象可以附着在HTMLMediaElement在客户端进行视频播放。区别于传统的直接在video标签中写上 src="//server/media/demo.mp4" 的用法,MediaSource的使用要稍微复杂一点。 ...
2018-09-21 18:20:57
12174
4
原创 简单理解链表与区块链(blockchain)
“区块链”类似于c语言里的链表,其中“区块”相当于链表中的Node节点,Node节点之间相互串联形成“链”。 链表的概念(如图) 换一种“实现”方式,每个石柱保存下一个石柱的经纬坐标,进而可以准确找到下一个节点。 现实中的“链表”是用铁链拴住...
2018-03-05 14:11:06
5960
原创 C2385, C++多继承中的 new delete 不明确问题
在webkit项目中,会经常遇到一些多重继承的类,以及多如牛毛的智能指针。还有一些WTF中定义的宏函数,比如WTF_MAKE_FAST_ALLOCATED 。类的多继承中,除了普通函数的 member 访问不明确问题,还 有一种是 new delete的类型访问不明确,大家可能很少见,毕竟父子类的构造函数和析构函数名不可能 相同。但是如果引用了上面这个宏,那么久很可能会出现new dele
2017-03-09 09:46:56
2960
PlayReady官方技术Api文档
2019-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人