随笔分类 -  chromium

将本人对chromium源码的研究整理出来
摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/4401075.html 前言 插件一直是浏览器的重要组成部分,丰富浏览器的运行能力,实现一些HTML+JS实现不了本地应用(比如音视频、文件操作等)。早期广为熟知的是IE下的插件ActiveX,这是一项熟悉可能暴露年龄 阅读全文
posted @ 2017-03-27 19:56 孤竹君 阅读(40342) 评论(8) 推荐(3) 编辑
摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/4374668.html上一篇博文介绍了本地视频采集,这一篇就介绍下音频采集流程,也是先介绍WebRTC原生的音频采集,再介绍Chromium源码对它的定制。1. WebRTC原生音频采集先介绍一下WebRTC中与音频采... 阅读全文
posted @ 2015-03-28 19:28 孤竹君 阅读(18596) 评论(0) 推荐(2) 编辑
摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/4374610.html前面两篇文章介绍WebRTC的运行流程和使用框架接口,接下来就开始分析本地音视频的采集流程。由于篇幅较大,视频采集和音频采集分成两篇博文,这里先分析视频采集流程。分析的时候先分析WebRTC原生的... 阅读全文
posted @ 2015-03-28 18:45 孤竹君 阅读(18813) 评论(9) 推荐(3) 编辑
摘要:硬件渲染依赖计算机的GPU,GPU种类繁多,兼容这么多种类的硬件,稳定性是个大问题,虽然Chromium内部维护了一个GPU黑名单列表,限定了哪些渲染特性不能在哪些GPU上渲染,但还不足以解决使用GPU过程中的稳定性问题。在Chromium的多进程架构中,不稳定不可控的因素一般都会采取独立进程的渲染方式, 从而保证主进程的稳定性,比如Render进程、插件进程,GPU的使用也一样,采取独立进程的方式运行。 阅读全文
posted @ 2014-09-07 13:15 孤竹君 阅读(4143) 评论(0) 推荐(2) 编辑
摘要:任何一个成熟的界面框架都有一个相当复杂的结构,消息循环的处理、控件的布局与绘制、焦点的管理以及资源的存取等等,Chromium里的界面框架也不例外,尤其采用的MVC设计方式更是增添了代码结构的复杂度。这里并不打算讨论Chromium的界面框架,本文感兴趣的只是Chromium的UI绘制部分,确切地说应该是引入Aura架构之后控件渲染的硬件加速支持。 阅读全文
posted @ 2014-08-28 23:48 孤竹君 阅读(8543) 评论(2) 推荐(0) 编辑
摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/3797278.html承接上一篇文章。媒体播放,需要指定一个源文件,html5用URL格式来指定视频源文件地址,可以是http链接,也可以使本地源文件(不能直接指定,需要借助blob二进制类型)。播放网络文件比播放本地... 阅读全文
posted @ 2014-06-19 18:08 孤竹君 阅读(8089) 评论(0) 推荐(1) 编辑
摘要:在PC浏览器中播放视频,大部分视频网站都是采用flash播放器,这多亏了Adobe Flash Player庞大的装机量。但Flash Player对于浏览器来说就是一个插件,插件内部下载flv流、解析flv视频格式、播放视频等流程与浏览器都没有太大关系。浏览器新标准HTML5中增加了视频支持。 阅读全文
posted @ 2014-06-16 23:59 孤竹君 阅读(5491) 评论(0) 推荐(4) 编辑
摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/3787977.htmlWebKit中解析、渲染网页的过程中需要一些功能,比如: socket连接、URL资源请求的实现、线程管理等,而这些功能依赖于具体的平台, 不同的平台有不同的移植实现。WebKit的Public中... 阅读全文
posted @ 2014-06-14 10:46 孤竹君 阅读(1223) 评论(0) 推荐(0) 编辑
摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/3784660.html本文探讨一下chromium中加载URL的流程,具体来说是从地址栏输入URL地址到通过URLRequest类请求http流的过程。为避免繁琐, URL请求过程中的NavigationControl... 阅读全文
posted @ 2014-06-12 20:58 孤竹君 阅读(5861) 评论(0) 推荐(0) 编辑
摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/3405959.htmlChromium项目采用Grit工具来打包生成程序需要的资源,如图片资源、字符串资源等,尤其是字符串资源,牵涉到国际化的问题。Chromium为需要的资源创建单独的项目工程,工程类型为实用工具,自定义工程的生成事件, 在CustomBuild里调用grit命令,根据grd资源描述文件生成相关的资源。如chrome_strings工程生成国际化字符串资源、chrome_resources工程生成除字符串以外的资源,比如图片资源。Grit工具接受grd资源描述文件,生成.h、.rc、.pak等文 阅读全文
posted @ 2013-11-04 10:18 孤竹君 阅读(4055) 评论(1) 推荐(1) 编辑
摘要:首先介绍浏览所需的数据结构:BrowserContext类:保存浏览过程中所需要的上下文。其运行在UI线程中,所有方法均只能在UI线程中调用。主要方法简介:l net::URLRequestContextGetter* GetRequestContext()获取URL请求所需要的URLRequestContext结构l ResourceContext* GetResourceContext()获取资源加载时需要的数据SiteInstance类:站点对象,具体实现类为SiteInstanceImpl。一个SiteInstance对象对应于相同域名段的站点实例,如www.baidu.com和zhi 阅读全文
posted @ 2013-05-12 12:48 孤竹君 阅读(1481) 评论(0) 推荐(0) 编辑