![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
chromium
awebkit
这个作者很懒,什么都没留下…
展开
-
chromium video相关
规范: - HTMLAudioElement - HTMLMediaElement - HTMLVideoElement概况: chromium的video的实现依赖于以下三部分: pipeline:chromium自己实现的播放引擎,处理音频/视频的同步和资源获取 FFMpeg: 开源库。用于音视频的解码原创 2012-07-30 11:22:12 · 2343 阅读 · 0 评论 -
chromium源码分析系列:前言
以前做过webkit方面的研究,最近在看chromium代码,鉴于代码实在太过庞大,经常会只见树木,不见森林,而见了树木,又部分橡树榛树。既需要广,也需要深,搞得很头疼。因此,记录下来自己的学习经历,和大家探讨,同时加深自己的理解。 同时,自己也很喜欢布道师这个角色,看看自己是否能解释清楚问题吧。 声明一点,这里列出了学习目录,而这个目录会随着学习历程而更新。原创 2012-08-20 14:32:14 · 3393 阅读 · 1 评论 -
chromium学习:thread
在前面,我们学习了content_shell的流程,串成了一条执行线。从今天开始,我们要开始学习线上的点,由点延伸成为面,最后组成一个学习chromium的网。 首先,我们先介绍chromium中的thread相关知识。 chromium中有哪些线程呢? 1. UI线程。应用程序起来后的主线原创 2012-08-22 18:30:14 · 6003 阅读 · 1 评论 -
chromium摘抄
网上介绍chromium知识的文章挺多,省的自己写了,在这里就直接摘录一下1.WwebUIWebUI就是chrome://xxx/所显示的页面,WebUI也提供了一些新的api。学习WebUI的好文章:一步步编写webui原创 2015-01-04 20:32:57 · 2116 阅读 · 0 评论 -
chromium源码分析系列:入门程序:content_shell
我们看代码的时候会先去找main函数,那么chromium的main函数在哪里呢?或者说,从哪里我们可以进入chromium的世界呢? 条条大路通罗马。而我觉得捷径是content_shell。content_shell拥有chrome内核,但是没有外层chrome UI,只是封装了一个简单的UI。正好可以让我们从纷繁的UI工作中抽离出来,仔细研究chrome内核工作。原创 2012-08-20 15:19:23 · 14515 阅读 · 2 评论 -
chromium aura简介
Aura 目的Aura是为了创建一个全新的桌面窗口管理系统,通过硬件加速提供绚丽的UI效果。UI设计一个视图层级依附于一个widget,widget是一个跨平台类型,依赖于NativeWidget。NativeWidget根据平台不同有不同的实现,主要负责与平台沟通。NativeWidget在Aura里面对应的实现是 DesktopNativeWidgetAura,还有一个Native原创 2013-10-09 18:43:49 · 9123 阅读 · 0 评论 -
chormium学习:锁和条件变量
前面我们讲了chromium 的线程模型是尽可能不用锁,方法主要是尽量避免访问并发资源以及减小锁的控制范围来实现。 所以当我们进行多线程编程时,首先要问一下自己:我们真的需要锁或者条件变量吗?在chrome代码中,消息传递是非常普遍的(通过TaskRunner 和 PostTask),底层在非常必要的时候才会用到锁和条件变量。 另外要说明的是:原创 2013-01-06 11:04:11 · 1659 阅读 · 0 评论 -
chrome extension 开发
Netscape在与IE的战斗中败下阵来,但是NPAPI作为抵抗IE的力量,一直存活了下来。关于NPAPI,维基上这么说的:NPAPI(Netscape Plugin Application Programming Interface,网景插件应用程序接口)是用于在浏览器中执行外部应用程序的通用接口,与微软的ActiveX是竞争技术。每个插件声明自己支持某一种或几种内容类型(例如“audio原创 2012-08-17 17:29:40 · 1840 阅读 · 0 评论 -
chromium的gdb
以前弄过chromium的gdb,没有看到gdb信息今天,重新弄了一下。主要参考 http://code.google.com/p/chromium/wiki/LinuxDebugging#Getting_renderer_subprocesses_into_gdb其实,挺简单的,但是一旦出错,你会怀疑很多东西,比如gdb的版本里面是不是没有包含调试符号,gdb用法对不对等。首先,原创 2012-08-16 15:46:48 · 2262 阅读 · 0 评论 -
chromium log相关
如何打开chromium里面的log?我们看到代码里面很多LOG(),所以要先找到LOG的定义。LOG定义在Assertions.h里面。LOG是由条件宏控制的如果非debug版本,如下代码#ifdef NDEBUG //release版本会定义NDEBUG=1/* Disable ASSERT* macros in release mode. */#def原创 2012-07-30 11:20:30 · 3032 阅读 · 0 评论 -
chromium学习:进程模型
在我们继续我们的源码分析之前,我们先来补一下基础。 今天,我们一起看一下chromium的进程模型。 当年chrome刚出来的时候,多进程模型也是大力宣传的一点。那么多进程有什么好处呢? chromium的官方文档是这么解释的:以前,我们的浏览器就像旧时代的操作系统,单用户协同工作的多任务操作系统。一个恶意的程序就能使得整个操作系统崩溃。同样,原创 2012-12-13 17:10:52 · 2164 阅读 · 0 评论