当前搜索:

谷歌浏览器的源码分析(16)

 上一次说到需要调用这个OpenURLFromTab函数,那么这个函数是做什么的呢?从名称上可能猜到它是打开网页,但是是从目前TAB页里打开呢?还是新建一个?或者使用每个TAB页一个进程呢?这些疑惑,只能通过代码的分析来理解它的实现,代码如下: 这个函数的参数意思:source是TAB内容。url是网络连接地址。disposition是窗口打开的位置。transitio...
阅读(6401) 评论(1)

谷歌浏览器的源码分析(15)

上一次说到发送命令给浏览器对象打开网页显示,但还没有分析它是怎么实现的,现在就来分析这方面的内容,如下:#001  voidBrowser::ExecuteCommand(int id) {<span lang="EN-US" styl...
阅读(5686) 评论(0)

谷歌浏览器的源码分析(14)

 上一次说到控制类的派生类LocationBarView,现在就来分析这个函数的功能,看看它又把URL连接传到那里去,立即就去看代码,在这行代码controller_->OnAutocompleteAccept里,可以看到调用函数OnAutocompleteAccept,它的代码如下:#001  void LocationBarView::OnAutocompleteAccept(#0...
阅读(7666) 评论(4)

谷歌浏览器的源码分析(13)

 上一次说到调用函数OpenURL来打开网络连接,这仅是网络浏览的开始,现在再来分析它怎么样去下载网页数据,然后再显示出来。#001  void AutocompleteEdit::OpenURL(const std::wstring& url,#002                                 WindowOpenDisposition disposition,...
阅读(7803) 评论(2)

谷歌浏览器的源码分析(12)

当我们根据自动提示,或者完全自己输入连接后,再按下回车键,这时浏览器就会去打开网页,或者去查找内容。那么浏览器是怎么样实现这些功能的呢?又是怎么判断去打开网页,还是去打开GOOGLE的搜索引擎的呢?下面就来分析这部份的代码,如下:#001  boo...
阅读(9414) 评论(12)

谷歌浏览器的源码分析(11)

上一次介绍到怎么样从其它地方返回搜索到的超级连接,现在就来分析一下使用搜索引擎去查找的类SearchProvider,它是通过搜索引擎来查找出来的,在这里是通过GOOGLE搜索引擎来查找出来。它的声明如下:<span lang="EN-US" style="font-family:新宋体;mso-fareas...
阅读(8303) 评论(4)

谷歌浏览器的源码分析(10)

上一次已经分析到输入字符后,就需要把这些关键字去查找历史的连接,或者相关的内容,那么可多米的浏览器又是从那里去找到这些数据呢?现在就来分析这方面相关的内容。它主要通下面的函数来实现:#001  voidAutocompleteEdit::Upd...
阅读(8231) 评论(0)

谷歌浏览器的源码分析(9)

 为了处理字符消息实现自动完成的功能,这是怎么样实现的呢?其实是先记录字符消息响应前的字符串以及选中状态,接着再处理消息,最后才查询可能的输入,做出智能提示。#001  void AutocompleteEdit::OnBeforePossibleChange() {#002    // Record our state. 记录当前已经输入的字符串。#003    text...
阅读(11179) 评论(3)

谷歌浏览器的源码分析(8)

 上一次说到处理WM_CHAR消息,当用户每键入一个字符时,万能连接框就会去进行一次查找的过程,然后把智能提示信息显示出来。说到AutocompleteEdit::HandleKeystroke函数的操作,那么它为什么需要冻结这个函数的使用呢?现在就来分析这部份的内容。如下:ScopedFreeze freeze(this, GetTextObjectModel());在这行代码里,首...
阅读(10873) 评论(6)

谷歌浏览器的源码分析(7)

 当我们键入字母或者文字开始时,那么类AutocompleteEdit就会从窗口消息里获取到相应的字母或者文字,然后根据输入的信息到本地或者网络上保存的信息库里查找相应的输入提示,这就是自动完成的实现。下面就来先分析输入的函数:#001  void AutocompleteEdit::OnChar(TCHAR ch, UINT repeat_count, UINT flags) {#0...
阅读(12060) 评论(9)

谷歌浏览器的源码分析(6)

前面已经介绍了这么引人的输入自动完成功能,并且可以在输入超级连接框里直接通过GOOGLE搜索所有的内容,这是比较大的创新,不但可以节省界面的占用面积,还很方便大家查询的需要,比如记不住的连接,根本不需要去记了,只要你记住需要的内容就行了。这样既不需要到什么门户网站去找连接,也不需要去记住众多的网站,这个功能是非常方便的。<span style="font-family:新宋体;mso-fa...
阅读(16004) 评论(12)

谷歌浏览器的源码分析(5)

  当用户打开浏览器之后,最希望输入的地方,是浏览器的连接框。目前谷歌浏览器把输入连接框与搜索引擎输入合并到一起,可以说完美的组合,让界面更加简洁,方便实用,并且它自动完成的功能更加强劲,如下图所示:    上面输入了www.c时,它就会自动地在后面添加智能选择的连接,并且可以GOOGLE里搜索输入的内容,又如下面:      上...
阅读(14662) 评论(8)

谷歌浏览器的源码分析(4)

关于对话框,主要实现了让用户查看当前软件的版本、软件信息和检查升级的功能。因此这个类主要继续ChromeViews::View类、ChromeViews::DialogDelegate和GoogleUpdateStatusListener。其中ChromeViews::View实现窗口的布局和显示问题,ChromeViews::DialogDelegate实现了事件响应,或者窗口某时是否可以显示按...
阅读(21667) 评论(17)

谷歌浏览器的源码分析(3)

前面修改了chrome关于对话框,并且编译显示出来了,那么它是在那里调用显示的呢?现在就带你去了解它。由于它是界面显示,那么不用想,直接到界面的工程里查找它,也就是到目录src/chrome/browser/views里查看到文件about_chrome_view.cc。 这个文件里声明了一个类AboutChromeView,它就是主要负责初始化对话框、布局、显示字符串等等,比如显示“关于可乐...
阅读(30974) 评论(13)

谷歌浏览器的源码分析(2)

这么大的工程,我从哪里开始呢?我认为从界面开始,这样才可以快速地深入研究。下面就可以先尝试修改一个chrome的关于对话框,上一次看到它是英语的,那么我就来把它改成中文的吧,这样有目标了。从chrome的工程里可以看到它是支持多种语言的,在Windows平台上支持多语言的标准做法,就是写多个语言的DLL。因此,chrome也不例外,从app工程集里,就可以看到如下图所示: 上面显示了多种语言的...
阅读(32855) 评论(37)
17条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5901790次
    • 积分:76272
    • 等级:
    • 排名:第22名
    • 原创:1625篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2102条
    文章存档