
浏览器
文章平均质量分 78
chief1985
好好学习
展开
-
Working with windows in chrome code
转载自:https://developer.mozilla.org/En/Working_with_windows_in_chrome_code This article describes working with multiple windows in Mozilla chrome code (XUL applications and Extensions). It c转载 2010-01-24 16:58:00 · 1757 阅读 · 0 评论 -
用Incredibuild编译webkit,chrome和Qt
前一段时间换了一个500G 7200转的硬盘,以为可以提高webkit等工程的编译速度,最终测试下来并没有提高多少。最近试了一下Incredibuild,确实可以提高速度很多。例如4台机器一块编译,差不多可以提高2-3倍左右。下图是编译webkit的截图: 编译chrome的截图: 编译qt的设置参考http://zaichunchen.appspot.com/2010/06/7/qt_incredibuild_compile.html 虽然提高速度很多,但Incredibuild并不能完原创 2011-02-28 09:56:00 · 5295 阅读 · 0 评论 -
webkit在win32下的编译规则(四)
接下来看JavaScriptCore这个工程,这个工程继承的project property sheet如下: ../../../../WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops ../../../../WebKitLibraries/win/tools/vsprops/common.vsprops ../../../../WebKitLibraries/win/tools/vsprops/debug.vspro原创 2011-03-01 12:31:00 · 5055 阅读 · 0 评论 -
webkit在win32下的编译规则(五)
接下来看testapi这个工程,这个工程的编译设置基本与javascriptcore相同,最终生成testapi.exe。testapi.exe是一个测试javascript导出api的工程,这个工程就testapi.c和testapi.js两个文件,如下图: 虽然只有两个文件,却可以从这两个文件中学到如何使用javascriptcore这个js引擎,例如如何向js引擎注入对象和函数。可能很多人看了testapi.js这个文件函数会产生一个疑问,为什么不用window对象?对于js引擎而言,根本不存原创 2011-03-01 12:32:00 · 2734 阅读 · 2 评论 -
webkit在win32下的编译规则(三)
首先来看WTF这个project,这个project的Pre-build event如下: 1: REM Do not edit from the Visual Studio IDE! Customize via a $(ProjectName)PreBuild.cmd file. 2: if not exist "$(ProjectDir)$(ProjectName)PreBuild.cmd" exit /b 3:原创 2011-02-14 19:37:00 · 5001 阅读 · 0 评论 -
chrome里面的about Scheme
对about Scheme进行处理的地方: D:/project/chrome/src/src/chrome/browser/browser_url_handler.cc的void BrowserURLHandler::InitURLHandlers()函数 // staticvoid BrowserURLHandler::InitURLHandlers() { if (!url_handlers_.empty()) return; // Visual Studio 2010原创 2011-03-21 09:21:00 · 3572 阅读 · 2 评论 -
webkit在win32下的编译规则(六)
WebCore Folder下面的有3个工程:QTMovieWin,WebCore,WebCoreGenerated,编译的顺序是:WebCoreGenerated-》QTMovieWin-》QTMovieWin。 首先来看WebCoreGenerated这个工程,这个工程的NMake Build Comand Line如下: %SystemDrive%/cygwin/bin/which.exe bashif errorlevel 1 set PATH=%SystemDrive%/cygwin/bin;原创 2011-03-22 09:27:00 · 5785 阅读 · 0 评论 -
webkit在win32下的编译规则(七)
首先看$(JS_DOM_HEADERS),这些文件都是以JS开头的,对其做处理的是如下规则: JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $ CSSGram原创 2011-03-22 09:29:00 · 6404 阅读 · 3 评论 -
webkit在win32下的编译规则(八)
HTMLElementFactory.cpp和HTMLNames.cpp是由如下规则生成的: ifdef HTML_FLAGS HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in perl -I $(WebCore)/bindings/scripts $û,在浏览器打开就可以看见一个世界地图。 WMLElementF原创 2011-03-23 09:23:00 · 7378 阅读 · 5 评论 -
webkit在win32下的编译规则(二)
现在的webkit分为4个Floder:Javascript Folder,Tools,WebCore Folder,Webkit2 Folder,WebkitCom Folder,这5个目录的编译顺序基本是:Javascript Folder-》WebCore Folder-》WebkitCom Folder-》Webkit2 Folder-》Tools(有些子工程的顺序并不是这样的),下面就以这几个目录为单位来说明webkit的编译规则。 1. Javascript Folder 这个目录下有原创 2011-01-07 20:46:00 · 7931 阅读 · 5 评论 -
webkit在win32下的编译规则
最近有人在windows 7下的webkit编译不过去,问我该怎么解决。我看了一下,主要是SVGAnimationElement.cpp等文件编译不过去,这里面使用了开启svg后的一些枚举变量,但webkit在编译时生成的WebKitBuild/include/WebCore/CSSPropertyNames.h文件里面并没有生成这些枚举变量,我检查一些编译选项,配置都是OK的,我又看了一下webkit的编译规则,发现CSSPropertyNames.h的生成是依赖CSSPropertyNames.in等文原创 2010-12-27 22:25:00 · 10360 阅读 · 7 评论 -
在webkit里面给window对象添加方法
1.在DOMWindow.idl添加对应方法的声明,下面我添加了两个方法: [RequiresAllArguments] void setWindowVisible(in boolean visible); [RequiresAllArguments] boolean getWindowVisible(); 2.然后再WebCore/page/DOMWindow.cpp里面实现这些方法,原创 2009-12-03 16:03:00 · 5060 阅读 · 5 评论 -
探秘IE8的强大JavaScript功能
本文来自http://q.yesky.com/group/review-17634017.html,另外还添加一些里面技术的链接。离线事件(Online and offline events):https://developer.mozilla.org/En/Online_and_offline_eventshttps://bug336359.bugzilla.mozilla.org/转载 2010-01-31 18:21:00 · 1395 阅读 · 0 评论 -
迅雷的可视化下载
<br /> <br />最近用迅雷,右键选择“使用迅雷下载全部链接”,会有一个可视化框方式进行下载的选择框:<br /><br />点击“是”之后,就会进行像qq截图的区域选择。迅雷可以将这个区域里面的链接提取出来,然后全部下载下来。<br />这种方式确实比较有用,我比较关心这是如何实现的?<br />在注册表“HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/使用迅雷下载全部链接”下面,显示处理“使用迅雷下载全部链接”,的原创 2010-07-04 20:47:00 · 5284 阅读 · 1 评论 -
编译webkit出现 LNK1102:out of memory
最近升级webkit,发现webkit多了很多文件,在编debug版的时候到没什么问题,但编release版时却在最终链接webkit.dll的时候出现了out of memory的错误,我就奇怪了。我有3G的内存,怎么也会出现link of memory的错误了?我又试着加大虚拟内存,还是没法链过。我又试着在4G内存的机器上,还是无法链过。我到网上找资料,也没找到解决方法。后来我想了一下,web原创 2010-05-30 17:53:00 · 3749 阅读 · 1 评论 -
2010中国自由软件日活动同济大学分站讲座ppt
2010中国自由软件日活动同济大学分站日程 "自由软件日(SFD)"是全世界自由/开源软件(FOSS)的节日。我们希望借此活动能够向公众介绍在教育、政务、商业等所有领域使用高质量自由/开源软件的益处。在全球,非赢利组织----国际自由软件基金会(SFI)为SFD活动提供必要的合作和支持,而遍布全球的志愿者团队负责筹办当地的SFD活动来推动其社区的发展。同济大学分站的活动日程如下: 地点:同济大学嘉定校区电信学院 时间:2010年9月18日 13:00 ~ 17:40时间内容13:00 ~13:10开场白1原创 2010-09-19 23:18:00 · 1864 阅读 · 0 评论 -
webkit中tooltip不显示的解决方法
<br />在WebKit/WebKit/win/WebView.cpp里面有如下一段代码:<br />void WebView::initializeToolTipWindow(){ if (!initCommonControls()) return; m_toolTipHwnd = CreateWindowEx(WS_EX_TRANSPARENT, TOOLTIPS_CLASS, 0, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTI原创 2010-09-27 22:54:00 · 2752 阅读 · 0 评论 -
webkit中js调用SHBrowseForFolder时需要点击两次才能点中确定按钮的bug
html form里面的选择文件对话框只能得到文件的名称,拿不到文件的全路径,只能扩展js让其去调用通用对话框的函数,例如SHBrowseForFolder。写完代码后,发现需要点击两次才能点中确定按钮的bug,一开始以为是鼠标有问题,后来发现每次都是这样,这肯定是代码的问题了。一开始我以为是SHBrowseForFolder调用有问题,认为SHBrowseForFolder产生的对话框没有获得焦点,所以用各种方法来使得对话框获得焦点,用各种方法都发现没用。针对要点击两次的问题,我还试过模拟鼠标点击来试图解原创 2010-10-11 23:56:00 · 2451 阅读 · 0 评论 -
CDialog里面的Webkit
如果你在VC的对话框(CDialog)里面加入Wekbit,你会发现网页里面的输入框(input box)无法输入,点击时也没有高亮的效果。调试的时候你可以发现CDialog里面的Webkit窗口可以收到Key_down事件,但是无法收到key_up事件和key_char事件,而WinLauncher是正常的。对比WinLauncher的代码你可以发现,CDialog所创建的窗口样式和WinLauncher所创建的窗口样式是不一样的。CDialog的样式中包括WS_POPUP,而WinLauncher的样式原创 2010-12-25 19:56:00 · 3811 阅读 · 6 评论 -
chrome使用的开源工程介绍
在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Browser,大家可以参考一下。 David M. Gays floating point routines homepage fp是netlib的一部分,主要用于浮点数运算,数的二进制与十进制的原创 2011-06-13 09:40:00 · 14298 阅读 · 1 评论