Ie及webkit开发
文章平均质量分 56
sybtjp
这个作者很懒,什么都没留下…
展开
-
IE Mainfram的判断及favico的更新机制
<br />d原创 2011-03-29 19:22:00 · 103 阅读 · 0 评论 -
chrome 多进程资源加载
<!--.goog-ws-layout-system-footer {background:#EAF3FD}-->背景 所有的网络操作都是在主进程的,不仅仅是因为主进程可以控制每一个子进程的网络请求,而且还可以对cookie、缓存进行处理。对连接数的控制也是很重要的。wininet和winhttp的比较winhttp的开发文档更加全面一些,winhttp翻译 2011-12-16 15:33:36 · 346 阅读 · 0 评论 -
wininet与urlmon
We often have to work with customers to understand why a specific IE scenario fails. In some instances we may have to enable some custom logging and data collection to get to the root cause. However转载 2012-01-11 11:41:41 · 262 阅读 · 0 评论 -
Authenticode and Weak Certificate Chains
微软在新的ie8版本中对下载做了安全处理,对于下载的文件进行验证,如果所下载的文件的签名用的是md2 md4,则微软会提示安全风险。做法是用WinVerifyTrust去验证,flag是WTD_DISABLE_MD2_MD4翻译 2012-01-12 15:30:31 · 102 阅读 · 0 评论 -
The User-Agent String: Use and Abuse
When I first joined the IE team five years ago, I became responsible for the User-Agent string. While I’ve owned significantly more “important” features over the years, on a byte-for-byte basis, few h原创 2012-01-11 18:50:54 · 161 阅读 · 0 评论 -
Understanding Protocols
For over a decade, Internet Explorer has enabled developers to extend the browser with new URL protocol schemes. These protocols can be one of two types:Asynchronous Pluggable Protocols - COM obje转载 2012-01-17 11:31:49 · 162 阅读 · 0 评论 -
IE查找的注意点
IE查找的注意点1、框架查找2、display:none和visibily:hide的过滤3、option即是表单选项的过滤4、当用bookmark创建标签,并且高亮,在取消高亮的时候,由于先前将bookmark存起来了,但是这样在取消的时候不能完全取消,后来就用在查找一次,在查找中将背景设置透明即可。原创 2011-11-08 15:22:22 · 78 阅读 · 0 评论 -
Chrome学习之LazyInstance
LazyInstance顾名思义,就是延迟创造类实例。 那chrome是怎么做到的呢? 为了性能,或者资源,程序中无法立即用到的对象,我们无需立即创造,比如一个界面的菜单对象,当你还没有点击菜单之前就创造了,那他一定会影响软件的启动性能。再比如数据库对象,或者线程...等等,进可能延迟,chrome高效的原因之一,在于调用无数个LazyInstance对象。研究过chr转载 2012-02-21 22:31:46 · 96 阅读 · 0 评论 -
多线程下task的一场处理方式
class MyTask : public Task {public:virtual void Run() {DoSomething();}};ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE, new MyTask); 有封装一个Task其实是很麻烦的事情,特别是我们经常是要调用当前对象的方法。因此Chrom转载 2012-02-21 23:56:01 · 307 阅读 · 0 评论 -
Chromium如何显示网页
本文档从底层原理开始介绍了Chromium如何显示网页。阅读本文之前你应该首先阅读“Chromium的多进程架构”这篇文章,重点要理解主要组件结构图。您可能也有兴趣阅读“多进程资源加载“这篇文章来了解网页是如何从网络获取的。应用层次概念图layers每个盒子代表一个概念中的应用层。通常情况下应该有可能通过替换任意一层及其上层组建来生成一个新的浏览器。因此,没有任何层转载 2012-02-14 11:47:51 · 215 阅读 · 0 评论 -
chrome多进程架构
问题 构建一个永远不会崩溃或者挂起的排版引擎基本是不可能的,我们同样也不要指望哪天能够构建出一个绝对安全的排版引擎。 我们现阶段的浏览器运行在一个单用户,多合作,多任务的操作系统中。就像一个笨拙的应用程序可以让整个系统崩溃一样。一个糟糕的网页同样可以让一个现代的浏览器崩溃。其原因可能是一个插件出现bug,最终的结果是整个浏览器以及其他正在运行的标签被销毁。 现转载 2012-02-14 11:49:42 · 310 阅读 · 0 评论 -
Chrome消息系统
前面写了Chrome消息系统(1)前比较抽象,这章来点具体的,当然要结合代码来看了!现在我要关注的问题是:一个RenderProcess的消息怎么发送到BrowserProcess进程中的,这个消息走了那些路?注意,所说的IO线程是Browser进程中的IO线程,非Render进程中发的IO。所谓的IO线程主要用来接受网络消息和进程间的消息,我先把网络消息抛到一边,单独分析转载 2012-02-20 16:07:15 · 168 阅读 · 0 评论 -
Chrome的线程模型和消息循环
看Chrome已经有一段时间了,但是一直都没有沉淀些内容下来,是该写写笔记什么的了,免得自己忘记了。看的都是Windows平台下的代码,所以记录也都是记录的。。。废话。。那么首先,先从最基础的东西记录起吧:Chrome的线程模型和消息循环。多线程的麻烦多线程编程一直是一件麻烦的事情,线程执行的不确定性,资源的并发访问,一直困扰着众多程序员们。为了解决多线程编程的麻烦,大家想出了很多经典转载 2012-02-21 22:37:57 · 452 阅读 · 0 评论 -
chrome的多进程架构
当前浏览器的问题:没有一款浏览器能保证自己的渲染不发生crash或者挂起,也不能保证其渲染引擎的安全性非常完美。在多任务的操作系统上,浏览器都是单用户的,这里不知道是不是在指IE。浏览器自身的问题可能引起操作系统的问题。同时某一个bug货导致整个浏览器挂掉。多进程能够很好的防治各个进城之间的相互 影响。Architectural overview我们采用每一个tab一个进程的方翻译 2011-12-14 15:17:50 · 249 阅读 · 0 评论 -
SafeBrowsing Design
#summary High-level design for the SafeBrowsing service.#labels Featured,Phase-Design=!SafeBrowsing Design=Authors: Brian Ryner, Noe Lutz==Overview of the !SafeBrowsing Service==The !SafeBrow转载 2011-12-06 14:24:58 · 331 阅读 · 0 评论 -
chrome cookie机制翻译
CookieMonster的职责1、处理服务端的响应,确保回来的cookie是正确的并存储 cookie的路径必须是正确的(包含本地的和网络的) cookie的路径中的预警必须是他所接受的域名中的部分2、当服务端需要cookie的时候,收集 cookie的域名必须是服务端主机名的部分 cookie的路径必须是请求路径的前缀翻译 2011-09-19 16:49:04 · 179 阅读 · 0 评论 -
调用js及超级拖拽
<br />d原创 2011-03-29 21:58:00 · 91 阅读 · 0 评论 -
chrome需要学习的功能点
对chrome的统一id的分析原创 2011-05-31 15:35:00 · 72 阅读 · 0 评论 -
打开本地文件的快捷图标下载
<br />本地有一个pdf的快捷图标,在自己的浏览器中菜单打开,发现ie内核可以得到下载的url;起初去下载的时候发生了崩溃,后分析,是本地的下载返回的http头的指针是空的,此时只要家判断,还是走下载的流程的。正常下载,真是佩服这些写协议的家伙,很是伟大。标准想的很是周全啊。原创 2011-04-13 12:14:00 · 260 阅读 · 0 评论 -
关于http的Authorization
今天解决了一个关于下载时显示401的bug,主要的原因通过抓包分析得出是由于下载请求中没有Authorization。主要的原因是IE内核中接管下载请求后没有对其进行处理。而此时通过httpqueryinfo(flag设置为Authorization)查找失败。结果经过尝试发现要用internetqueryinfoflag设置为查找用户名和密码,得到后进行base64处理然后格式化为“BASIC ” 。。。。(为base64后的用户名和密码)。下载正常。这里有个问题,第一次在没有basic的情况下,下载失败原创 2011-04-11 21:12:00 · 2744 阅读 · 0 评论 -
dealing with vista low cookies
C++, cookies, protected mode, vista, Windows programming转载 2011-04-12 14:34:00 · 262 阅读 · 0 评论 -
浏览器开发资源
http://blog.csdn.net/bzero1982/archive/2008/11/12/3283590.aspxhttp://www.cnblogs.com/duguguiyu/http://www.lovechrome.com/http://blog.csdn.net/zengwh原创 2011-04-26 22:38:00 · 94 阅读 · 0 评论 -
基于ie内核的浏览器的解决办法
<br />IE 报 R6025 pure virtual function call 错误对话框的原因<br />症状<br />当您在运行 Microsoft Windows XP 在计算机上运行 Microsoft Internet Explorer 6 时, 您可能会收到类似于以下的错误信息:<br />Runtime Error !<br />程序 C:/PROGRAM FILES/INTERNET EXPLORER/IEXPLORE.EXE<br />R6025<br />pure virtua转载 2011-04-28 15:09:00 · 327 阅读 · 0 评论 -
js和c++的互调(1)
<br /> 如何从 VC WebBrowser 应用程序中调用脚本函数<br /><br />为了调用脚本函数存在的网页上,您必须使用自动化 ; 换句话说,IDispatch。 使用以下步骤来调用脚本函数从 Visual C++ 应用程序的网页上存在的:获取在 HTML 文档的 IDispatch。调用利用 IDispatch:: GetIDsOfNames 获取脚本函数的 ID。调用 IDispatch:: Invoke 执行该函数。<br />下面的 Visual C++ 源代码演示如何在您自己的应用转载 2011-05-03 15:02:00 · 339 阅读 · 0 评论 -
Js调用C++
<br /><br />上篇介绍了用C++调用JavaScript,这篇反过来说说JS调C++,这样JS和C++沟通的途径就完整了。<br />首先,实现一个IDispatch接口,当JS调用C++函数时,系统会调用GetIDsOfNames来用函数名取得函数的DISPID,然后调用Invoke完成真正的调用,需要注意的是Invoke的pDispParams中的参数是倒序的。代码如下:<br /> view plaincopy to clipboardprint?class CExtenalDispatch转载 2011-05-03 15:07:00 · 673 阅读 · 1 评论 -
浏览器开发
1、网络钓鱼2、名牌3、快捷支付4、收藏夹备份5、免登原创 2011-09-06 11:47:05 · 119 阅读 · 0 评论 -
different the first cookies from third party cookies
First- and Third-Party ContextInternet Explorer 6 defines first-party content as that associated with the host domain. Third-party conte转载 2011-10-09 12:07:08 · 234 阅读 · 0 评论 -
Browser Plugins vs Extensions – the difference
Overloaded termsOne of the least understood concepts in the Browser Plugin world is — browser plugins. What they are, and even more: what they are not. Probably at least once a week I answer a q转载 2011-10-25 20:05:09 · 243 阅读 · 0 评论 -
如何让网页上的Flash视频在弹出窗口中播放
很多浏览器都有这个功能,当你把鼠标移动到网页视频上,就可以看到顶部有一个按钮出现,弹出独立播放器。当你点击按钮,视频就弹出在新窗口播放了,这时候视频窗口的大小可以自由调整不再受页面的限制。这是如何做到的呢?首先想到的是,浏览器缩放缩放了页面的大小,正好可以显示视频窗口的大小。好像火狐有一个魔镜功能,可以实现网页简报既截取网页任意部分。 要做到这点,浏览器的外框程序必须是自己写的(国转载 2012-02-22 00:20:54 · 291 阅读 · 0 评论