Gecko
zembers
这个作者很懒,什么都没留下…
展开
-
Firefox OS启动过程分析-序
先说下啥是Gecko: Gecko是套开放原始码的、以C++编写的网页排版引擎。主要用在mozilla Firefox Browser以及Firefox OS(B2G)上。市场上使用Gecko作为渲染引擎的远远少于使用Webkit(Chromium)。 为啥要分析Gecko?因为工作需要 首先看下Firefox OS的系统框架: Firef原创 2015-09-02 10:43:10 · 1656 阅读 · 0 评论 -
Firefox OS启动过程分析-system应用启动
Firefox OS的system应用启动是通过加载一个内部资源页chrome://b2g/content/shell.html来实现的,我们先看下这个文件的部分内容:<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" id="shell" windowtype="navigator:browser"原创 2015-09-28 13:51:05 · 1524 阅读 · 0 评论 -
Firefox OS启动过程分析-b2g进程启动(序)
b2g进程启动(序)b2g进程在系统启动时由init进程启动(init.b2g.rc):service b2g /system/bin/b2g.sh class main onrestart restart mediab2g.sh中主要时设置b2g进程运行时的环境变量,最终启动b2g进程。exec $COMMAND_PREFIX "$B2G_DIR/b2g"Firefox OS中最终原创 2015-09-15 19:25:09 · 1330 阅读 · 0 评论 -
Firefox OS启动过程分析-b2g进程启动
b2g启动时,运行”/system/b2g/b2g”,入口在”gecko/b2g/app/B2GLoader.cpp”中,如下:int main(int argc, const char* argv[]) { /** * Reserve file descriptors before loading static data. */ FdArray reservedFds; R原创 2015-09-16 16:06:28 · 1924 阅读 · 0 评论 -
Firefox OS启动过程分析-nuwa进程启动
上篇文章分析了b2g进程的基本启动过程,那么nuwa进程是什么东东?Firefox os创建新进程又是如何发生的? nuwa进程类似于android内的zygote进程,需要启动一个应用时,nuwa会预先fork一个进程出来,该进程与父进程(nuwa)共享了某些资源(代码段,已打开文件描述符等),之后会加载应用的html,变成需要启动的应用。 使用nuwa预先创建的空壳进程,能够原创 2015-09-17 11:34:14 · 1870 阅读 · 0 评论 -
Firefox OS启动过程分析-nuwa创建新进程
本节讲述nuwa是如何创建一个新进程的。在Firefox OS启动过程分析-nuwa进程启动中,我们了解到,当b2g进程创建nuwa进程时,在收到nuwa进程ready事件后,就会直接创建一个空壳进程。方便日后要启动的程序直接使用该空壳进程。那么,如果该空壳进程已经被占用,又要启动新的程序,新的空壳进程是何时被系统创建的呢? “` js::jit::DoCallFallback()原创 2015-09-18 17:27:58 · 1308 阅读 · 0 评论 -
Firefox OS启动过程分析-Shell入口
本节介绍Firefox OS第一个应用Home的启动过程。在Firefox OS启动过程分析-b2g进程启动 一节中,b2g进程在初始化过程中就会在某点开始加载Home应用。具体如下所示:main | |-RunProcesses | |-b2g_main | |-do_main原创 2015-09-22 11:30:48 · 1212 阅读 · 0 评论