
WebKit
Neo_Zhang888
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Git tips
git rebase --edit-todo, 修改 git rebase -i commit 编辑的内容rebase -i xxxxxxx(commit) 编辑此commit之后所有commits的history, 可以squash or split commitssplit commits的方法首先 git rebase -i 中编辑target commit为edit然后git re...原创 2019-07-16 15:39:11 · 163 阅读 · 0 评论 -
在Webkit中实现支持WML
Webkit里面,WML作为过时的技术,早已不支持了,但是国内运营商要求必须支持,呵呵,客户要求就是天,再落后也要支持,所以把以前支持WML相关代码全部拿回来,再一点一点适配到新版本上。酸爽,一点一点读代码,debug,终于搞定了。Source/WebCore/css/CSSStyleSelector.cpp// Important: Intrinsic margins get added t...原创 2019-07-17 10:37:20 · 205 阅读 · 0 评论 -
在chromium中实现WML的支持
从KK开始,Google开始切换Web引擎了, androd webkit废弃,改为chromium了,但是前面运营商大爷要求的WML咋办?唉,硬着头皮开始把WML往chromium上搞呗.如何搞?采用最笨的方法,HTML相关的类被调用的地方过一遍,加上WML相对应的类。贴出来部分修改的地方,因为本来就是基于opensource的,所以不存在confidential的问题。看到修改的文件,大...原创 2019-07-17 11:07:15 · 341 阅读 · 0 评论 -
WML在chromium中实现的补充
忘记了,还有几个小的修改Source/core/editing/Editor.cppbool isSelectionInTextField(const VisibleSelection& selection){HTMLTextFormControlElement* textControl = enclosingTextFormControl(selection.start());...原创 2019-07-17 11:14:47 · 217 阅读 · 0 评论 -
Android Webkit 的JNI交互
chromium里面JNI的交互应该也类似,但是我忘记具体的,也懒得扒拉代码去找了,但是肯定跑不了System.loadLibrary这一步来加载对应的so,so里面有对应的Java接口。交互交互,就是双向的,java调用native, native调用java的,具体JNI如何实现的,我没有研究,这应该是java虚拟机来负责的。这里只查看两边如何互相建立联系(注册函数),说白了,就是一堆函数指...原创 2019-07-30 14:31:25 · 225 阅读 · 0 评论 -
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 · 258 阅读 · 0 评论 -
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 · 495 阅读 · 0 评论 -
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 · 392 阅读 · 0 评论 -
以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 · 285 阅读 · 0 评论 -
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 · 241 阅读 · 0 评论 -
一个完整的浏览器的功能分层
这一部分我不确定从哪里记录的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 · 613 阅读 · 0 评论 -
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 · 495 阅读 · 0 评论 -
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 · 486 阅读 · 0 评论 -
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 · 184 阅读 · 0 评论 -
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 · 199 阅读 · 0 评论 -
WebKit Layers
1 document()->renderer(), it is renderview, the root of render tree.2 Each render view has a renderlayercompositor3 RenderModelObject has a renderlayer4 RenderLayer <-> RenderBacking<-&...原创 2019-07-16 15:42:40 · 112 阅读 · 0 评论 -
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 · 6362 阅读 · 0 评论 -
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 · 189 阅读 · 0 评论 -
为什么还要记录android webkit
这是我第一次接触浏览器相关的开发,而且当时对android webkit学习的很快,甚至提交了好几个patch,很可惜啊。在我开始有能力提patch的时候,android放弃webkit了,改为chromium了。但是毕竟相识一场,该记录的还是记录吧...原创 2019-07-16 15:49:08 · 178 阅读 · 0 评论 -
WebKit in Android Framework
这部分内容我实在记不起来是我自己总结的还是从哪里看来的?看着凌乱的内容,感觉应该是当时随笔记录的理解,即使是copy来的,也算是当时工作中的一些总结WebView extends AbsoluteLayout implements ViewTreeObserver.OnGlobalFocusChangeListener, ViewGroup.OnHierarchyChangeListener...原创 2019-07-16 15:51:12 · 336 阅读 · 0 评论 -
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 · 198 阅读 · 0 评论 -
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 · 422 阅读 · 0 评论 -
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 · 157 阅读 · 0 评论 -
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 · 184 阅读 · 0 评论 -
一个有意思的bug fix,能够体现出对代码熟悉的程度与水平
其实要多说一句,有的时候,由于deadline的存在,对不熟悉的code 提交patch的优劣程度是研究的时间来决定的。如果时间充足,把出问题部分的代码上下文debug清楚,对于patch的质量肯定是有提高的,但是如果时间不够充足,只能采用时间范围内能够找到的最优方案。webkit是一个庞大的代码库,即使我在工作中经常读到或者debug到的code也不会超过10%,比较熟悉的部分不会超过5%。...原创 2019-07-16 16:07:06 · 1458 阅读 · 0 评论 -
WebGL test website
http://192.16.134.130/homes/sel055233/webgl/sdk/demos/google/shiny-teapot/index.html原创 2019-07-16 16:46:23 · 414 阅读 · 0 评论 -
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 · 318 阅读 · 0 评论