码迷,mamicode.com
首页 > 其他好文 > 详细

在chromium中加入默认的启动页

时间:2014-12-23 15:44:15      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:chromium   浏览器   

启动页的配置选项如图所示:

技术分享

启动页的默认配置由src\chrome\browser\prefs\session_startup_pref.cc生成

在RegisterProfilePrefs函数中,可以看到配置的选项。

  registry->RegisterIntegerPref(
      prefs::kRestoreOnStartup,
      TypeToPrefValue(GetDefaultStartupType()),
      user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
  registry->RegisterListPref(prefs::kURLsToRestoreOnStartup,
                             user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);

GetDefaultStartupType函数返回的是SessionStartupPref::DEFAULT

在函数TypeToPrefValue中,可以看到它对应的操作是kPrefValueNewTab,也就是在启动时默认打开的是一个新的标签页,并且启动url列表默认为空。

如果需要把启动页设置为预设的页面,可以把session_startup_pref.cc进行如下的修改。

以把http://www.baidu.com/添加到默认启动页为例。

首先把GetDefaultStartupType的默认类型改成SessionStartupPref::URLS

// static
SessionStartupPref::Type SessionStartupPref::GetDefaultStartupType() {
#if defined(OS_CHROMEOS)
  return SessionStartupPref::LAST;
#else
//  return SessionStartupPref::DEFAULT;
  return SessionStartupPref::URLS;
#endif
}

增加启动的url列表,为此增加一个函数CreateDefaultStartupUrlList

base::ListValue* CreateDefaultStartupUrlList() {
  std::vector<GURL> default_startup_urls;
  default_startup_urls.push_back(GURL("http://<a target=_blank href="http://www.baidu.com">www.baidu.com</a>/"));
  scoped_ptr<base::ListValue> urls(new base::ListValue);
  for (size_t i = 0; i < default_startup_urls.size(); ++i) {
	urls->Set(static_cast<int>(i),
	  new base::StringValue(default_startup_urls[i].spec()));
  }
  return urls.release();
}

在RegisterProfilePrefs函数中加入配置的ur列表。

  registry->RegisterListPref(prefs::kURLsToRestoreOnStartup,
	  CreateDefaultStartupUrlList(),
	  user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);

 

编译完成后,就可以看到默认的启动页已经改成http://www.baidu.com/,查看设置

技术分享


在chromium中加入默认的启动页

标签:chromium   浏览器   

原文地址:http://blog.csdn.net/ljm198745/article/details/42101729

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!