亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

谷歌瀏覽器的源碼分析(15)

系統(tǒng) 1701 0
上一次說到發(fā)送命令給瀏覽器對(duì)象打開網(wǎng)頁顯示,但還沒有分析它是怎么實(shí)現(xiàn)的,現(xiàn)在就來分析這方面的內(nèi)容,如下:

#001 ? void Browser::ExecuteCommand(int id) {

#002 ??? if (!IsCommandEnabled(id)) {

#003 ????? NOTREACHED() << id;

#004 ????? return;

#005 ??? }

#006 ??? // This might happen during QMU testing.

#007 ??? if (!GetSelectedTabContents())

#008 ????? return;

#009 ?

#010 ??? switch (id) {

#011 ????? case IDC_BACK:

#012 ??????? UserMetrics::RecordAction(L"Back", profile_);

#013 ??????? GoBack();

#014 ??????? break;

#015 ???????

#016 ? ?????? ...

#017 ???????

#018 ???????

#019 ???????? case IDC_OPENURL:

#020 ??????? UserMetrics::RecordAction(L"LoadURL", profile_);

#021 ??????? {

#022 ????????? LocationBarView* lbv = GetLocationBarView();

#023 ????????? if (lbv) {

#024 ??????????? OpenURL(GURL(lbv->location_input()), lbv->disposition(),

#025 ??????????????????? lbv->transition());

#026 ????????? } else {

#027 ??????????? OpenURL(GURL(), CURRENT_TAB, PageTransition::TYPED);

#028 ????????? }

#029 ??????? }

#030 ??????? break;

#031 ?

?

可以看到這段代碼,第 19 行就是處理打開網(wǎng)頁的命令處理,當(dāng)然在這個(gè)函數(shù)里不僅僅處理打開網(wǎng)頁的連接命令,還有很多其它的命令,目前先分析這個(gè)命令的代碼。

20 行里先記錄當(dāng)前執(zhí)行的動(dòng)作。

22 行里查找到當(dāng)前顯示 BAR 窗口。

如果找到 LocationBarView 窗口,就把當(dāng)前的輸入連接生成 GURL 對(duì)象,從窗口獲取顯示位置,傳送的類型。否則,就是使用空的連接,并打開當(dāng)前頁面。

?

下面再來分析函數(shù) OpenURL 的實(shí)現(xiàn),它是調(diào)用 TabContentsDelegate 類里的 OpenURL 函數(shù):

#001 ??? virtual void OpenURL(const GURL& url,

#002 ???????????????????????? WindowOpenDisposition disposition,

#003 ???????????????????????? PageTransition::Type transition) {

#004 ????? OpenURLFromTab(NULL, url, disposition, transition, std::string());

#005 ??? }

?

在這個(gè)函數(shù)繼續(xù)調(diào)用 OpenURLFromTab 函數(shù)來實(shí)現(xiàn)打開網(wǎng)頁的功能,這個(gè)函數(shù)比較復(fù)雜,下一次再來分析它。

谷歌瀏覽器的源碼分析(15)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 99热在线精品观看 | 天天视频国产免费入口 | 欧美一级艳片视频免费观看 | 巨乳毛片 | 国产91精品高清一区二区三区 | 国产高清看片日韩欧美久久 | 日韩国产欧美一区二区三区在线 | 狠狠色丁香六月色 | 一级毛片在线免费播放 | 97精品视频共享总站 | 亚洲国产一区二区a毛片 | 四虎影院免费视频 | 夜夜躁日日躁狠狠久久 | 免费国产成人高清在线观看麻豆 | 一级午夜免费视频 | 99精品国产在这里白浆 | 国产日韩一区二区三区在线播放 | 国产精品高清视亚洲乱码 | 亚洲国产高清视频 | 美女黄频| 亚洲国产精品乱码一区二区三区 | 日本精品夜色视频一区二区 | 欧美毛片又粗又长又大 | 91香蕉国产亚洲一区二区三区 | 老司机免费福利视频无毒午夜 | 色婷婷色99国产综合精品 | 在线播放国产一区 | 超97在线观看精品国产 | 风流一代在线播放 | 国产精品全国探花泡良大师 | 成年ssswww中国女人 | 中文字幕热久久久久久久 | 久久久综合久久 | 四虎影视永久免费视频观看 | 毛片在线不卡 | 就草草在线观看视频 | 欧美理论片 | 亚洲免费中文字幕 | 日本免费的一级v一片 | 一级女性全黄生活片免费 | 久久99精品久久久久久秒播放器 |