自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HTML5, Chromium和WebKit技术

描述HTML5 API和Chromium/WebKit开源项目相关知识

  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 Chromium原码浅析 --- Chromium多线程的实现

上文对Chromium中多线程机制做了简要说明,下面从代码上加以分析。Chromium多线程机制的实现可以说堪称经典,可以为我们好好学习和模仿。每一个线程中包含有一个MessageLoop,MessageLoop实际上可以看作是任务的队列,线程就是不停的从MessageLoop中选择任务投入运行。一个任务运行完毕后,再从队列上选择下一个任务投入运行,直到队列上没有任务为止,然后线程处于休眠

2013-11-30 19:44:19 2653

原创 Chromium源码浅析 --- Chromium的多线程机制

Chromium是一个多进程架构,里面包含Browser进程,Render进程和GPU进程等等,而在每个进程中又包含有丰富的线程,特别是在Browser进程中,由于Browser进程是其他所有进程的总管,负责的任务具备多样性和复杂性,比如响应用户的输入,与Render进程和GPU进程通信,打开或读取各种文件设备操作等等。如果把这些任务统统放在一个线程中去实现,就不能很好的发挥CPU多核的功能,另外

2013-11-28 16:21:14 2358

原创 Chromium源码浅析 --- MessagePort通信的实现

MessagePort是HTML5中新增加的一个API,它能完成不同上下文之间的消息传递,例如Worker上下文与Document上下文之间的通信就是通过MessagePort来实现的,也可以利用MessagePort来实现浏览器中多个标签页之间的通信。MessagePort对象一般封装在MessageChannel中使用,当开发者申请一个MessageChannel对象时,就得到了配对的两个Me

2013-11-28 14:36:37 2730 1

原创 HTML5 API --- 跨文档消息(cross-document message)简介

为什么引入跨文档消息机制?现假设在一个网页中包含有一个Frame子页面,暂且称网页为主页面,Frame为子页面,一般情况下,主页面需要传递消息给子页面,完成对子页面进行控制,典型的应用就是在页面中嵌入广告或嵌入地图应用,广告或地图设计为一个子Frame,它需要接收父页面的控制消息,完成相应的广告画面变换或地图位置的跳转等功能。而这里通常情况下广告页面或地图页面都是由第三方服务商提供的,所以它们

2013-11-27 16:34:46 3118

原创 HTML5 API --- Web Worker的高级用法

Web Worker是HTML5引进的一个重要的API,它让一直受人诟病的单线程运行的JavaScript有了多线程的能力,有了Web Worker,开发者就可以把一些重量级耗时的计算任务单独放在另外一个线程中去运行,这样就可以让多个线程同时运行,最大限度的发挥CPU多核的功能。Web Worker基本的用法如下:var worker = newWorker(“background.js”

2013-11-22 10:54:32 4388

原创 Chromium源码浅析--- Content API (一)

[本文属原创,如有转载,请注明出处http://blog.csdn.net/yl02520/article/]为什么要开发Content 模块?正如我们所知,Chromium是一个非常复杂的开源项目,其复杂程度类似于一个操作系统。Google的Chrome浏览器就是基于Chromium开源项目开发而来。现在假设有个公司或组织计划基于Chromium开发一款自己的浏览器或类似浏览器的应用程序,该怎么进行呢?考虑直接基于Chrome模块来开发会带来什么问题呢?

2013-11-16 22:06:47 5949

原创 HTML5 Video/Audio播放本地文件

这段时间经常看到开发者在反复询问同一个问题,为什么通过设置src属性,不能播放本地的媒体文件?例如video.src=”D:\test.mp4”。这是因为浏览器中的JavaScript不能直接直接访问本地资源(例如文件系统,摄像头,麦克风等),除非事先得到了用户的允许。浏览器之所以进行该限制也是很有必要的,试想一下,如果JavaScript能够肆无忌惮的访问本地的文件系统,那么窃取用户隐私数据

2013-11-10 17:42:10 37518 16

原创 Google Blink开发者大会浅议

上个月有幸参加Google在旧金山举行的Blink开发者大会,终于见到了业界的顶尖工程师(Adam Barth, Eric Seidel, Kenneth Russell, Kentaro Hara等),第一次把名字和人对上号了。前段时间一直很忙,现在才有时间静下心来把会议的主题和自己的见解写出来。

2013-11-07 21:11:33 2576

原创 Chrome浏览器中的JavaScript多线程---WebWorker

我们知道浏览器中的JavaScript是单线程执行的,如果遇到重量级的计算任务时,一般需要运行很长时间,这样就会造成UI任务来不及响应,带来不好的用户体验。那么如何在JavaScript中使用多线程来解决这类问题呢?HTML5引入了新的Web Worker API,它让一段JavaScript程序运行在主线程之外的另外一个线程或进程中。Chrome对Web Worker API也有了基本的支持,在Android平台上虽然还存在缺陷,但是不影响基本使用。

2013-11-07 10:25:58 11963

原创 WebRTC --- Chrome Android平台上的硬件加速编解码分析

WebRTC是一个实时的视频通信功能,Android平台上的Chrome也提供了支持,在Chrome 29之后WebRTC功能趋于稳定,所以在之后的版本中默认被打开。也就是说不需要在”chrome://flags”中手动去打开该功能。本节主要介绍一下Android平台上Chrome支持WebRTC硬件加速编解码的现状:首先介绍一下WebRTC的视频传输的大致流程,摄像头在一端拍下图片,然后

2013-11-05 11:11:32 7403

Unix shell Programming

讲解Unix shell编程的相关概念,并对bourne shell、C shell和Korn shell分别做了介绍,对Shell的变量、控制语句做了说明

2008-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除