现在位置: 首页 > Webkit
2015-03-05 21:17 工业·编程 ⁄ 共 1528字 暂无评论
自从Qt2007年第一次引入webkit以来,web技术已经发生了很大的变化。从只占很小的市场份额开始到现在,webit已经成为最广泛使用的web引擎。qt webkit是除了苹果之外做的比较好的,很多项目和公司也逐渐加入到这个项目开发中来。 相关阅读     ----探索WebKit内核(一):菜鸟起步 chromium项目在其中发挥了很重要的作用,逐渐成了webkit最大的贡献者(仅次于苹果和qt,排第三)。然而,不同的公司在开源项目上的...
阅读全文

2014-09-02 22:35 工业·编程 ⁄ 共 5699字 暂无评论
软件的首要技术使命是管理复杂度(Complexity)。这是<<代码大全>>中的一个标题。软件本质性困难的根源都在于复杂性。Dijkstra指出没有谁的大脑能容得下一计算机程序。正如社会进步催生社会分工一样,软件行业也自然而然地发展出来了模块化方法,将整个系统分解为多个子系统来降低问题的复杂度,分而治之。它有两个主要的目的:    1. 分工  (角色与责任)    2. 信息隐藏 (协作)   ...
阅读全文
由于我是第一次编译开源的代码,很多东西不是太懂,所以中间出现很多问题。建议第一次像我这样编译webkit的童靴。第一,必要下载最新版本的源码,因为新版本的源码在编译过程中会遇见很多新错误,这样别人很难帮你解决。第二,编译通不过主要还是因为环境的问题,所以在安装开发工具和支持库的时候最好安放在默认路径或者是官网推荐路径下,这样可以避免出现很多麻烦,虽然我是很不情愿把那么大的东西安装在C盘,但就是因为这样...
阅读全文
本文将从WebKit源码中解析WebKit智能指针的用法。进入正题之前,先还是要仔细看看官方文档。不管能否看明白还是要先看看这篇文章,毕竟这是本文最主要的参考文档。 文档里已提到2005之前,WebKit基于RefCounted来管理对象的销毁。 RefCounted RefCounted原理很简单,就是最经典的引用计数的方式。它的源码也很简单,看看它最重要的两个方法,ref和deref:     void ref()      {  #i...
阅读全文
2014-08-30 05:27 工业·编程 ⁄ 共 2041字 暂无评论
最近在做WebOS的远程调试功能,效果如同Chrome for android和Safari for ios一样,具体可见: chrome、ios     初次接触这个任务时感觉是件很神奇的事儿,如何能做到外部一个工具能这么大限度地控制WebKit内核。后来才发现,这件事情不难,主要的架子WebKit已为我们搭好,只需要在里面做点手脚把开发者工具移植到远程即可,Chrome实现方式如此,Safari也是如此。所以重点还是要搞清楚WebKit有关Inspector的架...
阅读全文
2014-08-29 22:29 工业·编程 ⁄ 共 1099字 评论 1 条
Webkit Night Build不能直接支持VS2010,需要自己多做些事情。和VS2005不同的是有一些工程转换上的问题和nullptr的支持的问题。 简单说一下吧,供需要的同学参考。 a. 如果本机已经安装了Python或 Perl,先从Path中移除。因为编译过程会有不少的python脚本要执行,如果是系统下的python可不认识/cygdrive/xxx之类的路径。 b. Cygwin还是从Webkit下载Cygwin-Downloader安装。如果已经安装了,又不想重来,一定要检查一下gperf (一...
阅读全文
2014-08-29 18:39 工业·编程 ⁄ 共 3933字 暂无评论
继续学习QtWebkit.今天做个登录的例子让Qt对象和Javascript通信。其实就是将C++对象注册为一个javascript对象到html。然后调用C++函数。 //loginform.h  #ifndef LOGINFORM_H  #define LOGINFORM_H  #include <QWidget>  namespace Ui {      class LoginForm;  }  class LoginForm : public QWidget  {      Q_OBJECT  public: ...
阅读全文
2014-08-29 05:23 工业·编程 ⁄ 共 2014字 暂无评论
    WebSocket是HTML5的一个重要特性,能提供client和server的双向通信,是很多WebAPP做网络通信的首选,不过它在Android的WebKit中并不支持,也就造就了socket.io的流行。在我们云OS中当然不能漏掉这个特性,我这周的任务就是要在云OS的Webkit中支持websocket,以此让WebApp能直接调用websocket API。 某些平台的webkit(比如Android)不支持websocket并不是webkit没管这块,而是这一特性需要在各个平台特有的...
阅读全文
2014-08-28 18:32 工业·编程 ⁄ 共 2015字 暂无评论
      WebKit 是一个开源的浏览器引擎,与之相应的引擎有Gecko(Mozilla Firefox 等使用的排版引擎)和Trident(也称为MSHTML,IE 使用的排版引擎)。同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者...
阅读全文
WebKit最神奇的一点是JS能调到内核部分(c/c++),这是WebOS向外提供扩展能力的关键(实现或扩展W3C API)。要搞清楚一个JS的方法是如何调到后面c/c++的实现颇费周折,其实就是要把IDL和Bindings弄懂,先解释一下这两个名词: IDL:接口定义语言,详细解释可见http://trac.webkit.org/wiki/WebKitIDL Bindings:WebKit动态生成与其他框架(如JavascriptCore, V8)整合的代码 我这么解释估计还是一头雾水,那就看看WebKit为啥...
阅读全文