在chromium中加入默认的启动页

来源:互联网 发布:饥荒左上角数据怎么关 编辑:程序博客网 时间:2024/06/07 00:20

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

启动页的默认配置由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.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/,查看设置




0 0
原创粉丝点击