
chromium
文章平均质量分 79
木希
你要悄悄拔尖,然后惊艳所有人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
chromium DOM 树构建
浏览器的整个过程,我借用李兵老师的一张简化的流程图如下,把浏览器的过程描述的很简单易懂。浏览器线程负责用户交互、文件储存等功能,网络线程面向渲染进程和浏览器进程等提供网络下载功能,渲染线程主要职责是把从网络下载的 HTML、JavaScript、CSS、图片等资源解析为可以显示和交互的页面,还有很多其他线程,慢慢理。浏览器线程是主线程,负责同用户之间的交互,不能有耗时操作,所以网络线程跟渲染线程是两个独立的线程。上一篇中介绍了network模块,这里开始整理下选染模块的流程,会结合trace 看整个...原创 2020-06-18 16:22:56 · 726 阅读 · 0 评论 -
HTTP Cache(转译)
总览HTTP缓存是接收HTTP(S)请求并确定何时以及如何从磁盘缓存或从网络中获取数据的模块。 缓存位于浏览器进程中,作为网络堆栈的一部分。 它不应与Blink的内存中缓存混淆,后者位于渲染器进程中,并且与资源加载器紧密耦合。从逻辑上讲,缓存位于内容编码逻辑和传输编码逻辑之间,这意味着缓存处理传输编码属性,并使用服务器设置的内容编码来存储资源。缓存实现了HttpTransactionFactory接口,因此HttpCache :: Transaction(这是HttpTrans...翻译 2020-05-28 20:12:37 · 2249 阅读 · 0 评论 -
网络堆栈(转译)
该目录包含Gitiles风格的Markdown中的chromium 项目文档。 它是由Gitiles自动渲染的。如果添加新文档,请在下面的文档索引中添加指向它们的链接。目录创建文档 使用md_browser预览本地更改: 使用gerrit到gitile的链接在线查看更改: 文件索引 Checking Out and Building Design Docs Integrated Development Environment (IDE) Set Up Guides G翻译 2020-05-28 19:52:55 · 9350 阅读 · 0 评论 -
从输入URL到页面展示,这中间发生了什么?net篇
目录什么是IPC? 常见的IPC及简介 Chromium的IPC Mojo简介 Chromium 中IPC的调用原创 2020-05-27 18:43:21 · 833 阅读 · 0 评论 -
chromium Mojo介绍
IPC,全称Inter-Process Communication,字面意思就是进程间通信或者跨进程通信。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。安卓的IPC通信还多了Bundle。对此部分有兴趣的可以看看如下的博客:https://blog.youkuaiyun.com/LEON1741/article/details/77934508,对Linux的IP...原创 2020-05-25 17:14:04 · 2374 阅读 · 0 评论 -
chromium Mojo (译)
chromium官网对mojo的描述,地址如下,英语不太好,所以进行进行翻译如下:https://chromium.googlesource.com/chromium/src.git/+/51.0.2704.48/docs/mojo_in_chromium.md。Chromium的Mojo本文档旨在用作Chromium开发人员的Mojo入门。 假定没有Mojo的相关认知。目录我应该读这个吗? 为什么选择Mojo? Mojo概述 消息管道 Mojom 绑定管道 回应请求翻译 2020-05-25 08:16:58 · 2463 阅读 · 0 评论 -
chromium 的jni函数
之前面试百度,那个小哥哥问我,你知道安卓jni有几种方式生成,是怎么实现的,你知道实现的逻辑吗?问题大概是这样。今天就来理一理安卓的JNI。JNI(Java Native Interface,Java本地接口),用于打通Java层与Native(C/C++)层。这不是Android系统所独有的,而是Java所有。众所周知,Java语言是跨平台的语言,而这跨平台的背后都是依靠Java虚拟机,虚拟机采用C/C++编写,适配各个系统,通过JNI为上层Java提供各种服务,保证跨平台性。JNI 分为..原创 2020-05-22 17:33:23 · 639 阅读 · 0 评论 -
chromium 84.0.4122.0 WebView apk 启动流程
之前的博客介绍了chromium代码的下载和编译,调试环境的搭建。接下来我们根据编译的WebViewInstrumentation.apk来梳理浏览器的入口,看看chromium demo apk的启动流程。 从日志上看WebViewInstrumentation.apk 的activity是:org.chromium.android_webview.shell/.AwShellActivity。我们看看webview apk的启动流程。 当Android程序启动时系统会创建一个Applic...原创 2020-05-21 21:38:38 · 2283 阅读 · 3 评论 -
chromium 调试环境搭建
这几年都在做浏览器,从webkit到chromium,从最开始的页面打补丁调整页面的布局显示,到内核问题修改,到性能优化,一直都是公司分配的任务,自己很少的进行整理,趁着长假对这部分进行梳理。浏览器代码下载、编译在之前一篇的博客中有介绍,有兴趣的小伙伴可以看看:https://blog.youkuaiyun.com/mengxin00100/article/details/103321170浏览器代码编译结束后,会在src\out\Defautlt\apks\目录下生成相应的apk,可以准备搭建调试环...原创 2020-05-21 14:34:37 · 1134 阅读 · 0 评论 -
chromium 入门
这么多年上班,自己都没有好好总结,这次休长假,好好进行整理整理,太零碎,每次有面试官问起,描述完工作经历,自己就觉得是一直在打杂。对自己的规划是,接下来5年内还是往浏览器内核方向发展,将自己以前所学的串一串,结合代码一起看看。先整理chromium 内核的入门。 接下来的文章会围绕如下几个点进行更新: (1)chrome apk的启动,做了哪了什么启动了哪些县城,跟webview有什么关系; (2)chrome从输入URL到页面展示,这中间发生了什么,这包含了网络模块...原创 2020-05-15 22:47:25 · 1047 阅读 · 0 评论 -
chromium IPC msg发送接收
之前介绍了chromium 中各线程的创建,然后可以添加日志,通过线程号追踪各线程的流程,chromium有独立的一套IPC通信,接下来我们介绍IPC通信,接下来我们以URL加载过程为例进行介绍。 ...原创 2020-03-03 23:26:39 · 546 阅读 · 0 评论 -
chromium 各线程的创建
看了一些博客,一般介绍的线程是browser跟render线程。但是ps |grep shell 获取进程号,top -t |grep 进程号,你会看到的,估计跟我看到的差不多,就是这样的哗啦啦的一大片或者还更多,所以很多面试的时候问的都是内存优化,或者是裁剪,或是性能优化,因为问流程性的细节说不清,体现不出深度。之前介绍了URL加载流程,我在...原创 2020-02-21 14:06:43 · 1040 阅读 · 0 评论 -
chromium 55 URL 加载流程
浏览器从界面上看都很简单,输入一个地址后就可以跳转,今天这里先整理chromiumAndroidWebView.apk中从输入URL,到资源加载的流程,暂不涉及渲染,渲染后续进行介绍。从Java层往c++层逐步分析。 AndroidWebView.apk启动后有个地址输入栏,如果输入地址按下确定键会调用到loadUrl进行url加载。 private void initi...原创 2020-02-18 14:11:21 · 946 阅读 · 1 评论 -
下载chromium for Android
chromium代码下载、代码回传、代码编译.原创 2020-05-22 08:30:40 · 5299 阅读 · 6 评论