自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 chromium多进程架构

这部分是看文档总结的,没有实际读代码render process, 这个是多个blink或者webkit的进程,只是parse, layout浏览器进程,提供network stack和file IO。PLUG IN 的进程GPU 进程render process跟浏览器进程有交互,会给plug in 进程发指令,会通过share memory(gles2.0 instructions或...

2019-08-28 16:26:14 247

原创 WebKit与Blink工作流程以及显示页面

作为一个Render与Layout引擎,他们的工作步骤1 Parse HTML document,结果是把取到的TAG生成dom的nodes,存到dom tree中,DOM tree就是网页内容的tree。同时, style的数据也是在这里parse的,CSS和in style element。2 根据css和html里面的显示信息,对dom的node创建render tree. render...

2019-08-28 14:51:21 417

原创 一个完整的浏览器的功能分层

这一部分我不确定从哪里记录的1.The user interface - this includes the address bar, back/forward button, bookmarking menu etc. Every part of the browser display except the main window where you see the requested pag...

2019-08-28 14:32:26 557

原创 Android Webkit中,GL是如何执行到paintTextureWithBitmap

01-07 02:13:56.479 2647 2689 D CallStack: Neo callstack#00 pc 00185846 /system/lib/libwebcore.soWebCore::GLUtils::paintTextureWithBitmap(WebCore::TileRenderInfo const*, SkBitmap const&) ext...

2019-08-28 14:17:08 173

原创 以google 为例,google首页在android WebKit中加载与显示的整体过程

大致的执行过程,忽略了上层android webview部分与net statck加载资源void DocumentLoader::commitLoad(const char* data, int length)frameLoader->client()->committedLoad(this, data, length);void FrameLoaderClientAndroi...

2019-08-28 14:13:21 200

原创 Webkit中, HTML video标签创建renderVideo的过程

11-22 13:37:29.272 2533 2569 D CallStack: Neo callstack#00 pc 002163e6 /system/lib/libwebcore.soRenderVideo external/webkit/Source/WebCore/rendering/RenderVideo.cpp:6511-22 13:37:29.272 2533...

2019-08-28 14:06:39 317

原创 Webkit中video标签(MediaElement)创建mediaplayer的过程

11-22 13:37:15.487 2533 2569 D CallStack: Neo callstack#00 pc 0026396a /system/lib/libwebcore.soWebCore::MediaPlayerPrivate::create(WebCore::MediaPlayer*) /external/webkit/Source/WebKit/android...

2019-08-28 13:56:48 427

原创 Android Browser 在输入url之后,android Framework的Java部分完整的调用过程

//Neo, after input loading uri01-02 00:55:30.001 5178 5178 V TabControl: com.android.browser.TabControl.getCurrentTopWebView(TabControl.java:95)01-02 00:55:30.001 5178 5178 V Tab : com.andro...

2019-08-28 13:54:06 211

原创 Android Webkit 的JNI交互

chromium里面JNI的交互应该也类似,但是我忘记具体的,也懒得扒拉代码去找了,但是肯定跑不了System.loadLibrary这一步来加载对应的so,so里面有对应的Java接口。交互交互,就是双向的,java调用native, native调用java的,具体JNI如何实现的,我没有研究,这应该是java虚拟机来负责的。这里只查看两边如何互相建立联系(注册函数),说白了,就是一堆函数指...

2019-07-30 14:31:25 163

原创 简单回顾中断,IRQ

这里主要谈谈硬件相关的。Interrupt,中断听着很高大上,当年做嵌入的时候,一说发上来个中断刚开始也挺哆嗦的,后来工作中(当然工作也不是那么复杂)发现,基本只有一个原则,快速处理返回,一般就是发个消息就返回。为啥?中断就是硬件告诉CPU,我有个事要告诉你。至于CPU怎么处理这个事,硬件就管不了了。而CPU的事情很多,秒理万机啊,如果为了一个事情耗时太多,那会影响整个系统滴,所以一般来说,CP...

2019-07-18 11:34:46 169

原创 简单聊聊进程与线程

不管啥系统,基本都有线程与进程的概念,或者整个系统就是一个进程,里面所有的系统都是对应一个个线程,我印象里以前好像有做过这样的。但是无所谓了,基本原理一样的。每个进程都有自己的资源,例如数组啊,变量啊,说白了就是内存,不管是堆的还是栈的内存,这个资源不会与其他进程共享,或者说其他进程不会知道。如果想跟其他进程打招呼,那就要通过操作系统提供的进程间通讯机制来实现。同样的对线程也是,每个线程自己创...

2019-07-18 11:20:23 102

原创 WLAN on Android Broadcom, QCom

Broadcom方案简单明了Broadcom的gitsvendor/Broadcom/wlan,wlan driver(dhd), it will build wlan.kohardware/Broadcom/wlanProvide firmware binsProvide driver interface for wpa_supplicantProvide libwifi-hal-...

2019-07-17 16:04:06 731

原创 MediaRouter的使用

这东西有点意思,首先,它不是创建出来的,MediaRouter有一个service,每个app进程是通过给getSystemService(Context.MEDIA_ROUTER_SERVICE); 拿到的一个MediaRouter,说白了就是一个跟MediaRouterService 交互的接口。什么bp, stub之类,不知道现在android这块改进到什么情况了。其次, 通过Media...

2019-07-17 15:07:38 3068

原创 WML在chromium中实现的补充

忘记了,还有几个小的修改Source/core/editing/Editor.cppbool isSelectionInTextField(const VisibleSelection& selection){HTMLTextFormControlElement* textControl = enclosingTextFormControl(selection.start());...

2019-07-17 11:14:47 148

原创 在chromium中实现WML的支持

从KK开始,Google开始切换Web引擎了, androd webkit废弃,改为chromium了,但是前面运营商大爷要求的WML咋办?唉,硬着头皮开始把WML往chromium上搞呗.如何搞?采用最笨的方法,HTML相关的类被调用的地方过一遍,加上WML相对应的类。贴出来部分修改的地方,因为本来就是基于opensource的,所以不存在confidential的问题。看到修改的文件,大...

2019-07-17 11:07:15 239

原创 在Webkit中实现支持WML

Webkit里面,WML作为过时的技术,早已不支持了,但是国内运营商要求必须支持,呵呵,客户要求就是天,再落后也要支持,所以把以前支持WML相关代码全部拿回来,再一点一点适配到新版本上。酸爽,一点一点读代码,debug,终于搞定了。Source/WebCore/css/CSSStyleSelector.cpp// Important: Intrinsic margins get added t...

2019-07-17 10:37:20 155

原创 WBMP in Chromium

diff --git a/Source/platform/image-decoders/wbmp/WBMPImageDecoder.cpp b/Source/platform/image-decoders/wbmp/WBMPImageDecoder.cppindex a8ee7e6…88131e6 100644— a/Source/platform/image-decoders/wbmp/WB...

2019-07-17 10:06:01 328

原创 Create new lib for Chromium

public class NativeLibraries {public static boolean USE_LINKER = false;public static boolean ENABLE_LINKER_TESTS = false;public static String[] libraries = {};public static final String[] LIBRARIE...

2019-07-17 10:01:53 134

原创 Callstack in chromium

in webkit (blink), add chromium header #include <base/test/test_suite.h>in blink,+#include “wtf/Assertions.h”WTFReportError(FILE, LINE, WTF_PRETTY_FUNCTION, " Neo,data size %d, failed: %d",d...

2019-07-17 09:58:43 147

原创 HTTP get demo code

HttpClient client = new DefaultHttpClient();HttpGet request = new HttpGet(url);HttpResponse response = client.execute(request);String html = “”;InputStream in = response.getEntity().getContent();...

2019-07-16 16:48:14 287

原创 WebGL test website

http://192.16.134.130/homes/sel055233/webgl/sdk/demos/google/shiny-teapot/index.html

2019-07-16 16:46:23 324

原创 Get TCP traffic

get tcp traffic log*** Please note that you need root to use this command ***1: $ adb shell tcpdump -s 0 -w /data/capture.pcap (to start the logging)2: Take the log3: — CTRL-C ---- (to end logging...

2019-07-16 16:40:51 199

原创 Chromium Webview for Android

Key points and classes relationWebViewChromium.javaprivate void loadUrlOnUiThread mAwContents.loadUrl(loadUrlParams);mAwContents = new AwContentsAwContents.java public void loadUrl(LoadUr...

2019-07-16 16:34:29 571

原创 How Chromium paint layer called

08-14 15:35:25.502 4959 5015 D Neo,/RenderLayer.cpp::paintLayer:1855: called08-14 15:35:25.532 4959 5015 E chromium: #00 0x00d4ccc3 /system/lib/libwebviewxx.so WebCore::RenderLayer::paintLayer(...

2019-07-16 16:33:13 195

原创 Chromium webview click on input element

12-11 03:00:39.417 5746 5746 W System.err: java.lang.RuntimeException12-11 03:00:39.417 5746 5746 W System.err: at com.android.org.chromium.content.browser.ContentViewCore.sendGesture(Conten...

2019-07-16 16:32:52 163

原创 Input characters in input element

HTMLinput12-16 01:38:02.263 4494 4547 D Neo callstack: #00 pc 004588ec /system/lib/libwebviewchromium.so WebCore::HTMLInputElement::setValueFromRenderer(WTF::String const&) external/ch...

2019-07-16 16:18:27 172

原创 chromium drawGL

08-21 15:01:14.516 5179 5179 E chromium: #00 0x0069b0d3 /system/lib/libwebviewxx.so cc::Scheduler::SetNeedsManageTiles() ../../cc/scheduler/scheduler.cc:8608-21 15:01:14.516 5179 5179 E c...

2019-07-16 16:16:22 238

原创 How chromium layertreehost called

08-22 09:27:51.982 4256 4316 D Neo,/layer_tree_host.cc::LayerTreeHost:138: called,accelerated_animation_enabled=108-22 09:27:51.992 4256 4316 E chromium: #00 0x006a274b /system/lib/libwebviewXXX...

2019-07-16 16:15:17 218

原创 chromium to opengl

08-27 16:44:04.799 5766 5766 D Neo,/context_state.cc::RestoreTextureUnitBindings:106: called08-27 16:44:04.799 5766 5766 D Neo,/gles2_cmd_decoder.cc::DoBindTexture:3993: called08-27 16:44:04.7...

2019-07-16 16:10:32 233

原创 Chromium for Android

从KK上,Google使用chromium webview来取代android webkit了。自从chrome的老板当上了android的老板,两个项目合并的趋势有点明显。固然这次替代有节省cost的考虑,但是google直接把chromium opensource的全部code都放到android的code里面,这就有点意思了。但是还是要看后面android的演化,不知道在运营商定制大行其...

2019-07-16 16:09:07 1491

原创 一个有意思的bug fix,能够体现出对代码熟悉的程度与水平

其实要多说一句,有的时候,由于deadline的存在,对不熟悉的code 提交patch的优劣程度是研究的时间来决定的。如果时间充足,把出问题部分的代码上下文debug清楚,对于patch的质量肯定是有提高的,但是如果时间不够充足,只能采用时间范围内能够找到的最优方案。webkit是一个庞大的代码库,即使我在工作中经常读到或者debug到的code也不会超过10%,比较熟悉的部分不会超过5%。...

2019-07-16 16:07:06 1386

原创 Small bug fix in android webkit

Keep WebUrlLoadClient aliveIn some cases, WebUrlLoaderClient will be destructed in native part while JAVA side is not aware of and uses the invalid WebUrlLoaderClient handler to execute and it will c...

2019-07-16 16:03:02 131

原创 为什么写这个博客?

十多年的软件开发工作,做过很多行业,接触了很多领域的知识,但是很多领域的知识都是在当时工作中体会深刻,换行业之后以前的知识就逐渐淡化,唯一保留的是自己的思维,能力和心得上的提高。而且即使现在有些知识淡忘了,但是能够很快的拾起来。现在回想起来,很多知识都是相通的,很多软件的设计也都是相通的。为了不忘记一些工作中的体会,或者说为将来有空时能对自己作过的东西有个总结的机会,现在开始把工作中的感想或者...

2019-07-16 15:57:29 62

原创 WebKit create rendervideo

Call stack11-22 13:37:29.272 2533 2569 D CallStack: Neo callstack#00 pc 002163e6 /system/lib/libwebcore.so RenderVideo external/webkit/Source/WebCore/rendering/RenderVideo.cpp:6511-22 13:...

2019-07-16 15:54:50 115

原创 WebKit create MediaPlayerPrivate

Call stack11-22 13:37:15.487 2533 2569 D CallStack: Neo callstack#00 pc 0026396a /system/lib/libwebcore.soWeb WebCore::MediaPlayerPrivate::create(WebCore::MediaPlayer*) external/webkit/So...

2019-07-16 15:54:03 359

转载 Webkit GL Architecture (Copy from code comments)

GL Architecture for webkit on androidPosted: January 4, 2012 in android3GL Architecture To draw things, WebView use a tree of layers. The root of that tree is a BaseLayerAndroid, which may have num...

2019-07-16 15:52:32 150

原创 WebKit in Android Framework

这部分内容我实在记不起来是我自己总结的还是从哪里看来的?看着凌乱的内容,感觉应该是当时随笔记录的理解,即使是copy来的,也算是当时工作中的一些总结WebView extends AbsoluteLayout implements ViewTreeObserver.OnGlobalFocusChangeListener, ViewGroup.OnHierarchyChangeListener...

2019-07-16 15:51:12 253

原创 为什么还要记录android webkit

这是我第一次接触浏览器相关的开发,而且当时对android webkit学习的很快,甚至提交了好几个patch,很可惜啊。在我开始有能力提patch的时候,android放弃webkit了,改为chromium了。但是毕竟相识一场,该记录的还是记录吧...

2019-07-16 15:49:08 123

原创 Android Webkit Render

Rough exe sequencevoid DocumentLoader::commitLoad(const char* data, int length) frameLoader->client()->committedLoad(this, data, length);void FrameLoaderClientAndroid::committedLoad(Doc...

2019-07-16 15:47:04 142

原创 Webkit Paint and Draw page

06-09 06:02:46.573 3015 3015 W System.err: at android.webkit.WebViewClassic.setBaseLayer(WebViewClassic.java:4464)06-09 06:02:46.573 3015 3015 W System.err: at android.webkit.WebViewCla...

2019-07-16 15:45:23 5318

空空如也

空空如也

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

TA关注的人

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