共 22 篇文章
显示摘要每页显示  条
Test Shell虽然也依赖content模块,但是它还依赖于chrome浏览器的很多基础设施和组件(android平台的chrome内核),更像是测试它们的一个简单浏览器,因为chrome for android的UI部分不开源,所以Test Shell应该是最接近它的一个工具,可以帮助理解chrome for android的架构和内部原理。目前,Android系统中的android.webkit.WebView是一个很重...
上图介绍的是WebKit的chromium移植接口和Content API在整个栈中所在的层次,“API boundary”是原来的WebKit的chromium移植所提供的公开接口,“Content API”表示的是新的content API所在的层次。其好处是,CEF3的接口相对比较简单,使用起来方便,同时不需要实现很多content API的回调接口,但是缺点就是,如果需要使用content API的很多功能...
Chromium移动版。抛开这些争论,Chromium的iOS版已经上线了,不过这是一个没有chromium内核的浏览器,其基于的是iOS提供的UIWebView(一个嵌入式的网络渲染模块,该模块提供对网页渲染和HTML5的支持),加上Chromium风格的UI。我们知道Chromium是一个开源的项目,但是,chromium的Android版从开始之初就是一个闭源的项目,其基于一个稳定的chro...
因为多个renderer进程共享同一种的plugin进程,那么plugin进程如何为它们服务呢?当plugin进程创建成功时,browser进程会返回IPCchannel handle用于创建和plugin进程通讯的PluginChannelHost. 那它什么时候被销毁呢?当在plugin进程调用这些函数时,chromium会覆盖PluginHost的部分函数,而这些新的callback函数会调用NPObjectProxy来通过IPC发...
WebKit布局 (Layout)CSS布局计算是基于箱子模型来进行的,其基本构成是一个矩形区域,包含了外边距(margin),内边距(padding),边框(border)和内容(content),也就是说每个元素的布局都是按照箱子模型来排布的,通过设置这些属性,达到特定的布局效果。如果页面元素定义了其自己的宽高,那么webkit按照其定义的宽高来确定其大小,而对于象文本...
WebKit的CSS实现。# CSS在WebKit和Chromium中的实现。被解析后的CSS样式其实就是一组样式规则,每一个规则包含一组选择器和一组样式属性。大致的过程是,JavaScript引擎调用设置属性值的公共处理函数,然后该函数调用属性值解析函数,在这个例子中则是CSS的JS绑定函数,而后将解析后的信息设置到元素的style属性的样式webkitTransform中,然后...
WebGL及其实现。# WebGL及在WebKit和Chromium中的实现。第一步,当JavaScript的代码通过HTML Canvas对象创建3D上下文时,WebGL模块便为其创建一个绘制3D图形用的上下文对象,该对象在GPU进程中会有一个实际的OpenGL ES的上下文对象对应。第六步和第七步,因为WebGL的纹理对象是在这些GL的上下文对象中共享的,WebGL模块切换到合成器的上下文对...
Canvas2D及其实现。本章将重点介绍Canvas 2D方面的只是及在WebKit和chromium中的实现, Canvas 3D也就是WebGL将在下一章中作介绍。Chromium中的Canvas2D的绘制操作的实现都是由图形库skia来完成,这里包括软件和硬件加速实现,chromium所要做的就是把WebKit中的调用交给skia来执行并和自己的绘制模型和硬件加速机制集成起来。实现WebKit中的平...
本节主要介绍WebKit中为硬件加速所做的另外一些基础设施,接着是chromium中为硬件加速合成所做的支持,最后介绍chromium中最新的合成器:chromium compositor(cc)。WebKit提供了基础设施, 但要实现硬件加速合成,各个移植还有很多事要做,chromium也是如此,见上图中的Chromium部分。大致地,可以把Chromium中的关于硬件加速合成部分分成两块...
Chromium的GPU硬件加速。如果想使用Chromium的GPU硬件加速功能,首先需要你的GPU驱动程序不在chromium的黑名单中。Chromium只会创建一个GPU进程,该进程被所有的Renderer进程和Pepper plugin进程所共享,但是GPU进程会为不同的进程创建不同的command buffer的示例。Command Buffer主要用于GPU进程(且称为GPU 服务端)和GPU的调用者进程(且称G...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部