首页 > 代码库 > 在chromium中加入默认的启动页

在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

// staticSessionStartupPref::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.mamicode.com/"http://www.baidu.com">www.baidu.com/"));>

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

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

 

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

技术分享


在chromium中加入默认的启动页